(Fwrite_region): Avoid initializer for Lisp_Object.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
65b7d3e7
RS
12001-11-17 Richard M. Stallman <rms@gnu.org>
2
3 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
4
6b5f6311
JR
52001-11-17 Jason Rumney <jasonr@gnu.org>
6
7 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
8
be676094
GM
92001-11-17 Gerd Moellmann <gerd@gnu.org>
10
11 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
12 with invalid position.
13
032a857d
RS
142001-11-16 Richard M. Stallman <rms@gnu.org>
15
16 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
17
18 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
19 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
20 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
21
22 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
23
b6270150
SM
242001-11-16 Stefan Monnier <monnier@cs.yale.edu>
25
26 * fileio.c (build_annotations): Split off the tail.
27 (build_annotations_2): New fun. Extracted from build_annotations.
28 (Fwrite_region): Split the call to build_annotations into two
29 calls to build_annotations and build_annotations_2.
30
792e5cbd
PJ
312001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
32
98cbb9fa
PJ
33 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
34 clear_waiting_for_input with argument.
35
36 * xterm.h (x_update_cursor): Remove duplicated prototype.
37
b6270150 38 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
98cbb9fa
PJ
39
40 * xterm.c (waiting_for_input): Remove unnecessary prototype.
41
792e5cbd
PJ
42 * data.c (Ftimes): Doc fix.
43 (Fquo): Likewise.
44 (Frem): Likewise.
45 (Fmod): Likewise.
46
fa336b91
SM
472001-11-16 Stefan Monnier <monnier@cs.yale.edu>
48
49 * fileio.c (choose_write_coding_system): New fun, extracted
50 from Fwrite_region.
51 (Fwrite_region): Use it.
52
53 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
54 (funcall_lambda, run_hook_with_args): Make static and add prototype.
55 (ml_apply, find_handler_clause): Add prototype.
56
077907d4
EZ
572001-11-16 Eli Zaretskii <eliz@gnu.org>
58
aa2af83a
EZ
59 * config.in: Add #undef HAVE_COFF_H.
60
077907d4
EZ
61 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
62 Required for ISC 4.1.
63
1756e2fb
EZ
642001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
65
66 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
67 Andrew Wiseman <a.wiseman@btclick.com>.
68
06e8f738
KS
692001-11-16 Kim F. Storm <storm@cua.dk>
70
71 The following changes are made to clean up the various internal
72 references to the fringes to actually use the term `fringe' for
73 them. Previously, they were called `flags areas', `bitmap areas',
74 `left/right side of windows', or implicitly as `flags' or
75 `bitmaps':
76
77 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
78 Comments fixed. Use renamed symbols.
fa336b91 79
06e8f738 80 * dispnew.c: Comment fix. Use renamed symbols.
fa336b91 81
06e8f738
KS
82 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
83 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
84 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
fa336b91 85
06e8f738 86 * msdos.c: Comment fix.
fa336b91 87
06e8f738 88 * w32fns.c: Use renamed symbols.
fa336b91 89
06e8f738
KS
90 * w32term.c: Comment fixes. Use renamed symbols.
91 (fringe_bitmap_type): Renamed from bitmap_type.
92 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
93 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
94 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
fa336b91 95
06e8f738
KS
96 * w32term.h: Comment fixes. Use renamed symbols.
97 (fringes_extra): Renamed from flags_areas_extra.
98 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
99 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
100 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
101 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
102 (FRAME_X_LEFT_FRINGE_WIDTH):
103 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
104 (FRAME_X_RIGHT_FRINGE_WIDTH):
105 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
106
06e8f738 107 * widget.c: Use renamed symbols.
fa336b91 108
06e8f738
KS
109 * window.c: Comment fixes. Use renamed symbols.
110 (coordinates-in-window-p): Doc fix.
fa336b91 111
06e8f738 112 * xdisp.c: Comment fixes. Use renamed symbols.
fa336b91 113
06e8f738 114 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
fa336b91 115
06e8f738 116 * xfns.c: Use renamed symbols.
fa336b91 117
06e8f738
KS
118 * xterm.c: Comment fixes. Use renamed symbols.
119 (fringe_bitmap_type): Renamed from bitmap_type.
120 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
121 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
122 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
123
124 * xterm.h: Comment fixes. Use renamed symbols.
125 (fringes_extra): Renamed from flags_areas_extra.
126 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
127 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
128 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
129 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
fa336b91
SM
130 (FRAME_X_LEFT_FRINGE_WIDTH):
131 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
132 (FRAME_X_RIGHT_FRINGE_WIDTH):
133 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
06e8f738 134
9ce647f4
JR
1352001-11-15 Jason Rumney <jasonr@gnu.org>
136
137 * w32menu.c (add-menu-item): Make help_echo and radio buttons
138 work for most menu items. From David Ponce
139 <david.ponce@wanadoo.fr>.
140
9b784ab8
GM
1412001-11-15 Gerd Moellmann <gerd@gnu.org>
142
9f7e52b4
GM
143 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
144 Some x_set_* function expect to be called even if old and new
145 value are equal.
146
147 * xdisp.c (build_desired_tool_bar_string): Accept zero
148 tool_bar_button_relief.
149
150 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
151
152 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
fa336b91 153
34e5d0af
GM
154 * xterm.c (x_draw_bar_cursor): If the background color of the
155 glyph under the cursor equals the frame's cursor color, use
156 the glyph's foreground color for drawing the bar cursor.
157
9b784ab8
GM
158 * dispnew.c (direct_output_forward_char): Fix character/byte
159 position comparison.
160
89512fcd
MB
1612001-11-15 Miles Bader <miles@gnu.org>
162
163 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
164 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
165 Update arguments to find_field.
166 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
167 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
168 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
169 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
170
7d18891d
RS
1712001-11-14 Richard M. Stallman <rms@gnu.org>
172
d2936d21
RS
173 * editfns.c (Fpropertize): Allow call with 1 arg.
174
7d18891d
RS
175 * dispextern.h (image_background, image_background_transparent):
176 Conditionalize on HAVE_X_WINDOWS.
177
1782001-11-13 Richard M. Stallman <rms@gnu.org>
179
180 * print.c (Fprin1_to_string): Doc fix.
181
182 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
183
184 * floatfns.c (Fceiling, Ffloor): Doc fixes.
185
186 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
187
188 * fileio.c (Ffile_accessible_directory_p): Doc fix.
189
190 * eval.c (syms_of_eval): Doc fix.
191
192 * coding.c (syms_of_coding): Doc fix.
193
194 * doc.c (Fsnarf_documentation): Doc fix.
195
196 * dispnew.c (syms_of_display): Doc fix.
197
198 * category.c (Fget_unused_category): Doc fix.
199
200 * buffer.c (syms_of_buffer): Doc fixes.
201
9474c847
EZ
2022001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
203
204 * print.c (prin1, print): Doc fix.
205
e3059a5d
PJ
2062001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
207
208 * fontset.h: Remove prototypes for variables
209 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
210
211 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
212 `Vclip_large_size_font'.
213
b3700ae7
JR
2142001-11-13 Jason Rumney <jasonr@gnu.org>
215
216 * w32fns.c: Doc fix.
217
eae936e2
PJ
2182001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
219
4bb962be
PJ
220 * xfaces.c (Fface_attributes_as_vector): Doc fix.
221
0a332240
PJ
222 * w32fns.c (Fx_synchronize): Reindent.
223
ddb67bdc
PJ
224 * fns.c: Doc fix.
225
3467c402
PJ
226 * emacs.c: Doc fix.
227
228 * coding.c: Doc fix.
229
6e1b91d7
PJ
230 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
231 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
232 `new style' [w/`doc:' keyword].
233
f6e34773
PJ
234 * xmenu.c (x-popup-menu): Reindent.
235 (x-popup-dialog): Likewise.
236
fa336b91 237 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
c71f3632 238
c2552f79
PJ
239 * xdisp.c (Fdump_tool_bar_row): Reindent.
240
94c7167b
PJ
241 * minibuf.c (Fminibuffer_complete_word): Reindent.
242 (Fminibuffer_complete_and_exit): Likewise.
fa336b91 243 (Fminibuffer_completion_help): Likewise.
94c7167b
PJ
244 (Fminibuffer_message): Likewise.
245
462a5e3a
PJ
246 * fns.c (Freverse): Reindent.
247
b8de5714
PJ
248 * eval.c (Fif): Reindent.
249 (Fand): Likewise.
250
deb8e082
PJ
251 * editfns.c (Fuser_real_login_name): Reindent.
252 (Finsert_buffer_substring): Likewise.
253 (Fcompare_buffer_substrings): Likewise.
254 (Fsubst_char_in_region): Likewise.
255
bacf09b4
PJ
256 * dispnew.c (Fsit_for): Reindent.
257 (Fframe_or_buffer_changed_p): Likewise.
258 (Finternal_show_cursor_p): Likewise.
259 (syms_of_display): Likewise.
260
eae936e2
PJ
261 * alloc.c (Flist): Reindent.
262 (Fvector): Likewise.
263
1c1d3d69
RS
2642001-11-12 Richard M. Stallman <rms@gnu.org>
265
266 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
267 LeaveNotify events. Only FocusIn and FocusOut do that now.
268 (x_display_and_set_cursor): Do display hollow cursors in active
269 minibuffer windows when they are not selected.
270
b6f4c7ba
JR
2712001-11-12 Jason Rumney <jasonr@gnu.org>
272
273 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
274 * w32term.c: Change doc-string comments to `new style'.
275 [w/`doc:' keyword]. Doc fixes.
276
277 * w32fns.c: Don't define max.
278 (Fx_open_connection): Only execute once.
279
a89f435d
PJ
2802001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
281
282 * ccl.c: Change macros to use do-while block instead of if-else.
283 Use braces to follow GNU Coding Standards.
284
a4cd0cd7
RS
2852001-11-11 Richard M. Stallman <rms@gnu.org>
286
eafb659a
RS
287 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
288
289 * lread.c (read_escape): Use end_of_file_error for reporting eof.
290
a4cd0cd7
RS
291 * insdel.c (replace_range): Use adjust_markers_for_replace
292 instead of adjust_markers_for_delete and adjust_markers_for_insert.
293
294 * intervals.h: Declare set_text_properties and set_text_properties_1.
295
296 * textprop.c (set_text_properties_1): New subroutine
297 broken out of set_text_properties.
298 (set_text_properties): Use set_text_properties_1.
299
300 * intervals.c (graft_intervals_into_buffer):
301 Use set_text_properties_1 to clear out properties.
302
303 * search.c (Freplace_match): Use replace_range to insert
304 and delete. Don't request property inheritance from
305 surrounding text.
306
91823618
JR
3072001-11-10 Jason Rumney <jasonr@gnu.org>
308
309 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
310 vertical fonts. Allow them if face name is explicitly specified.
fa336b91 311 Do not give up if we find a font that cannot be converted to an xlfd.
91823618 312
86928dfb
GM
3132001-11-10 Gerd Moellmann <gerd@gnu.org>
314
fa336b91 315 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
86928dfb
GM
316 instead of malloc/free.
317
40ef1eda
PJ
3182001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
319
ab8469eb
PJ
320 * xfaces.c (merge_face_vectors): Use braces to follow GNU
321 Coding Standards.
322 (Finternal_set_lisp_face_attribute): Likewise.
323
a78e0303
PJ
324 * buffer.c (Fbury_buffer): Likewise.
325
40ef1eda
PJ
326 * indent.c (current_column_1): Remove unused variable `prev_col'.
327
fabf4a91
PJ
328 * coding.c (encode_coding): Use precomputed value of `src'.
329 (encode_coding): Remove unused variable `src_end'.
330 (code_convert_region): Remove unused variables `count'.
331
0c99b139
JR
3322001-11-07 Jason Rumney <jasonr@gnu.org>
333
334 * w32term.c (x_display_and_set_cursor): Do not move system caret
335 if cursor_glyph is NULL.
336
830ddd77
PJ
3372001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
338
339 * keymap.c (access_keymap): Fix compilation error.
340
55c6d645
MB
3412001-11-07 Miles Bader <miles@gnu.org>
342
343 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
344
5de38842
PJ
3452001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
346
7a4564a4
PJ
347 * intervals.c (graft_intervals_into_buffer):
348 Remove #ifdef'd-out code.
349 (graft_intervals_into_buffer): Remove unused variable `middle'.
350
5de38842
PJ
351 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
352 code (eval-current-buffer).
353 Change doc-string comments to `new style' [w/`doc:' keyword].
354
4fa23df5
RS
3552001-11-06 Richard M. Stallman <rms@gnu.org>
356
357 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
358
7a6a97d7
SM
3592001-11-06 Stefan Monnier <monnier@cs.yale.edu>
360
c191d13c
SM
361 * lread.c (read1): Fix behavior with nested backquoting.
362
7a6a97d7
SM
363 * keyboard.c (make_lispy_event): Check integerness and fix
364 Lisp_Object/int mixup.
365
44dc78e0
PJ
3662001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
367
368 * fns.c (copy_hash_table): Remove unused variable `v'.
369
17893c65
PJ
370 * fontset.c (fontset_font_pattern): Remove unused variable
371 `family_registry'.
372
4d994a79
PJ
373 * indent.c (current_column_1): Remove unused variable `prev_col'.
374
d5360cc7
RS
3752001-11-05 Richard M. Stallman <rms@gnu.org>
376
377 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
378
379 * buffer.c (Fkill_buffer): Don't delete auto save file
380 if buffer is modified.
381
96238a5a
AI
3822001-11-05 Andrew Innes <andrewi@gnu.org>
383
384 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
385 CHECK_NUMBER_CDR.
386
d9d54213
RS
3872001-11-05 Richard M. Stallman <rms@gnu.org>
388
389 * unexelf.c (unexec): Minor changes; clean up comments.
390
b116830b
SS
3912001-11-05 Sam Steingold <sds@gnu.org>
392
393 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
394
3297e2a1
AS
3952001-11-05 Andreas Schwab <schwab@suse.de>
396
397 * sound.c (sound_perror): Save errno from being clobbered.
398
9212319f 3992001-11-05 Dale Hagglund <rdh@yottayotta.com>
6fb8339c
EZ
400
401 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
402 the program image directly.
403
7dd73b78
PJ
4042001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
405
406 * buffer.h (Fbuffer_local_value): Add prototype.
407
982f6c7e
RS
4082001-11-04 Richard M. Stallman <rms@gnu.org>
409
d31053f9
RS
410 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
411 and CHECK_BUFFER.
412
413 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
414 (record_char): Likewise.
415
416 * keyboard.c (make_lispy_event): Don't insist a drag event must
417 move to a different buffer position. Instead, check for moving at
418 least double_click_fuzz.
419
420 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
421
422 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
423
982f6c7e
RS
424 * indent.c (current_column_1, Fmove_to_column): Separate the code
425 for display-table glyphs from the code buffer text, to fix
426 bugs in the former.
427
830047fd
RS
4282001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
429
430 * buffer.c (Fbuffer_local_value): New function.
c191d13c 431 (syms_of_buffer): Defsubr it.
b116830b 432
830047fd
RS
433 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
434 value of `cursor-in-non-selected-windows'.
435
436 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
437 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
438 (syms_of_xdisp): Initialize it.
b116830b 439
2df5238c
PJ
4402001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
441
4e397688
PJ
442 * xfns.c (Fx_create_frame): Doc fix.
443
48b0f3ae
PJ
444 * coding.c: Change doc-string comments to `new style' [w/`doc:'
445 keyword].
446
2df5238c
PJ
447 * eval.c (top_level_value, top_level_set): Remove commented and
448 #ifdef'd-out code.
449 (Fdefvar): Fix usage in doc-string.
450
3ecaf7e5
RS
4512001-11-03 Richard M. Stallman <rms@gnu.org>
452
453 * xfns.c: Include unistd.h, if it exists.
454
455 * editfns.c: Move the include of ctype.h after unistd.h.
456
457 * gmalloc.c: Test BROKEN_PROTOTYPES.
458
8db2e33b
KR
4592001-11-03 Ken Raeburn <raeburn@gnu.org>
460
461 * lisp.h (CHECK_STRING_CAR): New macro.
462 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
463 treating XCAR and XCDR as lvalues.
464 (openp): Use CHECK_STRING_CAR.
465 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
466
aed29b97
EZ
4672001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
468
469 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
13ccc79a 470 (SIGMASKTYPE): Define.
aed29b97
EZ
471
472 * syssignal.h (sigunblock): Don't define if already defined.
473
6cb16f95
PJ
4742001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
475
16b45be4
EZ
476 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
477 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
1b1acc13
PJ
478 Fix typos in comments.
479
020f9b38
PJ
480 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
481 and #ifdef'd-out code.
482 Fix and reindent comments.
483
c191d13c 484 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
020f9b38 485
6cb16f95
PJ
486 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
487 argument `i' in macros.
488
489 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
490 `i' in macros.
491
16b45be4
EZ
492 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
493 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
494 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
495 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
496 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
497 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
498 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
499 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
6cb16f95
PJ
500 in macros.
501
502 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
503 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
504 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
505 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
506 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
507 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
508 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
509 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
510 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
511 (remove unused second argument).
512
7e9d3c2f
SM
5132001-11-02 Stefan Monnier <monnier@cs.yale.edu>
514
515 * syntax.c (describe_syntax): New wrapper.
516 (Finternal_describe_syntax_value): Rename from describe_syntax.
517 Don't insert space at front and \n at the end.
518 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
519
520 * regex.c (re_wctype): Try to fix some warnings.
521 (regcomp, regexec): Don't forget the __restrict.
522
e6bff182
RS
5232001-11-02 Richard M. Stallman <rms@gnu.org>
524
525 * textprop.c (Fget_char_property): Doc fix.
526
9ba48103
PJ
5272001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
528
529 * process.c (Fstart_process): Add usage to doc-string.
530
531 * data.c (Fsetq_default): Ditto.
532
533 * callint.c (Finteractive): Ditto.
534
c22e59e1
SM
5352001-11-01 Stefan Monnier <monnier@cs.yale.edu>
536
537 * macros.c: Don't include keymap.h any more.
538
9271ed2c
RS
5392001-11-01 Richard M. Stallman <rms@gnu.org>
540
e6bff182
RS
541 * data.c (Fmake_local_variable): Doc fix.
542
543 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
544 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
545
9271ed2c
RS
546 * keymap.c (Fdescribe_buffer_bindings): Print character property
547 bindings along with or instead of the buffer local map.
548 Make the overriding maps override what they should.
549
8b8bd9c6
PJ
5502001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
551
552 * window.c (grow_mini_window): Fix typo in comment.
553
27188d11
GM
5542001-11-01 Gerd Moellmann <gerd@gnu.org>
555
7b49b9d2
GM
556 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
557 (XTset_vertical_scroll_bar): Likewise.
558
43f7c3ea
GM
559 * xfns.c (x_build_heuristic_mask): Use four_corners_best
560 instead of IMAGE_BACKGROUND.
c22e59e1 561
b350c2e5
GM
562 * xfns.c (four_corners_best): Reindent.
563
c22e59e1 564 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
27188d11
GM
565 Handle :box so that it is possible to specify sexprs.
566
d576358b
PJ
5672001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
568
569 * xfaces.c (Finternal_merge_in_global_face): Reindent.
570 (Fface_font): Ditto.
571 (Finternal_set_alternative_font_registry_alist): Ditto.
572 (Ftty_suppress_bold_inverse_default_colors): Ditto.
573
574 * xfns.c (x-get-resource): Reindent.
575
bf00d461
EZ
5762001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
577
578 * s/hpux11.h: New file.
579
4e10df59
PJ
5802001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
581
2b209b97
PJ
582 * emacs.c (USAGE1): Show command line option --no-window-system
583 instead of --no-windows in usage.
584 (standard_args): Rename --no-windows to --no-window-system.
585 (bug_reporting_address): Follow Emacs coding conventions.
586
9dbc9081
PJ
587 * eval.c (Fcommandp): Doc fix.
588 Change doc-string comments to `new style' [w/`doc:' keyword].
589
4e10df59
PJ
590 * frame.c (Fframe_live_p): Doc fix.
591
592 * buffer.c (selective-display-ellipses): Doc fix.
593
dd387b25
GM
5942001-10-31 Gerd Moellmann <gerd@gnu.org>
595
fe957e65
GM
596 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
597
dd387b25
GM
598 * xfaces.c (realize_x_face): If C is not a single-byte character,
599 set the face's colors_copied_bitwise_p instead of the defaulted_p
600 members which have a different meaning.
601 (free_face_colors): Do nothing for a face whose colors have been
602 copied bitwise.
603
c22e59e1 604 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
dd387b25 605
2e1280f8
PJ
6062001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
607
687784e8
PJ
608 * marker.c, mocklisp.c: Change doc-string comments to `new style'
609 [w/`doc:' keyword].
2e1280f8 610
b9d9a9b9
GM
6112001-10-31 Gerd Moellmann <gerd@gnu.org>
612
613 * fns.c (require_unwind): Return Lisp_Object.
614
48400103
PJ
6152001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
616
fa1361cb
PJ
617 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
618 (last-input-char): Revert doc-string to be the same as the
619 doc-string of `last-input-event'.
620
48400103
PJ
621 * xdisp.c: Fix typos in comments.
622
eafa3196
GM
6232001-10-31 Gerd Moellmann <gerd@gnu.org>
624
625 * window.c (grow_mini_window): Handle case that the root
626 window is already smaller than the nominal mininum height.
627
747d3f2a
SM
6282001-10-30 Stefan Monnier <monnier@cs.yale.edu>
629
bf9bb76f
SM
630 * emacs.c (main): Don't call keys_of_macros any more.
631
632 * lisp.h (keys_of_macros): Remove.
633
634 * macros.c (keys_of_macros): Remove.
635
747d3f2a
SM
636 * xfaces.c (Fface_attribute_relative_p): Declare args.
637
5e905a57
JR
6382001-10-30 Jason Rumney <jasonr@gnu.org>
639
640 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
641 (enum_font_cb2): Ignore fonts with vertical orientation.
642
3a426197
RS
6432001-10-30 Richard M. Stallman <rms@gnu.org>
644
645 * keyboard.c (Finput_pending_p): Doc fix.
646
a742d646
GM
6472001-10-30 Gerd Moellmann <gerd@gnu.org>
648
259cf6bc
GM
649 * xterm.c (x_after_update_window_line): Don't run the code
650 clearing in borders for rows whose visible height is 0.
651
3f99f948
GM
652 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
653 resized_p flag is set. If not set, use the much less flickering
654 method previously used.
655
656 * dispnew.c (change_frame_size_1): Set frame's resized_p.
657
658 * frame.h (struct frame) <resized_p>: New member.
659
b4a3be43
GM
660 * lread.c (to_multibyte): Ensure read_buffer is at least twice
661 as large as the number of bytes to convert.
747d3f2a 662
a742d646
GM
663 * lread.c (to_multibyte): New function.
664 (read1): Use it.
665
cacbb9e9
EZ
6662001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
667
668 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
669
99cb6b2f
GM
6702001-10-30 Gerd Moellmann <gerd@gnu.org>
671
327f42ee 672 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
747d3f2a
SM
673 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
674 if the row's fill_line_p is set and drawing the last glyph with
675 DRAW_IMAGE_{RAISED,SUNKEN}.
327f42ee 676
99cb6b2f
GM
677 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
678
8e8223e2
SM
6792001-10-29 Stefan Monnier <monnier@cs.yale.edu>
680
681 * xmenu.c: Include coding.h and charset.h.
682 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
683 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
684 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
685 Explicitly set wv->help. Use `TRUE' rather than `True'.
686 (menu_help_callback): Use empty_string.
687
688 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
689 (Fx_popup_dialog): Explicitly init f.
690 (w32_menu_display_help): Use empty_string.
691
4d083a8f
RS
6922001-10-29 Richard M. Stallman <rms@gnu.org>
693
b2304472
RS
694 * fns.c (Frequire): Detect recursive try to require the same
695 feature 3 or more levels deep, and get error.
696 (require_unwind): New subroutine.
697 (require_nesting_list): New variable.
698 (syms_of_fns): Init and staticpro it.
699
4d083a8f
RS
700 * print.c (print_object): Clarify indication of insertion type.
701
2fe41216
EZ
7022001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
703
90480000
EZ
704 * coding.c (syms_of_coding): Document that locale-coding-system is
705 used for decoding input on X.
706
2fe41216
EZ
707 * window.c (Fscroll_left, Fscroll_right): Doc fix.
708
74e79967
PJ
7092001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
710
711 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
712 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
713
60ebcfe8
GM
7142001-10-29 Gerd Moellmann <gerd@gnu.org>
715
9a7bdceb
GM
716 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
717 use NO_CURSOR if cursor_in_non_selected_windows is false.
718
3f08fcd2
GM
719 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
720 the slant attribute if FRAME is t.
721
0ccfdad2
GM
722 * xfns.c (x_set_internal_border_width): Set frame garbaged
723 when X window doesn't exist yet.
724
ef253080
GM
725 * xterm.c (x_after_update_window_line): Clear internal border
726 in different circumstances.
b116830b 727
60ebcfe8
GM
728 * xterm.c (XTread_socket) <KeyPress>: Don't use
729 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
730 <handa@etl.go.jp>.
731
73d25f9c
EZ
7322001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
733
734 * m/ibms390.h: New file. From Adam Thornton
735 <athornton@sinenomine.net>.
736
cac1daf0
GM
7372001-10-28 Gerd Moellmann <gerd@gnu.org>
738
053b3256 739 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
b116830b 740
cac1daf0
GM
741 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
742 a loop counter.
743
13b1a09c
PJ
7442001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
745
186486eb
PJ
746 * emacs.c: Use argv[0] instead of emacs when -t was specified.
747
4707d2d0
PJ
748 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
749 keyword].
750 Fix typos in comments.
b116830b 751
d883731c
PJ
752 * emacs.c (bug_reporting_address): New function.
753 Use it when displaying usage message.
754
04012254
PJ
755 * minibuf.c (read_minibuf): Remove unused external declaration of
756 variable `Qread_only'.
757
13b1a09c
PJ
758 * keymap.c (access_keymap): Remove unused variable `charset'.
759
5bbf4378
MB
7602001-10-28 Miles Bader <miles@gnu.org>
761
762 * xfaces.c (merge_face_heights): Handle TO being relative as well.
763 Remove #ifdef'd-out code.
764 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
765 (syms_of_xfaces): Initialize them.
766
1ce1e4ee
JR
7672001-10-27 Jason Rumney <jasonr@gnu.org>
768
769 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
770 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
771 position using the system caret.
772
773 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
774 (w32_system_caret_height, w32_system_caret_x)
775 (w32_system_caret_y): New variables for tracking system caret.
776 (w32_initialize): Initialize them.
c2d53558 777 (x_display_and_set_cursor): Make system caret follow the active cursor.
1ce1e4ee 778
c2d53558
SM
779 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
780 New messages types.
1ce1e4ee
JR
781
782 * w32term.c (note_mouse_highlight): Clear old help_echo.
783
4e30ce42
PJ
7842001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
785
bb4600a4
PJ
786 * xterm.c: Fix typo in a comment.
787
7db35a48
PJ
788 * emacs.c: Fix typos in comments.
789 Remove unnecessary spaces.
790 Change doc-string comments to `new style' [w/`doc:' keyword].
791 (USAGE2): Fix typos in usage string.
792
a7248e4f
PJ
793 * xterm.c: Fix typo in a comment.
794
4e30ce42
PJ
795 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
796 emacs.c.
797
62725a92
GM
7982001-10-27 Gerd Moellmann <gerd@gnu.org>
799
798dbe1f 800 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
c2d53558 801 instead of 1/2 line_height in the heuristic for skipping
798dbe1f
GM
802 farther backward when target_y was not reached.
803
62725a92
GM
804 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
805 Display errno only if non-zero.
806 (sound_warning): New function.
807 (vox_configure): Don't treat failing to set sample rate as error.
808 (various places): Improve error messages.
809
d4e34d24
EZ
8102001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
811
944e6f60
EZ
812 * fileio.c (Faccess_file): Run the argument filename through
813 Fexpand_file_name, before using it.
814
d4e34d24
EZ
815 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
816 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
817
38d2af0c
GM
8182001-10-26 Gerd Moellmann <gerd@gnu.org>
819
da80a8d5
GM
820 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
821
38d2af0c
GM
822 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
823 Fix clearing in the case of scroll bars on the right.
c2d53558 824
56f508dd
EZ
8252001-10-26 Juanma Barranquero <lektu@terra.es>
826
827 * w32gui.h (XImage): Add a dummy typedef.
828
fbd5ceb2
GM
8292001-10-26 Gerd Moellmann <gerd@gnu.org>
830
c2d53558 831 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
fbd5ceb2 832
b23236fb
EZ
8332001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
834
835 * frame.c (Fframe_parameter): Fix last change.
836
5d991fc4
EZ
837 * fileio.c: Revert last change (which removed old commented-out
838 version of expand-file-name). Add a comment that explains why
839 this old version should not be removed.
840
879eadc3
GM
8412001-10-25 Gerd Moellmann <gerd@gnu.org>
842
75700ff2
GM
843 * frame.c (Fframe_parameter): Fix a bug whereby some
844 ``artificial'' frame parameters, like `minibuffer' were not
845 obtained by calling Fframe_parameters.
846
dfe92a6a
GM
847 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
848 cursor differently.
849
879eadc3
GM
850 * xdisp.c (move_it_vertically_backward): Compute line height
851 differently. Add heuristic to try to be more compatible to 20.x.
852
e1010ebe
SM
8532001-10-25 Stefan Monnier <monnier@cs.yale.edu>
854
d73a471b
SM
855 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
856
d6da5a06
GM
857 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
858 boolean.
e1010ebe 859
f66bd220
MB
8602001-10-25 Miles Bader <miles@gnu.org>
861
862 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
863 BG is a pointer to a structure, not a structure.
864 (gif_format, png_format): Add missing commas.
865
d436d538
RS
8662001-10-24 Richard M. Stallman <rms@gnu.org>
867
868 * xfaces.c (Fface_attributes_as_vector): New function.
c2d53558 869 (syms_of_xfaces): Defsubr it.
d436d538 870
075c507b
PJ
8712001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
872
873 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
874 variable `area'.
875
d492b584
PJ
8762001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
877
c2d53558 878 * search.c (scan_newline): Remove unused variable `selective_display'.
d492b584 879
e2a57b34
MB
8802001-10-25 Miles Bader <miles@gnu.org>
881
882 * dispextern.h (struct image): Add `background',
883 `background_valid', and `background_transparent' fields.
884 (image_background, image_background_transparent): New declarations.
885 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
886 * xfns.c (image_background, image_background_transparent)
887 (four_corners_best): New functions.
c2d53558 888 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
e2a57b34
MB
889 (gs_format): Add `:background' entry.
890 (lookup_image): Set IMG's background color if specified.
891 (pbm_load, xbm_load_image, png_load): Set IMG's background field
892 when appropriate.
893 (x_clear_image_1): Reset `background_valid' and
894 `background_transparent_valid' fields.
895 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
896 calculating it here. Set IMG's background_transparent field.
897 (enum xpm_keyword_index): Add XPM_BACKGROUND.
898 (enum png_keyword_index): Add PNG_BACKGROUND.
899 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
900 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
901 (enum gif_keyword_index): Add GIF_BACKGROUND.
902 (enum gs_keyword_index): Add GS_BACKGROUND.
c2d53558 903 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
e2a57b34
MB
904 Pre-calculate image background color where necessary.
905 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
906 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
907 color to use for image glyph reliefs.
908
b547b6e8
GM
9092001-10-24 Gerd Moellmann <gerd@gnu.org>
910
d9e3b8c6
GM
911 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
912 in full-width rows.
c2d53558 913
b547b6e8
GM
914 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
915 Fix clearing of area not covered by scroll bar.
916
2beb36f9
PJ
9172001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
918
919 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
920 and `real_start'.
c2d53558 921 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
2beb36f9
PJ
922 (glyph_rect): Remove unused variable `area'.
923
76cb5e06
GM
9242001-10-24 Gerd Moellmann <gerd@gnu.org>
925
bdbdebff 926 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
c2d53558
SM
927
928 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
929 (row_containing_pos): Take additional argument DY.
930 Treat rows ending in middle of char differently.
62e33982
GM
931 (display_line): Handle tabs on window systems differently.
932
933 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
934 with additional argument.
935
936 * dispextern.h (row_containing_pos): Adjust prototype.
937
76cb5e06
GM
938 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
939 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
940 (try_window_id, try_window_reusing_current_matrix)
941 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
942 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
943
996fee11
PJ
9442001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
945
c9e60620
PJ
946 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
947 gnuemacs).
948 (HAVE_BOXES): Fix typo in comment.
949 (push_menu_pane): Fix typo in comment.
950
3b552d56
PJ
951 * xdisp.c: (display_prop_string_p): Remove unused local declaration
952 of `Qwhen'.
953 (single_display_prop_string_p): Remove unused local declarations
954 of `Qwhen' and `Qmargin'.
955 (string_buffer_position): Remove unused variable `around'.
956 (store_frame_title): Remove unused variable `width'.
957
15c565ac
PJ
958 * window.c: Don't define max.
959 (coordinates_in_window): Remove unused variable `uy'.
960
a8818eb9
PJ
961 * widget.c: Don't define max.
962
996fee11
PJ
963 * process.c: Don't define max.
964 (create_process): Remove unused variable `buffer'.
965
496e1a5b
GM
9662001-10-23 Gerd Moellmann <gerd@gnu.org>
967
c2d53558 968 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
496e1a5b 969
5905ae8b
EZ
9702001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
971
972 * xfaces.c (Finternal_set_lisp_face_attribute)
973 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
974 frame is on a windowed display.
975
24db49fb
GM
9762001-10-23 Gerd Moellmann <gerd@gnu.org>
977
c2d53558
SM
978 * dispnew.c (sync_window_with_frame_matrix_rows):
979 Fix handling of windows which aren't full-width, fix handling
c51488cd
GM
980 of marginal areas.
981
c2d53558 982 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
24db49fb 983
f0487f05
EZ
9842001-10-23 Andreas Schwab <schwab@suse.de>
985
986 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
987 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
988
f0a48a01
GM
9892001-10-23 Gerd Moellmann <gerd@gnu.org>
990
c2d53558 991 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
f0a48a01
GM
992 REAL_END. Notice if cursor gets overwritten.
993 (notice_overwritten_cursor): Take X positions as parameters.
994 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
995 around call to x_draw_glyphs.
996
a50a10a0
PJ
9972001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
998
fc11dff0
PJ
999 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1000 instead of C) and usage.
a50a10a0 1001
fc11dff0
PJ
1002 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1003 of C) and usage.
a50a10a0
PJ
1004
1005 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1006 `left', `max_width' and `max_height'.
1007
8738febd
GM
10082001-10-23 Gerd Moellmann <gerd@gnu.org>
1009
1010 * xdisp.c (display_line): For a tab continued to the next line,
1011 set row's ends_in_middle_of_char_p.
1012
653c329b
GM
10132001-10-22 Gerd Moellmann <gerd@gnu.org>
1014
1015 * xdisp.c (display_line): Fix computation of continuation lines
1016 width for TABs.
1017
f958c5ac
PJ
10182001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1019
7ba51063
PJ
1020 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1021 `Qlaplace'.
1022
f958c5ac
PJ
1023 * fileio.c: Remove unused code.
1024
eb360291
MB
10252001-10-22 Miles Bader <miles@gnu.org>
1026
1027 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1028 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1029 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1030
98515cf0
JR
10312001-10-21 Jason Rumney <jasonr@gnu.org>
1032
1033 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1034
93026d88
EZ
10352001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1036
1037 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1038 (Finsert_string): Avoid the multi-line string literals warning.
1039
c9a95b79
MB
10402001-10-22 Miles Bader <miles@gnu.org>
1041
1042 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1043 (Fdocumentation): Don't use it.
1044 (syms_of_doc): Don't initialize it.
1045
1046 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1047 * print.c (Fwith_output_to_temp_buffer): Likewise.
1048 * window.c (Fsave_window_excursion): Likewise.
c2d53558 1049 * editfns.c (Fsave_excursion, Fsave_current_buffer)
c9a95b79 1050 (Fsave_restriction): Likewise.
c2d53558
SM
1051 * eval.c (Frun_hooks, Frun_hook_with_args)
1052 (Frun_hook_with_args_until_failure)
1053 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1054 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1055 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
c9a95b79
MB
1056 (Funwind_protect, Fcondition_case): Likewise.
1057 * coding.c (Ffind_operation_coding_system): Likewise.
1058 * keyboard.c (Ftrack_mouse): Likewise.
1059
a3b10252
MB
10602001-10-21 Miles Bader <miles@gnu.org>
1061
c2d53558 1062 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
a3b10252
MB
1063 (Fmake_hash_table): Add usage: string to doc string.
1064 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
c2d53558 1065 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
a3b10252
MB
1066 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1067 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1068 (Fml_prefix_argument_loop): Likewise.
1069
c6f73eec
PJ
10702001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1071
c2d53558 1072 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
888ebd13 1073
c6f73eec
PJ
1074 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1075 style' [w/`doc:' keyword].
1076
1077 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1078 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1079 comments to `new style' [w/`doc:' keyword].
1080
3cf3436e
JR
10812001-10-21 Jason Rumney <jasonr@gnu.org>
1082
1083 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1084
c169b8f1
JR
1085 * w32term.c (remember_mouse_glyph): New function.
1086 (w32_mouse_position): Use it.
1087 (note_mouse_movement): If the mouse moved off the glyph, remember
1088 its new position.
c2d53558 1089
4fdd691b
JR
1090 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1091 (w32_display_info): Add mouse_face_overlay.
1092
c169b8f1
JR
1093 * w32term.c (notice_overwritten_cursor): Renamed from
1094 note_overwritten_text_cursor. Rewritten to take glyph widths into
1095 account.
1096 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1097 (fast_find_string_pos): New function.
1098 (fast_find_position): Return the correct vpos. Add parameter
1099 STOP. In the final row, stop before glyphs having STOP as object.
1100 Don't consider glyphs that are not from a buffer.
1101 (fast_find_position) [0]: Add a presumably more correct version
1102 for after 21.1.
1103 (expose_window_tree, expose_frame): Don't compute intersections here.
1104 (expose_window): Do it here instead.
1105 (expose_window_tree, expose_window, expose_line): Return 1 when
1106 overwriting mouse-face.
1107 (expose_window): If W is the window currently being updated, mark
1108 the frame garbaged.
1109 (expose_frame): If mouse-face was overwritten, redo it.
1110 (x_use_underline_position_properties): New variable.
1111 (syms_of_xterm): DEFVAR_BOOL it.
1112 (x_draw_glyph_string): Add comment to use it in future.
1113 (x_draw_glyph_string): Restore clipping after drawing box.
1114 Fix a computation of the underline position.
1115 (w32_get_glyph_string_clip_rect): Minor cleanup.
1116 (x_fill_stretch_glyph_string): Remove an assertion.
1117 (x_produce_glyphs): Don't convert multibyte characters
1118 to unibyte characters in unibyte buffers.
1119 (cursor_in_mouse_face_p): New function.
1120 (x_draw_stretch_glyph_string): Use it to choose a different GC
1121 when drawing a cursor within highlighted text. Don't draw
1122 background again if it has already been drawn.
1123 (x_draw_glyph_string_box): Don't draw a full-width
1124 box just because the glyph row's full_width_p flag is set.
1125 (x_draw_glyphs): Fix computation of rightmost x for
1126 full-width rows.
1127 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1128 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1129 change bottom shadow accordingly. Some cleanup.
1130 (x_update_window_end): Handle overwritten mouse face
1131 also for tool bar windows.
1132 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1133 DRAW is DRAW_IMAGE_RAISED.
1134 (clear_mouse_face): Return 1 if text with mouse face was
1135 actually redrawn. Make the function static. Reset
1136 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1137 optimize away highlighting if we pass over that same overlay again.
1138 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1139 to detect a case where we have to highlight a different region
1140 despite not having left the currently highlighted region.
1141 Set mouse_face_overlay in the x_display_info. Avoid changing the
1142 mouse pointer shape when show_mouse_face has already done it, or
1143 there is no need. Handle mouse-face and help-echo in strings.
1144 (glyph_rect): New function.
1145 (w32_mouse_position): Use it to raise the threshold for mouse
1146 movement event generation.
1147 (w32_initialize_display_info): Initialize the x_display_info's
1148 mouse_face_overlay.
1149 (w32_set_vertical_scroll_bar): Don't clear a zero height
1150 or width area.
1151 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1152 a widget to zero height.
1153
3cf3436e 1154 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
4fdd691b 1155 Protect unibyte strings created by replacing their multibyte
3cf3436e
JR
1156 equivalents in menu_items.
1157 (w32_menu_show): Don't overwrite an item's name with its key
1158 description in case the description is a multibyte string.
1159 (single_submenu): Some cleanup.
1160
1161 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1162 (postprocess_image): New function.
1163 (lookup_image): Call it for all image types except PostScript.
1164 (x_kill_gs_process): Call postprocess_image.
1165 (tiff_error_handler, tiff_warning_handler): New functions.
1166 (tiff_load): Install them as handlers.
1167 (x_kill_gs_process): Recognize if someone has cleared the image
1168 cache under us.
1169 (valid_image_p): Protect better against invalid image
1170 specifications. Previous code could signal an error.
1171 (Fx_hide_tip, Fshow_tip): Doc fix.
1172 (Fv_max_tooltip_size): New variable.
1173 (syns_of_xfns): DEFVAR_LISP it.
1174 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1175 window buffer to *tip* right after creating the frame. Set frame's
1176 window_width. Use a maximum tooltip size specified by
1177 Vx_max_tooltip_size, if that has valid contents.
1178 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1179 Make sure the tooltip is completely visible.
1180 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1181 (Fx_create_frame): Adjust the frame's height for presence
1182 of the tool bar before calling x_figure_window_size.
1183 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1184 when the window gets smaller.
1185 (x_set_foreground_color): Set frame's cursor_pixel.
1186 (x_set_foreground_color, x_set_background_color): Cleaned up.
1187 (x_set_font): Handle case of x_new_fontset returning the same name
1188 as before, although there was a change in fontsets.
1189
386ca361
MB
11902001-10-21 Miles Bader <miles@gnu.org>
1191
c2d53558 1192 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
386ca361
MB
1193 (Flogxor): Add usage: string to doc string.
1194 * charset.c (Fstring): Likewise.
1195 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1196 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1197
14ff1ee0
PJ
11982001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1199
03be2694
PJ
1200 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1201
1202 * alloc.c: Reindent DEFUNs with doc: keywords.
1203
1204 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1205
14ff1ee0
PJ
1206 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1207 keyword].
1208
71431a0e
GM
12092001-10-20 Gerd Moellmann <gerd@gnu.org>
1210
6aa97356 1211 * (Version 21.1 released.)
71431a0e 1212
39f624fa
PJ
12132001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1214
c2d53558 1215 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
c0a53abb
PJ
1216
1217 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1218 0 because unused.
1219
1220 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
c2d53558
SM
1221 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1222 Change doc-string comments to `new style' [w/`doc:' keyword].
39f624fa 1223
abcce93a
MB
12242001-10-20 Miles Bader <miles@gnu.org>
1225
1226 The following changes remove the glyph_row `inverse_p' field,
1227 which is never set anymore, due to other changes:
1228
1229 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1230 (reassert_line_highlight, change_line_highlight): Declarations removed.
1231 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
c2d53558
SM
1232 (line_hash_code, row_equal_p, fake_current_matrices)
1233 (build_frame_matrix_from_leaf_window, update_frame_line)
abcce93a
MB
1234 (update_frame_line, update_frame_line, update_frame_line):
1235 Don't use `inverse_p' field.
1236 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1237 change_line_highlight_hook.
1238 (XTreassert_line_highlight, x_change_line_highlight):
1239 Functions removed.
c2d53558 1240 (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1241 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1242 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1243 `inverse_p' field.
c2d53558 1244 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
abcce93a
MB
1245 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1246 (w32_reassert_line_highlight, x_change_line_highlight):
1247 Functions removed.
1248 * w32console.c (reassert_line_highlight, change_line_highlight):
1249 Functions removed.
1250 (initialize_w32_display): Don't set reassert_line_highlight_hook
1251 or change_line_highlight_hook.
1252 (hl_mode): Function removed.
c2d53558
SM
1253 (reset_terminal_modes, set_terminal_modes, update_begin)
1254 (update_end, w32_face_attributes, initialize_w32_display):
abcce93a
MB
1255 (clear_frame, ins_del_lines): Don't call it.
1256 * termhooks.h (reassert_line_highlight_hook)
1257 (change_line_highlight_hook): Declarations removed.
1258 * term.c (reassert_line_highlight_hook)
1259 (change_line_highlight_hook): Variables removed.
1260 (reassert_line_highlight, change_line_highlight): Functions removed.
1261 * msdos.c (IT_reassert_line_highlight)
1262 (IT_change_line_highlight): Functions removed.
1263 (internal_terminal_init): Don't set reassert_line_highlight_hook
1264 or change_line_highlight_hook.
1265 (highlight): Variable removed.
c2d53558 1266 (IT_set_face, IT_update_begin, IT_update_end)
abcce93a
MB
1267 (IT_set_terminal_modes): Don't set or use it.
1268
1269 The following changes remove inverse-video support for terminals
1270 that use a `magic cookie' standout mode. Due to changes in the
1271 way mode-lines are displayed, such support no longer works
1272 anyway, and it's probable that almost no one uses such terminals
1273 anymore:
1274
1275 * term.c (standout_requested): Variable removed.
1276 (update_end, highlight_if_desired): Don't use it.
1277 (chars_wasted, copybuf): Variables removed.
1278 (write_standout_marker): Function removed.
c2d53558 1279 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
abcce93a
MB
1280 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1281 Don't use `chars_wasted' or `copybuf'.
1282 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1283 Set `costs_set' to true.
1284 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1285 `chars_wasted'.
1286 (clear_end_of_line): Function removed.
1287 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1288 (clear_to_end): Call `clear_end_of_line' instead of
1289 `clear_end_of_line_raw'.
54800acb
MB
1290 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1291 (term_init): Don't set them.
1292 Turn off any standout/underline modes that require magic cookies.
c2d53558 1293 (ins_del_lines, highlight_if_desired, background_highlight)
54800acb
MB
1294 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1295 Remove special processing for magic-cookie standout modes.
1296 (turn_off_face, turn_on_face): Remove special processing for
1297 underline magic-cookie glitch.
abcce93a 1298
0b5f679f
RS
12992001-10-19 Richard M. Stallman <rms@gnu.org>
1300
1301 * eval.c (syms_of_eval): Doc fixes.
1302
5a4a5bd4
GM
13032001-10-19 Gerd Moellmann <gerd@gnu.org>
1304
1305 * xdisp.c (redisplay_internal): Don't clear echo area if the
1306 mini-window is selected.
1307
79f1f96c
MB
13082001-10-19 Miles Bader <miles@gnu.org>
1309
b57c2708
MB
1310 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1311 doesn't take precedence if the affected property's value is nil.
1312
1313 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1314
79f1f96c
MB
1315 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1316 with fields and suggest using `forward-line' to avoid them.
1317 * editfns.c (Fline_beginning_position, Fline_end_position):
1318 Clarify documentation.
1319
ef879104
SM
13202001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1321
1322 * keymap.c (current_minor_maps): `override' only shadows its
1323 correspondent in minor-mode-map-alist, not the whole tail.
1324
97f4db8c
AI
13252001-10-18 Andrew Innes <andrewi@gnu.org>
1326
1327 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1328 optimization. The fontp->encoding array was not being initialized
1329 correctly when compiled with optimizations by MSVC.
1330
e6b70fd8
GM
13312001-10-18 Gerd Moellmann <gerd@gnu.org>
1332
30903479 1333 * xdisp.c (display_line): Indicate empty lines in active mini-window.
e6b70fd8 1334
0e804d38
AI
13352001-10-17 Andrew Innes <andrewi@gnu.org>
1336
1337 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1338
1339 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1340 font_info.charset field.
1341
1342 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1343 rather than working it out by calling w32_codepage_for_font for
1344 every glyph.
1345
66e5868a
AI
13462001-10-17 Andrew Innes <andrewi@gnu.org>
1347
1348 * w32term.c (w32_read_socket): Determine clipping rectangle for
1349 the entire frame, including areas covered by scrollbars and the
1350 menubar. This avoids internal arguments about whether a frame is
1351 fully obscured or not.
1352
15b00083
GM
13532001-10-17 Gerd Moellmann <gerd@gnu.org>
1354
23e8bd86
GM
1355 * xdisp.c (try_window_id): Undo last change. Give up if
1356 window ends in strings.
30903479 1357
9c6ba6d1 1358 * xdisp.c (try_window_id): Don't display lines after the window
30903479 1359 end if the rest of the window after the window end was already blank.
23e8bd86 1360
30903479 1361 * xdisp.c (try_window_id): Remove code that was only there
9c6ba6d1
GM
1362 for the release of 21.1.
1363
30903479 1364 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
15b00083 1365
945220bd
MB
13662001-10-17 Miles Bader <miles@gnu.org>
1367
1368 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1369 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1370 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1371 Change doc-string comments to `new style' [w/`doc:' keyword].
1372 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1373 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1374 out make-docfile.
1375
14242528
MB
13762001-10-16 Miles Bader <miles@gnu.org>
1377
1378 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1379
3ddf952f
GM
13802001-10-16 Gerd Moellmann <gerd@gnu.org>
1381
1382 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1383 *scratch*.
1384
f3fbd155
KR
13852001-10-16 Ken Raeburn <raeburn@gnu.org>
1386
1387 Avoid the assumption that car and cdr slots of cons cells are
1388 addressable lvalues; this allows for easier experimentation with
1389 other lisp implementations that may not permit such accesses for
1390 various reasons. Not quite complete -- buffer.c still needs some
1391 work, and w32/mac files need rechecking -- so compile-time
1392 enforcement is left disabled for now.
1393
1394 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
30903479 1395 gcc with a union-based Lisp object rep. Redefine as no-op for now.
f3fbd155
KR
1396 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1397 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1398 (XSETCAR, XSETCDR): New macros.
1399 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1400 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1401 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1402 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1403 XSETCDR.
1404 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
30903479
SM
1405 * buffer.c (record_buffer, Fbury_buffer)
1406 (swap_out_buffer_local_variables, recenter_overlay_lists)
1407 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
f3fbd155
KR
1408 fields of a cons cell respectively.
1409 * callint.c (quotify_args, Fcall_interactively): Likewise.
1410 * ccl.c (Fregister_code_conversion_map): Likewise.
1411 * coding.c (detect_coding_system): Likewise.
1412 * composite.c (get_composition_id, make_composition_value_copy):
1413 Likewise.
30903479
SM
1414 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1415 (swap_in_symval_forwarding, set_internal, Fset_default)
1416 (Fmake_variable_buffer_local, Fmake_local_variable)
1417 (Fmake_variable_frame_local): Likewise.
f3fbd155 1418 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
30903479 1419 * keymap.c (Fset_keymap_parent, store_in_keymap)
c2d53558 1420 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
f3fbd155
KR
1421 * minibuf.c (get_minibuffer): Likewise.
1422 * search.c (Fmatch_data): Likewise.
1423 * textprop.c (extend_property_ranges): Likewise.
c2d53558 1424 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
f3fbd155
KR
1425 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1426 Likewise.
1427 * w32term.c (x_delete_display): Likewise.
1428 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1429 Likewise.
c2d53558 1430 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
f3fbd155 1431 * doc.c (store_function_docstring): Use XSETCARFASTINT.
30903479 1432 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
f3fbd155
KR
1433 (Fread_file_name): Use XSETCAR.
1434 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1435 CHECK_NUMBER_CDR.
1436 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1437 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1438 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1439 CHECK_NUMBER_CDR.
1440 * keyboard.c (read_char): Alter list traversal to avoid taking the
1441 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1442 (parse_menu_item): Use XSETCAR and XSETCDR.
1443 (reach_char_x_menu_prompt): Use XSETCAR.
1444 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1445 (Fcommand_execute): Use XSETCDR.
1446 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1447 (openp): Change list traversal to avoid using XCAR as lvalue.
1448 (read_list): Use XSETCDR.
1449 * process.c (wait_reading_process_input): Change wait_for_cell
1450 handling to avoid taking addresses of cons cell slots.
30903479
SM
1451 * xselect.c (x_own_selection, x_handle_selection_clear)
1452 (x_clear_frame_selections): Use XSETCDR.
1453 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1454 (x_handle_property_notify, x_get_foreign_selection)
1455 (x_handle_selection_notify): Use XSETCAR.
f3fbd155 1456
502150e5
PJ
14572001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1458
018ba359
PJ
1459 * buffer.c: Put doc strings in comments.
1460
30903479 1461 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
502150e5 1462
b56ba8de
SS
14632001-10-15 Sam Steingold <sds@gnu.org>
1464
1465 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1466
6a0b793a
PJ
14672001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1468
30903479
SM
1469 * process.c (process-inherit-coding-system-flag)
1470 (get-buffer-process): Do not confuse make-docfile with doc strings
e2ba787b
PJ
1471 in comment.
1472
a1f17501 1473 * editfns.c (Fchar_to_string): Make doc string consistent with
30903479 1474 arguments. Put doc strings in comments.
a65da641
PJ
1475
1476 * abbrev.c, minibuf.c: Put doc strings in comments.
6a0b793a 1477
aa601ad0
GM
14782001-10-15 Gerd Moellmann <gerd@gnu.org>
1479
30903479 1480 * window.c (window_loop): Don't check for Fother_buffer returning nil.
b56ba8de 1481
aa601ad0
GM
1482 * window.c (select_window_1): Unfreeze window start. Remove a
1483 doubled test for WINDOW being live.
1484
288148a1
PJ
14852001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1486
dd8d1e71
PJ
1487 * fns.c (Fmapconcat): Fix typo in a doc string.
1488
288148a1
PJ
1489 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1490
9f5eb4a3
GM
14912001-10-15 Gerd Moellmann <gerd@gnu.org>
1492
1493 * xterm.c (x_draw_glyph_string): Restore clipping after
1494 drawing box.
1495
dbae44c8
PJ
14962001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1497
30903479 1498 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
dbae44c8 1499
0c88c937
SM
15002001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1501
56378db4
GM
1502 * indent.c (skip_invisible): Use new retval of
1503 TEXT_PROP_MEANS_INVISIBLE.
91c067f4 1504
845e4cf4
SM
1505 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1506 If a parent is reached and noinherit is set, exit immediately.
1507 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1508
0c88c937
SM
1509 * s/ms-w32.h (EXEC_SUFFIXES):
1510 * s/msdos.h (EXEC_SUFFIXES):
1511 * process.h (EXEC_SUFFIXES): Remove.
1512
1513 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1514 (decode_suffixes): Remove.
1515
1516 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
91c067f4
SM
1517 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1518 (invisible_ellipsis_p): Remove.
0c88c937
SM
1519
1520 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1521 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1522 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
91c067f4
SM
1523 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1524 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
0c88c937 1525
d19be8a9
PJ
15262001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1527
04d7d066
PJ
1528 * lisp.h (Ftop_level): Add prototype.
1529
d624284c
PJ
1530 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1531 (XTread_socket): Improve style of comments to follow other
1532 comments.
1533
a87414f9
PJ
1534 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1535 is already prototyped in included lisp.h).
1536
d19be8a9
PJ
1537 * frame.c (Fset_mouse_position): Improve style of comment to
1538 follow other comments.
1539 (Fset_mouse_pixel_position): Improve style of comment to follow
1540 other comments.
1541 (Fmake_frame_visible): Doc fix and typo in comment.
1542 (Fmake_frame_invisible): Doc fix and typo in comment.
1543 (Ficonify_frame): Fix typo in comment.
1544
c061c855
GM
15452001-10-14 Gerd Moellmann <gerd@gnu.org>
1546
37f6b5b6 1547 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
228299fa 1548 * term.c, alloc.c: Put doc strings in comments.
c061c855 1549
e641b454
GM
15502001-10-13 Gerd Moellmann <gerd@gnu.org>
1551
1552 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1553 Provide definitions for doc strings in comments.
1554
1555 * fns.c: Put doc strings in comments.
1556
51724e26
EZ
15572001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1558
1559 * dired.c (file_name_completion): Ignore a candidate directory if
1560 it matches an element in completion-ignored-extensions that ends
1561 in a slash.
1562 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1563 feature in the doc string.
1564 (Ffile_name_completion): Ditto.
1565
be5fc59b
SM
15662001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1567
5a1373f3
SM
1568 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1569
1570 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1571
1572 * lisp.h (Fprovide): Update prototype.
1573 (Ffeaturep, invisible_p): Remove.
1574
bbc4a3d3 1575 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
5a1373f3
SM
1576 (DOLIST, LOOP_PROPVAL): New macros.
1577 (invisible_p, invisible_ellipsis_p): Use them.
1578 (invisible_noellipsis_p): New function.
1579 (syms_of_xdisp): Use empty_string.
1580
1581 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1582
1583 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1584 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1585
1586 * print.c (Fwith_output_to_temp_buffer): Align with
1587 internal_with_output_to_temp_buffer.
1588 (print_preprocess): Use traverse_intervals_noorder.
1589 (print_object): Update call to traverse_intervals.
1590
1591 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1592 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1593
1594 * intervals.c (traverse_intervals_noorder): New function.
1595 (search_for_interval, count_intervals): Use it.
1596 (traverse_intervals): Use less stack space and drop `depth' arg.
1597
1598 * fns.c (Ffeaturep): Add new `subfeature' arg.
1599 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1600 (Qsubfeatures): New var.
1601 (syms_of_fns): Initialize it.
1602
026f408d
SM
1603 * keymap.c (Fkey_description): Use empty_string.
1604 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1605 (syms_of_keymap): Setup inheritance between maps.
1606 Don't export Sdescribe_bindings_internal any more.
1607
be5fc59b
SM
1608 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1609
3365175e
GM
16102001-10-12 Gerd Moellmann <gerd@gnu.org>
1611
1612 * xterm.c (notice_overwritten_cursor): Renamed from
1613 note_overwritten_text_cursor. Rewritten to take glyph widths into
1614 account.
1615
2ab7765c
EZ
16162001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1617
1618 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1619 multi-line strings without a trailing "\n\".
1620
311346bb
PJ
16212001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1622
1623 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1624 defined.
1625
2168e04d
SM
16262001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1627
026f408d
SM
1628 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1629
c0ec53ad
SM
1630 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1631 * w32proc.c (sys_spawnve):
1632 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1633 * w32.c (check_windows_init_file):
1634 * sound.c (Fplay_sound):
026f408d 1635 * emacs.c (init_cmdargs):
c0ec53ad
SM
1636 * process.c (Fstart_process): Update calls to openp.
1637
1638 * callproc.c (Vexec_suffixes): New var.
1639 (Fcall_process): Update call to openp.
1640 (decode_suffixes): New function.
1641 (syms_of_callproc): Init exec-suffixes.
1642
1643 * lread.c (Vload_suffixes, default_suffixes): New vars.
1644 (openp): Take a lisp list of suffixes.
1645 Check for file-name-handlers even if the file was absolute already.
1646 (syms_of_lread): Declare load-suffixes.
1647 (Fload): Fix up call to openp.
1648 Don't bother checking for file-name-handler at the very beginning.
1649
f6333468
SM
1650 * keymap.h (Fcopy_keymap): Don't export.
1651
1652 * lisp.h (empty_string): Declare.
c0ec53ad
SM
1653 (Vload_suffixes, Vexec_suffixes): Declare.
1654 (openp): Update prototype.
f6333468
SM
1655
1656 * emacs.c (empty_string): New var.
1657 (syms_of_emacs): Initialize it.
1658
1659 * search.c (wordify): Use it.
1660
1661 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1662 selected window if it's not displayed there. Handle the case
1663 when the window is dedicated.
1664 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1665
1666 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1667
2168e04d
SM
1668 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1669 Remove left_ok and right_ok.
1670 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1671 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1672 new meaning of b_property.
1673
1674 * syntax.c (update_syntax_table): Simplify.
1675 (Fforward_comment): Don't skip quoted chars when going backward.
1676
13d95cc0
GM
16772001-10-11 Gerd Moellmann <gerd@gnu.org>
1678
beb0990f
GM
1679 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1680 in case I is of some unsigned type, in which case
1681 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1682 comparison becomes bogus.
1683
cb938d46
GM
1684 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1685 (Fuser_full_name): Fix bug treating a float as a fixnum.
1686
1687 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1688
1689 * lisp.h (make_fixnum_or_float): New macro.
2168e04d 1690
13d95cc0
GM
1691 * lisp.h (circular_list_error): Add prototype.
1692
1693 * data.c (Qcircular_list): New variable.
1694 (circular_list_error): New function.
1695 (syms_of_data): Initialize it Qcircular_list.
1696
e35f6ff7
SM
16972001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1698
1699 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1700 casefiddle.c, buffer.c: Include keymap.h.
1701
619632ac
GM
17022001-10-10 Gerd Moellmann <gerd@gnu.org>
1703
1704 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1705 options. From Dave Love <d.love@dl.ac.uk>.
1706
5e5388f6
GM
17072001-10-09 Gerd Moellmann <gerd@gnu.org>
1708
1709 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1710 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1711
14a3dff7
GM
1712 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1713 unsigned char.
1714 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
e35f6ff7 1715
76ba8daf
AI
17162001-10-08 Andrew Innes <andrewi@gnu.org>
1717
1718 * lisp.h [max]: Undef min and max before redefining them.
1719
1720 * w32gui.h: Do not undef min and max.
1721
1722 * w32heap.h: Do not undef min and max.
1723
1724 * s/ms-w32.h: Do not undef min and max.
1725
166253cb
SM
17262001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1727
1728 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1729
0c4d9527
SS
17302001-10-08 Sam Steingold <sds@gnu.org>
1731
1732 * keymap.c (current-active-maps): Quote newlines (compilation error).
1733
14bfa771
EZ
17342001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1735
1736 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1737 bindings.elc, since otherwise doc strings in bindings.el get wrong
1738 offsets in etc/DOC.
1739
bdb7aa47
SM
17402001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1741
9985827f
SM
1742 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1743
1744 * keyboard.h (map_prompt): Remove.
1745
1746 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
e6b3ceb6 1747 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
9985827f 1748
bdb7aa47
SM
1749 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1750
1751 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1752
1753 * keyboard.c (map_prompt): Remove.
1754 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1755 Use Fkeymap_prompt.
1756
1757 * keymap.h: New file. Extracted from lisp.h.
1758
9985827f
SM
1759 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1760 (accessible_keymaps_1): New function.
1761 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1762 (Fwhere_is_internal): Use Fcurrent_active_maps.
1763 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1764 Insert in current buffer rather than standard-output.
1765 Don't call `help-mode'. Export to elisp.
1766 (describe_buffer_bindings): New wrapper.
1767 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1768 and Sdescribe_buffer_bindings.
1769
402c9a51
GM
17702001-10-08 Gerd Moellmann <gerd@gnu.org>
1771
9985827f 1772 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
3ecd9cc3
GM
1773 Remove code setting signal handler.
1774
9985827f 1775 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
402c9a51
GM
1776 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1777
3fe81fdf
PJ
17782001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1779
1780 * keyboard.c: Don't define min/max.
1781
55fa7820
GM
17822001-10-08 Gerd Moellmann <gerd@gnu.org>
1783
9985827f 1784 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
32c82ac0 1785 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
9985827f 1786 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
32c82ac0 1787 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
9985827f 1788 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
32c82ac0
GM
1789 Don't define min/max.
1790
1791 * lisp.h (min, max): New macros.
1792
55fa7820
GM
1793 * puresize.h (BASE_PURESIZE): Increase to 725000.
1794
1aad31e4
PJ
17952001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1796
9180dc8c
PJ
1797 * xfaces.c (free_frame_menubar): Add prototype.
1798
01f67d2c
PJ
1799 * lisp.h (init_window): Add prototype.
1800
1801 * editfns.c: Include ctype.h.
1802
1803 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
9985827f 1804 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
01f67d2c
PJ
1805 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1806 variable `sb'.
1807
5f351ff1
PJ
1808 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1809 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1810 `popup_activated_flag' and `title'.
1811
479dfe87
PJ
1812 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1813
dff49fc8
PJ
1814 * emacs.c (main): Remove extra `;'.
1815
248ac615
PJ
1816 * atimer.h (struct atimer): Fix typos in a comment.
1817
1818 * atimer.c: Fix typo.
1819
af232c7d
PJ
1820 * Makefile.in: Fix typo.
1821
1822 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 1823
d876f455
MB
18242001-10-07 Miles Bader <miles@gnu.org>
1825
1826 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1827
0037e2f2
KR
18282001-10-07 Ken Raeburn <raeburn@gnu.org>
1829
b056f36d
KR
1830 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1831 Lisp_Object.
1832
0037e2f2
KR
1833 * lisp.h (Ffield_end): Declare.
1834
1a4372ef
GM
18352001-10-07 Gerd Moellmann <gerd@gnu.org>
1836
a4a74e8c
GM
1837 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1838
1839 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1840
1841 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1842
1843 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1844
1a4372ef
GM
1845 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1846 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1847
1848 * alloc.c (inhibit_garbage_collection): Simplify.
1849 (Fmemory_use_counts): Ditto.
1850
9985827f 1851 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1a4372ef
GM
1852 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1853 most-negative-fixnum.
1854
9985827f 1855 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1a4372ef
GM
1856 (FIXNUM_OVERFLOW_P): New macros.
1857
4650e362
MB
18582001-10-06 Miles Bader <miles@gnu.org>
1859
1860 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1861 scroll_bar_bottom_shadow_pixel fields.
1862 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1863 for the shadows, and tell the toolkit about them if we succeed.
1864 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1865 Free scroll-bar shadow colors.
1866 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1867 Free scroll-bar shadow colors when the background color changes.
1868 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1869 Initialize scroll-bar shadow-color fields.
1870
ace64e0a
GM
18712001-10-05 Gerd Moellmann <gerd@gnu.org>
1872
1873 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1874
ec66bdc7
MB
18752001-10-05 Miles Bader <miles@gnu.org>
1876
9985827f
SM
1877 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1878 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
ec66bdc7 1879 New functions (were in simple.el).
9985827f 1880 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
ec66bdc7
MB
1881 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1882 (syms_of_minibuf): Initialize them.
1883
a0fb4492
GM
18842001-10-05 Gerd Moellmann <gerd@gnu.org>
1885
1886 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1887 (tiff_load): Install them as error and warning handler.
1888
0bcf87c1
AI
18892001-10-04 Andrew Innes <andrewi@gnu.org>
1890
1891 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1892 (w32_load_system_font): Don't believe what GetLanguageFontInfo
9985827f 1893 says; query codepage info directly to determine if font is double byte.
0bcf87c1
AI
1894 (x_to_w32_charset): Handle private format for unknown charsets.
1895 Handle wildcards in charset spec, by ignoring them.
1896 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1897 "*-" prefix from charset.
1898 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1899 handle the truncated font spec form constructed by font_list_1, so
1900 that we correctly identify the charset fields. Don't remove "*-"
1901 prefix from charset.
1902 (w32_list_synthesized_fonts): Fix argument to alloca.
1903
c89e4bc5
GM
19042001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1905
1906 * window.h (MINI_WINDOW_P): Use NILP.
1907
1908 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1909
1910 * termhooks.h (struct input_event): Use proper type for `kind'.
1911
19122001-10-04 Gerd Moellmann <gerd@gnu.org>
1913
1914 This handles unknown keysyms better than before. For example,
1915 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1916 Emacs formerly completely ignored F5. With the change, it derives
1917 a key symbol from the name of the X keysym, `ccaron' in this case.
1918 Reported by Martin Buchholz.
1919
1920 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1921 unknown keysyms.
1922
1923 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1924 that EVENT->code isn't a function key, use the keysym's name.
1925
19262001-10-04 Gerd Moellmann <gerd@gnu.org>
1927
1928 FOREACH is a macro that should make it easier to loop over Lisp
1929 lists with checks for cycles and proper lists.
1930
1931 * lisp.h (LIST_END_P, FOREACH): New macros.
1932
19332001-10-04 Gerd Moellmann <gerd@gnu.org>
1934
1935 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1936 called for a lost connection. Prevent dumping core in this case.
1937 Instead print the X error, and exit. On user request.
1938
1939 * xterm.c (error_msg): New variable.
1940 (x_fatal_error_signal): New function.
1941 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1942 as fatal_error_signal_hook around the call to XtCloseDisplay.
1943
1944 * emacs.c (fatal_error_signal_hook): New variable.
1945 (fatal_error_signal): Call that function.
1946
19472001-10-04 Gerd Moellmann <gerd@gnu.org>
1948
1949 With this, Emacs prints how much pure storage it will
1950 approximately need in case pure storage overflows while dumping.
1951
1952 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1953 New variables.
1954 (init_alloc_once): Initialize new variables.
1955 (PURE_POINTER_P): Use new variables.
1956 (pure_alloc): If pure storage overflows, allocate from the heap.
1957 (check_pure_size): New function.
1958 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1959
1960 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1961 (check_pure_size): Add prototype.
1962
1963 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1964
19652001-10-04 Gerd Moellmann <gerd@gnu.org>
1966
1967 This adds a post-gc-hook that's run with GC inhibited.
1968 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1969
1970 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1971 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1972 (Fgarbage_collect): Run post-gc-hook.
1973
19742001-10-04 Gerd Moellmann <gerd@gnu.org>
1975
1976 This adds `defvaralias' and `indirect-variable'. Changes not
1977 directly related to this feature are there to gain the same
1978 performance again as before variable aliases.
1979
1980 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
1981 code to get and set symbol values, to take defvaralias into account.
1982
1983 (Note: the new `constant' bit-flag in symbols would make it
1984 possible to define arbitrary read-only variables, e.g. with
1985 `defconst'.)
1986
1987 Documentation is in lispref/variables.texi. Added to NEWS.
1988
1989 * lisp.h (enum symbol_interned): New enumeration.
1990 (struct Lisp_Symbol): Remove member `obarray', add
1991 `indirect_variable', `constant', and `interned'.
1992 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
1993 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
1994 (indirect_variable): Add prototype.
1995
1996 * print.c (print_preprocess, print_object): Test internedness of
1997 symbols differently.
1998
1999 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2000 bit-fields.
2001 (init_obarray): Likewise for t and nil.
2002
2003 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2004 (Fdefvaralias): New function.
2005 (specbind): Simplify the test if symbol is a constant.
2006 (syms_of_eval): Defsubr Fdefvaralias.
2007
2008 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2009 (Qcyclic_variable_indirection): New variable.
2010 (Fkeywordp): Check for internedness differently.
2011 (Fmakunbound): Simplify the test if symbol is a constant.
2012 (indirect_variable, Findirect_variable): New functions.
2013 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2014 aliased symbol.
2015 (let_shadows_buffer_binding_p): Check for variable aliases.
2016 (set_internal): Simplify the test if SYMBOL is a constant.
2017 If SYMBOL has a buffer-local value and is an alias, use the aliased
2018 symbol instead.
2019 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2020 Sindirect_variable.
2021
2022 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2023 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2024 set directly.
2025
2026 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2027
2028 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2029 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2030 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2031
ab952a4f
GM
20322001-10-04 Gerd Moellmann <gerd@gnu.org>
2033
2034 * Branch for 21.1.
b56ba8de 2035
ba88ff28
MB
20362001-10-03 Miles Bader <miles@gnu.org>
2037
2038 * callproc.c (syms_of_callproc): Explicitly state in the
2039 documentation for `process-environment' that earlier entries take
2040 precedence over later ones.
2041
ae1a9581
MB
20422001-10-02 Miles Bader <miles@gnu.org>
2043
2044 * textprop.c (Fnext_char_property_change)
2045 (Fprevious_char_property_change): Remove reference to non-existant
2046 argument OBJECT from doc-string.
2047
257e3f57
GM
20482001-10-01 Gerd Moellmann <gerd@gnu.org>
2049
2050 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2051 (try_window_id): Skip back over lines ending in a newline from a
2052 string.
2053
2054 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2055 New bit flag
2056
c1f29759
RS
20572001-10-01 Richard M. Stallman <rms@gnu.org>
2058
2059 * search.c (Freplace_match): Doc fix.
2060
c30dce3d
AI
20612001-09-28 Andrew Innes <andrewi@gnu.org>
2062
2063 * w32menu.c (set_frame_menubar): Take into account that
2064 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2065 <raeburn@gnu.org>.
2066
03be5931
EZ
20672001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2068
2069 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2070
75bec752
PJ
20712001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2072
2073 * s/gnu-linux.h: Fix a typo in comment.
2074
83100e0a
AS
20752001-09-28 Andreas Schwab <schwab@suse.de>
2076
2077 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2078 nocombreloc, in case -z combreloc is the default.
2079
a74b48cf
GM
20802001-09-28 Gerd Moellmann <gerd@gnu.org>
2081
2082 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2083 really going on here.
2084
09c4719e
SM
20852001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2086
2087 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2088
f7d5d963
EZ
20892001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2090
2091 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2092 utf-8, menu-bar, and latin-N.
2093 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2094 unconditionally now.
2095 (lisp): Add latin-N, since they are preloaded.
2096
9240e746
GM
20972001-09-27 Gerd Moellmann <gerd@gnu.org>
2098
14531065
GM
2099 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2100 to the left. Some cleanup.
2101
9240e746
GM
2102 * xdisp.c (display_mode_element): One more case where a string's
2103 multibyteness should be used for display.
2104
edd1e654
GM
21052001-09-26 Gerd Moellmann <gerd@gnu.org>
2106
b02439c8
GM
2107 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2108 reading at EOF.
2109
032906b1 2110 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 2111 of the only temporarily set echoing flag for deciding when
032906b1
GM
2112 the cancel echoing.
2113
2114 * keyboard.c (echo_kboard): Make externally visible.
2115
2116 * lisp.h (echo_kboard): Declare extern.
2117
cb617e7c 2118 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 2119 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
2120 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2121 this round of redisplay if make_cursor_line_fully_visible fails.
2122 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 2123 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
2124
2125 * dispextern.h (required_matrix_width, required_matrix_height):
2126 Add prototypes.
2127
09c4719e
SM
2128 * dispnew.c (required_matrix_width, required_matrix_height):
2129 New functions.
cb617e7c 2130 (allocate_matrices_for_window_redisplay)
09c4719e
SM
2131 (allocate_matrices_for_frame_redisplay: Use them.
2132 Remove parameters CH_DIM.
cb617e7c 2133
edd1e654
GM
2134 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2135 and selected_window to the frame of the window whose mode-lines
2136 are displayed, and to the window itself.
2137 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 2138 here.
edd1e654 2139
924b604c
GM
21402001-09-25 Gerd Moellmann <gerd@gnu.org>
2141
daba7643
GM
2142 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2143 the image cache under us.
2144
b7a22712 2145 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 2146 with a string value, use that string's multibyteness for displaying.
b7a22712 2147
ad648212
GM
2148 * keyboard.c (read_char): Don't clear a message for a switch-frame
2149 event. From Stefan Monnier <monnier@cs.yale.edu>.
2150
9f8531e5
GM
2151 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2152 version for after 21.1.
2153
2154 * xdisp.c (row_containing_pos): Make externally visible.
2155
2156 * dispextern.h (row_containing_pos): Add prototype.
2157
924b604c
GM
2158 * process.c (send_process): Disable composition if from_byte < 0.
2159 From Kenichi Handa <handa@etl.go.jp>.
2160
6f3f0db4
GM
21612001-09-24 Gerd Moellmann <gerd@gnu.org>
2162
c69c0ebc
GM
2163 * xterm.c (refreshicon): Function removed.
2164
d1182bc4
GM
2165 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2166
2167 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2168
2169 * xterm.c (toplevel): Remove includes in #if 0.
2170
6f3f0db4
GM
2171 * process.c (sigchld_handler) [LINUX]: Don't return from
2172 the signal handler at the end of the loop.
2173
59957f85
GM
21742001-09-21 Gerd Moellmann <gerd@gnu.org>
2175
09c4719e
SM
2176 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2177 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 2178
a0528984
EZ
21792001-09-21 Markus Rost <rost@math.ohio-state.edu>
2180
2181 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2182
db92b288
GM
21832001-09-20 Gerd Moellmann <gerd@gnu.org>
2184
3fed8ad5
GM
2185 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2186 since this function can be called during GC.
2187
db92b288
GM
2188 * callproc.c (Fcall_process): Handle errors from pipe(2).
2189 (child_setup): Delete code in #ifdef vipc.
2190
7121b85a
GM
21912001-09-19 Gerd Moellmann <gerd@gnu.org>
2192
72f62cb5
GM
2193 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2194 (display_mode_element): Display the string from decode_mode_spec
2195 depending on its multibyteness.
2196
a2697022
GM
2197 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2198
7121b85a
GM
2199 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2200
bfc97351
GM
22012001-09-18 Gerd Moellmann <gerd@gnu.org>
2202
c9063433
GM
2203 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2204 recursive_edit_unwind.
2205 (recursive_edit_unwind): Set kboard state according to
2206 SINGLE-KBOARD.
2207
3fbdba3e
GM
2208 * buffer.c (modify_overlay): Don't do nothing if START == END;
2209 This can still be a modification, for example when an overlay has
2210 a before-string or after-string.
2211 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2212 an overlay with before-string or after-string.
2213
1270031d
GM
2214 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2215 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2216
bfc97351
GM
2217 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2218 first_unchanged_at_end_row is in front of
2219 last_unchanged_at_beg_row. This code should be removed after the
2220 release of 21.1.
2221
d8a973aa
GM
22222001-09-17 Gerd Moellmann <gerd@gnu.org>
2223
e18c8b8d
GM
2224 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2225 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2226
d8a973aa
GM
2227 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2228 versions >= 2.95.
2229
ed7d6ba4
EZ
22302001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2231
2232 * dired.c (Ffile_attributes): Doc fix.
2233
551629f9
GM
22342001-09-14 Gerd Moellmann <gerd@gnu.org>
2235
2236 * fileio.c (Ffile_symlink_p): Fix last change.
2237
2238 * filelock.c (current_lock_owner): Fix last change.
2239
4c8c7926
GM
22402001-09-13 Gerd Moellmann <gerd@gnu.org>
2241
620c4704
GM
2242 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2243 take that to mean that the buffer is too small.
2244
81c3310d
GM
2245 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2246 that to mean that the buffer is too small.
2247
06fd3792
GM
2248 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2249 current buffer's multibyteness when discarding the iterator's
2250 stack.
2251
4c8c7926
GM
2252 * xfns.c (Fx_window_property): Handle case that property gets
2253 deleted between the two calls to XGetWindowProperty.
2254
9a72e4c1
GM
22552001-09-11 Gerd Moellmann <gerd@gnu.org>
2256
bd819d14 2257 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
b56ba8de 2258
a41edd99
GM
2259 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2260 in addition to read-only.
2261
2262 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2263 to t in addition to read-only.
2264
2265 * lisp.h (Qinhibit_modification_hooks): Declare.
2266
2267 * insdel.c (Qinhibit_modification_hooks): New variable.
2268 (syms_of_insdel): Initialize and staticpro it.
2269
d4881c6a
GM
2270 * textprop.c (verify_interval_modification): Don't run
2271 modification-hooks if inhibit_modification_hooks.
2272
2273 * dispnew.c (set_window_cursor_after_update): Fix code
2274 finding glyph row containing cursor when cursor_in_echo_area
2275 is >= 0.
2276
9a72e4c1
GM
2277 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2278 (add_to_log): Use bcopy instead of strcpy.
2279 (init_from_display_pos): Use an explicit loop over bytes in
2280 overlay strings instead of calling index.
2281
f4a374a1
GM
22822001-09-10 Gerd Moellmann <gerd@gnu.org>
2283
300e57bd
GM
2284 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2285
2286 * dispnew.c (direct_output_for_insert): Don't change IT's
2287 stop_charpos to something in front of its current position.
2288
f4a374a1
GM
2289 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2290 `format'.
2291
7e4cbc91
RS
22922001-09-10 Richard M. Stallman <rms@gnu.org>
2293
2294 * frame.c (Fmouse_position): Doc fix.
2295
6afad91e
GM
22962001-09-07 Gerd Moellmann <gerd@gnu.org>
2297
2298 * xdisp.c (init_from_display_pos): Don't compare the result
2299 of calling index with NULL.
2300
f76e0368
GM
23012001-09-06 Gerd Moellmann <gerd@gnu.org>
2302
2303 * xfns.c (x_set_background_color): Don't change the colors
2304 of the X window of scroll bar widgets.
2305
9ead1b60
AI
23062001-09-05 Andrew Innes <andrewi@gnu.org>
2307
2308 * w32fns.c (w32_createwindow): Undo last change.
2309
c3b497b3
GM
23102001-09-05 Gerd Moellmann <gerd@gnu.org>
2311
08e1d6df
GM
2312 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2313
c3b497b3
GM
2314 * xdisp.c (string_buffer_position): Use *single_char_property*
2315 functions instead of the *single_property* functions.
b56ba8de 2316
8f860180
AI
23172001-09-04 Andrew Innes <andrewi@gnu.org>
2318
9a72e4c1
GM
2319 * w32term.c (w32_read_socket): Add more information to debugging
2320 output.
8f860180
AI
2321
2322 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2323 from Emacs frames, so that calls to GetClipBox in w32term.c
2324 correctly report when part of a frame is visible (including
2325 scrollbars, etc). This prevents repeated redrawing of frames when
2326 only a scrollbar is visible.
2327 (w32_wnd_proc): Add more frame information to debugging output.
2328
2ee1aa00
SM
23292001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2330
2331 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2332
e3b22517
GM
23332001-09-03 Gerd Moellmann <gerd@gnu.org>
2334
7e376260
GM
2335 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2336 help-echo for a string which doesn't have help-echo itself, use
2337 get-char-property to obtain the help-echo from the string's buffer
2338 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2339 have mouse-face, look ``under'' the string for mouse-face from an
2340 overlay.
2341 (fast_find_position): Add parameter STOP. In the final row, stop
2342 before glyphs having STOP as object. Don't consider glyphs that
2343 are not from a buffer.
2344
e3b22517
GM
2345 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2346
9a249bba
EZ
23472001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2348
2349 * fns.c (Fmd5): Doc fix.
2350
c9979669
GM
23512001-08-31 Gerd Moellmann <gerd@gnu.org>
2352
2353 * composite.c (update_compositions): Do nothing if
2354 inhibit-modification-hooks is set.
2355
9584e63a
GM
23562001-08-30 Gerd Moellmann <gerd@gnu.org>
2357
986ec8f2 2358 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 2359 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
2360 glyph matrices etc. in a core dump.
2361
92a25631
GM
2362 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2363 (syms_of_xdisp): Initialize them.
2364 (handle_single_display_prop): Don't change point, bind `object',
2365 `position', and `buffer-position' instead to the object having the
2ee1aa00 2366 `display' property, position in the object and position in the buffer.
92a25631 2367
9584e63a
GM
2368 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2369 of the buffer if REPLACE is non-nil.
2370
d38633a3
GM
23712001-08-29 Gerd Moellmann <gerd@gnu.org>
2372
2373 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2374
f4fccc1e
EZ
23752001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2376
2377 * w32term.c (x_set_glyph_string_background_width)
2378 (show_mouse_face): Track the last changes in xterm.c.
2379
eaaa65b0
GM
23802001-08-28 Gerd Moellmann <gerd@gnu.org>
2381
7b0870b2
GM
2382 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2383 string's background width so that multi-line mouse-face is drawn
2384 to the right edge of the window.
2385 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2386 glyphs.
2387
6b6e2422 2388 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 2389 before inserting/writing glyphs.
6b6e2422 2390
eaaa65b0
GM
2391 * xdisp.c (display_mode_element): Use string_byte_to_char to
2392 determine character positions in strings, use chars_in_text
2393 instead of strwidth.
2394 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2395 a matrix as parameter; this is easier to use from GDB.
2396
9ad62cf8
MB
23972001-08-28 Miles Bader <miles@gnu.org>
2398
2ee1aa00
SM
2399 * textprop.c (Fprevious_single_char_property_change)
2400 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 2401
32171635
GM
24022001-08-27 Gerd Moellmann <gerd@gnu.org>
2403
47d57b22
GM
2404 * fileio.c (Finsert_file_contents): Allocate, restore, and
2405 free composition data in the case of REPLACE not being nil.
2406
2407 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2408 there exist overlay strings with newlines at POS.
2409 (text_outside_line_unchanged_p): Return 0 if changes start at
2410 START and overlays exist at START. Likewise for END.
2411 (try_window_id): Give up if init_to_row_end returns 0.
2412
32171635
GM
2413 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2414 unconditionally.
2415
e1249666
GM
24162001-08-24 Gerd Moellmann <gerd@gnu.org>
2417
33954c45
GM
2418 * keymap.c (access_keymap): Return the cdr of the binding of
2419 a generic character instead of its definition (KEY . BINDING).
2420
e1249666
GM
2421 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2422 to 0 also in the REPLACE case.
2423
fb4c6c96
AC
24242001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2425
2426 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2427 open to determine whether file is readable (as for DOS_NT).
2428
59ecf80b
GM
24292001-08-23 Gerd Moellmann <gerd@gnu.org>
2430
2431 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2432 coding.type is coding_type_no_conversion or coding_type_raw_text,
2433 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2434 non-nil instead of just setting enable_multibyte_characters in the
2435 buffer to nil.
2436
40e33037
GM
24372001-08-22 Gerd Moellmann <gerd@gnu.org>
2438
374388c3
GM
2439 * dispextern.h (struct face_cache): Add member
2440 menu_face_changed_p.
2441
2442 * xfaces.c (menu_face_changed_default): New variable.
2443 (menu_face_changed_count): Variable removed.
2444 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2445 the menu_face_changed_default flag, otherwise set the FRAME's
2446 menu_face_changed_p flag if the `menu' face has been changed.
2447 Prevent calling set_font_frame_param if FRAME is t.
2448 (make_face_cache): Initialize cache's menu_face_changed_p
2449 from menu_face_changed_default.
2450 (realize_basic_faces): Look into the frame's face cache to
2451 determine if the menu appearance needs updating.
2452
40e33037
GM
2453 * keymap.c (access_keymap): Fix last change to not consider
2454 IDX when it has modifiers.
2455
859ea4b8
GM
24562001-08-21 Gerd Moellmann <gerd@gnu.org>
2457
2458 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2459 . BINDING) exists, where GENERIC-CHAR is the generic character of
2460 the charset of IDX, return BINDING unless there exists a binding
2461 for IDX itself.
2462
e8660d73
GM
24632001-08-16 Gerd Moellmann <gerd@gnu.org>
2464
cca1b1d7
GM
2465 * xrdb.c (SYSV): Don't define on Solaris 2.
2466 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2467
e8660d73 2468 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 2469 of the screen line, not text line, containing IT's current position.
e8660d73 2470
93aba6fc
GM
24712001-08-15 Gerd Moellmann <gerd@gnu.org>
2472
288d4e06
GM
2473 * window.c (window_scroll_pixel_based): Don't recenter if
2474 PT is partially visible in the window.
2475
3452efc2
SM
2476 * xterm.c (expose_window_tree, expose_window, expose_line):
2477 Return 1 when overwriting mouse-face.
82f053ab
GM
2478 (expose_frame): If mouse-face was overwritten, redo it.
2479
93aba6fc
GM
2480 * xfaces.c (x_update_menu_appearance): Don't call
2481 set_frame_menubar, let the next redisplay do it.
2482
858a55c1
AI
24832001-08-14 Andrew Innes <andrewi@gnu.org>
2484
2485 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2486 drawing glyph string.
2487
3a990b67
EZ
24882001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2489
2490 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2491 running HI-UX/MPP.
2492
04386463
GM
24932001-08-14 Gerd Moellmann <gerd@gnu.org>
2494
2495 * xfaces.c (x_update_menu_appearance): Save and restore value of
2496 interrupt_input_blocked.
2497
3e6385a4
GM
24982001-08-13 Gerd Moellmann <gerd@gnu.org>
2499
b0e619b4
GM
2500 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2501 a line start, move back to the line start.
3452efc2 2502
0de73d5a
GM
2503 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2504 exactly when a mini-buffer is active.
2505
3e6385a4
GM
2506 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2507 in units of 1/8 character on non window-system frames.
2508 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2509
d1b5f629
EZ
25102001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2511
2512 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2513 a doc string.
2514
eaa2319f
GM
25152001-08-09 Gerd Moellmann <gerd@gnu.org>
2516
8e3189f0
GM
2517 * keyboard.c (Vpre_help_message): New variable.
2518 (syms_of_keyboard): Initialize and staticpro it.
2519 (show_help_echo): Record current message before displaying a
2520 help-echo, and restore that message when clearing the help.
2521
eaa2319f
GM
2522 * xfns.c (x_create_im): Remove prototype.
2523
2524 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2525
2526 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 2527
eaa2319f
GM
25282001-08-08 Gerd Moellmann <gerd@gnu.org>
2529
2530 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 2531 windows whose height has changed, disable partially visible lines.
eaa2319f 2532
17fdcfc8
GM
25332001-08-07 Gerd Moellmann <gerd@gnu.org>
2534
22d01aed 2535 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 2536 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 2537
17fdcfc8
GM
2538 * xdisp.c (start_display): Don't try to determine the continuation
2539 lines width if lines are truncated. It's superfluous and leads to
2540 incorrect results if POS is not visible in the window after
2541 reseating the iterator at the previous line start.
2542
8e3fe78e
GM
25432001-08-06 Gerd Moellmann <gerd@gnu.org>
2544
2545 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2546
98a8938c
GM
25472001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2548
2549 * alloc.c (init_stack): Remove declaration.
2550
18f9986a
GM
25512001-08-03 Gerd Moellmann <gerd@gnu.org>
2552
5e1f85e0
GM
2553 * keyboard.c (read_key_sequence): Check that key is an integer
2554 before comparing it with quit_char.
2555 (add_command_key): Use larger_vector.
2556 (read_char_x_menu_prompt): Instead of converting symbol and
2557 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 2558 which cannot be confused with valid events.
5e1f85e0
GM
2559 (read_char): When reading from Vunread_command_events, check for
2560 events of the form (EVENT . disabled) instead of
2561 (EVENT . nil).
2562
18f9986a
GM
2563 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2564 a float, determine the max height from the frame's height.
2565
fbc7f2a6
GM
25662001-08-02 Gerd Moellmann <gerd@gnu.org>
2567
2568 * xdisp.c (redisplay_internal): Take message_cleared_p into
2569 account only if minibuf_level == 0.
2570
81b1a79d
GM
25712001-08-01 Gerd Moellmann <gerd@gnu.org>
2572
e5c60873
GM
2573 * xdisp.c (redisplay_internal): Add a check for the last
2574 displayed message.
3452efc2 2575
6e019995
GM
2576 * xdisp.c (message_cleared_p): New variable.
2577 (clear_message): Set message_cleared_p when clearing the current
2578 message.
2579 (redisplay_internal): Look at message_cleared_p to capture
2580 the case that the echo area should be cleared.
2581
308a74d8
GM
2582 * keyboard.c (command_loop_1): Fix spelling of
2583 resize_echo_area_exactly.
2584
3452efc2 2585 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
2586
2587 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2588
81b1a79d
GM
2589 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2590 current matrix when the window gets smaller.
2591
ada329e6
EZ
25922001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2593
2594 * print.c (strout): Cast the character passed to insert_char to
2595 unsigned char, to avoid sign extension when it is promoted to int.
2596
ed86208c
GM
25972001-07-31 Gerd Moellmann <gerd@gnu.org>
2598
2599 * fileio.c (Finsert_file_contents): Don't treat a return value
2600 of 0 from emacs_read as an IO error.
2601
6594ac22
GM
26022001-07-30 Gerd Moellmann <gerd@gnu.org>
2603
cef68af5
GM
2604 * keyboard.c (abs): New macro.
2605 (double_click_fuzz): New variable.
2606 (make_lispy_event): Use it to determine what makes a double-click.
2607 (syms_of_keyboard): DEFVAR_INT it.
2608
6594ac22
GM
2609 * xmenu.c (set_frame_menubar): Take into account that
2610 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2611 <raeburn@gnu.org>.
2612
75c5350a
GM
26132001-07-27 Gerd Moellmann <gerd@gnu.org>
2614
2615 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2616
2617 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2618 of row's visible height.
2619
2620 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
2621 deal with the first overlay string having an image `display' property.
2622 (try_window_reusing_current_matrix, compute_line_metrics):
2623 Fix computation of row's visible height for the case that part of the
75c5350a
GM
2624 row is invisible above and part of the row is at the same time
2625 invisible below the window.
2626
ac49effe
GM
26272001-07-26 Gerd Moellmann <gerd@gnu.org>
2628
2629 * xfns.c (x-show-tip): Doc fix.
3452efc2 2630
ac49effe
GM
2631 * xfns.c (Vx_max_tooltip_size): New variable.
2632 (syms_of_xfns): DEFVAR_LISP it.
2633 (Fx_show_tip): Set frame's window_width to the width of the
2634 window. Use a maximum tooltip size specified by
2635 Vx_max_tooltip_size, if that has valid contents.
2636 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 2637
8c3b00cb
AI
26382001-07-26 Andrew Innes <andrewi@gnu.org>
2639
2640 * w32term.c (x_display_list): New variable.
2641 (w32_term_init): Set it.
2642
2643 * w32term.h (x_display_list): New extern.
2644
16098288
GM
26452001-07-26 Gerd Moellmann <gerd@gnu.org>
2646
2647 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
2648 is non-nil, instead of when redisplaying_p is non-zero.
2649 See comment there.
16098288
GM
2650 (mark_window_display_accurate_1): Add an assertion.
2651
64c5be50
GM
26522001-07-25 Gerd Moellmann <gerd@gnu.org>
2653
e743f599
GM
2654 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2655
563b384d
GM
2656 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2657 events so that we get a chance of processing expose events.
2658
64c5be50
GM
2659 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2660
296808a5
GM
26612001-07-24 Gerd Moellmann <gerd@gnu.org>
2662
2663 * xfns.c (valid_image_p): Protect better against invalid image
2664 specifications. Previous code could signal an error.
2665
5247262a
GM
26662001-07-23 Gerd Moellmann <gerd@gnu.org>
2667
3452efc2 2668 * indent.c (current_column): Fix column computation in the
f1004faf
GM
2669 presence of display table entries.
2670 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2671
dd42b31a
GM
2672 * dispnew.c (adjust_glyph_matrix): In the optimization for
2673 windows whose height has changed, use the new window height
2674 to compute which rows to invalidate.
2675
9e5a7f2a
GM
2676 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2677 (MAX_10_EXP): New macro.
2678 (Fformat): Use it.
2679
5247262a
GM
2680 * coding.c (code_convert_region): Handle the multibyte case if
2681 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2682
177ab8ce
GM
26832001-07-20 Gerd Moellmann <gerd@gnu.org>
2684
6e07c0a5
GM
2685 * dispextern.h (struct face): Change type of `stipple' to
2686 int; it's an ID.
2687
177ab8ce
GM
2688 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2689
b5b80599
GM
26902001-07-19 Gerd Moellmann <gerd@gnu.org>
2691
4e2a256b
GM
2692 * dispnew.c (update_window): Don't set the cursor at the end
2693 of the update if display update has been paused.
2694
3452efc2 2695 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 2696
c1fd9232
KR
26972001-07-18 Ken Raeburn <raeburn@gnu.org>
2698
2699 * fns.c (Fset_char_table_default): Check that a charset is defined
2700 before checking its dimension.
2701
928a85c1
KR
27022001-07-17 Ken Raeburn <raeburn@gnu.org>
2703
2704 * coding.c (setup_coding_system): Don't do any designation based
2705 on reg_bits if charset is not yet defined.
2706
fb4c6c96 2707 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
2708 pointer, using eassert.
2709
de11c1ea
GM
27102001-07-17 Gerd Moellmann <gerd@gnu.org>
2711
3452efc2
SM
2712 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2713 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 2714
467f1209
GM
27152001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2716
2717 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2718
c3d6be34
GM
27192001-07-16 Gerd Moellmann <gerd@gnu.org>
2720
c1d61a7d
GM
2721 * fileio.c (unwind_read): Function removed.
2722 (read_non_regular, read_non_regular_quit): New functions.
2723 (Finsert_file_contents): When reading from non-regular files,
2724 arrange to catch a `quit' and terminate the loop. Rearrange
2725 code so that a `quit' when reading from a regular file doesn't
2726 insert text in the buffer.
2727
c3d6be34
GM
2728 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2729 Clear faces afterwards.
2730 (clear_font_table): Take a x_display_info parameter. Don't free
2731 fonts being the default font of any frame on the given display.
2732
e06aa1f9
GM
27332001-07-13 Gerd Moellmann <gerd@gnu.org>
2734
2735 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2736 instead of CHAR_STRING which can signal an error.
2737
2738 * charset.c (char_to_string_1): Extracted from char_to_string.
2739 Return -1 instead of signaling an error.
2740 (char_to_string): Use it.
2741
2742 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2743
176c92e6
SM
27442001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2745
2746 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2747 is t, don't try to append anything to it.
2748
1c56232f
EZ
27492001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2750
2751 * dired.c (file_name_completion): Pass dp->d_name to
2752 Fstring_match, not elt, which is always nil here.
2753
1d2b2268
GM
27542001-07-12 Gerd Moellmann <gerd@gnu.org>
2755
2756 * xselect.c (x_decline_selection_request): Handle errors
2757 caused by receivers that have vanished.
2758
2759 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2760 ignoring events on foreign windows in #if 0. Always dispatch
2761 the event after checking it with x_handle_property_notify.
2762
2763 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
2764 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2765 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
2766 (toplevel): Add prototypes for file-local functions.
2767 (x_atom_to_symbol): Remove DPYINFO parameter.
2768
fe5a0162
SM
27692001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2770
2771 * w32menu.c (menubar_selection_callback, w32_menu_show):
2772 Initialize `entry' to nil.
2773 (w32_dialog_show): Remove unused `save_wv' variable.
2774 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2775
a777242c
GM
27762001-07-11 Gerd Moellmann <gerd@gnu.org>
2777
8ee5b6a3
GM
2778 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2779
d0e2444e
GM
2780 * fileio.c (unwind_read): Print a message when discarding inserted
2781 text or switching the buffer to unibyte. Change parameter.
2782 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 2783
a777242c
GM
2784 * fileio.c (unwind_read): New function.
2785 (Finsert_file_contents): Record it as unwind-function for
2786 the case that reading is interrupted by C-g.
2787
ae794295
GM
27882001-07-10 Gerd Moellmann <gerd@gnu.org>
2789
fe5a0162 2790 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
2791 update when scrolling_window returns 0.
2792
6b05fae3
GM
2793 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2794
2795 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 2796 for the case that x_decode_color signals an error.
6b05fae3 2797
ae794295
GM
2798 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2799
bb6e8cee
GM
28002001-07-09 Gerd Moellmann <gerd@gnu.org>
2801
2802 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2803 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2804 around ioctls.
2805
36b40a8a
EZ
28062001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2807
24b97d4b
EZ
2808 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2809 doc string line for dos-timezone-offset.
2810
36b40a8a
EZ
2811 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2812 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
2813 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2814 line for dos-unsupported-char-glyph.
36b40a8a
EZ
2815
2816 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2817
0967b4b0
GM
28182001-07-05 Gerd Moellmann <gerd@gnu.org>
2819
f25cfe53
GM
2820 * sound.c: Include Emacs' header files with #include "...".
2821
0967b4b0
GM
2822 * eval.c (specbind): Additionally record the buffer that was
2823 current when a buffer-local or frame-local variable was bound.
2824
c347a1c3
GM
28252001-07-04 Gerd Moellmann <gerd@gnu.org>
2826
2827 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2828 to unibyte characters in unibyte buffers.
2829
6332ca8a
GM
28302001-07-03 Gerd Moellmann <gerd@gnu.org>
2831
38472d44
GM
2832 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2833 the frame on the binding stack. Change format of entries for
2834 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2835 (unbind_to): Handle unbinding a frame-local variable.
2836
6332ca8a 2837 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 2838 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
2839 (dump_glyph_row): Print row's continuation_lines_width.
2840 (try_window_id): Take the shortcut if ZV is visible in the
2841 window, but there are actually no changes at ZV.
2842
63d1b174
GM
28432001-07-02 Gerd Moellmann <gerd@gnu.org>
2844
4c175203
GM
2845 * xterm.h (x_free_dpy_colors): Add prototype.
2846
2847 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2848 right number of arguments.
2849
0b54ce28
GM
2850 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2851 ($(lwlibdir)TAGS): New target.
4c175203 2852 (TAGS): Fix dependency list.
0b54ce28 2853
63d1b174
GM
2854 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2855 with input blocked.
2856
d827466c
GM
28572001-06-30 Gerd Moellmann <gerd@gnu.org>
2858
2859 * emacs.c (main): Remove extern declaration for sys_nerr, which
2860 isn't used and causes a compilation error with GCC 3.0 on
2861 FreeBSD 4.3.
2862
b5cb1ada
GM
28632001-06-27 Gerd Moellmann <gerd@gnu.org>
2864
a5d3ec3f 2865 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 2866 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
2867 (toplevel): Include <signal.h> and syssignal.h.
2868
b5cb1ada
GM
2869 * sound.c (vox_configure, vox_close): Turn off atimers
2870 around ioctls.
2871
d9bad487
GM
28722001-06-26 Gerd Moellmann <gerd@gnu.org>
2873
fdbb67fe
GM
2874 * keyboard.c (read_char) <non_reread>: Record the previous idle
2875 start time before calling timer_stop_idle.
2876 (read_char) <reread_first>: After processing a help-echo event,
2877 restore the previous idle start time.
2878
d9bad487
GM
2879 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2880 the start of invisible text.
2881 (setup_for_ellipsis): New function.
2882 (next_overlay_string): After all overlay strings have been
2883 processed, display an ellipsis if necessary.
2884 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2885 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2886
2887 * dispextern.h (struct iterator_stack_entry): Add member
2888 display_ellipsis_p.
2889
2b9c25e0
GM
28902001-06-25 Gerd Moellmann <gerd@gnu.org>
2891
80de57df
GM
2892 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2893 on the value of the wait-for-wm frame parameter.
2894
2895 * xterm.h (struct x_output): Add member wait_for_wm.
2896
2897 * xfns.c (Qwait_for_wm): New variable.
2898 (x_frame_parms): Add entry for `wait-for-wm".
2899 (x_set_wait_for_wm): New function.
2900 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2901 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2902
2b9c25e0
GM
2903 * xdisp.c (try_window_id) <all changes below window end>: Don't
2904 take this shortcut if ZV is visible in the window.
2905 (try_window_id): When checking for window start being in changed
2906 text, don't check that the buffer's size has changed.
2907
f772775c
RS
29082001-06-23 Richard M. Stallman <rms@gnu.org>
2909
2910 * minibuf.c (Fcompleting_read): Doc fix.
2911
fa9090b8
GM
29122001-06-19 Gerd Moellmann <gerd@gnu.org>
2913
2914 * composite.c (Ffind_composition_internal): Accept ZV
2915 and a string's end position as POS.
2916
f6f1beba
GM
29172001-06-18 Gerd Moellmann <gerd@gnu.org>
2918
2919 * composite.c (Ffind_composition_internal): Check POS
2920 for validity.
2921
0ae83348
EZ
29222001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2923
2924 * editfns.c (Fmessage_box): If the frame is not under a window
2925 system, output the message in the echo area.
2926
e4cdc335
RS
29272001-06-14 Richard M. Stallman <rms@gnu.org>
2928
2929 * xdisp.c (try_window_id): When EOB is visible, don't treat
2930 insertion at EOB as if it were "off the bottom of the screen."
2931
a55a5f3c
AI
29322001-06-11 Andrew Innes <andrewi@gnu.org>
2933
2934 * w32proc.c (create_child): Add new parameter is_gui_app.
2935 (w32_executable_type): Add new parameter is_gui_app.
2936 (sys_spawnve): Use it.
2937 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2938 SIGQUIT. This matches better how the signals are interpreted by
2939 MSVC compiled programs.
2940 (syms_of_ntproc): Update docstring.
2941
1b85dc1c
SM
29422001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2943
2944 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2945 well otherwise note_mouse_highlight might optimize away highlighting
2946 if we pass over that same overlay again.
2947
b75f8eab
EZ
29482001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2949
2950 * lread.c (Fload): Document that the argument is run via
2951 substitute-in-file-name.
2952
94843cc1
GM
29532001-05-31 Gerd Moellmann <gerd@gnu.org>
2954
b14659e6
GM
2955 * Makefile.in (bootstrap-doc): New target.
2956 (bootstrap-emacs): Depend on it.
2957
0894672f
GM
2958 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2959 auto-save-list-file-name when shutting down Emacs, because
2960 creating the directory might signal an error, and leaves
2961 Emacs in a strange state.
2962
94843cc1
GM
2963 * term.c: (tty_cursor_hidden): New variable.
2964 (update_begin): Don't call tty_hide_cursor. Clean up.
2965 (update_end, set_terminal_window, set_scroll_region): Clean up.
2966 (ring_bell, reset_terminal_modes): Clean up.
2967 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2968 on tty_cursor_hidden.
2969 (write_glyphs): Call tty_hide_cursor.
2970
db3a49a6
SM
29712001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2972
2973 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2974
8bd189fb
GM
29752001-05-30 Gerd Moellmann <gerd@gnu.org>
2976
6f1be3b9
GM
2977 * xfns.c (enum image_value_type): New enumerator
2978 IMAGE_STRING_OR_NIL_VALUE.
2979 (parse_image_spec): Handle it.
2980 (xbm_format, pbm_format): Use it for :foreground and :background.
2981 (xbm_load, pbm_load): Check for nil color names.
2982
8bd189fb
GM
2983 * xterm.c (note_mouse_highlight): If an overlapping overlay
2984 exists, but we find that we highlight the same overlay as before,
2985 don't do the highlighting again.
2986
7bdba03c
GM
29872001-05-29 Gerd Moellmann <gerd@gnu.org>
2988
4c329aa8
GM
2989 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
2990 Protect unibyte strings created by replacing their multibyte
2991 equivalents in menu_items.
2992
e15e2828
GM
2993 * keymap.c (Fsingle_key_description): NUL-terminate the string
2994 buffer before calling build_string.
2995
7bdba03c
GM
2996 * callproc.c (Fcall_process): Deal with decode_coding returning
2997 CODING_FINISH_INCONSISTENT_EOL.
2998
89c8dc6c
GM
29992001-05-28 Gerd Moellmann <gerd@gnu.org>
3000
db3a49a6 3001 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
3002 an item's name with its key description in case the description
3003 is a multibyte string.
3004
3005 * keymap.c (Fsingle_key_description): Create a multibyte string
3006 only if necessary.
3007
eb04d6cd
GM
3008 * macros.c (Fstart_kbd_macro): Doc fix.
3009
8bd6307f
GM
3010 * xterm.c (cursor_in_mouse_face_p): New function.
3011 (x_draw_stretch_glyph_string): Use it to choose a different GC
3012 when drawing a cursor within highlighted text.
3013
e26c4089
GM
3014 * editfns.c (char_property_eq): Put in #if 0.
3015
3016 * indent.c (string_display_width): Put in #if 0.
3017
3018 * lread.c (Fload): Remove unused label.
3019
89c8dc6c
GM
3020 * termcap.c (speeds): Put in #if 0.
3021
9a1211f2
GM
30222001-05-18 Gerd Moellmann <gerd@gnu.org>
3023
29148a3f
GM
3024 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3025
9a1211f2
GM
3026 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3027 transformation matrix by 10.
3028
09393d07
GM
30292001-05-16 Gerd Moellmann <gerd@gnu.org>
3030
3031 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3032 only if it's equal to the former foreground pixel color.
db3a49a6 3033 (x_set_foreground_color, x_set_background_color)
09393d07
GM
3034 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3035
460e6bae
GM
30362001-05-16 Dave Love <fx@gnu.org>
3037
3038 * insdel.c (signal_before_change, signal_after_change): Consider a
3039 local change hook which changes the buffer.
99c78ce8
GM
3040
3041 * process.c (read_process_output): Don't call signal_after_change
3042 and update_compositions after insert_from_string_before_markers.
3043
dbcf3c03
GM
30442001-05-16 Gerd Moellmann <gerd@gnu.org>
3045
a90b3d3c
GM
3046 * xfaces.c (split_font_name): Use the right field when
3047 checking for `[...]' syntax.
3048
1b7818b4
GM
3049 * buffer.c (copy_overlays): New function.
3050 (clone_per_buffer_values): Use it.
3051
3052 * buffer.h (OVERLAY_PLIST): New macro.
3053
9bae8781
GM
3054 * keymap.c (Fsingle_key_description): Replace a build_string with
3055 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3056
dbcf3c03
GM
3057 * fontset.c (Ffontset_info): Check that face is non-null
3058 before accessing its fields.
3059
8a1ae4dd
GM
30602001-05-15 Gerd Moellmann <gerd@gnu.org>
3061
18a0a39e
GM
3062 * keyboard.c (read_key_sequence): Prevent generating a fake
3063 prefix key twice.
3064
e335b66a
GM
3065 * xfaces.c (split_font_name): Handle `[...]' for the right
3066 font name fields.
3067
8a1ae4dd
GM
3068 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3069 of CCL_STAT_INVALID_CMD.
3070
3cf80731
SM
30712001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3072
33568849
SM
3073 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3074 in <var> has no default value yet.
3075
3cf80731
SM
3076 * xfaces.c (try_alternative_families): First try the FAMILY.
3077 And if nothing is found in the end, try again with scalable fonts.
3078 (try_font_list): Let try_alternative_families do a bit more of
3079 the work. Only use FAMILY if it is not nil.
3080 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3081
933b0249
GM
30822001-05-14 Gerd Moellmann <gerd@gnu.org>
3083
58e5af83
GM
3084 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3085 pointer shape when show_mouse_face has already done it.
33568849 3086
58e5af83 3087 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
3088 full-width rows.
3089
7b16a6bf
GM
3090 * xfaces.c (split_font_name): Make sure to leave the loop
3091 with the right value of `i'.
3cf80731 3092
933b0249
GM
3093 * xfaces.c (split_font_name): Handle matrix transformations
3094 in the pixel and point size fields of XLFD font names.
3095 (xlfd_point_size): Likewise.
3096
dddcbf00
EZ
30972001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3098
3cf80731 3099 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
3100 (x_to_w32_font): Add prototype.
3101
7689ef0b
EZ
3102 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3103 redefining, to avoid compiler warnings.
3104
e7c15bba
EZ
3105 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3106
dddcbf00
EZ
3107 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3108 (w32_get_bdf_glyph): Cast between unsigned char and char when
3109 passing arguments to subroutines, to shut up compiler warnings.
3110 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3111 GET_HEX_VAL.
3112
3113 * xfaces.c: Include keyboard.h before frame.h, not after it.
3114
3115 * widget.c: Include keyboard.h before frame.h.
3116
3117 * w32term.h (struct image, struct face): Forward declaration, to
3118 avoid compiler warnings.
3119
7bd2d083
GM
31202001-05-11 Gerd Moellmann <gerd@gnu.org>
3121
47e72862
GM
3122 * keyboard.c (read_key_sequence): Don't modify events when
3123 generating fake prefix keys (mode-line, scroll-bar, ...) since
3124 this prevents proper processing of such events when pushed back
3125 into unread-command-events.
3126
dd5f324b
GM
3127 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3128 actually redrawn. Make the function static.
3129 (note_mouse_highlight): Fix a case where the mouse cursor
3130 was changed back to the text cursor.
3131
3132 * xterm.h (clear_mouse_face): Remove prototype.
3133
d88a79d4
GM
3134 * xdisp.c (try_window_id): Fix the fix and set the right
3135 window_end_vpos.
3136
3137 * xdisp.c (try_window_id): Fix computation of window end in the
3138 case that lines were deleted at the end of the window. Add some
3139 more debug_method_adds.
0416532f 3140
7bd2d083
GM
3141 * xfaces.c (try_alternative_families): New function.
3142 (try_font_list): Use it. If ATTRS specifies a family, check
3143 fonts from that family first.
3144 (choose_face_font): Remove code setting the family part of
3145 the pattern to nil.
3146
23fca891
GM
31472001-05-10 Gerd Moellmann <gerd@gnu.org>
3148
ff9aa2ca
GM
3149 * xdisp.c (try_window_id): Fix case of all changes before
3150 the window start.
7b2654b5 3151
23fca891
GM
3152 * xdisp.c (try_window_id): Add some xasserts.
3153
e9726794
GM
31542001-05-09 Gerd Moellmann <gerd@gnu.org>
3155
3156 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3157
9e53a675
GM
31582001-05-09 Dave Love <fx@gnu.org>
3159
3160 * xdisp.c (GIVE_UP): Fix for K&R C.
3161
0d487c52
GM
31622001-05-09 Gerd Moellmann <gerd@gnu.org>
3163
fe88d421
GM
3164 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3165
0d487c52
GM
3166 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3167 back to the text cursor shape without need.
3168
1e9fc92e
GM
31692001-05-07 Gerd Moellmann <gerd@gnu.org>
3170
a2a6232e
GM
3171 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3172
3173 * dispextern.h (inverse_video): Declare extern.
3174
1e9fc92e
GM
3175 * keyboard.c (delete_kboard): Handle the case that selected_frame
3176 has been deleted in the course of x_connection_closed.
3177
12949a7f
EZ
31782001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3179
7b2654b5
SM
3180 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3181 Fix the change from 2001-04-30.
12949a7f 3182
2fa2f461
GM
31832001-05-03 Gerd Moellmann <gerd@gnu.org>
3184
a779d213
GM
3185 * xfns.c (file_dialog_unmap_cb): New function.
3186 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3187 where a dialog is closed via the window manager.
3188
7b2654b5 3189 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
3190 the window start or all below the window end mostly rewritten.
3191 (redisplay_window): Move the tests if try_window_id is
3192 applicable to try_window_id.
3193 (GIVE_UP): New macro.
3194
3356df63
GM
31952001-05-02 Gerd Moellmann <gerd@gnu.org>
3196
a39202f6 3197 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
3198 currently being updated, mark the frame garbaged.
3199 Fix computation of rows intersecting the exposed rectangle.
a39202f6 3200 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 3201
3356df63
GM
3202 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3203 again if it has already been drawn.
3204
a9d2fd1d
SM
32052001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3206
3207 * syntax.c (update_syntax_table): Check that oldi has the same
3208 properties as old_prop before deciding not to invalidate.
3209
c95fc5f1
GM
32102001-04-30 Gerd Moellmann <gerd@gnu.org>
3211
a9793e45
GM
3212 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3213 read-only text that is so because of text properties.
3214
c95fc5f1 3215 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 3216 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
3217 windows that are components of a Lucid menu bar.
3218
5a5d9185
GM
32192001-04-27 Gerd Moellmann <gerd@gnu.org>
3220
3221 * term.c (turn_on_face): Fix reverse video handling on terminals
3222 that don't support colors.
3223
ba973f7a
GM
32242001-04-26 Gerd Moellmann <gerd@gnu.org>
3225
3226 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3227 a non-buffer.
3228
8c56a983
GM
32292001-04-25 Gerd Moellmann <gerd@gnu.org>
3230
a728644c
GM
3231 * term.c (toggle_highlight): New function.
3232 (turn_on_face): Change handling of reverse video.
3233
7b2654b5
SM
3234 * process.c (wait_reading_process_input):
3235 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 3236
bfd8410f
GM
3237 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3238 of the number of overlays to check.
3239
be2488ca
GM
3240 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3241
8c56a983
GM
3242 * xdisp.c (try_window_id): Fix a case where window_end_pos
3243 and window_end_bytepos were not adjusted.
3244
522d42f7
GM
32452001-04-23 Gerd Moellmann <gerd@gnu.org>
3246
3247 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3248 zero instead of -1.
3249
78c1afb6
EZ
32502001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3251
a9d2fd1d
SM
3252 * process.c (wait_reading_process_input) [!subprocesses]:
3253 Don't reference waiting_for_user_input_p, it's not defined in the
3254 branch without async subprocesses support.
78c1afb6 3255
a2fab450
GM
32562001-04-19 Gerd Moellmann <gerd@gnu.org>
3257
a122a38e
GM
3258 * keyboard.c (delete_kboard): Prevent a dangling reference
3259 from current_kboard to KB, which is freed.
3260
a9d2fd1d
SM
3261 * process.c (wait_reading_process_input):
3262 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
3263 read_key_sequence aware of buffer changes from under it.
3264
0f8d6dc7
GM
32652001-04-18 Gerd Moellmann <gerd@gnu.org>
3266
eeffb293
GM
3267 * xfaces.c (Qscalable_fonts_allowed): New variable.
3268 (realizing_basic_faces_p): Removed.
2fa2f461
GM
3269 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3270 removed.
eeffb293 3271 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
3272 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3273 for scalable-fonts-allowed to t.
eeffb293 3274
0f8d6dc7
GM
3275 * fileio.c (Finsert_file_contents): If the file size returned from
3276 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 3277 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 3278
eec2d1de
EZ
32792001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3280
3281 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3282 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3283 (__memalign_hook): Make the two prototypes consistent.
3284
f4f480bd
GM
32852001-04-17 Gerd Moellmann <gerd@gnu.org>
3286
3287 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3288 matrix of mini-windows.
3289
52283633
SM
32902001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3291
3292 * intervals.c (find_interval): Don't rebalance during signal handling.
3293
ec2423c9
GM
32942001-04-11 Gerd Moellmann <gerd@gnu.org>
3295
30cb0001 3296 * fns.c: Include blockinput.h.
52283633 3297
ec2423c9
GM
3298 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3299
719d83ad
GM
33002001-04-10 Gerd Moellmann <gerd@gnu.org>
3301
60f8d735
GM
3302 * fns.c (Fcompare_strings): Fix return values.
3303
afffeb57
GM
3304 * window.c (window_scroll): Change the meaning of N to mean
3305 N screen-fulls or N lines.
3306 (window_scroll_pixel_based, window_scroll_line_based)
3307 (scroll_command, Fscroll_other_window): Change accordingly.
3308
52283633
SM
3309 * window.c (window_scroll_pixel_based, Frecenter):
3310 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
3311 height of the window.
3312
3313 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3314 instead of using it.last_visible_y for the height of the window.
52283633 3315
719d83ad 3316 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 3317 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
3318
3319 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
3320 able to write to hidden and system files. From Dan Holmsand
3321 <dan@eyebee.com>.
719d83ad 3322
8ddf3ee1
GM
3323 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3324 Holmsand <dan@eyebee.com>.
719d83ad 3325
522ed7fb
GM
33262001-04-09 Gerd Moellmann <gerd@gnu.org>
3327
9170e5d4
GM
3328 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3329
522ed7fb
GM
3330 * window.c (window_internal_height): Return 1 less if the
3331 window has a header line.
3332
3333 * xdisp.c (try_window_id): When scrolling on a terminal, take
3334 the change of window_internal_height into account.
3335
ceeb3d7d
EZ
33362001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3337
3338 * gmalloc.c (align): If the argument SIZE would overflow
3339 __malloc_ptrdiff_t, fail right away.
3340
63685b9d
GM
33412001-04-06 Gerd Moellmann <gerd@gnu.org>
3342
3343 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3344 Make sure the tooltip is completely visible.
3345 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3346
3347 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3348
3349 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3350
3ffb33bb
DL
33512001-04-06 Dave Love <fx@gnu.org>
3352
52283633
SM
3353 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3354 Fix test of `from'.
3ffb33bb 3355
869fb12c
GM
33562001-04-06 Gerd Moellmann <gerd@gnu.org>
3357
52283633 3358 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 3359
869fb12c
GM
3360 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3361
441bf856
GM
33622001-04-05 Gerd Moellmann <gerd@gnu.org>
3363
4d664b04
GM
3364 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3365
52283633 3366 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 3367
30ca89f5
GM
3368 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3369 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3370
3371 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3372 shell widget's position only if it is non-null.
3373
52283633
SM
3374 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3375 Set f->output_data.x->widget to null after destroying it.
30ca89f5 3376
81a81c0f
GM
3377 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3378 FILENAME to bring it in synch with the documentation.
3379
441bf856
GM
3380 * xfaces.c (realizing_basic_faces_p): Renamed from
3381 realize_default_face_p.
3382 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3383 (realize_default_face): Don't set the flag.
3384
702a1e8e
GM
33852001-04-04 Gerd Moellmann <gerd@gnu.org>
3386
1013f4e3
GM
3387 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3388
52283633
SM
3389 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3390
1013f4e3
GM
3391 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3392 the buffer that was used for echoing.
3393
702a1e8e
GM
3394 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3395 (first_font_matching): Removed unused function.
3396 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3397 (may_use_scalable_font_p): Remove parameter FONT; rename
3398 parameter NAME to FONT.
3399 (x_face_list_fonts): Fix missing bounds check.
3400 (realizing_default_face_p): New variable.
3401 (realize_default_face): Set and clear that flag.
3402 (x_face_list_fonts): When called during the realization of the
3403 default face, and no matching fonts are found when ignoring
3404 scalable fonts and fonts matching a regexp from
3405 face-ignored-fonts, try without ignoring fonts.
3406
f9dbcda4
GM
34072001-04-03 Gerd Moellmann <gerd@gnu.org>
3408
ad18ffb1
GM
3409 * xfns.c (postprocess_image): New function.
3410 (lookup_image): Call it for all image types except PostScript.
3411 (x_kill_gs_process): Call postprocess_image.
3412
f9dbcda4
GM
3413 * xterm.c (x_use_underline_position_properties): New variable.
3414 (x_draw_glyph_string): Use it.
3415 (syms_of_xterm): DEFVAR_BOOL it.
3416
651f03b6
GM
34172001-04-02 Gerd Moellmann <gerd@gnu.org>
3418
3419 * xterm.c (x_alloc_nearest_color_1): New function.
3420 (x_alloc_nearest_color): Use it.
3421 (x_color_cells): Take a Display as argument, instead of a frame.
3422 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3423 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3424 (x_initialize): Register cvt_string_to_pixel as resource converter
3425 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3426
73d75a62
GM
34272001-03-30 Gerd Moellmann <gerd@gnu.org>
3428
b2046df8
GM
3429 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3430 (set_iterator_to_next): If a string from a display property ends,
3431 consider the case that this might also be the end of an
3432 overlay string having the display property.
3433
52283633 3434 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 3435
87d8eba4
GM
3436 * xdisp.c (reseat_to_string): Undo last change.
3437
73d75a62
GM
3438 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3439 matrix of a window when the header line changes, when
3440 new rows are allocated, or when the width changes.
3441
911a2406
EZ
34422001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3443
52283633 3444 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 3445
aea51abe
EZ
34462001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3447
3448 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3449 deprecated.
3450
176bc847
GM
34512001-03-29 Gerd Moellmann <gerd@gnu.org>
3452
ed31fabf
GM
3453 * data.c (Fsubr_interactive_form): New function.
3454 (syms_of_data): Defsubr it.
3455
176bc847
GM
3456 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3457 (live_float_p, live_misc_p): Return 1 only if the offset of the
3458 pointer in its block is >= 0.
3459
e59d0e9d
GM
34602001-03-28 Paul Eggert <eggert@twinsun.com>
3461
3462 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3463 microseconds calcuation. Avoid double-rounding problem.
3464 In doc string, warn that the result is approximate.
3465
f827b862
GM
34662001-03-28 Gerd Moellmann <gerd@gnu.org>
3467
30a3f61c
GM
3468 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3469 bind `inhibit-eval-during-redisplay' to t.
3470
3471 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3472
3473 * xdisp.c (inhibit_eval_during_redisplay)
3474 (Qinhibit_eval_during_redisplay): New variables.
3475 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3476 don't eval, return nil instead.
3477 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3478 Initialize Qinhibit_eval_during_redisplay.
3479
e719f5ae
GM
3480 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3481 the iterator's multibyte_p flag.
3482
deb2613a
GM
3483 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3484 instead of setting it to zero; it's incremented for each frame
3485 where the menu face is changed.
3486
52283633
SM
3487 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3488 change bottom shadow accordingly.
3489
3490 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
3491 intersections here.
3492 (expose_window): Do it here instead.
52283633 3493 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 3494
f827b862
GM
3495 * bytecode.c (BYTE_CODE_QUIT): New macro.
3496 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3497
4bde0ebb
GM
34982001-03-27 Gerd Moellmann <gerd@gnu.org>
3499
607ec83c
GM
3500 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3501 Give up if matrix starts in an ellipsis.
3502 (init_from_display_pos): Do nothing if POS doesn't specify
3503 a dpvec_index but the iterator has such a position.
3504
0245398f
GM
3505 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3506
aba25348
GM
3507 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3508 x/y position is (0, 0) after destroying the menu bar, restore
3509 its original position.
3510
4bde0ebb
GM
3511 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3512 (init_from_display_pos): Use it.
3513 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3514
8cdb267e
GM
35152001-03-26 Gerd Moellmann <gerd@gnu.org>
3516
3517 * xdisp.c (try_window_id): Undo last change.
3518
9948db79
EZ
35192001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3520
3521 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3522
3523 * buffer.c (syms_of_buffer): Doc fix.
3524
2eddf899
GM
35252001-03-26 Gerd Moellmann <gerd@gnu.org>
3526
3527 * xfaces.c (x_update_menu_appearance): Use local variable
3528 popup_path for setting font resources.
3529
6c145d35
EZ
35302001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3531
6a65b1b5
EZ
3532 * frame.c (Fframe_list): Don't reference tip_frame if
3533 HAVE_WINDOW_SYSTEM is not defined.
3534
6c145d35
EZ
3535 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3536 <wl@gnu.org>.
3537
d74c1900
GM
35382001-03-25 Gerd Moellmann <gerd@gnu.org>
3539
20fbd925
GM
3540 * xdisp.c (init_from_display_pos): Test invisible property
3541 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 3542
927c5b3b
GM
3543 * xdisp.c (redisplay_internal) <update one window>: Make sure
3544 last_arrow_position and last_arrow_string are set.
3545
d74c1900
GM
3546 * frame.c (Fframe_list): Don't return a tooltip frame.
3547
091f8878
GM
35482001-03-23 Gerd Moellmann <gerd@gnu.org>
3549
52283633
SM
3550 * xdisp.c (mark_window_display_accurate_1): New function,
3551 extracted from mark_window_display_accurate.
3552 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
3553 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3554 (mark_window_display_accurate): Use it.
3555 (redisplay_internal): Use it for the selected window.
3556 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3557 for the selected frame.
3558
ac90c44f
GM
3559 * xdisp.c Use make_number, for readability.
3560 (try_window_id): Disable rows below the window end.
3561 (try_window_reusing_current_matrix): Use cursor_row_p.
3562 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3563 of rows.
3564 (init_from_display_pos): If POS specifies a position in a display
3565 vector, maybe get the iterator set up for that ellipsis.
43c09969 3566
091f8878
GM
3567 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3568
991786dd
EZ
35692001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3570
3571 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3572
6c29b43c
GM
35732001-03-23 Gerd Moellmann <gerd@gnu.org>
3574
3575 * xfaces.c (x_update_menu_appearance): Use a different path
3576 for Lucid popup menus.
3577
d8731202
SM
35782001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3579
3580 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3581
3582 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3583 (string_buffer_position): Use `make_number'.
3584
f61a541b
GM
35852001-03-22 Gerd Moellmann <gerd@gnu.org>
3586
3c9e997b
GM
3587 * xfaces.c (x_update_menu_appearance): Renamed from
3588 x_set_menu_face_resources. Use different resources for popups.
3589
3590 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3591 (GC_CHECK_STRING_BYTES): Don't define.
3592
364cd450
GM
3593 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3594 Removed, together with subroutines.
3595 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 3596 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 3597
d8731202
SM
3598 * dispextern.h (x_set_menu_resources_from_menu_face):
3599 Remove prototype.
364cd450 3600
d8731202 3601 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
3602 Remove calls to x_set_menu_resources_from_menu_face.
3603
d8731202
SM
3604 * xfaces.c (xm_set_menu_resources_from_menu_face):
3605 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
3606
3607 * xmenu.c: Include widget.h.
3608 (single_submenu): Return int. Some cleanup.
3609 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3610
140330de
GM
36112001-03-21 Gerd Moellmann <gerd@gnu.org>
3612
3613 * xterm.c (x_update_window_end): Handle overwritten mouse face
3614 also for tool bar windows.
3615 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3616 DRAW is DRAW_IMAGE_RAISED.
3617
1741905c
GM
36182001-03-20 Gerd Moellmann <gerd@gnu.org>
3619
fa88947e
GM
3620 * print.c (syms_of_print): Doc fixes.
3621
1741905c
GM
3622 * fns.c (Fmd5): Doc fix.
3623
ade0bee1
GM
36242001-03-19 Gerd Moellmann <gerd@gnu.org>
3625
357e7376
GM
3626 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3627 Clear area of the frame not occupied by the scroll bar.
3628
c2c097cc
GM
3629 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3630 tip frame's root window buffer to *tip* right after creating
3631 the frame.
3632
ade0bee1
GM
3633 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3634 is an integer don't have to be for space characters.
3635
88c6e37e
GM
36362001-03-16 Gerd Moellmann <gerd@gnu.org>
3637
52283633
SM
3638 * indent.c (current_column, current_column_1, Fmove_to_column)
3639 (compute_motion): Handle characters from display vectors differently.
88c6e37e 3640
c62eed76
KH
36412001-03-15 Kenichi Handa <handa@etl.go.jp>
3642
3643 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3644 drawing glyph string.
3645
c899e7e6
GM
36462001-03-15 Gerd Moellmann <gerd@gnu.org>
3647
d0bbfc99
GM
3648 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3649 (command_loop_1): Undo last change.
3650
03d1a189
GM
3651 * xterm.c (fast_find_position): Return the correct vpos.
3652
c899e7e6 3653 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 3654 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
3655 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3656 Call store_symval_forwarding with BUF null.
3657 (set_internal): Call store_symval_forwarding with the BUF
3658 parameter passed to set_internal. Formerly, the value was always
3659 set in the current buffer; the buffer recorded in specbind for
3660 this case wasn't used.
3661 (arith_driver): Reindent.
3662
52283633
SM
3663 * buffer.c (swap_out_buffer_local_variables):
3664 Call store_symval_forwarding with BUF null.
c899e7e6
GM
3665
3666 * lisp.h (store_symval_forwarding): Change prototype.
3667
3668 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3669
57ac7c81
GM
36702001-03-14 Gerd Moellmann <gerd@gnu.org>
3671
697617d9
GM
3672 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3673 FOR_DELETION. Avoid resizing the mini-window of the selected
3674 frame if FOR_DELETION is set.
3675 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3676 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3677 signature.
3678
3679 * window.c (Fset_window_configuration): Change call to
3680 do_switch_frame to new format.
3681
3682 * keyboard.c (quit_throw_to_read_char): Change call to
3683 do_switch_frame to new format.
3684
3685 * lisp.h (do_switch_frame): Change prototype.
3686
819dce0f
GM
3687 * frame.c (Fframe_parameters): In the `buffer-list' frame
3688 parameter, store the buffer list of FRAME, not the list of the
3689 selected frame.
3690
57ac7c81
GM
3691 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3692 box just because the glyph row's full_width_p flag is set.
3693
65008712
GM
36942001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3695
3696 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3697 skip the padding blanks inserted in extend_face_to_end_of_line,
3698 before checking for trailing whitespace.
3699
159cf431
GM
37002001-03-13 Gerd Moellmann <gerd@gnu.org>
3701
52283633 3702 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
3703 Remove special handling for LessTif/Motif.
3704 (toplevel): Don't include Xm/Xm.h.
3705
52283633
SM
3706 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3707 Remove workaround code for LessTif; it doesn't work anymore.
3708
2564ea1b 3709 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 3710 Xm/ScrollBarP.h.
afcdc0a1 3711
52283633
SM
3712 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3713 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
3714 contemporary LessTif.
3715
52283633
SM
3716 * xfaces.c (xm_set_menu_resources_from_menu_face):
3717 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 3718
159cf431
GM
3719 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3720 removing button grabs.
3721
c6f7429a
KH
37222001-03-13 Kenichi Handa <handa@etl.go.jp>
3723
cb82d767
KH
3724 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3725 and clip-large-size-font as obsolete.
3726
c6f7429a
KH
3727 * lread.c (read_multibyte): Check the validity of multibyte
3728 sequence. If invalid, return the first byte.
3729
760cefb5
GM
37302001-03-12 Gerd Moellmann <gerd@gnu.org>
3731
3732 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3733 before running the command; timer functions or process
3734 filters may have set it.
3735
5141f9d0
EZ
37362001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3737
3738 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3739 Doc fix.
3740
b6a15240
GM
37412001-03-12 Gerd Moellmann <gerd@gnu.org>
3742
3743 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3744 to sprintf.
3745
95522746
GM
37462001-03-09 Gerd Moellmann <gerd@gnu.org>
3747
db14cfc5
GM
3748 * dispextern.h (string_buffer_position): Add prototype.
3749
52283633 3750 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
3751 (single_display_prop_string_p): New functions.
3752
3753 * xterm.c (note_mouse_highlight): If there's no help-echo on
3754 a string, look at the buffer text ``under'' it.
3755
3756 * keyboard.c (make_lispy_event): Add string info to the event,
3757 analogous to what's done on mode lines.
3758 (read_key_sequence): For a click on a string, consider `local-map'
3759 and `keymap' of that string.
3760
52283633
SM
3761 * keyboard.c (make_lispy_event, make_lispy_movement):
3762 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
3763
3764 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3765
3766 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3767 POS; return void.
3768
95522746
GM
3769 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3770 flags argument to emacs_open; it seems to conflict with O_EXCL.
3771
898a399d
KH
37722001-03-09 Kenichi Handa <handa@etl.go.jp>
3773
28cd4910
KH
3774 * composite.h (struct composition): Change types of members;
3775 glyph_len to unsigned, width to unsigned short.
898a399d 3776
4cdf6a6c
AI
37772001-03-08 Andrew Innes <andrewi@gnu.org>
3778
3779 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3780 menu titles.
3781
129004d3
GM
37822001-03-08 Gerd Moellmann <gerd@gnu.org>
3783
221dd3e7
GM
3784 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3785 instead of nil.
3786
52283633 3787 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
3788 help-echo in strings.
3789 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3790 (fast_find_string_pos): New function.
3791
52283633
SM
3792 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3793 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
3794
3795 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3796 Handle `mouse-face'.
3797
3798 * dispextern.h (face_at_string_position): Change prototype.
3799
52283633 3800 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 3801
129004d3
GM
3802 * keyboard.c (make_lispy_event): Avoid generating drag events
3803 if the mouse hasn't actually moved to another buffer position.
52283633 3804
80c8ab8c
DL
38052001-03-08 Dave Love <fx@gnu.org>
3806
129004d3 3807 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 3808
989521fd
GM
38092001-03-08 Gerd Moellmann <gerd@gnu.org>
3810
3811 * process.c (Fset_process_window_size): Fix a typo.
3812
bb5c338d
KH
38132001-03-08 Kenichi Handa <handa@etl.go.jp>
3814
3815 * coding.c (detect_coding_sjis): Do more rigid check.
3816 (detect_coding_big5): Likewise.
3817 (decode_coding_sjis_big5): Likewise.
3818 (Fdetect_coding_region): Call detect_coding_system with tailing
3819 anchor byte `\0' for more rigid detection.
52283633 3820 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
3821 (Fdetect_coding_string): Likewise.
3822
8b8f9197
SM
38232001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3824
3825 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3826 a string before extracting its data.
3827
3bdf2660
GM
38282001-03-07 Gerd Moellmann <gerd@gnu.org>
3829
3830 * window.c (Frecenter): Rewrite code handling negative values
3831 of ARG on graphical frames.
3832
38332001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3834
3835 * window.c (displayed_window_lines): If W->start is outside the
3836 accessible portion of the buffer, call start_display with BEGV or
3837 ZV instead of W->start.
3838
471f86b9
GM
38392001-03-07 Gerd Moellmann <gerd@gnu.org>
3840
2ab62c6c
GM
3841 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3842
471f86b9
GM
3843 * process.c (Fset_process_filter): Don't crash if the input
3844 file descriptor of PROCESS is closed.
3845 (Fset_process_window_size): Likewise.
3846
101922c3
GM
38472001-03-06 Kenichi Handa <handa@etl.go.jp>
3848
3849 * xterm.c (XTflash): Make the timeout of select shorter, and call
3850 select repeatedly until the desired time expires.
3851
45d051a7
GM
38522001-03-06 Gerd Moellmann <gerd@gnu.org>
3853
3854 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3855
3856 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3857
3858 * lisp.h (Vwindow_list): Declare extern.
3859
8f372c46
EZ
38602001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3861
3862 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3863
f16a7aa5
GM
38642001-03-06 Gerd Moellmann <gerd@gnu.org>
3865
157ae273
GM
3866 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3867 to detect a case where we have to highlight a different region
3868 despite not having left the currently highlighted region.
3869 Set mouse_face_overlay in the x_display_info.
45d051a7 3870 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
3871
3872 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3873
3874 * buffer.c (mouse_face_overlay_overlaps): New function.
3875
3876 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3877 (Qmouse_face): Declare extern.
3878
f16a7aa5
GM
3879 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3880 if face_change_count is non-zero.
3881
827afcac
KH
38822001-03-06 Kenichi Handa <handa@etl.go.jp>
3883
3884 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3885 that the source is unibyte.
3886
14c7242e
DL
38872001-03-05 Dave Love <fx@gnu.org>
3888
827afcac 3889 * xterm.c (XTmouse_position): Fix typo.
14c7242e 3890
c28b847b
GM
38912001-03-05 Gerd Moellmann <gerd@gnu.org>
3892
3893 * minibuf.c (read_minibuf): Clean up the binding stack if
3894 called noninteractively.
3895
b86644f2
KH
38962001-03-05 Kenichi Handa <handa@etl.go.jp>
3897
3898 * coding.c (syms_of_coding): Docstring modified.
3899
203682cc 39002001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
3901
3902 * charset.c (char_to_string): If a single byte char has modifier
3903 bits that can't be reflected to the character code, ignore them
45d051a7 3904 instead of signaling an error.
b86644f2 3905
e30bd7b7
EZ
39062001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3907
3908 * s/msdos.h: Update copyright notice.
3909
3910 * dosfns.h: Update copyright notice.
3911
3912 * dosfns.c: Update copyright notice.
3913
3914 * msdos.c: Update copyright notice.
3915
b52b65bd
GM
39162001-03-02 Gerd Moellmann <gerd@gnu.org>
3917
3918 * xterm.c (glyph_rect): New function.
3919 (XTmouse_position): Use it to raise the threshold for mouse
3920 movement event generation.
3921
53c4b1e6
EZ
39222001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3923
3924 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3925 specifies (reverse . t), reverse the initial screen colors.
3926 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
3927 but we are reversing the colors, set bg_set, not fg_set.
3928 Likewise for setting background-color and reversing: set fg_set.
3929 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
3930 in effect.
3931
3932 * xfaces.c (Finternal_set_lisp_face_attribute)
3933 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3934 parameters alist.
3935
f964b4d7
GM
39362001-03-02 Gerd Moellmann <gerd@gnu.org>
3937
ef53d75e
GM
3938 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3939 to a single slash in the middle of file names.
3940
52283633 3941 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
3942 Accept only alphanumeric time zone names.
3943
f964b4d7
GM
3944 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3945 or width area.
3946 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3947 a widget to zero height.
52283633 3948
c3c45f65
GM
39492001-03-01 Gerd Moellmann <gerd@gnu.org>
3950
3951 * window.c (Fwindow_end): Call move_it_past_eol only if
3952 ending up on a partially visible line.
3953
028d739a
DL
39542001-03-01 Dave Love <fx@gnu.org>
3955
3956 * ccl.c (Fccl_execute): Doc fix.
3957
57c5889c
GM
39582001-03-01 Gerd Moellmann <gerd@gnu.org>
3959
35f59f6b
GM
3960 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3961 of the tool bar before calling x_figure_window_size.
3962
f84ff02c
GM
3963 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3964 NULL after destroying it, otherwise XTread_socket can access a
3965 destroyed widget when input is unblocked.
3966
8b8f9197 3967 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 3968
57c5889c
GM
3969 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3970 same name as before, although there was a change in fontsets.
3971
224227d1
KR
39722001-02-28 Ken Raeburn <raeburn@gnu.org>
3973
4560730a
KR
3974 * lisp.h (Fframe_parameter): Declare.
3975
224227d1 3976 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 3977 Lisp_Object.
224227d1 3978
ece93c02
GM
39792001-02-28 Gerd Moellmann <gerd@gnu.org>
3980
11ef99b9
GM
3981 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
3982 NULL instead.
3983
3984 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
3985 NULL instead.
3986
ece93c02
GM
3987 * alloc.c (toplevel): Include process.h.
3988 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
3989 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
3990 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
3991 (allocate_vector, allocate_hash_table, allocate_window)
3992 (allocate_frame, allocate_process, allocate_other_vector):
3993 New functions.
ece93c02
GM
3994 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
3995 (mark_maybe_pointer): New function.
52283633 3996 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
3997 remain and not Lisp_Objects.
3998 (min_heap_address, max_heap_address): New variables.
3999 (mem_find): Return MEM_NIL if START is below min_heap_address or
4000 above max_heap_address.
4001 (mem_insert): Compute min_heap_address and max_heap_address.
4002
4003 * process.c (make_process): Use allocate_process.
4004
4005 * frame.c (make_frame): Use allocate_frame.
4006
4007 * window.c (make_window, make_dummy_parent): Use allocate_window.
4008 (Fcurrent_window_configuration): Use allocate_other_vector.
4009
4010 * lisp.h (allocate_vectorlike): Remove prototype.
4011 (allocate_vector, allocate_other_vector, allocate_frame)
4012 (allocate_window, allocate_process, allocate_hash_table):
4013 Add prototypes.
4014
4015 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4016 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4017
063af457
KH
40182001-02-27 Kenichi Handa <handa@etl.go.jp>
4019
4020 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4021 treat the produced bytes as a valid multibyte sequence.
4022
4023 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
4024 (ccl_driver) <CCL_WriteMultibyteChar2>:
4025 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
4026 <ccl_finish>: Set ccl->eight_bit_control properly.
4027
4028 * ccl.h (struct ccl_program): New member eight_bit_control.
4029
f58c6494
SM
40302001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4031
4032 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4033 accessible_keymaps_char_table.
4034 (accessible_keymaps_char_table): Obey `is_metized'.
4035 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4036 Lisp_Object.
4037
c596c392
GM
40382001-02-26 Gerd Moellmann <gerd@gnu.org>
4039
4040 * dispnew.c: Check HAVE_TERM_H before including term.h.
4041
425de386
AI
40422001-02-24 Andrew Innes <andrewi@gnu.org>
4043
4044 * makefile.w32-in: Update copyright notice.
4045
2ba11bbd
SM
40462001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4047
4048 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4049
66c56ed1
KH
40502001-02-24 Kenichi Handa <handa@etl.go.jp>
4051
4c1593ce
KH
4052 * Makefile.in (lisp): Add international/utf-8.elc.
4053
66c56ed1
KH
4054 * fontset.c (Fnew_fontset): Fix handling of the case that an
4055 element of FONTLIST is a cons of family and registry.
4056
796ead7e
JR
40572001-02-23 Jason Rumney <jasonr@gnu.org>
4058
4059 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4060 to height unconditionally.
4061
4062 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 4063 background face to the end of the drawing area in the text area, only.
796ead7e
JR
4064 (x_insert_glyphs): Call window_box_left to obtain the left
4065 x-coordinate of the area to shift.
4066
4067 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4068 safe_run_hooks.
4069
f6839838
AI
40702001-02-22 Andrew Innes <andrewi@gnu.org>
4071
52283633 4072 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
4073 ($(BLD)\dispnew.obj):
4074 ($(BLD)\editfns.obj):
4075 ($(BLD)\fileio.obj):
4076 ($(BLD)\filelock.obj):
4077 ($(BLD)\keyboard.obj):
4078 ($(BLD)\w32proc.obj):
4079 ($(BLD)\process.obj):
4080 ($(BLD)\sysdep.obj): Ditto.
4081
4082 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4083 header files.
52283633
SM
4084 ($(BLD)/dispnew.$(O)):
4085 ($(BLD)/editfns.$(O)):
4086 ($(BLD)/fileio.$(O)):
4087 ($(BLD)/filelock.$(O)):
4088 ($(BLD)/keyboard.$(O)):
4089 ($(BLD)/w32proc.$(O)):
4090 ($(BLD)/process.$(O)):
f6839838
AI
4091 ($(BLD)/sysdep.$(O)): Ditto.
4092
c224f70b
GM
40932001-02-22 Gerd Moellmann <gerd@gnu.org>
4094
51695746
GM
4095 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4096 at the start of the function, check that the \n in it->c is
4097 from the iterator's current position.
52283633 4098
a61b7058
GM
4099 * xdisp.c (handle_single_display_prop): Add parameter
4100 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4101 properties which replace the display of text with something else.
4102 (handle_display_prop): Call handle_single_display_prop with
4103 additional argument saying if we already replaced text display
4104 with something else. Use AREF.
52283633 4105 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
4106 (decode_mode_spec_coding): Use AREF and ASIZE.
4107
3473f362
GM
4108 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4109 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4110 * vmstime.h: Files removed.
52283633 4111
2bb58df3
GM
4112 * unexencap.c, unexfx2800.c: Files removed.
4113
c224f70b
GM
4114 * dispnew.c (direct_output_for_insert): Give up if we are showing
4115 a message or just cleared the message because we might need to
4116 resize the echo area window or display an empty echo area.
4117
ffc9ff0c
GM
41182001-02-21 Gerd Moellmann <gerd@gnu.org>
4119
0528abe1
GM
4120 * xdisp.c (redisplay_internal): Do the
4121 mark_window_display_accurate after all windows have been
4122 redisplayed because this call resets flags in buffers which are
4123 needed for proper redisplay.
4124
52283633
SM
4125 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4126 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
4127 the old names.
4128
52283633
SM
4129 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4130 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4131
4132 * msdos.h (struct x_output): Rename busy_window to
4133 hourglass_window, busy_p to hourglass_p.
4134
52283633
SM
4135 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4136 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
4137
4138 * xfns.c: Rename everything containing *busy_cursor* and similar
4139 to *hourglass*.
4140 (syms_of_w32fns): Rename x-busy-pointer-shape to
4141 x-hourglass-pointer-shape, display-busy-cursor to
4142 display-hourglass, busy-cursor-delay to hourglass-delay.
4143
4144 * w32fns.c: Rename everything containing *busy_cursor* and similar
4145 to *hourglass*.
4146 (syms_of_w32fns): Rename x-busy-pointer-shape to
4147 x-hourglass-pointer-shape, display-busy-cursor to
4148 display-hourglass, busy-cursor-delay to hourglass-delay.
4149
4150 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4151 of its busy_p flag.
4152
4153 * dispextern.h (start_hourglass, cancel_hourglass)
4154 (display_hourglass_p): Renamed from *busy_cursor*.
4155
ab2c5f0a
GM
41562001-02-20 Gerd Moellmann <gerd@gnu.org>
4157
d17e49a8
GM
4158 * keyboard.c (read_char): When an event from unread-command-events
4159 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4160
fa97adf6
GM
4161 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4162 equal to the current buffer.
4163
ab2c5f0a
GM
4164 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4165 nil, otherwise we're left with truncate_lines t when a message
4166 is printed with message-truncate-lines bound to t.
4167
aeac019e
GM
41682001-02-19 Gerd Moellmann <gerd@gnu.org>
4169
c8bc6f65
GM
4170 * window.c (Fmove_to_window_line): Undo last change.
4171 (displayed_window_lines): Call line_bottom_y to determine
4172 the line's bottom position.
4173
4174 * dispextern.h (line_bottom_y): Add prototype.
4175
52283633 4176 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
4177 (pos_visible_p): Use it.
4178
980a2d69
GM
4179 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4180 set redisplaying_p to 0 here instead of in Frecursive_edit.
4181 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4182 set redisplaying_p.
4183
52283633 4184 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
4185 New variables.
4186 (syms_of_xdisp): Initialize new variables.
4187 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4188 Specbind `inhibit-menubar-update' when updating the menu bar.
4189
65048e97
GM
4190 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4191 safe_run_hooks.
4192
4193 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4194 safe_run_hooks.
4195
a57c4026
GM
4196 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4197 is null.
4198
aeac019e
GM
4199 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4200 to the start of the file.
4201
76846b31
GM
42022001-02-16 Gerd Moellmann <gerd@gnu.org>
4203
f3f053f3 4204 * window.c (set_window_buffer): Fix last change.
52283633 4205
f3f053f3
GM
4206 * window.c (set_window_buffer): Set window's vscroll to 0.
4207
dad75588
GM
4208 * window.c (coordinates_in_window): Increase width of area
4209 where the vertical line can be dragged.
4210
c220b753
GM
4211 * xterm.c (x_set_glyph_string_background_width): Extend the
4212 background face to the end of the drawing area in the text
4213 area, only.
4214
c56b1c1b
GM
4215 * xdisp.c (handle_single_display_prop): Set iterator's position
4216 to where the `display' property starts, like for images.
4217 (dump_glyph): New function.
4218 (dump_glyph_row): Use it. Dump info about marginal areas.
4219
4220 * dispnew.c (direct_output_for_insert): Recognize more cases where
4221 glyphs can be written instead of being inserted.
4222
4223 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4224 the left x-coordinate of the area to shift.
4225
76846b31
GM
4226 * dired.c (directory_files_internal): Set result list to nil
4227 before retrying.
4228
0fc71a77
KH
42292001-02-15 Kenichi Handa <handa@etl.go.jp>
4230
4231 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4232 invalid multibyte sequence, treat *SRC as a character of
4233 eight-bit-graphic.
4234
25078b54
EZ
42352001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4236
4237 * textprop.c (Fset_text_properties): Doc fix.
4238
8399f8a0
GM
42392001-02-15 Gerd Moellmann <gerd@gnu.org>
4240
4241 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4242
9a2a6f73
DL
42432001-02-14 Dave Love <fx@gnu.org>
4244
4245 * coding.c: Doc and message fixes.
4246
bf853fee
AI
42472001-02-14 Andrew Innes <andrewi@gnu.org>
4248
4249 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4250 Emacs frame above the screen size.
4251
78c663d8
GM
42522001-02-14 Gerd Moellmann <gerd@gnu.org>
4253
4254 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4255
7cc9f69f
GM
42562001-02-13 Gerd Moellmann <gerd@gnu.org>
4257
0a411995
GM
4258 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4259 case that TO ends up beyond ZV after running before-change-functions.
4260
5ddc1b75
GM
4261 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4262 the selected window if it is showing the buffer in question.
4263
7cc9f69f
GM
4264 * dired.c (directory_files_internal): Initialize errno.
4265 (toplevel): Include errno.h.
4266
2e6621ca
GM
42672001-02-13 Kenichi Handa <handa@etl.go.jp>
4268
4269 * xfaces.c (best_matching_font): New parameter width_ratio.
4270 Multiply avgwidth by width_ratio.
4271 (choose_face_font): Call best_matching_font with width_ratio
4272 calculated from the column width of C.
4273
60222d69
AI
42742001-02-12 Andrew Innes <andrewi@gnu.org>
4275
4276 The following changes are to draw box lines inside characters area
4277 if line-width is negative.
52283633 4278
60222d69
AI
4279 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4280 face->box_line_width is negative.
4281 (x_produce_stretch_glyph): Likewise.
4282 (x_produce_glyphs): Likewise.
4283 (x_estimate_mode_line_height): Likewise.
4284 (x_draw_glyph_string_background): Likewise.
4285 (x_draw_glyph_string_foreground): Likewise.
4286 (x_draw_composite_glyph_string_foreground): Likewise.
4287 (x_draw_glyph_string_box): Likewise.
4288 (x_draw_image_foreground): Likewise.
4289 (x_draw_image_relief): Likewise.
4290 (x_draw_image_foreground_1): Likewise.
4291 (x_draw_image_glyph_string): Likewise.
4292
9804b846
KH
42932001-02-09 Kenichi Handa <handa@etl.go.jp>
4294
4295 The following changes are to draw box lines inside characters area
4296 if line-width is negative.
52283633 4297
9804b846
KH
4298 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4299 face->box_line_width is negative.
4300 (x_produce_stretch_glyph): Likewise.
4301 (x_produce_glyphs): Likewise.
4302 (x_estimate_mode_line_height): Likewise.
4303 (x_draw_glyph_string_background): Likewise.
4304 (x_draw_glyph_string_foreground): Likewise.
4305 (x_draw_composite_glyph_string_foreground): Likewise.
4306 (x_draw_glyph_string_box): Likewise.
4307 (x_draw_image_foreground): Likewise.
4308 (x_draw_image_relief): Likewise.
4309 (x_draw_image_foreground_1): Likewise.
4310 (x_draw_image_glyph_string): Likewise.
4311
4312 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4313 and :line-width can be negative.
52283633 4314 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 4315
49be9f70
JR
43162001-02-09 Jason Rumney <jasonr@gnu.org>
4317
4318 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4319 characters the same as ASCII and latin-1.
4320 (x_display_and_set_cursor): Check for the focus frame's selected
4321 window instead of selected_window.
4322 (x_after_update_window_line): Don't clear if frame's internal
4323 border width is zero.
4324 (x_new_font): Don't change a tooltip's size.
4325 (w32_initialize): Set char_ins_del_ok to 1.
4326
4327 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4328 (x_set_font): If font hasn't changed, avoid recomputing
4329 faces and other things.
52283633
SM
4330 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4331 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
4332 (x_create_tip_frame): Prevent changing the tooltip's
4333 background color by specifying a color for the default font
4334 in .Xdefaults.
4335 (Qcancel_timer): New variable.
4336 (syms_of_w32fns): Initialize and staticpro it.
4337 (Fx_hide_tip, Fx_show_tip): Use it.
4338 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4339 the timer.
4340 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4341
4342 * w32.c (init_environment): Duplicate local string before putenv.
4343
555e35d2
SZ
43442001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4345
4346 * charset.c (Fstring): A typo.
4347
19c92c94
KH
43482001-02-09 Kenichi Handa <handa@etl.go.jp>
4349
e47a1c33
KH
4350 * charset.c (Fstring): If all arguments are less than 256, return
4351 a unibyte string.
4352
4353 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4354 return a unibyte string.
4355
19c92c94
KH
4356 * coding.c (code_convert_region): After detecting a coding, if
4357 nothing found, set coding->composing to COMPOSITION_NO.
4358 (decode_coding_string): Likewise.
4359
d8e675f5
SM
43602001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4361
4362 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4363 to avoid overflow.
4364
bd503487
KH
43652001-02-07 Kenichi Handa <handa@etl.go.jp>
4366
4367 * charset.c (parse_str_to_multibyte): New function.
4368
4369 * charset.h (parse_str_to_multibyte): Extern it.
4370
4371 * print.c (print_string): If we are going to print a unibyte
4372 string into a multibyte buffer, convert the string to multibyte by
4373 str_to_multibyte.
4374
a8370d72
AI
43752001-02-06 Andrew Innes <andrewi@gnu.org>
4376
4377 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4378 been created. It seems we can get sent window messages such as
4379 WM_ERASEBKGND before we properly update a frame.
4380
c363a1d6
GM
43812001-02-06 Gerd Moellmann <gerd@gnu.org>
4382
4383 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4384 Avoid some unnecessary cursor positioning.
4385
a08332c0
GM
43862001-02-05 Gerd Moellmann <gerd@gnu.org>
4387
52283633 4388 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
4389 (LFACE_AVGWIDTH): New macro.
4390 (LFACEP): Use AREF.
4391 (check_lface_attrs): Check LFACE_AVGWIDTH.
4392 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4393 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4394 (merge_face_vectors): Check LFACE_AVGWIDTH.
4395 (Finternal_make_lisp_face): Use AREF.
4396 (xm_set_menu_resources_from_menu_face)
4397 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4398 (Finternal_lisp_face_empty_p): Use AREF.
4399 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4400 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4401 Compare average widths..
4402 (best_matching_font): Arrange for comparing average widths.
4403
52283633
SM
4404 * dispextern.h (enum lface_attribute_index):
4405 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4406
5cb3c8d4
DL
44072001-02-05 Dave Love <fx@gnu.org>
4408
4409 * puresize.h: Revert last change following loadup.el change.
4410
193fba87
AI
44112001-02-05 Andrew Innes <andrewi@gnu.org>
4412
4413 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4414 invocation of temacs, to work with Windows 2000.
4415 (bootstrap-emacs): Ditto.
4416
e16f52ce
GM
44172001-02-05 Gerd Moellmann <gerd@gnu.org>
4418
7a58ab59
GM
4419 * xterm.c (x_display_and_set_cursor): Check for the focus
4420 frame's selected window instead of selected_window.
4421
e89aaabd
GM
4422 * xdisp.c (try_scrolling): If point is in the line below the
4423 window, make sure to move the iterator at least a canonical
4424 char height down.
4425
52283633 4426 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 4427
789ce875
KH
44282001-02-05 Kenichi Handa <handa@etl.go.jp>
4429
52283633
SM
4430 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4431 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
4432 (ccl_driver): If the CCL program is terminated because of
4433 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4434 destination instead of throwing them away.
4435
20b28f82
GM
44362001-02-02 Gerd Moellmann <gerd@gnu.org>
4437
79fb38c0
GM
4438 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4439 faces and other things.
4440
20b28f82
GM
4441 * xdisp.c (get_next_display_element): Fix case of empty
4442 display table entry.
4443
5a72551e
EZ
44442001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4445
eb24d0bf
EZ
4446 * editfns.c (Fconstrain_to_field): Doc fix.
4447
6a3f48c7
EZ
4448 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4449 into `thoroughly', to make it consistent with the doc string.
4450
5a72551e
EZ
4451 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4452
01acdb05
GM
44532001-02-01 Gerd Moellmann <gerd@gnu.org>
4454
0353b28f
GM
4455 * search.c (search_buffer): Call set_search_regs with a byte
4456 position, not a character position.
4457
01acdb05
GM
4458 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4459 minibuffer-only,
4460
e86b5133
EZ
44612001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4462
4463 * frame.c (Fmodify_frame_parameters): Doc fix.
4464
7442878f
GM
44652001-01-31 Gerd Moellmann <gerd@gnu.org>
4466
01acdb05
GM
4467 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4468 identifier which is not reserved by Standard C.
52283633 4469
7442878f
GM
4470 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4471
4472 * window.c (enum window_part): New enumeration.
4473 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4474 Qright_bitmap_area.
4475 (coordinates_in_window): Return an enumerator from enum
4476 window_part. Fix handling of right scroll bar.
4477 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4478 `right-fringe' instead of `left-bitmap-area' and
4479 `right-bitmap-area'. Use enumerators from enum window_part
4480 instead of hard-coded integers.
52283633
SM
4481 (check_window_containing, window_from_coordinates):
4482 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
4483 (syms_of_window): Replace Qleft_bitmap_area and
4484 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4485
7c132cba
EZ
44862001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4487
4488 * editfns.c (Fformat_time_string): Doc fix.
4489
c359dd9e
SM
44902001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4491
4492 * keymap.c (Fwhere_is_internal): Use the first valid binding
4493 if no ascii binding is found (when firstonly is t).
4494
ce070307
GM
44952001-01-31 Gerd Moellmann <gerd@gnu.org>
4496
b4f30ec5
GM
4497 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4498 instead of Finteractive_p.
4499
4500 * lisp.h (interactive_p): Add prototype.
4501
4502 * eval.c (interactive_p): New function.
4503 (Finteractive_p): Use it.
4504
ce070307
GM
4505 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4506
f57b6e64
DL
45072001-01-31 Dave Love <fx@gnu.org>
4508
d61c7afe
DL
4509 * .gdbinit (hook-run): Define to run xreload.
4510
f57b6e64
DL
4511 * textprop.c (Fset_text_properties): Fix newline in doc string.
4512
eef93f99
GM
45132001-01-30 Gerd Moellmann <gerd@gnu.org>
4514
52283633
SM
4515 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4516 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
4517
4518 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 4519 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
4520 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4521
4522 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4523 height.
4524
d9c1f6f9
DL
45252001-01-30 Dave Love <fx@gnu.org>
4526
4527 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4528 AFTER_POTENTIAL_GC.
4529
e8f044a0
GM
45302001-01-29 Gerd Moellmann <gerd@gnu.org>
4531
52283633
SM
4532 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4533 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 4534
8e1db7b3
EZ
45352001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4536
4537 * textprop.c (Fset_text_properties): Doc fix.
4538
4eefd9d2
GM
45392001-01-29 Gerd Moellmann <gerd@gnu.org>
4540
4541 * xdisp.c (forward_to_next_line_start): Remove xassert.
4542
fccb8288
EZ
45432001-01-29 Jason Rumney <jasonr@gnu.org>
4544
4eefd9d2 4545 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
4546 returning without releasing it.
4547
76581eab
KH
45482001-01-29 Kenichi Handa <handa@etl.go.jp>
4549
4550 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4551 for '^', '$', and '\0'.
4552
83a96b4d
AC
45532001-01-28 Andrew Choi <akochoi@i-cable.com>
4554
5604ec34
AC
4555 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4556 regex for '^', '$', and '\0'.
4557
83a96b4d
AC
4558 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4559 only if current_sblock has been initialized.
4560
4561 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4562 terminal frame even if it is the only visible frame.
4563
c09a6440
KH
45642001-01-28 Kenichi Handa <handa@etl.go.jp>
4565
4566 * fontset.c (font_family_registry): Even if FONTNAME conform to
4567 XLFD, if it specifies other fields than family and registry,
52283633 4568 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 4569 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
4570 a signle byte character. Don't set FAMILY part to nil here.
4571 It is handled by the caller choose_face_font.
c09a6440
KH
4572 (Fnew_fontset): Call font_family_registry with FORCE 0.
4573 (Fset_fontset_font): Likewise.
4574
4dcd74e6
GM
45752001-01-27 Gerd Moellmann <gerd@gnu.org>
4576
4577 * xdisp.c (display_line): Don't treat a newline as fitting
4578 on the line.
4579
d2906bf8
GM
45802001-01-26 Gerd Moellmann <gerd@gnu.org>
4581
0130fe1a
GM
4582 * window.c (size_window): Set the window's orig_top to nil when
4583 changing heights, so that a future shrink_mini_window won't
4584 restore a bogus height.
4585
550f0e6a
GM
4586 * frame.c (do_switch_frame): If selected frame has a mini-window,
4587 resize that to exact size.
4588
b7b20fbd
GM
4589 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4590
a47b7816
GM
4591 * xdisp.c (display_line): Simplify check for glyphs fitting
4592 entirely in the line.
4593
d2906bf8
GM
4594 * xfns.c (xic_style): New variable.
4595 (create_frame_xic): Move static variable to global scope for
550f0e6a 4596 the case that `static' gets defined away.
d2906bf8 4597
73df2b1e
KH
45982001-01-26 Kenichi Handa <handa@etl.go.jp>
4599
4600 * coding.c (decode_coding): Set a flag for inhibiting
4601 inconsistent eol.
4602 (code_convert_region): Always set saved_coding_symbol.
4603 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 4604 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 4605
6613cfc4
GM
46062001-01-25 Gerd Moellmann <gerd@gnu.org>
4607
c5e6e06b
GM
4608 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4609 XClearArea.
4610
4611 * xterm.c (x_after_update_window_line): Don't clear if frame's
4612 internal border width is zero.
4613 (x_clear_area): New function.
4614 (x_after_update_window_line, x_clear_end_of_line)
4615 (x_scroll_bar_create, x_scroll_bar_set_handle)
4616 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4617 instead of XClearArea.
4618
4619 * xterm.h (x_clear_area): Add prototype.
4620
6613cfc4
GM
4621 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4622 which doesn't seem necessary anymore with Lesstif 0.92.
4623
650cc6cc
DL
46242001-01-25 Dave Love <fx@gnu.org>
4625
34ac3367
DL
4626 * puresize.h (BASE_PURESIZE): Up to 720000.
4627
650cc6cc
DL
4628 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4629
5e37dc22
GM
46302001-01-25 Gerd Moellmann <gerd@gnu.org>
4631
e1e441f9
GM
4632 * xdisp.c (echo_area_display): Don't call redisplay_internal
4633 when Emacs is shutting down. We can't run hooks etc. that
4634 would be necessary to do a redisplay.
4635
5e37dc22
GM
4636 * lread.c (read_integer): Use type EMACS_INT instead of int.
4637
0fb94c7f
EZ
46382001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4639
4640 * ccl.c (ccl_driver): Fix last change.
4641
e3778624
KH
46422001-01-25 Kenichi Handa <handa@etl.go.jp>
4643
4644 * ccl.h (sturct ccl_program): New member suppress_error.
4645
bb264518 4646 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
4647 insert error message to the output.
4648 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4649
4650 * coding.h (struct coding_system): New member suppress_error.
4651
4652 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4653 (Fset_terminal_coding_system_internal): Set the member
4654 suppress_error to 1.
4655 (Fset_safe_terminal_coding_system_internal): Likewise.
4656
245ed2b1
SM
46572001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4658
4659 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4660 as if it was a `charset'.
4661
f9aaedb6
GM
46622001-01-24 Gerd Moellmann <gerd@gnu.org>
4663
4664 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4665 value in where_is_cache; the next lookup in the cache returns
4666 something bogus if we do.
4667
c3902c3e
EZ
46682001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4669
4670 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4671 if HAVE_WINDOW_SYSTEM isn't defined.
4672
3497f73e
GM
46732001-01-24 Gerd Moellmann <gerd@gnu.org>
4674
e7e41584
GM
4675 * fns.c (sweep_weak_table): Fix code taking items out of
4676 the hash collision chain. Some cleanup.
4677
3497f73e
GM
4678 * xterm.c (x_new_font): Don't change a tooltip's size.
4679
4680 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4681 background color by specifying a color for the default font
4682 in .Xdefaults.
4683
3d48e687
KH
46842001-01-24 Kenichi Handa <handa@etl.go.jp>
4685
96531b20
KH
4686 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4687 a workaround for SunOS 4's cc.
4688 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4689 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4690 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4691 statement.
3d48e687 4692
a30629d2
GM
46932001-01-23 Gerd Moellmann <gerd@gnu.org>
4694
4695 * xterm.c (x_set_window_size_1): New function extracted from
4696 x_set_window_size.
4697 (x_set_window_size): Use it.
4698 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4699 doesn't have a widget, like tooltips.
4700
5a43decf
EZ
47012001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4702
52283633 4703 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 4704
b0e98867
KH
47052001-01-23 Kenichi Handa <handa@etl.go.jp>
4706
4707 * fns.c (Fset_char_table_default): Fix to make sub char-table
4708 correctly.
4709
50606b4c
GM
47102001-01-22 Gerd Moellmann <gerd@gnu.org>
4711
cb2ddc53 4712 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
4713 a desired tool bar string, even if there are no tool bar items.
4714
57c28064
GM
4715 * xdisp.c (Ftool_bar_lines_needed): New function.
4716 (syms_of_xdisp): Defsubr it.
4717
50606b4c
GM
4718 * editfns.c (Fformat): Don't extend text properties from arguments
4719 to padding chars in the result.
4720
2f169c38
EZ
47212001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4722
4723 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4724
0f32f023
AI
47252001-01-20 Andrew Innes <andrewi@gnu.org>
4726
52283633 4727 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
4728 (w32_initialize): Don't set term hooks that aren't actually needed
4729 in windowed mode.
4730
4731 * xfaces.c (realize_default_face):
4732 (realize_face):
4733 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4734
4735 * xdisp.c (handle_single_display_prop): Remove references to
4736 FRAME_W32_CONSOLE_P.
4737
52283633 4738 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
4739
4740 * frame.h (output_method): Remove output_w32_console method.
4741 (FRAME_W32_CONSOLE_P): Remove macro.
4742
4743 * frame.c (Qw32_console): Remove variable.
4744 (Fframep): Remove references to it.
4745 (syms_of_frame): Ditto.
4746 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4747
4748 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4749 redefinition.
4750
7173eada
KH
47512001-01-20 Kenichi Handa <handa@etl.go.jp>
4752
4753 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4754
755b45ce
AI
47552001-01-19 Andrew Innes <andrewi@gnu.org>
4756
4757 * w32.c (init_environment): Add a version-independent site-lisp
4758 directory to EMACSLOADPATH, after the version dependent one.
4759
0a949811
GM
47602001-01-19 Gerd Moellmann <gerd@gnu.org>
4761
8501998a
GM
4762 * editfns.c (Fbuffer_substring): Doc fix.
4763
52283633
SM
4764 * xdisp.c (message_dolog, message2, message2_nolog):
4765 Rename parameter LEN to NBYTES.
0a949811 4766
e6ebcbbe
KH
47672001-01-19 Kenichi Handa <handa@etl.go.jp>
4768
200ecca2
KH
4769 * charset.c (strwidth): Use c_string_width.
4770 (c_string_width): New function.
4771 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4772 Caller changed.
4773
4774 * charset.h (c_string_width, lisp_string_width): Extern them.
4775
52283633 4776 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 4777
e6ebcbbe
KH
4778 * indent.c (check_composition): Check validity of composition.
4779
200ecca2
KH
4780 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4781 characters by calling c_string_width.
4782 (x_consider_frame_title): Get byte length of frame tile string
4783 correctly.
4784 (display_mode_element): Pay attention to width of non-ASCII
4785 characters by calling strwidth.
4786
8692ca92
GM
47872001-01-18 Gerd Moellmann <gerd@gnu.org>
4788
8962e303
GM
4789 * xfns.c (Qcancel_timer): New variable.
4790 (syms_of_xfns): Initialize and staticpro it.
4791 (Fx_hide_tip, Fx_show_tip): Use it.
4792 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4793 the timer.
4794 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4795
91523be9
GM
4796 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4797
4798 * window.h (WINDOW_LIVE_P): New macro.
4799
b0b7ed0e
GM
4800 * window.c (window_size_fixed): New variable.
4801 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4802 the doc string.
4803
06bccf8e
GM
4804 * eval.c (specbind): If binding a per-buffer variable which
4805 doesn't have a buffer-local value in the current buffer, change
4806 the global value by changing the value of the symbol bound in all
4807 buffers not having their own value, to make it consistent with
4808 what happens with other buffer-local variables.
4809
8692ca92
GM
4810 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4811
4812 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4813 when searching for a newline.
4814
bb3a3b50
KH
48152001-01-18 Kenichi Handa <handa@etl.go.jp>
4816
4817 * xdisp.c (display_string): Fix previous change.
4818
c2cc16fa
JR
48192001-01-18 Jason Rumney <jasonr@gnu.org>
4820
4821 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4822 GLYPH_DEBUG is defined.
4823 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4824 true for images with `:ascent 100'.
4825 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4826 meantime, use face MOUSE_FACE_ID.
4827 If first glyph isn't a character glyph, use the ASCII NUL
4828 character to determine the face.
4829 (expose_area): Do not treat left margin specially.
4830 (note_mode_line_highlight): If no local_map, check global keymap.
4831 (note_mouse_highlight): Initialize overlay.
52283633 4832 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
4833 (show_scroll_bars): Remove unused function.
4834 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4835 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4836 Clip to row.
52283633 4837 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
4838 (x_free_frame_resources): Unload relief colors.
4839
9c11f79e
GM
48402001-01-17 Gerd Moellmann <gerd@gnu.org>
4841
3aec8722 4842 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
4843 get_next_display_element when the newline is already found.
4844 This may change the iterator's position, when its current position is
3aec8722
GM
4845 equal to the iterator's stop_charpos.
4846
f3ffc2c3
GM
4847 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4848 zero, use this method only at the end of a line.
4849
52283633 4850 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
4851 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4852 if SCALABLE_FONTS_P is set.
52283633 4853
d26d6fd9
GM
4854 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4855 so that scalable fonts are included.
4856
9c11f79e
GM
4857 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4858 In the cache, use a key containing the information if scalable
4859 fonts are included.
4860 (x_load_font): Adapt to change of keys in the font cache.
4861
48622001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 4863
d26d6fd9
GM
4864 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4865 XListFonts to take advantage of font caching.
4866
9c11f79e
GM
4867 * xterm.c (x_list_fonts): Ensure caching font information when
4868 called for a null frame, which is the case frequently when Emacs
4869 starts.
4870
51446987
GM
48712001-01-17 Gerd Moellmann <gerd@gnu.org>
4872
f864120f
GM
4873 * xfns.c (QCconversion): Replaces QCalgorithm.
4874
4875 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4876
4877 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4878 of :algorithm.
52283633 4879
e37d1417
GM
4880 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4881 not everything could be displayed.
4882
51446987
GM
4883 * line.h, x-list-font.c: Files removed because unused.
4884
9ad4f3e5
AI
48852001-01-17 Andrew Innes <andrewi@gnu.org>
4886
4887 * dired.c (directory_files_internal): Convert result from readdir
4888 to a unibyte string initially, to avoid possible misinterpretation
4889 of some bytes as the internal form of Emacs characters.
4890
2eda09b5
KH
48912001-01-17 Kenichi Handa <handa@etl.go.jp>
4892
4893 * fns.c (concat): Be sure to avoid putting the same `composition'
4894 property on the adjacent regions.
4895
826f3788
GM
48962001-01-16 Gerd Moellmann <gerd@gnu.org>
4897
52283633 4898 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
4899 (Fscroll_right, Fscroll_left): Set it here instead, if called
4900 interactively.
4901
d57b83b3
GM
4902 * buffer.c (Fset_buffer_modified_p): Set buffer's
4903 prevent_redisplay_optimizations_p flag.
4904
826f3788 4905 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
4906 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4907 with additional arg.
4908
4909 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4910 Change prototype.
826f3788 4911
826f3788
GM
4912 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4913 FROM_WHERE, for debugging.
4914
261d788b
KH
49152001-01-16 Kenichi Handa <handa@etl.go.jp>
4916
4917 * ccl.c (Fregister_ccl_program): Handle the return value of
4918 resolve_symbol_ccl_program correctly.
52283633 4919 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 4920
bccee4f2
GM
49212001-01-15 Gerd Moellmann <gerd@gnu.org>
4922
e4ded23c
GM
4923 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4924 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
4925
4926 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4927 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
4928 the display; we didn't open it.
4929
bccee4f2
GM
4930 * dispnew.c (save_or_restore_current_matrices): Function removed.
4931 (save_current_matrix, restore_current_matrix): New functions.
4932 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4933 restore the frame's current matrix. Due to the glyph pointer
4934 setup done in adjust_glyph_matrix, there is no easy way to make
4935 saving the current matrix in the desired matrix generally correct,
4936 so don't try it.
4937
ebeccffa
KH
49382001-01-15 Kenichi Handa <handa@etl.go.jp>
4939
4940 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4941 truncation glyphs.
4942 (display_line): Optimize for wide characters.
e4ded23c 4943 (display_string): Don't try to display a multi-column character
ebeccffa
KH
4944 partially. On ttys, produce more than one truncation glyph for
4945 multi-column characters that don't fit on the line.
4946
64388126
KH
49472001-01-13 Kenichi Handa <handa@etl.go.jp>
4948
52283633
SM
4949 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4950 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 4951
8edb0a6f
JR
49522001-01-13 Jason Rumney <jasonr@gnu.org>
4953
4954 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4955 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
4956 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4957 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 4958
52283633
SM
4959 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4960 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
4961 (x_draw_image_glyph_string): Adapt to change of image margins.
4962
4963 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4964 variables.
4965
4966 * w32bdf.c (search_file_line, get_cached_font_char)
4967 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4968
4969 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4970
4971 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4972 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4973 (Fw32_send_sys_command): Remove unused variables.
4974 (w32_msg_pump): Add parentheses.
4975
4976 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4977 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4978 Add parentheses.
4979
4956d1ef
GM
49802001-01-12 Gerd Moellmann <gerd@gnu.org>
4981
b30623be
GM
4982 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
4983 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
4984 being a pair of margins.
4985 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
4986 to DEFVAR_LISP. Extend doc.
4987
4988 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
4989 margins.
4990 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
4991 pair of integers `(X . Y)', use X for the horizontal and Y for the
4992 vertical margin.
4993 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
4994 (parse_image_spec): Check it.
52283633
SM
4995 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4996 (tiff_format, gif_format, gs_format):
4997 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 4998
52283633
SM
4999 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5000 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
5001 (x_draw_image_glyph_string): Adapt to the change of image margins.
5002
5003 * dispextern.h (struct image): Replace member `margin' with
5004 `hmargin' and `vmargin'.
5005
4554cc79
GM
5006 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5007 and GLYPHS.
5008
5009 * dispnew.c (update_text_area): Put code which decrements the
5010 stop position when the row's face extends to the end of the
3bffc665 5011 line in #if 0.
4554cc79 5012
3cccce8d
GM
5013 * xfns.c (x_set_mouse_color): Fix color allocation.
5014
4956d1ef
GM
5015 * keyboard.c: Call get_local_map with new argument list.
5016
5017 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5018
5019 * intervals.h (enum map_property): Removed.
5020 (get_local_map): Change prototype.
5021
5022 * keymap.c: Call get_local_map with new argument list.
5023 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5024
2c2ff7f2
GM
50252001-01-11 Gerd Moellmann <gerd@gnu.org>
5026
a23887b9
GM
5027 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5028 of the size needed for the tool bar string. For the last image,
5029 use a `display' property that reaches to the end of the string.
5030
a7ee2d2e
GM
5031 * xselect.c (selection_request_dpyinfo): New variable.
5032 (x_handle_selection_request): Set it.
5033 (x_selection_request_lisp_error): Don't call
5034 x_decline_selection_request if selection request's display has
5035 been closed.
5036
52283633
SM
5037 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5038 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 5039
457b792c
GM
50402001-01-10 Dave Love <fx@gnu.org>
5041
5042 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5043 ${SOME_MACHINE_LISP}, not ${lisp}.
5044
c1efd260
GM
50452001-01-10 Gerd Moellmann <gerd@gnu.org>
5046
52283633
SM
5047 * xdisp.c (display_line): On ttys, produce more than one truncation
5048 glyph for multi-column characters that don't fit on the line.
a98b5ed9 5049
ac95a621
GM
5050 * xselect.c (x_reply_selection_request): Add a comment.
5051
c1efd260
GM
5052 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5053 XkbGetNames instead of XkbGetKeyboard.
5054
1bfb1345
DL
50552001-01-10 Dave Love <fx@gnu.org>
5056
5057 * sysdep.c (random): Revert the declaration.
5058
38119822
GM
50592001-01-09 Gerd Moellmann <gerd@gnu.org>
5060
52283633
SM
5061 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5062 Call function string_bytes.
35f464a7
GM
5063 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5064
5065 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5066 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5067 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5068 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5069 the current sblock.
5070 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5071 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5072 after sweeping strings, and at the end.
5073 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5074
38119822
GM
5075 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5076 ensure that pop_message is called.
5077
5078 * keyboard.c (Fexecute_extended_command): Use a
5079 record_unwind_protect to ensure that pop_message is called.
5080
5081 * lisp.h (push_message_unwind): Add prototype.
5082
5083 * xdisp.c (push_message_unwind): New function.
5084
5085 * fileio.c (do_auto_save_unwind): Do the pop_message here
5086 instead of in Fdo_auto_save.
5087 (Fdo_auto_save): Don't call pop_message.
5088
f47a9ec4
KR
50892001-01-08 Ken Raeburn <raeburn@gnu.org>
5090
5091 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5092 in inner block.
5093
a758f97d
GM
50942001-01-08 Gerd Moellmann <gerd@gnu.org>
5095
6d0afc03
GM
5096 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5097 when increasing window's vscroll.
5098
a758f97d
GM
5099 * macros.c (Qkbd_macro_termination_hook): New variable.
5100 (syms_of_macros): Initialize and staticpro it.
5101 (pop_kbd_macro): Run kbd-macro-termination-hook.
5102
5103 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5104
1bfb1345 51052001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
5106
5107 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5108 arglist, for documentation's sake.
5109
0dac6924
AI
51102001-01-06 Andrew Innes <andrewi@gnu.org>
5111
5112 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5113 of *.pdb.
5114
8182406a
AI
51152001-01-05 Andrew Innes <andrewi@gnu.org>
5116
5117 * term.c (update_end): Don't check updating_frame; for some reason
5118 this can be 0 sometimes, such as after dismissing a popup menu,
5119 and isn't necessary given the explicit frame argument.
5120
3828218c
GM
51212001-01-05 Gerd Moellmann <gerd@gnu.org>
5122
5123 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5124 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5125
2f5ded21
GM
51262001-01-04 Gerd Moellmann <gerd@gnu.org>
5127
52283633 5128 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
5129
5130 * xfns.c (x_create_tip_frame): Preserve the value of
5131 face_change_count around the creation of the tip frame.
52283633 5132
2f5ded21
GM
5133 * xfns.c (last_show_tip_args): New variable.
5134 (compute_tip_xy): New function.
5135 (Fx_show_tip): Reuse an existing tip frame, if possible.
5136 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5137
dfad65fa
DL
51382001-01-04 Dave Love <fx@gnu.org>
5139
64d4ec0f
DL
5140 * editfns.c (Fformat): Doc fix.
5141
dfad65fa
DL
5142 * systime.h (set_file_times): Prototype.
5143
5144 * widget.h (EmacsFrameSetCharSize_): Prototype.
5145
5146 * sysdep.c (random, srandom): Declare explicitly.
5147
5148 * dispextern.h (move_it_vertically_backward): Declare.
5149
85fe3b5e
GM
51502001-01-04 Gerd Moellmann <gerd@gnu.org>
5151
0f2ac578
GM
5152 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5153 like in Fx_create_frame.
5154
482cca61
GM
5155 * xfaces.c (set_font_frame_param): Don't do anything for
5156 non-graphical frames.
5157
85fe3b5e
GM
5158 * window.c (Fdelete_other_windows): Set window's window_end_valid
5159 to nil when changing the window's start. Don't change the
5160 window's start when its top position hasn't changed. If we do,
5161 this will set the window's optional_new_start, which act's like a
5162 force_start during redisplay with C-x 1 M-> under particular
5163 circumstances (see report from Per Starback to emacs-pretest-bug
5164 from 2000-12-13.).
5165
3e99d3b4
GM
51662001-01-03 Gerd Moellmann <gerd@gnu.org>
5167
a77dc1ec
GM
5168 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5169 short cut at the start of the function. Add an assertion.
5170 (reseat_at_next_visible_line_start): Add an assertion.
5171
2f3cad6c
GM
5172 * window.c (Frecenter): When changing the window start, set the
5173 window's window_end_valid to nil.
5174 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5175
5176 * dispextern.h (move_it_past_eol): Add prototype.
5177
5178 * xdisp.c (move_it_past_eol): New function.
5179
3e99d3b4
GM
5180 * window.c (Fwindow_end): Doc fix.
5181
51822001-01-03 Dave Love <fx@gnu.org>
5183
52283633 5184 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 5185
bafb434c
GM
51862001-01-03 Gerd Moellmann <gerd@gnu.org>
5187
5188 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5189 the enabled_p flag of the glyph row at window_end_vpos to 0.
5190 (handle_single_display_prop): Fix last change.
5191
5297fb00
RS
51922001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5193
5194 * window.c (Frecenter): Doc fix.
5195
13d6a61c
AI
51962001-01-02 Andrew Innes <andrewi@gnu.org>
5197
5198 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5199
5200 * frame.h (output_method): Add output_w32_console method.
5201 (FRAME_W32_CONSOLE_P): New macro.
5202
5203 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5204 use output_w32_console method.
5205 (Qw32_console): New Lisp_Object.
5206 (Fframep): Return it.
5207 (syms_of_frame): Init it.
52283633 5208 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
5209
5210 * xfaces.c (realize_default_face): Set face foreground and
5211 background to unspecified for w32_console frames.
5212 (realize_face): Realize face cache for w32_console frames.
5213 (realize_tty_face): Accept w32_console frames.
5214
52283633 5215 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
5216 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5217 necessary, even if running interactively.
5218
5219 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5220 w32_console frames.
5221
52283633
SM
5222 * w32term.c (x_update_begin):
5223 (x_update_end):
5224 (x_clear_frame):
5225 (x_ins_del_lines):
5226 (x_change_line_highlight):
5227 (x_delete_glyphs):
5228 (w32_ring_bell):
5229 (x_update_begin):
5230 (x_update_end):
5231 (w32_reassert_line_highlight):
5232 (w32_frame_rehighlight):
13d6a61c
AI
5233 (w32_frame_raise_lower): Do nothing if not w32 frame.
5234
5235 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5236
5237 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5238 system doesn't tell us directly.
5239 (Fx_display_visual_class): Implement properly.
5240
d6bb0c0d
GM
52412001-01-02 Gerd Moellmann <gerd@gnu.org>
5242
5243 * window.c (Frecenter): Handle centering in graphical frames
5244 specially. Centering on the basis of line counts doesn't work
5245 reliably with variable-height lines.
52283633 5246
315f5865
EZ
52472001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5248
5249 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5250 and al[].
5251
52283633 5252 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
5253 (update_compositions): Remove unused variable `hook'.
5254
5255 * intervals.c (get_local_map): Remove unused variable `tem'.
5256
5257 * doprnt.c (doprnt1): Remove unused variable `size'.
5258
5259 * fns.c (Flength): Remove unused variable `tail'.
5260 (Fdelete): Remove unused variable `size'.
5261
5262 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5263 and `gcpro2'.
5264
52283633 5265 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
5266
5267 * data.c (find_symbol_value): Remove extra 3rd argument in the
5268 call to swap_in_symval_forwarding.
5269
52283633 5270 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
5271
5272 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5273 (trivial_regexp_p): Remove unused variable `c'.
5274 (boyer_moore): Remove unused variable `k'.
5275
5276 * indent.c (current_column): Remove unused variable `stopchar'.
5277 (Fcompute_motion): Remove unused variable `contin'.
5278
5279 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5280
5281 * dired.c (directory_files_internal): Fix a typo in a comment.
5282 Remove an unused variable `handler'.
52283633 5283 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
5284 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5285 on BSD4_2.
5286
52283633 5287 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
5288
5289 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5290 and `buf'.
5291 (Fmarker_insertion_type): Remove unused variable `buf'.
5292
5293 * insdel.c (make_gap): Remove unused variable `result'.
5294
52283633 5295 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
5296 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5297 (menu_bar_items): Remove unused function-scope variable `tem'.
5298
5299 * fontset.c (fontset_ref): Remove unused variable `i'.
5300 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 5301 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
5302 (make_fontset_for_ascii_face): Remove unused variable `name'.
5303 (fs_load_font): Remove unused variable `font_idx'.
52283633 5304 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
5305 (list_fontsets): Remove unused variable `tail'.
5306 (Fnew_fontset): Remove unused variables `family' and `registry'.
5307 (accumulate_font_info): Remove unused variable `tmp'.
5308 (Ffontset_font): Remove unused variable `id'.
5309 (syms_of_fontset): Remove unused variable `i'.
5310
5311 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5312 to x_term_init.
5313 (lookup_image): Remove unused variable `file'.
5314 (xbm_load): Remove unused variables `bitmap_data', `height', and
5315 `width'. Remove function-local variable `i', leave the
5316 block-local one.
5317 (gif_load): Remove unused variable `inc'.
5318
52283633 5319 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
5320 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5321 leave only the one in the inner block.
5322
5323 * xfaces.c (face_fontset, realize_default_face): Remove unused
5324 variable `fontset'.
5325 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5326
5327 * term.c (encode_terminal_code): Remove unused variable `c'.
5328
5329 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5330 char *' instead of `char *'.
5331
5332 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 5333 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
5334 (Fchar_category_set): Remove unused variables `val', `charset',
5335 `c1' and `c2'.
5336
52283633
SM
5337 * coding.c (detect_coding_iso2022, setup_coding_system):
5338 Remove unused variable `i'.
315f5865
EZ
5339 (detect_coding_mask): Remove unused variable `idx'.
5340 (detect_coding): Remove unused variable `i'.
5341 (ccl_coding_driver): Remove unused variable `result'.
5342 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 5343 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
5344 (encode_coding_string): Remove unused variables `gcpro1' and
5345 `saved_coding_symbol'.
5346 (Ffind_coding_systems_region_internal): Remove function-local
5347 variable args[], leave only the block-local one.
5348 (code_convert_region1): Remove unused variable `len'.
5349
5350 * charset.c (char_printable_p): Remove unused variable `chars'.
5351 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5352 (str_to_multibyte): Remove unused variable `c'.
5353
5354 * window.c (size_window): Remove block-local variable `min_size'.
5355
5356 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5357 `header_line_height'.
5358 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5359 enum display_element_type.
5360
1a8a9daf
GM
53612001-01-02 Gerd Moellmann <gerd@gnu.org>
5362
6dde6abc 5363 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
5364 statements that call X. Save away the error message in a local copy.
5365
1883b2c6
GM
5366 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5367 the start.
5368
a13be207
GM
5369 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5370 in or at the start of invisible text.
5371
1a8a9daf
GM
5372 * dispnew.c (update_window): Don't check_current_matrix_flags.
5373
3608c0f9
JR
53742001-01-01 Jason Rumney <jasonr@gnu.org>
5375
5376 * w32fns.c (x_figure_window_size): Do not allow new_height and
5377 new_width of frame to override specified values.
5378
abb1acc4
KH
53792000-12-30 Kenichi Handa <handa@etl.go.jp>
5380
52283633 5381 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 5382
762a68ec
GM
53832000-12-29 Gerd Moellmann <gerd@gnu.org>
5384
52283633 5385 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
5386 (update_window) [GLYPH_DEBUG]: Call it.
5387 (scrolling_window): Prevent including current rows which are below
5388 what's displayed in the window.
5389
5390 * xdisp.c (try_window_reusing_current_matrix)
5391 <new start <= old start>: Disable rows in the current matrix
5392 which are below the window after scrolling.
52283633 5393
762a68ec
GM
5394 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5395 is zero. It's not worth the complexity.
5396 (invisible_text_between_p): Put in #if 0 because unused.
5397
2d5912c1
GM
53982000-12-28 Gerd Moellmann <gerd@gnu.org>
5399
46f6a258
GM
5400 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5401 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5402
89f93679
GM
5403 * keyboard.c (echo_char): If C is an integer, always call
5404 push_key_description. Former code could signal an invalid
5405 character error.
5406
5407 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5408 If set, print multibyte text.
5409 (Fsingle_key_description): Call push_key_description with
5410 FORCE_MULTIBYTE set.
5411 (describe_buffer_bindings): Likewise.
5412
5413 * lisp.h (push_key_description): Add prototype.
5414
c06017fb
GM
5415 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5416 around the call to redisplay_internal.
5417
f1d2ce7f
GM
5418 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5419
2d5912c1
GM
5420 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5421
9371f831
KH
54222000-12-28 Kenichi Handa <handa@etl.go.jp>
5423
5424 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5425 (ccl_driver): New local variable `extra_bytes'.
5426
5427 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5428
52283633
SM
5429 * coding.c (setup_coding_system):
5430 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
5431 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5432
0c80628a
KH
54332000-12-28 Kenichi Handa <handa@etl.go.jp>
5434
5435 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5436 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5437 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5438 (decode_composition_emacs_mule): New function.
5439 (decode_coding_emacs_mule): Decode composition sequence by calling
5440 decode_composition_emacs_mule.
5441 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
5442 (encode_coding_emacs_mule): Changed from macro to function.
5443 If a text contains compositions, encode them correctly.
0c80628a
KH
5444 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5445 that decoding and encoding are required.
5446
3e32cc27
GM
54472000-12-27 Gerd Moellmann <gerd@gnu.org>
5448
5e25feee
GM
5449 * xfaces.c (PT_PER_INCH): New macro.
5450 (xlfd_point_size): Compute real point size from font's pixel size.
5451 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5452 instead of 72.
5453
892d8fcd
GM
5454 * .gdbinit: Comment out the line pointing to the Lesstif source
5455 directory.
5456
12c8b416
GM
5457 * window.c (Frecenter): Use displayed_window_lines instead
5458 of window_internal_height.
5459
6061fbf0
GM
5460 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5461 instead of x-toolkit-scroll-bars-p.
5462 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5463
5464 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5465 instead of x-toolkit-scroll-bars-p.
5466 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 5467
3e32cc27
GM
5468 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5469 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
5470 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5471 New variables.
5472 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
5473 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5474 (build_frame_matrix_from_leaf_window): Remove unused code.
5475 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5476 redisplay history.
5477 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5478 (update_window) [GLYPH_DEBUG]: Likewise.
5479 (syms_of_display): Defsubr dump-redisplay-history.
5480
31798cfe
GM
54812000-12-23 Gerd Moellmann <gerd@gnu.org>
5482
f717c2ba
GM
5483 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5484 the end of the prompt. Set echo_after_prompt to the offset
5485 of echoptr in echobuf.
5486
aeb2b8fc
GM
5487 * xdisp.c (init_from_display_pos): Pop until the iterator's
5488 stack is empty; there may be frames for stretch or images
5489 on the stack.
5490
31798cfe
GM
5491 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5492 (save_or_restore_current_matrix): New function for the same
5493 purpose, but more efficient.
5494 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5495
f8156156
EZ
54962000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5497
5498 * xdisp.c (syms_of_xdisp): Fix last change.
5499
bdd6d4e8
GM
55002000-12-23 Gerd Moellmann <gerd@gnu.org>
5501
5502 * xdisp.c (syms_of_xdisp): Doc fix.
5503
5504 * xdisp.c (redisplay_window): Remove label restore_buffers;
5505 use finish_scroll_bars instead to make sure that scroll bars
5506 are redeemed. If we don't do this, flickering can result from
5507 scroll bars being destroyed and recreated.
5508
9436cdf9
JR
55092000-12-22 Jason Rumney <jasonr@gnu.org>
5510
5511 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5512 in the wrong colors when the foreground is not black.
5513 (expose_window): Don't redraw the window that's currently being
5514 updated.
5515
951f9df5
GM
55162000-12-22 Gerd Moellmann <gerd@gnu.org>
5517
856ff7a7
GM
5518 * window.c (size_window): When setting the window's too_small_ok
5519 flag, compare old size with minimum size depending on WIDTH_P,
5520 don't compare with window_min_width.
52283633 5521
951f9df5
GM
5522 * window.c (delete_window): Simplify somewhat.
5523 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5524 freeing window matrices. The flag windows_or_buffers_changed is
5525 set, so the next redisplay will consider all windows; this should
5526 suffice.
5527
886bc933
KH
55282000-12-22 Kenichi Handa <handa@etl.go.jp>
5529
5530 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5531
5532 * ccl.h (struct ccl_program): New member cr_consumed.
5533
5534 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5535 (CCL_READ_CHAR): Handle EOL conversion here.
5536 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5537
177f4e88
GM
55382000-12-21 Gerd Moellmann <gerd@gnu.org>
5539
52283633 5540 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
5541
5542 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5543 otherwise tabs of different size compare equal.
5544
5545 * callint.c (Fcall_interactively): Prevent a compiler warning.
5546
5547 * print.c (print_unwind): Return nil.
5548 (PRINTDECLARE): Initialize all local variables.
5549 (print_preprocess): Add a default case.
5550
8e15274f
GM
5551 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5552
5553 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5554
52283633 5555 * window.c (delete_window, Fsplit_window)
177f4e88
GM
5556 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5557
5558 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5559
5560 * dispnew.c (ensure_frame_matrix): Removed.
5561 (save_frame_matrix, restore_frame_matrix): New functions.
5562 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5563
5564 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5565 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5566
99012074
AI
55672000-12-21 Andrew Innes <andrewi@gnu.org>
5568
5569 * w32term.c (x_update_begin): Regenerate the palette here, rather
5570 than for each window.
5571
5572 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5573 palette is NULL, since this corrupts memory! Also get
5574 display_info reference from frame.
5575
29ef7d2d
JR
55762000-12-21 Jason Rumney <jasonr@gnu.org>
5577
5578 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5579
5580 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5581 to avoid returning without releasing it.
3e27fa1f 5582
3f9d67a6
KH
55832000-12-21 Kenichi Handa <handa@etl.go.jp>
5584
587fc3f9
KH
5585 * keymap.c (push_key_description): Don't convert eight-bit-control
5586 and eight-bit-graphic to multibyte character.
5587
3f9d67a6
KH
5588 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5589 generic character and CODE1 is nil, return the smallest character
5590 in CHARSET.
5591
774ba8c9
DL
55922000-12-20 Dave Love <fx@gnu.org>
5593
5594 * s/osf5-0.h (NSIG): Don't redefine.
5595
88416888
SM
55962000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5597
5598 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5599 excluding menu-bar and tool-bar.
5600 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5601 (menu_item_p): Remove.
5602 (where_is_internal_1): Don't ignore menu-items.
5603
a6426c6f
GM
56042000-12-20 Gerd Moellmann <gerd@gnu.org>
5605
03ff8aab
GM
5606 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5607 into account.
5608
5609 * window.c (make_window): Initialize window's min_hscroll.
5610 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5611 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5612 to zero.
5613 (struct saved_window): New member min_hscroll.
5614 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5615 (Fset_window_configuration): Set window's min_hscroll.
5616 (save_window_save): Save window's min_hscroll.
5617 (compare_window_configurations): Compare min_hscroll values.
5618
5619 * window.h (struct window): New member min_hscroll.
5620
5621 * keyboard.c (echo_prompt): Prevent a compiler warning.
5622
8de4aaf8
GM
5623 * xdisp.c (try_cursor_movement): Fix last change. The real
5624 condition is that PT is at the end of the row, and should
5625 be displayed at the start of the next row.
52283633 5626
3f7e3031
GM
5627 * xdisp.c (try_cursor_movement): If we end on a partially
5628 visible line, end we already decided to scroll, return -1.
5629
a6426c6f
GM
5630 * dispextern.h (ensure_frame_matrix): Add prototype.
5631
5632 * window.c (delete_window, Fsplit_window)
5633 (Fset_window_configuration): Call ensure_frame_matrix.
5634
52283633
SM
5635 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5636 New functions.
a6426c6f
GM
5637 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5638 completed, call fake_current_matrices instead of marking frame
5639 garbaged.
5640
57fa2774
JR
56412000-12-20 Jason Rumney <jasonr@gnu.org>
5642
5643 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5644
d925df90
EZ
56452000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5646
5647 * fns.c (Frequire): Doc fix.
5648
7b93a85b
GM
56492000-12-19 Gerd Moellmann <gerd@gnu.org>
5650
52283633 5651 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 5652
c74e645b
GM
5653 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5654 currently displaying a message.
5655
7b93a85b
GM
5656 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5657 xterm.h.
5658 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5659
90d97e64
AI
56602000-12-18 Andrew Innes <andrewi@gnu.org>
5661
5662 * w32.c (w32_strerror): New function.
5663
5664 * w32.h (w32_strerror): New extern.
5665
5666 * w32fns.c (Fw32_shell_execute): Use it.
5667
91c9e6ce
GM
56682000-12-18 Gerd Moellmann <gerd@gnu.org>
5669
5670 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5671
6f4745e2
EZ
56722000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5673
5674 * msdos.c (IT_set_face): Obey inverse_video.
5675
c9e088ce
KH
56762000-12-18 Kenichi Handa <handa@etl.go.jp>
5677
5678 * dired.c (directory_files_internal): Always return decoded filenames.
5679
c3695f5f
GM
56802000-12-18 Gerd Moellmann <gerd@gnu.org>
5681
52d8e4ff
GM
5682 * xterm.c (x_connection_closed): Prevent being called recursively
5683 because of an error condition in XtCloseDisplay.
52283633 5684
62be9979
GM
5685 * xdisp.c (init_iterator): If noninteractive, and the frame's
5686 face cache is null, make one.
5687
52283633 5688 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 5689
c3695f5f
GM
5690 * process.c (wait_reading_process_input): Check for pending
5691 input when running timers.
5692
78555fbe
EZ
56932000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5694
52283633 5695 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 5696
b2b36264
KH
56972000-12-18 Kenichi Handa <handa@etl.go.jp>
5698
5699 * process.c (read_process_output): Don't run a filter if the code
5700 decoder produces nothing but carryover.
5701
9c543fbf
AI
57022000-12-17 Andrew Innes <andrewi@gnu.org>
5703
5704 * w32.c (sys_rename): Only check errno against EEXIST, and not
5705 EACCES, when determining whether rename failed because the target
5706 exists. This was resulting in indefinite looping on Windows 9x if
5707 the source file was locked by another process.
5708
5709 * w32fns.c (Ffile_system_info): New function.
5710 (syms_of_w32fns): Defsubr it.
5711
10c2b5a8
GM
57122000-12-17 Gerd Moellmann <gerd@gnu.org>
5713
b0228ace
GM
5714 * window.c (coordinates_in_window): Fix computation for
5715 position on vertical line between mode lines.
5716
10c2b5a8
GM
5717 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5718 Don't alter tip_frame or tip_window.
5719 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5720 was deleted.
5721
c844a81a
GM
5722 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5723 Don't alter tip_frame or tip_window.
5724 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5725 was deleted.
5726
6c825f8e
EZ
57272000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5728
5729 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5730 be consistent with the doc string. Reported by NAKAJIMA Mikio
5731 <minakaji@osaka.email.ne.jp>.
5732
af4bb4c8
KH
57332000-12-16 Kenichi Handa <handa@etl.go.jp>
5734
5735 * xfaces.c (Vface_ignored_fonts): New variable.
5736 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5737 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5738
8062e53a
GM
57392000-12-15 Gerd Moellmann <gerd@gnu.org>
5740
e87b8809
GM
5741 * dispnew.c (update_window): Detect pending input every nth line
5742 updated, i.e. do it depending on real work done, and not on the
5743 vpos of the line.
5744
5745 * xterm.c (expose_window): Don't redraw the window that's
5746 currently being updated.
5747
a6768cc5
GM
5748 * window.c (Fset_window_point): Remove test for
5749 cursor_in_non_selected_windows.
5750
4ea7fdca
GM
5751 * lread.c (read1): Recognize end of file after `\\'.
5752
8062e53a
GM
5753 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5754 not unwind_create_frame.
5755
bb7959c1
GM
57562000-12-15 Dave Love <fx@gnu.org>
5757
5758 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5759 bcopy & al.
5760
5761 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5762
ced04c42
KH
57632000-12-15 Kenichi Handa <handa@etl.go.jp>
5764
c5443913
KH
5765 * coding.c (setup_coding_system): Clear all members of the struct
5766 coding_system at first.
bc137305
KH
5767 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5768 argument.
5769 (code_convert_region): Don't override coding->src_multibyte and
5770 coding->dst_multibyte.
c5443913 5771
ced04c42
KH
5772 * fns.c (Fmd5): Docstring improved.
5773
c2d7f289
MB
57742000-12-15 Miles Bader <miles@gnu.org>
5775
5776 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5777 are actually marked as mode-lines; otherwise use
5778 estimate_mode_line_height.
5779
9d7d9263
GM
57802000-12-14 Gerd Moellmann <gerd@gnu.org>
5781
5782 * editfns.c (Fformat): Prevent a buffer overrun when the format
5783 specifies a precision.
5784
7cf0153a
EZ
57852000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5786
5787 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5788 argument is outside the range [2..3].
5789
1de0f662
AI
57902000-12-14 Andrew Innes <andrewi@gnu.org>
5791
5792 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5793 nothing to do. Bind inhibit-quit.
5794 (tip_frame): Make it a Lisp_Object.
5795 (x_create_tip_frame): Set tip_frame after it has been added to
5796 Vframe_list.
5797 (Fx_show_tip): Don't set tip_frame here.
52283633 5798 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
5799 (unwind_create_frame, unwind_create_tip_frame): New functions.
5800 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5801 while a frame is only partially constructed.
5802
5803 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5804 (x_free_frame_resources): New function.
5805 (x_destroy_window): Use it.
5806
02387dcc
GM
58072000-12-14 Gerd Moellmann <gerd@gnu.org>
5808
5809 * xfns.c (Fx_backspace_delete_keys_p): New function.
5810 (syms_of_xfns): Defsubr it.
5811
5812 * config.in (HAVE_XKBGETKEYBOARD): Add.
5813
0544ef49
KH
58142000-12-14 Kenichi Handa <handa@etl.go.jp>
5815
98d62747
KH
5816 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5817 Always store string in multibyte representation in echobuf.
5818 (echo_char): Always store string in multibyte representation in
5819 echobuf.
5820 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5821 (read_key_sequence): Adjusted for the change of echo_prompt.
5822
a20193cd
KH
5823 * fns.c (Fmd5): Docstring improved.
5824
191b83b6
KH
5825 * lisp.h (detect_coding_system): Prototype adjusted.
5826
0544ef49
KH
5827 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5828 (detect_coding_emacs_mule, detect_coding_iso2022,)
5829 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
5830 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5831 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
5832 (detect_coding_mask, detect_coding_system): New argument
5833 MULTIBYTEP. Callers changed.
1da1bb05
KH
5834 (decode_coding_string): Set coding->src_multibyte and
5835 coding->dst_multibyte before calling detect_coding and detect_eol.
5836 Update them after some coding system is detected.
52283633 5837
d5b3eb1b
SM
58382000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5839
5840 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5841
5842 * keyboard.c (menu_bar_items, tool_bar_items):
5843 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5844
f7f8bb69
GM
58452000-12-13 Gerd Moellmann <gerd@gnu.org>
5846
52283633 5847 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
5848 New variables.
5849 (unwind_create_frame, unwind_create_tip_frame): New functions.
5850 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5851 while a frame is only partially constructed.
5852
5853 * xterm.h (x_free_frame_resources): Declare.
5854
5855 * xterm.c (x_free_frame_resources): New function.
5856 (x_destroy_window): Use it.
5857
e10da507
GM
5858 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5859 don't interrupt the update for pending input initially, i.e.
5860 update at least some lines.
5861
5862 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 5863
d5b3eb1b 5864 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
5865
5866 * xfns.c (gray_bitmap_bits): Declare `char *'.
5867
90aa2856
GM
58682000-12-12 Gerd Moellmann <gerd@gnu.org>
5869
5870 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5871 lines start with a relief line.
5872
a308c9cd
DL
58732000-12-12 Dave Love <fx@gnu.org>
5874
5875 * window.c (Fdisplay_buffer): Doc fix.
5876 (Fwindow_list): Remove unused var.
5877
5878 * buffer.h (mmap_set_vars): Declare.
5879
5880 * window.h (Fset_window_point): Declare.
5881
d575011f
EZ
58822000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5883
bf6282d2 5884 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
5885 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5886 variable `area'. When looking for a row under (X,Y), give up if some
5887 of the previous rows is not enabled.
d575011f 5888
ecf4d726
GM
58892000-12-12 Gerd Moellmann <gerd@gnu.org>
5890
2ebf6139
GM
5891 * window.c (Fset_window_point): If displaying cursors in windows
5892 other than the selected window, make sure redisplay updates
5893 other windows to show the new value of point in the window.
5894
5895 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5896
bfdb75ee
GM
5897 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5898 the buffer is the sole visible buffer when in the mini-buffer.
5899
52283633 5900 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
5901 Bind `inhibit-read-only' to t.
5902 (unwind_with_echo_area_buffer): Use AREF.
5903
c0006262
GM
5904 * xfns.c (Fx_hide_tip): Simplified.
5905
52283633
SM
5906 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5907 instead of `1'.
e9a59cad 5908
ecf4d726
GM
5909 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5910
e5959a9a
GM
59112000-12-11 Gerd Moellmann <gerd@gnu.org>
5912
a3642e49 5913 * xfns.c (Fx_hide_tip): Fix last change.
52283633 5914
44b5a125
GM
5915 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5916 nothing to do. Bind inhibit-quit.
5917 (tip_frame): Make it a Lisp_Object.
5918 (x_create_tip_frame): Set tip_frame after it has been added to
5919 Vframe_list.
5920 (Fx_show_tip): Don't set tip_frame here.
5921
5922 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5923
5924 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5925 Lisp_Object.
5926
5927 * dispextern.h: Change external declaration of tip_frame.
5928
d990421f
GM
5929 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5930 return an empty string.
5931
4db87380
GM
5932 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5933 of the window's update_mode_line flag, since the former is set by
5934 force-mode-line-update, not the latter. This makes
5935 column-number-mode slightly faster.
52283633 5936
e5959a9a
GM
5937 * xdisp.c (try_window_id) <all changes above window start>:
5938 Set the cursor.
5939
169fe44e
GM
59402000-12-11 Paul Eggert <eggert@twinsun.com>
5941
5942 * config.in (HAVE_FTELLO): Remove.
5943 (HAVE_FSEEKO): Add.
5944 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5945 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5946 HAVE_FTELLO.
5947 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5948 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 5949
59ec59ae
MB
59502000-12-11 Miles Bader <miles@gnu.org>
5951
5952 * window.c (displayed_window_lines): Don't round up when
5953 converting empty space at bottom to lines.
ff904dd6
MB
5954 Handle non-newline-terminated final lines properly.
5955 (Fwindow_text_height): New function (used to be in lisp).
5956 (syms_of_window): Initialize it.
59ec59ae 5957
42ebfa31
SM
59582000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5959
5960 * syntax.c (scan_lists): Check that the right quote char has the
5961 right Sstring syntax when jumping over strings.
5962 (init_syntax_once): Use Smax rather than 13.
5963
5cdb3cf3
MB
59642000-12-09 Miles Bader <miles@gnu.org>
5965
5966 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5967 with PARTIALLY, inverting the sense.
5968 (window_scroll_pixel_based): Scroll partially visible lines into
5969 place if we hit the beginning or end of the buffer.
a12167c5
MB
5970 (displayed_window_lines): Don't include partially visible lines.
5971 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 5972
842b2a94
GM
59732000-12-08 Gerd Moellmann <gerd@gnu.org>
5974
5975 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5976
5977 * tparam.c (tparam1): Change the way buffers are reallocated to be
5978 portable and less obfuscated.
5979
5980 * termcap.c (tgetent): Change the way buffers are reallocated to
5981 be portable and less obfuscated.
5982
5983 * macros.c (store_kbd_macro_char): Change the way buffers are
5984 reallocated to be portable and less obfuscated.
5985
5986 * lread.c (read1): Change the way buffers are reallocated to be
5987 portable and less obfuscated.
5988
5989 * doc.c (Fsubstitute_command_keys): Change the way buffers
5990 are reallocated so that it is portable.
5991
137cad7c
EZ
59922000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
5993
5994 * dosfns.c (Ffile_system_info): New function.
5995 (syms_of_dosfns): Defsubr it.
5996
5c7f629c
SM
59972000-12-07 Stefan Monnier <monnier@cs.yale.edu>
5998
5999 * alloc.c (gc_sweep): Add comment.
6000
959e647d
GM
60012000-12-07 Gerd Moellmann <gerd@gnu.org>
6002
52283633
SM
6003 * sound.c (vox_configure): Change order of ioctls.
6004 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
6005 Ignore errors when changing volume.
6006 (vox_close): Don't reset the device.
6007
926b7e5e
GM
6008 * process.c (read_process_output): Make sure the process marker's
6009 position is valid when the process buffer is changed in
6010 after-change functions. W3 does that.
52283633 6011
959e647d
GM
6012 * xfns.c (x_free_gcs): New function.
6013
6014 * xterm.h (x_free_gcs): Add prototype.
6015
6016 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6017 freeing GCs here.
6018
6019 * xterm.c (x_destroy_window): Call x_free_gcs so that
6020 resources of non-toolkit X windows will be freed.
6021
478ea067
AI
60222000-12-07 Andrew Innes <andrewi@gnu.org>
6023
6024 * w32fns.c (xlfd_charset_of_font): Fix last change.
6025
fbee3231
DL
60262000-12-06 Dave Love <fx@gnu.org>
6027
67292061
DL
6028 * md5.h (__P): Don't define -- it comes from config.h.
6029
fbee3231
DL
6030 * strftime.c: Change some #if foo to #ifdef foo.
6031
4ee87dbb
AI
60322000-12-06 Andrew Innes <andrewi@gnu.org>
6033
6034 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6035
52283633 6036 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 6037 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 6038 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 6039
9765b4a4
GM
60402000-12-06 Gerd Moellmann <gerd@gnu.org>
6041
d285b373
GM
6042 * alloc.c (gc_sweep): Prevent symbols read during loadup
6043 from being freed.
6044
384333ee
GM
6045 * xdisp.c (underlying_face_id): New function.
6046 (handle_face_prop, face_before_or_after_it_pos): Use it
6047 to determine the face ``under'' a string. Let strings inherit
6048 the face of the buffer under them.
6049
6050 * xfaces.c (face_at_string_position): Update function comment.
52283633 6051
d4b72d58
GM
6052 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6053 matrix if the window's left position has changed; we need to
6054 redraw it in this case.
6055
6056 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6057
e1d05387
GM
6058 * window.c (coordinates_in_window): Check mouse on mode-line or
6059 header-line first.
6060
eb1b0c74
GM
6061 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6062 advertized by the function documentation.
6063
d94d636f
GM
6064 * window.c (syms_of_window): Doc fix.
6065
3887b449
GM
6066 * sound.c (vox_configure): Set volume for left and right channel.
6067 (sound_cleanup): Return nil.
6068
efc8f57a
GM
6069 * xdisp.c (move_it_by_lines): Fix paren typo.
6070
9765b4a4
GM
6071 * xterm.c (x_load_font): Don't use the font's max_bounds for
6072 computing the height of the font. If max_bounds' ascent or
6073 descent are greater than the font's ascent or descent, this means
6074 glyphs overlap, which should be handled now by redisplay.
6075
6529ed87
GM
6076 * window.c (Veven_window_heights): New variable.
6077 (syms_of_window): DEFVAR_LISP it.
6078 (Fdisplay_buffer): Check Veven_window_heights before evening the
6079 window heights.
52283633 6080
0eb2ecde
MB
60812000-12-06 Miles Bader <miles@gnu.org>
6082
6083 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6084 update `default-frame-alist' instead of setting no frame parameters.
6085
03d7a167
KH
60862000-12-06 Kenichi Handa <handa@etl.go.jp>
6087
6088 * composite.c (update_compositions): Fix typo (use the correct
6089 variable).
6090
5f8803c2
JR
60912000-12-05 Jason Rumney <jasonr@gnu.org>
6092
6093 * md5.h: Remove underscores from function declarations.
6094 (__attribute__, __alignof__) [!__GNUC__]: Define.
6095
6096 * md5.c: Delay include of md5.h until after namespace cleaning.
6097
c28a075b
JR
6098 * makefile.w32-in (fns.o): Depend on md5.h
6099 (md5.o): New target.
6100 (sunfns.o): Remove.
6101
6102 * makefile.nt: Likewise.
6103
ff3c7056
JR
61042000-12-05 Jason Rumney <jasonr@altavista.net>
6105
6106 * w32term.c (expose_area): Complete last change.
6107
0c21eeeb
KR
61082000-12-05 Ken Raeburn <raeburn@gnu.org>
6109
6110 * minibuf.c: Include intervals.h.
6111
f201d732
JR
61122000-12-05 Jason Rumney <jasonr@gnu.org>
6113
6114 * w32term.c (x_produce_glyphs): If a font for a component of
6115 a composition is not found, use 1 pixel dot ascent and 0 dot
6116 descent value to avoid displaying terribly tall empty boxes.
6117 (expose_area): Pass x-coordinate relative to the exposed
6118 area to x_draw_glyphs instead of a window-relative coordinate.
6119
21999ab9
GM
61202000-12-05 Gerd Moellmann <gerd@gnu.org>
6121
4d2036e4
GM
6122 * xdisp.c (next_element_from_ellipsis): Save face before selective
6123 display in saved_face_id, and set face_before_selective_p.
6124 (reseat_1): Reset face_before_selective_p.
6125 (append_space, extend_face_to_end_of_line): If iterator's
6126 face_before_selective_p is set, use the face from saved_face_id.
6127 (extend_face_to_end_of_line): For tty frames, make sure to
6128 use the right face id when producing spaces at the end of
6129 the line.
6130
6131 * dispextern.h (struct it): Add face_before_selective_p.
6132
52be17cc
GM
6133 * keyboard.c (record_char): Don't record identical help-echo
6134 events in recent_keys.
6135
8a4f36cc
GM
6136 * xterm.c [USE_X_TOOLKIT]: Close the display.
6137 (xim_close_dpy): Handle case that the display has been closed.
6138
57d6e381
GM
6139 * xterm.c (x_destroy_window): Reset the frame's X window after
6140 destroying it.
6141
21999ab9
GM
6142 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6143 variable window_width.
6144 (line_draw_cost): Fix code skipping over spaces at the end of the
6145 line when must_write_spaces is not set.
6146 (scrolling_window): Fix code inserting runs in list of all runs.
6147
91372bb7
KH
61482000-12-05 Kenichi Handa <handa@etl.go.jp>
6149
6150 * coding.c (setup_coding_system): Be sure to initialize
6151 coding->category_idx.
6152
6c083b4c
GM
61532000-12-04 Gerd Moellmann <gerd@gnu.org>
6154
0c68ce6f 6155 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 6156
6452929e
GM
6157 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6158 area to x_draw_glyphs instead of a window-relative coordinate.
6159
d7f31e22
GM
6160 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6161 error in the message.
6162
ae18aa3b
GM
6163 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6164 timer after having read a key. It's not good for code reading
6165 several keys in a loop, like an input method.
6166
caa15ef7
GM
6167 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6168 record undo information for format-decode.
6169
6170 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6171 current buffer is read-only, not if it isn't.
6172
6c083b4c
GM
6173 * keyboard.c (record_char): Record `help-echo' input events
6174 in recent_keys only if they display some help. Don't record
6175 `help-echo' events as macro char.
6176
caa15ef7
GM
61772000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6178
6179 * editfns.c (save_excursion_restore): Don't move point
6180 in another window if it is showing the wrong buffer.
6181 Avoid the call to Fwindow_live_p, for speed.
6182
5a13529b
KH
61832000-12-04 Kenichi Handa <handa@etl.go.jp>
6184
e225faa7
KH
6185 * xfaces.c (struct font_name): New member registry_priority.
6186 (split_font_name): Initialize the above member to zero.
6187 (concat_font_list): New function.
6188 (font_list): Include fonts of all alternative registries.
6189 (FONT_POINT_SIZE_QUANTUM): New macro.
6190 (better_font_p): Ignore point size difference less than
6191 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6192
e89648b4
KH
6193 * xterm.c (x_produce_glyphs): If a font for a component of
6194 a composition is not found, use 1 pixel dot ascent and 0 dot
6195 descent value to avoid displaying terribly tall empty boxes.
6196
5a13529b
KH
6197 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6198
d7935eb6
KR
61992000-12-03 Ken Raeburn <raeburn@gnu.org>
6200
6201 * coding.h (code_convert_string1): Declare.
6202
6203 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6204
52283633 6205 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 6206
0dd5e255
JR
62072000-12-02 Jason Rumney <jasonr@gnu.org>
6208
6209 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6210 correctly for single byte character case.
6211 (w32_per_char_metric): Do not try to make any assumptions about
6212 the metrics of BDF fonts.
250cfece 6213 (x_estimate_mode_line_height): If `mode-line' face
52283633 6214 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
6215 (note_mouse_highlight): Change the cursor shape on the vertical
6216 border between windows [not enabled].
6217
6218 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6219
6220 * w32fns.c (Fx_create_frame): Reintroduce the call to
6221 face-set-after-frame-defaults.
6222 (Vx_window_horizontal_drag_shape): New variable.
6223 (syms_of_xfns): DEFVAR_LISP it.
6224 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6225 enabled].
0dd5e255 6226
b5d8d2ca
GM
62272000-12-02 Simon Josefsson <simon@josefsson.org>
6228
6229 * fns.c (Fmd5): Use a different logic to decide the coding system
6230 to use.
6231
6232 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6233
fbb87147
EZ
62342000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6235
52283633 6236 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 6237
447e9da0
GM
62382000-12-01 Gerd Moellmann <gerd@gnu.org>
6239
7708ced0
GM
6240 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6241 height for YNegative.
6242 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6243 height; also see comment there.
6244
447e9da0
GM
6245 * window.c (coordinates_in_window): Handle computations for
6246 positions on the vertical bar and fringes differently for
6247 window-system frames. Consider some pixels near the vertical bar
6248 as on the bar if the frame doesn't have vertical scroll bars.
6249 Associate positions between mode or header lines with the
6250 right window, the left one.
6251
86d1db20
JR
62522000-12-01 Jason Rumney <jasonr@gnu.org>
6253
6254 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6255
6256 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6257 invalid frame.
6258
a1d58e5b
GM
62592000-12-01 Gerd Moellmann <gerd@gnu.org>
6260
52283633 6261 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
6262 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6263 (save_window_save, Fset_window_configuration): Save/restore
6264 window's orig_top and orig_height.
6265
89c609af
JR
62662000-12-01 Jason Rumney <jasonr@gnu.org>
6267
4d177746 6268 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 6269
89c609af
JR
6270 * w32fns.c (x_set_cursor_color): Fix last change.
6271
eccc05db
GM
62722000-11-30 Gerd Moellmann <gerd@gnu.org>
6273
31b6671b
GM
6274 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6275 sure that the next redisplay displays the minibuffer, so that
6276 the cursor will be replaced with what the minibuffer wants.
6277
eccc05db
GM
6278 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6279 #ifndef instead of using #if.
6280 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6281 USE_TOOLKIT_SCROLL_BARS is defined.
6282
162de750
JR
62832000-11-30 Jason Rumney <jasonr@gnu.org>
6284
6285 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6286 x_display_cursor.
6287
693c4692
GM
62882000-11-30 Gerd Moellmann <gerd@gnu.org>
6289
6290 * fns.c (Fmd5): Doc fix.
6291
b5d8d2ca 62922000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
6293
6294 * fns.c (Fmd5): New function.
6295 (syms_of_fns): Defsubr md5.
6296
6297 * Makefile.in (obj): Add md5.o
6298
b02cd40b
GM
62992000-11-30 Gerd Moellmann <gerd@gnu.org>
6300
edfb795e
GM
6301 * md5.h, md5.c: New files, taken from glibc.
6302
df3aedcf
GM
6303 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6304
b02cd40b 6305 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 6306 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 6307
8b5176cd
SM
63082000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6309
6310 * eval.c (Frun_hooks): Allow 0 arguments.
6311
346598f1
GM
63122000-11-29 Gerd Moellmann <gerd@gnu.org>
6313
f9396e03
GM
6314 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6315 is over the menu bar widget, say it's not on the frame.
6316
4a967a9b
GM
6317 * xfns.c (Fx_create_frame): Reintroduce the call to
6318 face-set-after-frame-defaults.
6319
346598f1
GM
6320 * eval.c (Fsignal): Reset handling_signal.
6321
222456a1
JR
63222000-11-28 Jason Rumney <jasonr@gnu.org>
6323
6324 * w32menu.c (add_menu_item): Reset menu item text when changing
6325 type to radio button.
6326
8049ddc0
GM
63272000-11-28 Gerd Moellmann <gerd@gnu.org>
6328
346598f1 6329 * xselect.c: Update copyright.
f4f4ee4d 6330
bebe4a2c
GM
6331 * window.c (coordinates_in_window): If on a mode or header line,
6332 but sufficiently close to its start, return ``on vertical
6333 border''. This gives us a way to drag windows horizontally when
6334 using toolkit scroll bars.
6335
6336 * xterm.c (note_mouse_highlight): Change the cursor shape
6337 on the vertical border between windows.
6338
6339 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6340
6341 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6342 (syms_of_xfns): DEFVAR_LISP it.
6343 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6344
8d2c2642
GM
6345 * textprop.c (text_read_only): New function.
6346 (verify_interval_modification): Use it instead of signaling
6347 `text-read-only'. This makes it easier to catch this error
52283633 6348 with a breakpoint.:
8d2c2642 6349
52283633 6350 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
6351 not end of line, which includes CR.
6352
5a2bae6c
KH
63532000-11-28 Kenichi Handa <handa@etl.go.jp>
6354
6355 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6356 include no-conversion.
6357
ae31f84d
JR
63582000-11-27 Jason Rumney <jasonr@gnu.org>
6359
6360 * w32fns.c (w32_load_system_font): Always mark font as double byte
6361 if codepage is unicode.
6362
67f1cf4c
GM
63632000-11-27 Gerd Moellmann <gerd@gnu.org>
6364
4a74d071 6365 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 6366 just consume it to avoid unintended skipping over invisible text below.
4a74d071 6367
902ae620
GM
6368 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6369 `vertical-line', `mode-line' and `header-line' events.
6370
6371 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
6372 of a character, a TAB for instance. This is easier than to set
6373 up the iterator exactly, and it's not a frequent case, so the
6374 additional effort wouldn't really pay off.
6375
c1e279c2
AC
63762000-11-26 Andrew Choi <akochoi@i-cable.com>
6377
67f1cf4c 6378 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
6379 init_window_once.
6380
a609568a
JR
63812000-11-25 Jason Rumney <jasonr@gnu.org>
6382
52283633
SM
6383 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6384 Args to window_from_coordinates should be pixel coordinates.
48b21762 6385
a609568a
JR
6386 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6387 redisplay handles them properly.
6388
a658d039
MB
63892000-11-25 Miles Bader <miles@gnu.org>
6390
6391 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6392
d3416cca
JR
63932000-11-24 Jason Rumney <jasonr@gnu.org>
6394
6395 * w32.c (init_environment): Set LANG environment variable based on
6396 locale settings, if not set.
6397
6398 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6399 making tool bar smaller. When clearing the frame, also
6400 clear current matrices. Clear frame when tool bar disappears.
6401 Don't use more lines for the tool-bar than is available.
6402 (x_change_window_heights): New function.
6403
ba193890
GM
64042000-11-24 Gerd Moellmann <gerd@gnu.org>
6405
2be8f184
GM
6406 * xdisp.c (init_from_display_pos): If POS says we're already after
6407 an overlay string ending at POS, make sure to pop the iterator
6408 because it will be in front of that overlay string. When POS is
6409 ZV, we've thereby also ``processed'' overlay strings at ZV.
6410
ba193890
GM
6411 * xfaces.c (lface_from_face_name): Function comment fix.
6412
1862a24e
MB
64132000-11-24 Miles Bader <miles@gnu.org>
6414
6415 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6416 apply `mode-line-inverse-video' -- zero means force display using
6417 the default face, non-zero means display using the specialized face.
6418 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6419
f07fa1b8
KH
64202000-11-23 Kenichi Handa <handa@etl.go.jp>
6421
6422 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6423 hard coded `4'.
6424
2bcdf662
EZ
64252000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6426
6427 * coding.c (decode_coding_emacs_mule): Fix the case of
6428 CODING_EOL_LF, which used uninitialized value of c.
6429
ba8299ff
SM
64302000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6431
6432 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6433
f4117c4d
GM
64342000-11-22 Gerd Moellmann <gerd@gnu.org>
6435
03e757c1
GM
6436 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6437 buffer object.
6438
f4117c4d
GM
6439 * frame.h (struct frame): Replace desired_tool_bar_items,
6440 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 6441 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
6442
6443 * frame.c (make_frame): Change initialization of tool bar
6444 items accordingly.
6445
6446 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 6447 Change references to members deleted from struct frame to use the
f4117c4d
GM
6448 new ones.
6449
6450 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 6451 references to members deleted from struct frame to use the new ones.
f4117c4d 6452
52283633 6453 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
6454
6455 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6456
6457 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 6458 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
6459 from struct frame to use the new ones.
6460
f8e2f3f2
MB
64612000-11-23 Miles Bader <miles@gnu.org>
6462
6463 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6464 the face's inverse-video attribute, rather than overriding it.
6465
60e8e0a5
GM
64662000-11-22 Gerd Moellmann <gerd@gnu.org>
6467
6468 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6469 making tool bar smaller.
6470
92dd1b29
DL
64712000-11-22 Dave Love <fx@gnu.org>
6472
6473 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6474
e672fdce
MB
64752000-11-22 Miles Bader <miles@gnu.org>
6476
3a17d6cc
MB
6477 * keyboard.c (Vminibuffer_message_timeout): New variable.
6478 (command_loop_1): Use it to determine message timeout.
6479 (syms_of_keyboard): Initialize it.
6480
60e8e0a5 6481 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 6482
e9655d81
KH
64832000-11-22 Kenichi Handa <handa@etl.go.jp>
6484
6485 * sysdep.c: Move the code for declaring h_errno after #include
6486 <netdb.h>.
6487
77270fac
GM
64882000-11-21 Gerd Moellmann <gerd@gnu.org>
6489
cd913aae
GM
6490 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6491 the menu bar when the tooltip is unmapped.
6492
77270fac
GM
6493 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6494 sole visible buffer when we're currently in the mini-buffer, and
6495 give up if so.
52283633 6496
556635d6
JR
64972000-11-21 Jason Rumney <jasonr@gnu.org>
6498
6499 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6500 put on the clipboard.
6501 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6502 copy of what Emacs last put there. If they are the same, do not
52283633 6503 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 6504
5b7bde64
MB
65052000-11-22 Miles Bader <miles@gnu.org>
6506
6507 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6508 (syms_of_minibuf): Initialize it.
6509 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6510 to prompt, don't make read-only.
6511
ff23e1dd
GM
65122000-11-21 Gerd Moellmann <gerd@gnu.org>
6513
52283633
SM
6514 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6515 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 6516
7aaf4388
GM
6517 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6518
f5f47add 6519 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 6520
ff23e1dd
GM
6521 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6522
37c35586
KH
65232000-11-21 Kenichi Handa <handa@etl.go.jp>
6524
6525 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6526 ... #endif scope.
6527
ff9ab414
GM
65282000-11-20 Gerd Moellmann <gerd@gnu.org>
6529
52283633 6530 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
6531 screen supports it.
6532
29a01b72
GM
6533 * s/gnu-linux.h: Don't use `#cpu'.
6534
09dfdf85
GM
6535 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6536 not defined in mman.h.
6537
52283633 6538 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
6539 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6540 and store an index in the XClientMessageEvent. Storing a
6541 Lisp_Object or pointer can fail on a 64 bit system, since X only
6542 transfers 32 bits.
52283633
SM
6543 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6544
81459ac9
DL
65452000-11-20 Dave Love <fx@gnu.org>
6546
6547 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6548
56c13ae6
GM
65492000-11-20 Gerd Moellmann <gerd@gnu.org>
6550
6551 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6552
495a6df3
KH
65532000-11-20 Kenichi Handa <handa@etl.go.jp>
6554
2bcf3714
KH
6555 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6556 by WIDTH.
6557
495a6df3
KH
6558 * alloc.c (make_string): Fix previous change. Be sure to make
6559 unibyte string correctly.
6560
6d950f4c
GM
65612000-11-19 Gerd Moellmann <gerd@gnu.org>
6562
39b39373
GM
6563 * window.c (Fwindow_list): Change parameter list to be XEmacs
6564 compatible.
6565 (window_list_1): New function.
6566 (window_loop): Use it instead of Fwindow_list.
6567
b95b34e5
GM
6568 * sysdep.c (emacs_ospeed): New variable.
6569 (toplevel): Don't declare ospeed extern.
6570 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6571
6572 * termcap.c (ospeed): Remove.
6573 (tputs) [!emacs]: Remove unused code.
6574 (tgetent): Avoid a compiler warning.
6575
e83dc917
GM
6576 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6577 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 6578 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
6579
6580 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6581 removed.
6582 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6583 Take the X display as additional argument.
6584 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6585 `Widget' is a pointer type that's not easily stored in Lisp_Object
6586 form in a portable way.
52283633 6587
6d950f4c
GM
6588 * dispnew.c (update_text_area): Fix last change.
6589
e47306e6
GM
65902000-11-18 Gerd Moellmann <gerd@gnu.org>
6591
fb3cd89b
GM
6592 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6593
6594 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6595 clear current matrices.
6596
edaa9aed
GM
6597 * buffer.c (mmap_enlarge): Don't print a message on stderr
6598 if mapping new memory at the end of the existing region fails.
6599
e47306e6
GM
6600 * dispnew.c (update_text_area): Don't skip over equal glyphs
6601 when the last current glyph overlaps the glyph to its right.
6602
509633e3
MB
66032000-11-18 Miles Bader <miles@gnu.org>
6604
6605 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6606 lines that *end* with "..." too (that's the most common case!).
6607
d392e9c5
GM
66082000-11-18 Gerd Moellmann <gerd@gnu.org>
6609
67988445
GM
6610 * xdisp.c (resize_mini_window): Temporarily change to the
6611 mini-window's buffer if necessary.
1bfdbe43 6612
d392e9c5
GM
6613 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6614 the tooltip obscures less text under it.
6615
66162000-11-17 Gerd Moellmann <gerd@gnu.org>
6617
6618 * puresize.h (BASE_PURESIZE): Increase to 700000.
6619
92bb977f
JR
66202000-11-18 Jason Rumney <jasonr@gnu.org>
6621
6622 * w32term.c (w32_draw_bitmap): Use face to set colors.
6623
26fbf20b
DL
66242000-11-17 Dave Love <fx@gnu.org>
6625
6626 * lread.c (Fload): Fix #ifdef for pcc.
6627
100b593b
GM
66282000-11-17 Gerd Moellmann <gerd@gnu.org>
6629
6630 * xdisp.c (pos_visible_p): Compute the default character height
6631 differently.
6632
a288d0d1
GM
66332000-11-16 Gerd Moellmann <gerd@gnu.org>
6634
cac94de6 6635 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 6636 knowing the line's height; use the default font's height in that case.
cac94de6 6637
a288d0d1
GM
6638 * xfaces.c (weight_table): Add `demi' with the same meaning as
6639 `demibold'.
6640
981fb6f6
KH
66412000-11-16 Kenichi Handa <handa@etl.go.jp>
6642
2cca872d 6643 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
6644 (clear_glyph_row): Delete local static variable null_row.
6645
e5fa381b
JR
66462000-11-15 Jason Rumney <jasonr@gnu.org>
6647
6648 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6649 (w32_alloc_lighter_color): Use new brightness calculations from
6650 xterm.c. Scale delta to be in the range expected by W32.
6651 (w32_draw_relief_rect): Use frame relief colors.
6652
8e42f043
GM
66532000-11-15 Gerd Moellmann <gerd@gnu.org>
6654
6d133d1f
GM
6655 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6656 (Qinhibit_default_face_x_resources): New variable.
6657 (syms_of_frame): Initialize it.
6658 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6659
6660 * xdisp.c (pos_visible_p): Improve function comment.
6661
6662 * lisp.h (BINDING_STACK_SIZE): New macro.
6663
8e42f043
GM
6664 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6665 reading the directory if readdir returns null and errno is EAGAIN
6666 or EINTR.
6667
e8c87124
SM
66682000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6669
6670 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6671 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6672 Set amount_to_scroll to max of dx and scroll_step so that
6673 scroll-conservatively doesn't defeat scroll-step>1.
6674 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6675 scroll-conservatively for line-at-a-time scrolling.
6676
5f0c971d
GM
66772000-11-14 Gerd Moellmann <gerd@gnu.org>
6678
6679 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6680 extra argument.
6681
6682 * xdisp.c (current_mode_line_height, current_header_line_height):
6683 New variables.
6684 (init_xdisp): Initialize them.
6685 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6686 and use exact mode line heights if it is set.
6687
6688 * lisp.h (pos_visible_p): Change prototype.
6689
6690 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6691 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6692 and current_header_line_height first.
52283633
SM
6693 (current_mode_line_height, current_header_line_height):
6694 Declare extern.
5f0c971d 6695
d7361edf
MB
66962000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6697
6698 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6699 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6700 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6701
ee5e440a
MB
67022000-11-14 Miles Bader <miles@gnu.org>
6703
6704 * xterm.c (x_alloc_lighter_color): Include an additive component
6705 too for dark colors, because FACTOR isn't enough.
6706 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6707 New macros.
6708
5ca020fc
GM
67092000-11-13 Gerd Moellmann <gerd@gnu.org>
6710
6711 * keyboard.c (show_help_echo): Call message3_nolog with number of
6712 bytes in the help string as 2nd parameter, instead of the number
6713 of characters.
6714
9d348294
MB
67152000-11-13 Miles Bader <miles@gnu.org>
6716
6717 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6718 (Fload): Use new openp return protocol.
6719 Don't try to use Vload_source_file_function to load .elc files.
6720 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6721 openp return protocol.
6722 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6723
1729bb9a
KH
67242000-11-11 Kenichi Handa <handa@etl.go.jp>
6725
4e677396
KH
6726 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6727
6728 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6729 Defined these macros.
6730 (NLIST_STRUCT): Avoid re-defining it.
6731
1729bb9a
KH
6732 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6733 -I/usr/contrib/X11R6/include.
6734 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6735
a82fe213
JR
67362000-11-10 Jason Rumney <jasonr@gnu.org>
6737
6738 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6739
6740 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6741 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6742
6743 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6744 (Qw32_charset_vietnamese): New symbol.
6745 (xlfd_charset_of_font): New function.
6746 (w32_load_system_font): Use it.
6747 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6748 when Vw32_charset_info_alist is nil to ensure default face always
6749 has font. Use Fcar and Fcdr for safety.
6750 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6751 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6752 pseudo-codepages for special cases.
6753 (w32_to_x_font): New parameter to allow charset portion to be
6754 specified where there is many to one mapping. Callers changed.
6755 (w32_list_fonts): Avoid listing fonts that won't display.
6756
52d89894
GM
67572000-11-10 Gerd Moellmann <gerd@gnu.org>
6758
6759 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6760 (font_list_1): Renamed from font_list.
6761 (font_list): New function, trying alternative registries from
6762 Vface_alternative_font_registry_alist.
6763 (Finternal_set_alternative_font_registry_alist): New function.
6764 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
6765 Vface_alternative_font_registry_alist.
6766 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 6767
651cd3da
KR
67682000-11-09 Ken Raeburn <raeburn@gnu.org>
6769
6770 * lisp.h (Flooking_at): Declare.
6771
388ac098
GM
67722000-11-09 Gerd Moellmann <gerd@gnu.org>
6773
778fbc46 6774 * dired.c (directory_files_internal): Fix a braino.
52283633 6775
388ac098
GM
6776 * dired.c (directory_files_internal): Add missing GCPRO's.
6777 Some cleanup.
6778
ecaedde1
GM
67792000-11-08 Gerd Moellmann <gerd@gnu.org>
6780
f7eb32aa
GM
6781 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6782 (resize_mini_window): Return quickly if Vresize_mini_window is
6783 nil. Don't return if Vmax_mini_window_height is nil.
6784
6785 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6786 (syms_of_xdisp): Initialize them.
6787 (resize_mini_window): Act according to the setting of
6788 Vresize_mini_window.
6789 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6790
ecaedde1
GM
6791 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6792 scroll bar widget after configuring it, so that it will appear at
6793 the right position from the start.
6794 (XTredeem_scroll_bar): Cleaned up.
6795
3747ef2c
KH
67962000-11-08 Kenichi Handa <handa@etl.go.jp>
6797
6798 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 6799 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
6800 division by two.
6801
6802 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6803
03391420
DL
68042000-11-07 Dave Love <fx@gnu.org>
6805
7758f1c1 6806 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
6807
6808 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6809
b5de343d
GM
68102000-11-07 Gerd Moellmann <gerd@gnu.org>
6811
acad3c0b
GM
6812 * window.c (Fset_window_configuration): Don't try to preserve
6813 point in the current buffer, if that buffer is displayed in more
6814 than one window.
6815
b5de343d
GM
6816 * xfaces.c (lookup_named_face): If default face isn't realized,
6817 try to realize it. Return -1 if not successful.
6818 (Fx_list_fonts): Handle case that face cannot be determined.
6819 (Fface_font): Likewise.
6820
cdb1fe49
GM
68212000-11-06 Gerd Moellmann <gerd@gnu.org>
6822
6823 * window.c (displayed_window_lines): Detect partially
6824 visible lines at the bottom correctly.
6825
d3a67486
SM
68262000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6827
6828 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6829 when ensuring we don't do visit in indirect buffer.
6830
ff8dd5d5
KH
68312000-11-06 Kenichi Handa <handa@etl.go.jp>
6832
6833 * composite.h (compose_chars_in_text): Add prototype.
6834
6835 * composite.c (Vcomposition_function_table): New variable.
6836 (Qcomposition_function_table): New variable.
6837 (run_composition_function): Call
6838 Vcompose_chars_after_function with three arguments.
6839 (compose_chars_in_text): New function.
6840 (syms_of_composite): Modified the doc-string of
6841 Vcompose_chars_after_function. Declare composition-function-table
6842 as a lisp variable, and initialize it.
6843
6844 * xfns.c (x_encode_text): Suppress producing escape sequences for
6845 composition.
6846
6847 * xselect.c: Include composite.h.
6848 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6849
d1145f85
AI
68502000-11-05 Andrew Innes <andrewi@gnu.org>
6851
6852 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6853
6854 * sysdep.c (read_input_waiting): Remove extraneous argument to
6855 read_socket_hook.
6856
6857 * w32fns.c (Fx_server_version): Include w32_build_number in the
6858 return list.
6859
6860 * w32heap.c (w32_build_number): New variable.
6861 (cache_system_info): Set it.
6862
6863 * w32heap.h (w32_build_number): Add extern.
6864
6865 * emacs.c (syms_of_emacs): Update docstring for
6866 system-configuration, to reflect the actual usage on MS-Windows.
6867
e85ee976
GM
68682000-10-31 Gerd Moellmann <gerd@gnu.org>
6869
26dcb81b
GM
6870 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6871 process idle timers while waiting for another event.
6872
52283633 6873 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
6874 the default face are colored.
6875
e85ee976
GM
6876 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6877 window height hasn't changed.
6878
01b220b6
JR
68792000-10-31 Jason Rumney <jasonr@gnu.org>
6880
6881 * w32term.c (x_produce_glyphs): Handle composite characters.
6882 (x_draw_glyph_string_foreground)
6883 (x_draw_composite_glyph_string_foreground): Restore old font.
6884
4e6b7204
MB
68852000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6886
6887 * minibuf.c (read_minibuf): Reset the undo history just before
6888 starting the recursive-edit.
6889
d4358b37
GM
68902000-10-30 Gerd Moellmann <gerd@gnu.org>
6891
563f68f1
GM
6892 * xfaces.c (menu_face_change_count): New variable.
6893 (Finternal_set_lisp_face_attribute): Increment it for changes
6894 of the `menu' face.
6895 (realize_basic_faces): Reflect changes in the `menu' faces
6896 in menu bars.
6897
82e274d1
GM
6898 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6899 dy obtained from the iterator's y-position after moving from
6900 scroll_margin_pos to PT; see comment there.
52283633 6901
0dbf9fd2
GM
6902 * xdisp.c (safe_eval_handler): Call add_to_log.
6903
906b3b14
GM
6904 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6905 is not a symbol or string.
6906
d4358b37
GM
6907 * xdisp.c (echo_area_display): Don't perform a display update from
6908 inside redisplay. The update will happen anyway at the end of
6909 redisplay, and it can confuse redisplay (GC messages while
6910 redisplaying, for instance.)
6911
70c825df
SM
69122000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6913
cf9b4b0b
SM
6914 * xrdb.c (x_load_resources): Use the class name in the defaults.
6915
70c825df
SM
6916 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6917 (regex_compile): Catch bogus \(\1\).
6918
a1d34b1e
GM
69192000-10-30 Gerd Moellmann <gerd@gnu.org>
6920
cae71efe
GM
6921 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6922 RGB values.
52283633 6923
35efe0a1
GM
6924 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6925 we have a color cache, check that the cached color equals the
6926 allocated color. If not, clear the color cache.
6927
1d3baf74
GM
6928 * window.c (displayed_window_lines): Change buffers if necessary.
6929 Fix computation of displayed lines.
6930
a1d34b1e
GM
6931 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6932 update_menu_bindings to DEFVAR_BOOL.
6933
70737ea9
KH
69342000-10-30 Kenichi Handa <handa@etl.go.jp>
6935
70c825df 6936 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 6937
fa0cb51d
KH
6938 * puresize.h (BASE_PURESIZE): Increase to 680000.
6939
70737ea9
KH
6940 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6941
0e4c08e8
JR
69422000-10-29 Jason Rumney <jasonr@gnu.org>
6943
6944 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6945
6946 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6947 (w32_cache_char_metrics): Handle possibility that 'x' does not
6948 exist in a BDF font.
6949 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6950
6951 * w32bdf.h (bdffont): Add nchars.
6952
6953 * w32bdf.c (set_bdf_font_info): Set it.
6954 (w32_BDF_TextOut): Swap byte order of double byte characters.
6955 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6956
45b84006
EZ
69572000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6958
6959 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6960 don't override the colors in frame's param_alist, unless they are
6961 unspecified.
6962
6963 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6964 reverse the effect of the highlight flag.
6965
caf9deee
KR
69662000-10-27 Ken Raeburn <raeburn@gnu.org>
6967
6968 * window.h (Fwindow_live_p): Declare.
6969
ae0b9b46
KR
6970 * undo.c (record_delete): Check that last_undo_buffer is really a
6971 buffer before applying XBUFFER to it.
6972
6973 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6974 Faref.
6975
02067692
SM
69762000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6977
6978 * lisp.h (KEYMAPP): New macro.
6979 (get_keymap): Remove.
6980 (get_keymap_1): Rename get_keymap.
6981
6982 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
6983
6984 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
6985
6986 * xmenu.c (single_submenu): Use KEYMAPP.
6987 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6988 Use KEYMAPP rather than Fkeymapp.
6989
6990 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
6991
6992 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
6993 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
6994 Use KEYMAPP rather than Fkeymapp.
6995 (single_submenu): Use KEYMAPP.
6996 (w32_menu_show, w32_dialog_show): Use TRUE.
6997
6998 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
6999
7000 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7001 (Fkeymapp): Use KEYMAPP.
7002 (get_keymap): Rename from get_keymap_1. Remove old def.
7003 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7004 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7005 (Fminor_mode_key_binding): Don't raise an error if the binding
7006 is not a keymap.
7007 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7008 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7009
7010 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7011 Allow Vspecial_event_map to be autoloaded.
7012 (menu_bar_items): Fetch the keymap rather than using keymapp.
7013 (menu_bar_one_keymap): No need to follow func-indirect any more.
7014 (parse_menu_item): get_keymap_1 -> get_keymap.
7015 (tool_bar_items): Fetch the keymap rather than using keymapp.
7016 (read_key_sequence): Use KEYMAPP.
7017
7018 * intervals.c (get_local_map): Use get_keymap rather than following
7019 function-indirections explicitly.
7020
7021 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7022
f9d80af3
JR
70232000-10-27 Jason Rumney <jasonr@gnu.org>
7024
7025 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7026 point, as Windows has oversized fonts.
7027
7028 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7029
a3ba27da
GM
70302000-10-27 Gerd Moellmann <gerd@gnu.org>
7031
7032 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7033 (freehook, reallochook): Handle null pointer arguments.
7034 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7035
aa3b80cc
SM
70362000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7037
7038 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7039 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7040 Giving in to popular pressure to shut up the compiler with casts.
7041
e24e84cc
GM
70422000-10-27 Gerd Moellmann <gerd@gnu.org>
7043
7044 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7045 signed value, and use a default value computed from the font's
7046 maximum descent.
7047
05ea7ef2
MB
70482000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7049
7050 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7051 that specify a negative underline position can still use underlines.
7052
7053 * window.c (Fpos_visible_in_window_p): Make POS default to
7054 WINDOW's point, not the current buffer's point.
7055
0b95284b
DL
70562000-10-26 Dave Love <fx@gnu.org>
7057
7058 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7059 when it's necessary.
7060
6c5b90af
GM
70612000-10-26 Gerd Moellmann <gerd@gnu.org>
7062
8b6d9dc9
GM
7063 * window.c (size_window): Compute size difference from sum of old
7064 child window sizes instead of from parent's size.
7065
6bc92b2e
GM
7066 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7067 Handle obscured lines at the top of the window.
7068
7069 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7070 down after the last error condition check.
7071
6c5b90af
GM
7072 * frame.c (Fdelete_frame): Run delete-frame-hook.
7073
42f92d4d
KH
70742000-10-26 Kenichi Handa <handa@etl.go.jp>
7075
7076 * coding.c (decode_coding): Fix previous change (check also
7077 CODING_MODE_LAST_BLOCK).
7078
d97151cb
SM
70792000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7080
e7efc503
SM
7081 * regex.c: More `unsigned char' -> `re_char' changes.
7082 Also change several `int' into `re_wchar_t'.
7083 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7084 (PUSH_FAILURE_POINTER): Don't cast any more.
7085 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7086 We want GCC to complain, since this piece of code makes
7087 re_match non-reentrant, which *should* be fixed.
7088 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7089 (EXTEND_BUFFER): Use RETALLOC.
7090 (SET_LIST_BIT): Don't cast.
7091 (re_wchar_t): New type.
7092 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7093 that those two functions will always properly return.
7094 (IMMEDIATE_QUIT_CHECK): Cast to void.
7095 (analyse_first): Use recursion rather than an explicit stack.
7096 (re_compile_fastmap): Can't fail anymore.
7097 (re_search_2): Don't check re_compile_fastmap for failure.
7098 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7099 Now also sets the new value (passed in a new argument).
7100 (re_match_2_internal): Use it.
7101 Also, use a new var `reg' of type size_t when looping through regs
7102 rather than reuse the inappropriate `mcnt'.
7103
d97151cb
SM
7104 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7105 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7106 (where_is_internal): Renamed from Fwhere_is_internal.
7107 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7108 (Fwhere_is_internal): New function wrapping where_is_internal.
7109 (where_is_internal_1): Handle the case where we're filling the cache.
7110 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7111
d5789b65
MB
71122000-10-25 Miles Bader <miles@gnu.org>
7113
7114 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7115
4ecda532
GM
71162000-10-25 Gerd Moellmann <gerd@gnu.org>
7117
7118 * window.c (pos_fully_visible_p): Removed.
7119 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7120 if position is visible and/or fully visible.
7121
7122 * lisp.h (pos_visible_p): Add prototype.
7123
7124 * xdisp.c (pos_visible_p): New function.
7125
68c3a137
KH
71262000-10-25 Kenichi Handa <handa@etl.go.jp>
7127
7128 * process.c (send_process): If OBJECT is t, it means that the data
7129 is from C string, but we should encode it. Before calling
7130 setup_raw_text_coding_system, be sure to flush out data by the
7131 previous coding system.
7132
7ae1c032
MB
71332000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7134
ff4dcd4b
MB
7135 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7136 assignment of startpos to prev when startpos == pos.
7137
7ae1c032
MB
7138 * editfns.c (find_field): Set the field stickiness correctly from
7139 overlay fields. Use renamed `text_property_stickiness'.
7140 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 7141 Only check text properties, not overlays.
7ae1c032
MB
7142 * textprop.c (get_char_property_and_overlay): New function.
7143 (Fget_char_property): Use it.
7144 * intervals.h (get_char_property_and_overlay): Add declaration.
7145
49801145
SM
71462000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7147
7148 * keymap.c: Use AREF, ASET and ASIZE macros.
7149 (Fmake_sparse_keymap): Docstring fix.
7150 (synkey): Remove.
7151 (shadow_lookup): Move up.
7152 Handle the case where lookup-key returns an integer.
7153 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7154 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7155 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7156 Simplify/rewrite the keymap-finding code.
7157 Add check for command shadowing, using shadow_lookup.
7158
39e776cd
SM
71592000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7160
7161 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7162 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7163 a symbol.
7164
2488aba5
AI
71652000-10-24 Andrew Innes <andrewi@gnu.org>
7166
7167 * dired.c (directory_files_internal_unwind): New function.
7168 (directory_files_internal): Use it to ensure closedir is called
7169 even if expand-file-name or file-attributes throw, eg. because of
7170 a user interrupt. Also enable immediate_quit while calling
7171 re_search, so that matching can be interrupted as well.
7172
b94fdf61
AI
71732000-10-24 Andrew Innes <andrewi@gnu.org>
7174
7175 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7176 NT-Emacs only.
7177 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7178 so that re_search functions only quit when callers expect them to.
7179
71802000-10-24 Kenichi Handa <handa@etl.go.jp>
7181
7182 * regex.c (regex_compile): Change the way of handling a range from
7183 a char less than 256 to a char not less than 256.
7184
1946f901
GM
71852000-10-24 Gerd Moellmann <gerd@gnu.org>
7186
7ae2f10f
GM
7187 * window.c (size_window): Prevent setting window's width or
7188 height to a negative value (esp. with XSETFASTINT).
7189
5dcab13e
GM
7190 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7191 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7192 (protect_malloc_state) [GC_MALLOC_CHECK &&
7193 GC_PROTECT_MALLOC_STATE]: New function.
7194 (PROTECT_MALLOC_STATE): New macro.
7195 (__malloc_initialize, morecore, _malloc_internal)
7196 (_free_internal) _realloc_internal): Use it to make _heapinfo
7197 read-only outside of gmalloc.
7198
63e1b552
GM
7199 * keymap.c: Update copyright.
7200
1946f901
GM
7201 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7202 a symbol.
7203
4fa09beb
GM
72042000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7205
7206 * filelock.c (unlock_all_files): Use unlock_file to expand each
7207 buffer's file_truename before trying remove its lock file.
7208
23afac01
EZ
72092000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7210
7211 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7212 or CRLF, decode EOLs.
7213
04448b95
KH
72142000-10-24 Kenichi Handa <handa@etl.go.jp>
7215
7216 * window.c (Fdisplay_buffer): Fix doc.
7217
3090a5a5
JR
72182000-10-23 Jason Rumney <jasonr@gnu.org>
7219
7220 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7221 ASCII font of default fontset on Windows.
7222
7223 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7224 xterm.c comment below).
7225
7226 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7227
a83fee2c
GM
72282000-10-23 Gerd Moellmann <gerd@gnu.org>
7229
7230 * xterm.c (x_connection_closed): Reset handling_signal.
7231
52283633 7232 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 7233
6ffdb539
MB
72342000-10-23 Miles Bader <miles@gnu.org>
7235
7236 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7237 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7238 maintain old behavior.
7239 * minibuf.c (Fminibuffer_complete): Likewise.
7240
7f1c969b
MB
72412000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7242
7243 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7244 that when a font can't be exactly centered, it errs up rather than
7245 down.
7246
23afac01 72472000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 7248
52283633 7249 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 7250
1a578e9b
AC
72512000-10-23 Andrew Choi <akochoi@i-cable.com>
7252
7253 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7254
7255 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 7256 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
7257
7258 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7259 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7260 syms_of_search, x_term_init, and init_keyboard before calling
7261 init_window_once. Also, call syms_of_xmenu.
7262
7263 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7264 default fontset to Monaco.
7265
7266 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7267 NewMacWindow and DisposeMacWindow.
7268 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7269 instead of calling NewMacWindow and setting fields of
7270 f->output_data.mac directly. Call init_frame_faces.
7271 (Fdelete_frame) [macintosh]: Remove unused code.
7272 (Fmodify_frame_parameters) [macintosh]: Call
7273 x_set_frame_parameters instead of mac_set_frame_parameters.
7274
7275 * frame.h [macintosh]: Define menu_bar_lines field in struct
7276 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7277
7278 * keyboard.c [macintosh]: Include macterm.h.
7279 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7280 and menu_bar_activate_event type events as for X and NT.
7281 (make_lispy_event) [macintosh]: Construct lisp events of type
7282 MENU_BAR_EVENT as for X and NT.
7283
7284 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7285 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7286 (sys_subshell) [macintosh]: Remove definition entirely.
7287 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7288 Vwindow_system_version here. Remove initialization of
7289 Vx_bitmap_file_path.
7290 (read_input_waiting): Correct the number of parameters passed to
7291 read_socket_hook.
7292 Move all Macintosh functions to mac/mac.c.
7293
7294 * term.c [macintosh]: Include macterm.h.
7295
7296 * window.c [macintosh]: Include macterm.h.
7297
7298 * xdisp.c [macintosh]: Include macterm.h. Declare
7299 set_frame_menubar and pending_menu_activation.
7300 (echo_area_display) [macintosh]: Do not return if terminal frame
7301 is the selected frame.
7302 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7303 Allow only the selected frame to set menu bar.
7304 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7305 calling FRAME_EXTERNAL_MENU_BAR (f).
7306 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7307
7308 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7309 and check_x. Declare XCreateGC. Define x_create_gc and
7310 x_free_gc. Initialize font_sort_order.
7311 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7312 but call x_list_fonts instead of w32_list_fonts.
7313 (Finternal_face_x_get_resource) [macintosh]: Do not call
7314 display_x_get_resource.
7315 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7316 (realize_x_face) [macintosh]: Load the font if it is specified in
7317 ATTRS.
52283633 7318 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 7319
1ffbabe3
SM
73202000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7321
7322 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7323 is nil: since we go to the end of submap anyway, we'd end up
7324 setting nil to nil.
7325 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7326 doesn't obey autoload.
7327
bed43f1d
EZ
73282000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7329
1ffbabe3 7330 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 7331
ea4233a7
JR
73322000-10-21 Jason Rumney <jasonr@gnu.org>
7333
7334 * w32term.c (w32_cache_char_metrics): Double check that font is
7335 really fixed pitch before trusting tmPitchAndFamily.
7336
f3d3c491
AI
73372000-10-21 Andrew Innes <andrewi@gnu.org>
7338
7339 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7340
7341 * w32term.h: Extern decl for w32_cache_char_metrics.
7342
7343 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7344
7345 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7346 (w32_unload_font): Free per_char array if present.
7347
7348 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7349 cached information in emulated XFontStruct to handle common cases
7350 quickly. Do not allocate XCharStruct for return.
7351 (w32_native_per_char_metric): New function.
7352 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7353 allocating one.
7354 (x_produce_glyphs): Don't get an HDC. Change calls to
7355 w32_per_char_metric to match arg change above. Remove calls to
7356 free results.
7357 (w32_get_glyph_overhangs): Ditto.
7358 (w32_cache_char_metrics): New function.
7359
7360 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7361 ($(BLD)/casefiddle.$(O)): Remove compile command.
7362 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
7363 ($(BLD)/dispnew.obj):
7364 ($(BLD)/keyboard.obj):
7365 ($(BLD)/w32inevt.obj):
7366 ($(BLD)/w32bdf.obj):
7367 ($(BLD)/alloc.obj):
7368 ($(BLD)/buffer.obj):
7369 ($(BLD)/editfns.obj):
7370 ($(BLD)/emacs.obj):
7371 ($(BLD)/fileio.obj):
7372 ($(BLD)/fns.obj):
7373 ($(BLD)/indent.obj):
7374 ($(BLD)/insdel.obj):
7375 ($(BLD)/intervals.obj):
7376 ($(BLD)/minibuf.obj):
7377 ($(BLD)/print.obj):
7378 ($(BLD)/scroll.obj):
7379 ($(BLD)/sysdep.obj):
7380 ($(BLD)/textprop.obj):
7381 ($(BLD)/widget.obj):
f3d3c491
AI
7382 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7383 ($(BLD)/term.obj): Add dependency on dispextern.h.
7384
52283633
SM
7385 * makefile.nt ($(BLD)\dispnew.obj):
7386 ($(BLD)\keyboard.obj):
7387 ($(BLD)\w32inevt.obj):
7388 ($(BLD)\w32bdf.obj):
7389 ($(BLD)\alloc.obj):
7390 ($(BLD)\buffer.obj):
7391 ($(BLD)\editfns.obj):
7392 ($(BLD)\emacs.obj):
7393 ($(BLD)\fileio.obj):
7394 ($(BLD)\fns.obj):
7395 ($(BLD)\indent.obj):
7396 ($(BLD)\insdel.obj):
7397 ($(BLD)\intervals.obj):
7398 ($(BLD)\minibuf.obj):
7399 ($(BLD)\print.obj):
7400 ($(BLD)\scroll.obj):
7401 ($(BLD)\sysdep.obj):
7402 ($(BLD)\textprop.obj):
7403 ($(BLD)\widget.obj):
f3d3c491
AI
7404 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7405 ($(BLD)\term.obj): Add dependency on dispextern.h
7406
18ad4821
EZ
74072000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7408
7409 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7410 with an additional argument of Qt.
7411
de54681a
MB
74122000-10-21 Miles Bader <miles@gnu.org>
7413
7414 * window.c (pos_fully_visible_in_window_p): New function.
7415 (Fpos_visible_in_window_p): Add FULLY argument.
7416 Use pos_fully_visible_in_window_p.
7417 (window_scroll_pixel_based, window_scroll_line_based): Update
7418 calls to Fpos_visible_in_window_p.
7419 * lisp.h (Fpos_visible_in_window_p): Update prototype
7420
13c844fb
GM
74212000-10-20 Gerd Moellmann <gerd@gnu.org>
7422
7423 * alloc.c (toplevel): Conditionalize compilation of mem_*
7424 functions differently.
52283633 7425
d9506268
JR
74262000-10-20 Jason Rumney <jasonr@gnu.org>
7427
7428 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7429 mem_init where it used to be. mem_z etc not defined otherwise.
7430
8094989b
GM
74312000-10-20 Gerd Moellmann <gerd@gnu.org>
7432
7433 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7434 GC_MALLOC_CHECK.
7435 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7436 structure definition and related variabled to the top of the file.
7437 Include this code when GC_MALLOC_CHECK is defined.
7438 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7439 register/unregister allocated region.
7440 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7441 which isn't allocated.
7442 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7443 something which is already in use.
7444 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7445 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7446 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7447 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7448
7449 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7450 _malloc_internal instead of malloc.
7451 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7452 of free.
7453
ea456eb4
AI
74542000-10-20 Andrew Innes <andrewi@gnu.org>
7455
7456 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7457 Windows.
7458 (my_strftime) <macro>: Don't use macro arg list when redefining as
7459 _strftime_copytm.
7460 (my_strftime) <function>: Supply 0 as ut argument.
7461
e64c3a75
JR
74622000-10-19 Jason Rumney <jasonr@altavista.net>
7463
7464 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7465 including dispextern.h, as it stops faces from working.
7466
7467 * w32fns.c (Fx_create_frame): Don't bother calling
7468 face-set-after-frame-default since the caller does it for us
7469 anyway. Clean up calls to x_get_arg to be consistent with X.
7470
7471 * w32term.c (x_produce_glyphs): Handle
7472 unibyte_display_via_language_environment correctly.
7473 (w32_draw_box_rect): Fix the calculation of width and height.
7474
7475 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7476 as it has stopped working.
7477 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7478 menu-bar.
7479
17401c97
GM
74802000-10-19 Gerd Moellmann <gerd@gnu.org>
7481
7482 * eval.c (skip_debugger): Prevent a compiler warning.
7483 (Fcondition_case): Likewise.
7484 (Fbacktrace_frame): Use a null interactive spec.
7485
773272d8
KH
74862000-10-19 Kenichi Handa <handa@etl.go.jp>
7487
7488 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7489
a42943e9
GM
74902000-10-18 Gerd Moellmann <gerd@gnu.org>
7491
e50517d9
GM
7492 * strftime.c: Sync with glibc, file version 1.78.
7493 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7494 should no longer be used according to ISO 8601.
7495
9035a35a
GM
7496 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7497 no map for meta_prefix_char, don't try to use it as a keymap.
7498 Instead, if T_OK is non-zero, look up a default binding, if any,
7499 otherwise, if T_OK is zero, return nil.
7500
a42943e9
GM
7501 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7502 (x_to_xcolors, png_load): Use x_query_color.
7503
52283633
SM
7504 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7505 New functions.
a42943e9
GM
7506 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7507 which can be slow.
7508 (x_copy_color, x_alloc_lighter_color): Likewise.
7509
7510 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7511 (x_query_color, x_query_colors): Add prototype.
7512
7513 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7514 check_string_bytes only if not noninteractive, increase count to 50.
7515
00de2987
MB
75162000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7517
7518 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7519 markers correctly.
7520
54918e2b
GM
75212000-10-17 Gerd Moellmann <gerd@gnu.org>
7522
1f0b3fd2
GM
7523 * alloc.c (pure_bytes_used): Renamed from pureptr.
7524 (ALIGN): New macro.
7525 (pure_alloc): New function.
7526 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7527 Use it.
7528 (Fpurecopy): Use PURE_POINTER_P.
7529
68c5d1db
GM
7530 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7531 PT has moved backward.
52283633 7532
9a038881
GM
7533 * xdisp.c (cursor_row_p): Take continued lines into account.
7534
361b097f
GM
7535 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7536 string's size_byte.
7537 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7538 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7539 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7540 string allocated.
7541
54918e2b
GM
7542 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7543 of selective display off while searching for the next line start.
7544
03ed0806
KH
75452000-10-17 Kenichi Handa <handa@etl.go.jp>
7546
7547 * Makefile.in (term.o): Depend on dispextern.h.
7548
7e05cdaf
SM
75492000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7550
7551 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7552
a6801fd1
GM
75532000-10-16 Gerd Moellmann <gerd@gnu.org>
7554
483de32b
GM
7555 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7556 the iterator at the beginning, so that they can be set later on,
7557 for instance in reseat_at_next_visible_line_start, without being
7558 overwritten.
7559
a6801fd1
GM
7560 * xfns.c (pbm_format): Add :foreground and :background keywords.
7561 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 7562 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 7563
dbf1fcc1
EZ
75642000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7565
7566 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7567
52283633 7568 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
7569
7570 * msdos.c (IT_set_face): Compare highlighted face with the default
7571 face, and invert colors if these faces' colors are identical.
7572 (Fmsdos_remember_default_colors): Don't swap foreground and
7573 background colors in initial_colors[].
7574 (IT_set_frame_parameters): Don't swap frame's foreground and
7575 background pixels. If ALIST includes "(reverse . t)", swap
7576 foreground-color and background-color properties in frame's
7577 param_alist. If the original frame's param_alist doesn't specify
7578 the colors, store unspecified-fg and unspecified-bg, reversed if
7579 required.
7580
7581 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7582 the colors are unspecified and reversed, reverse fore- and back-
7583 ground in the returned value.
7584 (Fframe_parameter): Ditto.
7585
b41fe2c3 75862000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 7587
3a6b59d9
GM
7588 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7589 get_last_unchanged_at_beg_row.
7590 (find_first_unchanged_at_end_row): Renamed from
7591 get_first_unchanged_at_end_row.
7592 (find_first_unchanged_at_end_row): Convert assertions to
7593 unconditional tests which abort. When looking for a row in
7594 unchanged text, don't go further back than first_text_row.
7595
b41fe2c3
GM
7596 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7597 Don't add in the last line's height when deciding if the new
7598 position is below the scroll margin.
9d1af64f 7599
b41fe2c3 76002000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
7601
7602 * editfns.c (Fconstrain_to_field): Check carefully for field
7603 boundaries if either OLD_POS or NEW_POS has a non-nil field
7604 property, even if they're the same.
7605
c412cb7b
KH
76062000-10-16 Kenichi Handa <handa@etl.go.jp>
7607
7608 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7609 height for XFillRectangle.
7610
5586f3eb
SM
76112000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7612
7613 * syntax.c (Fstring_to_syntax): New function extracted from
7614 Fmodify_syntax_entry.
7615 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7616 (skip_chars, Fforward_comment): Remove unused variables.
7617 (syms_of_syntax): Add defsubr for string-to-syntax.
7618 (describe_syntax): Add code for comment and string fences.
7619
db785038
SM
76202000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7621
7622 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7623 Do the meta->esc mapping. Call get_keyelt before returning.
7624 Start scanning from the second element (the first is always `keymap')
7625 to make it easier to detect when we reach a parent map.
7626 Handle the case of inheriting from a symbol whose function is a map.
7627 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7628 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7629 (get_keyelt, Flookup_key): Update call to access_keymap.
7630 Remove the meta->esc mappings.
7631 (define_as_prefix): Delete old disabled code.
7632 (menu_item_p): New function.
7633 (where_is_internal_1): Skip over the few remaining menu items.
7634 * lisp.h (access_keymap): Update prototype.
7635 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7636 Update call to access_keymap.
7637 (follow_key, read_key_sequence): Update calls to access_keymap.
7638 Remove the meta->esc mappings.
7639
cafafe0b
GM
76402000-10-13 Gerd Moellmann <gerd@gnu.org>
7641
a2e2a7f6
GM
7642 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7643 with additional argument.
7644
cafafe0b
GM
7645 * xdisp.c (cursor_row_p): New function.
7646 (try_cursor_movement, display_line): Use it.
52283633 7647
cafafe0b
GM
7648 * xdisp.c (append_space): Also save/restore iterator's current
7649 character and its length.
7650
7651 * xdisp.c (init_from_display_pos): Add an assertion.
7652 (handle_stop): Don't set iterator's add_overlay_start.
7653 (handle_invisible_prop): Likewise.
7654 (load_overlay_strings): If text under an overlay is invisible,
7655 take both before- and after-strings into account when the iterator
7656 is positioned either at the start or at the end of the overlay.
7657 (forward_to_next_line_start): Rewritten.
7658 (reseat_at_next_visible_line_start): Rewritten.
7659 (set_iterator_to_next): Add parameter RESEAT_P.
7660
7661 * dispextern.h (struct it): Remove member add_overlay_start.
7662 (set_iterator_to_next): Change prototype.
7663
c744452b
KH
76642000-10-13 Kenichi Handa <handa@etl.go.jp>
7665
7666 * coding.c (code_convert_region): Be sure to initialize
7667 coding->category_idx.
e4a3f4e1
KH
7668 (decode_coding_string): Set coding->src_multibyte and
7669 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7670 (encode_coding_string): Set coding->src_multibyte and
7671 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 7672
321fd26f
SM
76732000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7674
7675 * xfns.c (Fx_create_frame): Don't bother calling
7676 face-set-after-frame-default since the caller does it for us anyway.
7677
76832439
EZ
76782000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7679
7680 * window.c (coordinates_in_window): Fix detection of vertical line
7681 on character terminals.
7682
2483cf58
GM
76832000-10-12 Gerd Moellmann <gerd@gnu.org>
7684
7685 * editfns.c (save_excursion_save): Additionally record the
7686 selected window.
7687 (save_excursion_restore): If buffer was visible in a window, and a
7688 different window was selected, and the old selected window is
7689 still live, restore point in that window.
7690
eb991b25
KH
76912000-10-12 Kenichi Handa <handa@etl.go.jp>
7692
8a0eba09
KH
7693 * xterm.c (x_produce_glyphs): Handle
7694 unibyte_display_via_language_environment correctly.
7695
20401fcc
KH
7696 * regex.c (regex_compile): Change the way of handling a range from
7697 unibyte char to multibyte char.
7698
7699 * syntax.c (skip_chars): Change the way of handling a range from
7700 unibyte char to multibyte char.
7701
eb991b25
KH
7702 * process.c (read_process_output): Cancel previous change.
7703
365dd325
EZ
77042000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7705
c1b096cb
EZ
7706 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7707
365dd325
EZ
7708 * charset.c (Ffind_charset_string): Doc fix.
7709 (Ffind_charset_region): Doc fix.
7710
eb483c2b
KH
77112000-10-11 Kenichi Handa <handa@mule.m17n.org>
7712
7713 * process.c (read_process_output): Fix previous change. Adjust
7714 multibyteness of text to insert in a buffer by
52283633 7715 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 7716
b40bfb99
AS
77172000-10-10 Andreas Schwab <schwab@suse.de>
7718
7719 * alloc.c (mark_object): Remove all workarounds installed on
7720 1993-08-08.
7721
caff31d4
KH
77222000-10-10 Kenichi Handa <handa@etl.go.jp>
7723
52283633 7724 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
7725 (base64_encode_1): Make it work for a text of multibyte form.
7726 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7727 case. Don't call str_to_multibyte because base64_decode_1
7728 produces correct multibyte form for eight-bit codes.
52283633 7729 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
7730 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7731 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7732 codes.
7733
7734 * charset.h (CHAR_STRING): Optimized for single byte characters.
7735
cba026ef
AS
77362000-10-09 Andreas Schwab <schwab@suse.de>
7737
7738 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7739 -1 after socket is closed, to fall through to error processing.
7740
1e21fe48
EZ
77412000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7742
7743 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 7744 variables. If ALIST includes foreground-color or
1e21fe48
EZ
7745 background-color, change also the colors of the default face for
7746 this frame.
7747
a640322e
EZ
77482000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7749
7750 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7751 them extern (they are defined on xfaces.c).
7752 (syms_of_msdos): Don't intern and don't staticpro
7753 Qbackground_color and Qforeground_color.
7754
a115794c
EZ
77552000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7756
7757 * frame.c (Fframe_parameter): For non-windowed frames, if
7758 f->param_alist says foreground or background color is unspecified,
7759 call tty_color_name to return the color name computed from the
7760 frame's current colors.
7761
f5533b63
DL
77622000-10-06 Dave Love <fx@gnu.org>
7763
7764 * terminfo.c (ospeed): Don't declare.
7765
7766 * sysdep.c: Don't include string.h.
7767 (h_errno): Declare conditional also on TRY_AGAIN.
7768
7769 * charset.c (Ffind_charset_string): Doc fix.
7770
52283633 7771 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
7772 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7773 error messages.
7774
2b06561a
DL
77752000-10-05 Dave Love <fx@gnu.org>
7776
7777 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7778 position like menu-bar.
7779
ca839c85
GM
77802000-10-05 Gerd Moellmann <gerd@gnu.org>
7781
7782 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7783
7784 * xdisp.c (handle_single_display_prop): Use safe_call1.
7785 (safe_call): Renamed from call_function.
7786 (safe_call1): New function.
7787 (handle_fontified_prop): Use safe_call1 instead of call1.
7788 (safe_eval): Renamed from eval_form.
7789 (safe_eval_handler): Renamed from eval_handler.
7790 (handle_single_display_prop, display_mode_element): Use safe_eval
7791 instead of eval_form.
7792
7793 * xfaces.c (merge_face_heights): Use safe_call instead of
7794 call_function.
7795
7796 * keyboard.c (show_help_echo): Use safe_call instead of
7797 call_function; use safe_eval instead of eval_form.
7798
7799 * lisp.h (safe_call): Renamed from call_function.
7800 (safe_eval): Renamed from eval_form.
7801 (safe_call1): Add prototype.
7802
a3489ece
MB
78032000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7804
7805 * xfns.c (image_ascent): Rearrange ascent calculation for the
7806 has-a-font case.
7807
35810b6f
SM
78082000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7809
7810 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7811 (where_is_internal_1): Don't bother ignoring menu-items any more.
7812
3dc78168
GM
78132000-10-04 Gerd Moellmann <gerd@gnu.org>
7814
7815 * keyboard.c (update_menu_bindings): New variable.
7816 (parse_menu_item): Use AREF. If update_menu_bindings
7817 is 0, don't update menu bindings.
7818 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7819
1efc2bb9
EZ
78202000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7821
7822 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7823 to `mark_object'.
7824
3f679f55
SM
78252000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7826
7827 * syntax.c (forw_comment): Match nestedness of ender/starter.
7828 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7829 (prev_char_comstart_first): Remove.
7830 (back_comment): Check two-char comment markers more carefully
7831 to better handle overlapping cases like *//* or /* */* */ ...
7832 Match nestedness of ender/starter.
7833
2021ab61
DL
78342000-10-02 Dave Love <fx@gnu.org>
7835
7836 * config.in (HAVE_GAI_STRERROR): Add undef.
7837
7838 * process.c (Fopen_network_stream): Use it.
7839
7840 * m/alpha.h (NO_REMAP): Don't define.
7841
64e6cc18
GM
78422000-10-02 Gerd Moellmann <gerd@gnu.org>
7843
7844 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7845 return with a string converted to an integer or vice versa when
7846 Vmocklisp_arguments is t.
7847 (Fsignal): Likewise. The function can return for `quit'.
7848 (struct gcpro): Declare member `var' to point to a volatile
7849 Lisp_Object.
7850
7851 * eval.c (error): Prevent compiler warning.
7852
b1904cd9
SM
78532000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7854
7855 * keymap.c (keymap_memberp): New function.
7856 (Fset_keymap_parent): Use it.
7857 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7858 Use keymap_memberp to avoid creating cycles.
7859 (access_keymap): Use KEYMAPP.
7860
71c9ec51
GM
78612000-09-30 Gerd Moellmann <gerd@gnu.org>
7862
7863 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
7864 gai_strerror. Make sure xerrno is set if connect fails. Improve
7865 error recovery.
71c9ec51 7866
c70c6b58
JR
78672000-09-29 Jason Rumney <jasonr@gnu.org>
7868
7869 * w32term.c (w32_char_font_type, w32_encode_char)
7870 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7871 (w32_bdf_per_char_metric): New function.
7872 (w32_per_char_metric): Use it.
7873 (x_draw_glyph_string_background): Always draw background for BDF
7874 glyphs.
7875
7876 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7877 GDI object which is a scarce resource.
7878
7879 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7880 (get_quoted_string): Fix limit on memchr search.
7881 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7882 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7883 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7884 (get_cached_font_char, cache_char_offset): Use macro
7885 BDF_CODEPOINT_RANGE_COVER_P.
7886 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7887 (clear_cached_bitmap_slots): New function.
7888 (GET_HEX_VALUE): G-Z, g-z are not hex.
7889 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7890 (get_bitmap_with_cache): Use new cache implementation.
7891 (create_offscreen_bitmap): New function.
7892 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7893
7894 * w32term.c (x_produce_glyphs): If the distance from the current
7895 position to the next tab stop is less than a canonical character
7896 width, use the tab stop after that.
7897 (x_draw_glyphs): Handle case START and END are out of bounds more
7898 carefully.
7899 (x_clear_mouse_face): Block/unblock input.
7900 (x_display_and_set_cursor): Don't show a hollow box cursor for
7901 buffers whose cursor_type is nil.
7902
fe01239f
GM
79032000-09-29 Gerd Moellmann <gerd@gnu.org>
7904
52283633 7905 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
7906
7907 * dispextern.h (updating_frame): Declare extern.
7908
e7c52f1f
AS
79092000-09-29 Andreas Schwab <schwab@suse.de>
7910
7911 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7912
de6e1f7c
GM
79132000-09-29 Gerd Moellmann <gerd@gnu.org>
7914
25126faa
GM
7915 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7916 use its function definition.
7917 (tool_bar_items): Likewise.
7918
de6e1f7c 7919 * lisp.h (fatal): Declare NO_RETURN.
52283633 7920
454ee39b
KH
79212000-09-29 Kenichi Handa <handa@etl.go.jp>
7922
7923 * keymap.c: Remove the line "#undef NULL".
7924
96301c5f
GM
79252000-09-28 Gerd Moellmann <gerd@gnu.org>
7926
52283633 7927 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 7928
efffeeb4
DL
79292000-09-28 Dave Love <fx@gnu.org>
7930
ecb8b666
DL
7931 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7932
dc3cd20f
DL
7933 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7934
7935 * .gdbinit (xreload): Note its need on GNU/Linux.
7936
efffeeb4
DL
7937 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7938 r_alloc, r_alloc_free.
7939
8610d903
KH
79402000-09-28 Kenichi Handa <handa@etl.go.jp>
7941
7942 * syntax.c (skip_chars): Handle negation correctly.
7943
8901d1ac
GM
79442000-09-27 Gerd Moellmann <gerd@gnu.org>
7945
6f22f1ad
GM
7946 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7947 with non-zero FORCE_P argument.
7948
52283633 7949 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
7950 Add assertions.
7951
7952 * xdisp.c (window_box_height): Add an assertion.
7953
7954 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7955 tool-bar than is available.
7956 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7957
36f1966f
DL
79582000-09-27 Dave Love <fx@gnu.org>
7959
efffeeb4 7960 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 7961
31d929e5
GM
79622000-09-26 Gerd Moellmann <gerd@gnu.org>
7963
c98863bf
GM
7964 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7965 instead of BITS_PER_INT.
7966 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7967 EMACS_UINT, respectively.
7968 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7969
7970 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7971
7972 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7973
77072ab1
GM
7974 * window.c (freeze_window_starts): Construct last argument for
7975 foreach_window differently.
7976
7977 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7978
7979 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
7980 EMACS_UINT instead of `int' and `unsigned int'.
7981 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
7982
7983 * frame.h (struct frame): Make the `nothing' member of union
7984 output_data an EMACS_INT.
7985
52283633 7986 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
7987 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
7988 size in the sdata structure.
7989 (SDATA_NBYTES, SDATA_DATA): New macros.
7990 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
7991 differently for the different layout of the sdata structure.
7992 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
7993 in sdata.
7994 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
7995 Check that size recorded in the string size and size recorded in
7996 the sdata structure agree.
7997
3e60b029
DL
79982000-09-25 Dave Love <fx@gnu.org>
7999
8000 * buffer.c: Include stdio.h.
8001
8002 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 8003
3e60b029
DL
8004 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8005
8006 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 8007 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
8008 (__malloc_extra_blocks): Declare as __malloc_size_t.
8009
8ff16b4e
GM
80102000-09-25 Gerd Moellmann <gerd@gnu.org>
8011
755a2ccd
GM
8012 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8013
d8b4516f
GM
8014 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8015 (read_char): If help-echo is showing, preserve the echo area
8016 when redisplaying.
8017
8018 * xdisp.c (help_echo_showing_p): New variable.
8019 (set_message): Reset it to 0.
8020 (init_xdisp): Initialize help_echo_showing_p.
8021
8022 * dispextern.h (help_echo_showing_p): Declare extern.
8023
8024 * config.in: Fix typo in __GNUC_MINOR__.
8025
8026 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8027
b11af2dd
GM
8028 * s/freebsd.h (POSIX_SIGNALS): Define.
8029
8ff16b4e
GM
8030 * xterm.c (x_clear_mouse_face): Block/unblock input.
8031
844eb643
DL
80322000-09-24 Dave Love <fx@gnu.org>
8033
8034 * fns.c (base64_encode_1): Fix last change.
8035
b30ab1b3
GM
80362000-09-22 Gerd Moellmann <gerd@gnu.org>
8037
8038 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8039
8040 * xdisp.c (try_window_reusing_current_matrix): More fixes
8041 for the case window has a header-line.
8042
c6cbe5f0
DL
80432000-09-22 Dave Love <fx@gnu.org>
8044
4c7c1f3f
DL
8045 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8046 a doc string.
8047
8048 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8049
c6cbe5f0
DL
8050 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8051
550a625e
GM
80522000-09-21 Gerd Moellmann <gerd@gnu.org>
8053
4c7c1f3f 8054 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
8055 for GCC >= 2.5.
8056
52283633
SM
8057 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8058 Declare NO_RETURN.
fca99116 8059
80d26f99
GM
8060 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8061 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8062 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8063 warnings.
52283633 8064
80d26f99
GM
8065 * marker.c (byte_char_debug_check): Return void.
8066
623a0aae
GM
8067 * xfns.c (Fx_create_frame): Set default frame parameter value
8068 for tool-bar-lines to 1.
8069
8070 * dispnew.c (scrolling_window): Compare y-positions of rows
8071 equal at the start. Some simplification.
8072
8073 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8074 reused rows' y-position in the case window has a header-line, and
8075 new window start is greater than old window start.
8076
42ac0ae5
GM
8077 * process.c (process_sent_to): New variable.
8078 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8079 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8080 Declare more parameters volatile.
8081
550a625e
GM
8082 * lread.c (Vrecursive_load_depth_limit): New variable.
8083 (Fload): Check recursive loads whose recursion depth exceeds
8084 Vrecursive_load_depth_limit.
8085 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8086
8320414c
GM
80872000-09-20 Gerd Moellmann <gerd@gnu.org>
8088
f46c275e
GM
8089 * fileio.c (Fread_file_name): Doc fix.
8090
8091 * editfns.c (Fmessage_or_box): Doc fix.
8092
8093 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8094
b7e11c5b 8095 * xfns.c (xbm_scan): Allow C-style comments.
52283633 8096
8320414c
GM
8097 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8098 symbols are specified, add color translations to the cache.
52283633 8099 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
8100 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8101 xpm_cache_color.
8102 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8103 structures to xpm_init_color_cache.
8104
da1608d9
GM
81052000-09-19 Gerd Moellmann <gerd@gnu.org>
8106
52283633 8107 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 8108
6badfa25
AI
81092000-09-19 Andrew Innes <andrewi@gnu.org>
8110
8111 * makefile.nt (bootstrap-emacs): Don't change directory.
8112
3a5f42bb
KH
81132000-09-19 Kenichi Handa <handa@etl.go.jp>
8114
1b7649bd
KH
8115 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8116
3a5f42bb
KH
8117 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8118 If output buffer is too small, signal an appropriated error.
8119
9f83cf0b
DL
81202000-09-18 Dave Love <fx@gnu.org>
8121
52283633 8122 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
8123 (current_active_maps): Remove redundant get_local_map call.
8124
28c7826c
GM
81252000-09-18 Gerd Moellmann <gerd@gnu.org>
8126
5cefa566
GM
8127 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8128 cursor for buffers whose cursor_type is nil.
52283633 8129
6fed3546
GM
8130 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8131 a feature to implement that is already implemented.
8132 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8133 warnings.
8134
8135 * xfns.c (x_clear_image_1): New function.
8136 (x_clear_image): Use it.
52283633 8137 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 8138
05b1f851
GM
8139 * dispnew.c (update_window): Move test for invisible lines
8140 at the top to update_window_line.
8141 (update_window_line): Handle invisible lines here.
8142
f4779de9
GM
8143 * xfns.c (clear_image_cache): Clear current matrices of all
8144 frames sharing an image cache. Block input while freeing
8145 images. Fix timestamp comparison.
8146 (x_clear_image): Also free the mask.
8147
28c7826c
GM
8148 * xfns.c (lookup_image): Block input while loading the image so
8149 that we won't get interrupted in a state where the image isn't yet
8150 set up completely.
8151 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8152 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8153 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 8154 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 8155
b7412313
GM
81562000-09-16 Gerd Moellmann <gerd@gnu.org>
8157
8158 * dispnew.c (update_window): Make sure to make desired rows
8159 current even if they are completely invisible at the top
8160 of a window.
8161
47e351a3
GM
81622000-09-15 Gerd Moellmann <gerd@gnu.org>
8163
7f8f1edc
GM
8164 * xfns.c (lookup_image): Build mask before applying an algorithm.
8165 Recognize algorithm `disabled'.
8166 (cross_disabled_images): New variable.
8167 (COLOR_INTENSITY): New macro.
8168 (x_detect_edges): Use COLOR_INTENSITY.
8169 (x_disable_image): New function.
8170 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8171
8172 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8173 disabled state, don't apply an image transformation algorithm if
8174 the user specified an image for the disabled state. Use
28c7826c 8175 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
8176 user hasn't specified an image.
8177
ebb8f116
GM
8178 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8179 allocation functions with the XPM lib.
8180 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8181 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8182 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8183 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 8184 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
8185 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8186 functions, if possible, because these handle color allocation
8187 failure more gracefully.
8188 (Fimage_mask_p): New function.
8189
47e351a3
GM
8190 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8191 (Qedge_detection, Qheuristic): New symbols.
8192 (syms_of_xfns): Initialize new symbols.
8193 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8194 `algorithm (edge-detection ...)'.
8195 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8196 (tiff_format, gif_format, gs_format): Add `:mask'.
8197 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8198 (GIF_MASK, GS_MASK): New enumerators.
8199 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8200 (emboss_matrix, laplace_matrix): New variables.
8201 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8202 (x_edge_detection): New functions.
8203 (x_laplace): Rewritten in terms of x_detect_edges.
8204 (x_build_heuristic_mask): If image has a mask, free it.
8205
fe83b953
AI
82062000-09-14 Andrew Innes <andrewi@gnu.org>
8207
8208 * makefile.w32-in: Revert to Unix line endings.
8209
3021e816
AI
82102000-09-14 Andrew Innes <andrewi@gnu.org>
8211
8212 * makefile.w32-in: Standardize indentation somewhat.
8213 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8214 cater for differences between shells.
8215
8216 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8217
2a32b5ea
GM
82182000-09-14 Gerd Moellmann <gerd@gnu.org>
8219
8220 * xterm.c (x_produce_glyphs): If the distance from the current
8221 position to the next tab stop is less than a canonical character
8222 width, use the tab stop after that.
8223
b4331e96
DL
82242000-09-14 Dave Love <fx@gnu.org>
8225
8226 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8227
ef9e4345
GM
82282000-09-14 Gerd Moellmann <gerd@gnu.org>
8229
085536c2
GM
8230 * xdisp.c (handle_fontified_prop): While running fontification
8231 functions, bind `fontification-functions' and
8232 `after-change-functions' to nil.
8233
ef9e4345
GM
8234 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8235 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8236
8237 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8238
8239 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8240 USE_MMAP_FOR_BUFFERS.
8241
8242 * insdel.c (make_gap): Use enlarge_buffer_text.
8243
8244 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8245 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8246 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8247 from former r_alloc_* functions in ralloc.c.
52283633 8248 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
8249 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8250 (mmap_init) [REL_ALLOC_MMAP]: New function.
8251 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8252 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8253 BUFFER_FREE.
8254
8255 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8256 (enlarge_buffer_text): Add prototype.
8257
8258 * ralloc.c: Remove everything having to do with the use of mmap.
8259
f8608968
GM
82602000-09-13 Gerd Moellmann <gerd@gnu.org>
8261
2a494b2d
GM
8262 * sound.c (Fplay_sound): Doc fix.
8263
8c907a56
GM
8264 * keyboard.c: Avoid some more compiler warnings.
8265 (parse_tool_bar_item): Ignore cached key bindings.
8266
f8608968
GM
8267 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8268 and allocation of Lisp data.
8269
6ab70e9a
GM
82702000-09-12 Gerd Moellmann <gerd@gnu.org>
8271
d12d0a9b
GM
8272 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8273 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8274 defaults first.
8275
6ab70e9a
GM
8276 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8277
63c36c3c
KH
82782000-09-12 Miyashita Hisashi <himi@meadowy.org>
8279
8280 * ccl.c: Comment fixed.
8281 (MAX_MAP_SET_LEVEL): Increased to 30.
8282 (PUSH_MAPPING_STACK): Enclose with do-while block.
8283 (POP_MAPPING_STACK): Likewise.
8284 (stack_idx_of_map_multiple): New variable.
8285 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8286 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 8287 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
8288 (ccl_driver) <CCL_MapSingle>: Likewise.
8289 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8290 with the case where looking up process reaches to the end of
8291 map-set, and call CCL programs as the above change.
8292
7ee3bd7b
GM
82932000-09-11 Gerd Moellmann <gerd@gnu.org>
8294
8ec8a5ec
GM
8295 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8296 that might be clobbered by longjmp.
8297 (check_x_display_info, x_decode_color, create_frame_xic)
8298 (Fx_display_backing_store, Fx_display_visual_class)
52283633 8299 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 8300
f74b0705
GM
8301 * lread.c (init_lread): Set Vloads_in_progress to nil.
8302 (Fload): Show list of recursively loaded files, when signaling an
8303 error.
8304
7ee3bd7b
GM
8305 * lread.c (Vloads_in_progress): New variable.
8306 (record_load_unwind): New function.
8307 (Fload): Check for recursive loads.
8308 (syms_of_lread): Initialize Vloads_in_progress.
8309 (read_integer, read1): Avoid some compiler warnings.
8310
8311 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8312 compiler warnings.
8313
974e1e5b
MB
83142000-09-11 Miles Bader <miles@gnu.org>
8315
8316 * editfns.c (Fbuffer_string): Doc fix.
8317
9824c4e3
GM
83182000-09-10 Gerd Moellmann <gerd@gnu.org>
8319
8320 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8321
6a72fdd1
KR
83222000-09-09 Ken Raeburn <raeburn@gnu.org>
8323
8324 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8325 whether to include other header files.
8326
28e6fb66
GM
83272000-09-09 Gerd Moellmann <gerd@gnu.org>
8328
52283633 8329 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 8330 by Fmemq as a boolean.
28e6fb66 8331
7f8b6551
SM
83322000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8333
8334 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8335
a8710abf
GM
83362000-09-08 Gerd Moellmann <gerd@gnu.org>
8337
d1a02881
GM
8338 * ralloc.c (mmap_fd): Remove initializer which can make it
8339 read-only in a dumped Emacs.
8340 (mmap_fd_1): New variable.
8341 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8342 restore it from there.
8343 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8344 unconditionally so that mmap_fd can be initialized there.
8345 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8346 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8347 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8348
c454aac1
GM
8349 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8350
8351 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 8352 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 8353
fc653ef2
GM
8354 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8355
3015eec0
GM
8356 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8357 inheritance.
8358
bfe0ee88
GM
8359 * xdisp.c (try_window_id): When trying to locate cursor in
8360 unchanged rows at the top, handle the case that we can't find it.
8361
a8710abf
GM
8362 * xterm.c (x_draw_glyphs): Handle case START and END are out
8363 of bounds more carefully.
8364
6b7d4ae4
DL
83652000-09-08 Dave Love <fx@gnu.org>
8366
423193c5
DL
8367 * s/sol2.h (REL_ALLOC_MMAP): Define.
8368 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8369
8370 * ralloc.c: Don't include string.h (redundant).
8371 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8372 [!MAP_ANON]: Include fcntl.h.
8373 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8374 (r_alloc, r_re_alloc, r_alloc_free)
8375 (mmap_enlarge, mmap_set_vars): Use it.
8376 (r_alloc_init_fd): New function.
8377 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8378 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8379 malloc type.
8380
8381 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8382 Remove vm-limit.o.
8383
6b7d4ae4
DL
8384 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8385 change to __NetBSD__.
8386
44d31981
KH
83872000-09-08 Kenichi Handa <handa@etl.go.jp>
8388
8389 * search.c (compile_pattern): Check the multibyteness of cached
8390 string and PATTERN.
8391
aad40737
MB
83922000-09-08 Miles Bader <miles@gnu.org>
8393
8394 * xfaces.c (default_face_vector): Function removed.
8395 (Finternal_merge_in_global_face): Restore old global/local
8396 attribute override order. Use inline loop instead of calling
8397 default_face_vector.
8398
91a211b5
GM
83992000-09-07 Gerd Moellmann <gerd@gnu.org>
8400
8401 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8402 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8403 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8404 where necessary, in case POINTER_TYPE is `void'.
8405
03419440
EZ
84062000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8407
8408 * frame.c (make_terminal_frame): Initialize frame foreground and
8409 background colors to unspecified, for the initial instance of an
8410 MSDOS frame.
8411
f46f845b
GM
84122000-09-07 Gerd Moellmann <gerd@gnu.org>
8413
24f76fbf
GM
8414 * ralloc.c (mmap_find): Fix overlap computation.
8415 (mmap_enlarge): Compute nbytes before trying to find an
8416 overlapping region.
8417
f46f845b
GM
8418 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8419 instead of `!='.
8420
8421 * lread.c (syms_of_lread): Change value of regexp
8422 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8423
8424 * xmenu.c (xdialog_show): When looking up the selection in
8425 menu_items, take `quote' boundaries into account; this corresponds
8426 to a nil ITEM in x-popup-dialog.
8427
3c014385
KH
84282000-09-07 Kenichi Handa <handa@etl.go.jp>
8429
fd6f711b
KH
8430 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8431 not 0x81.
8432 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8433
3c014385 8434 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
8435 encoding, not decoding. Fix the handling of latin-jisx0201.
8436 Check for the charset katakana-jisx0201 too.
3c014385 8437 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 8438 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 8439
0da3ecef
GM
84402000-09-07 Gerd Moellmann <gerd@gnu.org>
8441
ab0ee409
GM
8442 * xfaces.c (Vparam_value_alist): New variable.
8443 (syms_of_xfaces): Initialize it.
8444 (Finternal_set_lisp_face_attribute): Avoid more consing.
8445
8446 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8447 specially.
8448 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8449 (Qbackground_mode): New variable.
8450 (syms_of_frame_1): Initialize Qbackground_mode.
8451
8452 * lisp.h (Qdisplay): Declare extern.
1091dd67 8453
0da3ecef
GM
8454 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8455 change face on all frames, and change the default for new frames.
8456
b14654b9
DL
84572000-09-07 Dave Love <fx@gnu.org>
8458
8459 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8460
d24fd56f
KH
84612000-09-07 Kenichi Handa <handa@etl.go.jp>
8462
794f3670
KH
8463 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8464
0fddd0dc
KH
8465 * charset.c: Include composite.h
8466 (lisp_string_width): New function.
8467 (Fstring_width): Call lisp_string_width instead of strwidth.
8468
8469 * Makefile.in (charset.o): Depends on composite.h.
8470
d24fd56f
KH
8471 * process.c (read_process_output): Before inserting the decoded
8472 text in the buffer, adjust the multibyteness.
8473
fa0b693c
GM
84742000-09-06 Gerd Moellmann <gerd@gnu.org>
8475
52283633 8476 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
8477 buffer's text buffer is null, map new memory.
8478
0a58f946
GM
8479 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8480 POINTER_TYPE and size_t.
8481 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8482 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8483 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8484 [REL_ALLOC_MMAP]: New macros.
8485 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8486 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8487 [REL_ALLOC_MMAP]: New functions.
8488
8489 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8490 before and after unexec.
8491
8492 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8493 text buffers if necessary.
8494
8495 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8496 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8497 in prototypes.
8498
fa0b693c
GM
8499 * config.in (HAVE_MMAP): Add #undef.
8500
877055f6
GM
85012000-09-05 Gerd Moellmann <gerd@gnu.org>
8502
08ba3862
GM
8503 * frame.c (Qdisplay_type): New variable.
8504 (syms_of_frame_1): Initialize it.
8505 (Fframe_parameter): New function that avoids consing.
8506 (syms_of_frame): Defsubr it.
8507
66ffe51c
GM
8508 * buffer.c (Fother_buffer): Consider buffers as invisible when
8509 they are displayed in a window on an invisible frame.
8510
877055f6
GM
8511 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8512 get-largest-window always return nil.
8513
bb970e67
GM
85142000-09-04 Gerd Moellmann <gerd@gnu.org>
8515
8516 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8517 variable; recognize Emacs 19 elc files.
8518
7a3d0e0e
MB
85192000-09-04 Miles Bader <miles@gnu.org>
8520
8521 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8522 before initially popping up the menu, so the menu doesn't flash
52283633 8523 when the face settings are significantly different from the defaults.
7a3d0e0e 8524
14473664
SM
85252000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8526
8527 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8528 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8529 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8530 (BIT_UNIBYTE): Remove.
8531 (re_match_2_internal): Delete corresponding code and streamline the
8532 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8533 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8534 (re_wctype_t): New type.
8535 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8536 (regex_compile): Use them and fix handling of overly long char classes.
8537
c1174479
AI
85382000-09-03 Andrew Innes <andrewi@gnu.org>
8539
f8803e97
AI
8540 * makefile.w32-in: Change to DOS line endings.
8541
c1174479
AI
8542 * s/ms-w32.h (ORDINARY_LINK): New define.
8543
8544 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8545 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8546
8547 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8548 (distclean): Delete them here instead.
8549
44ef7cf6
AI
8550 * w32proc.c (compare_env): Convert to uppercase for comparison,
8551 not lowercase, to match how the native Windows shell works.
8552
49b3bd82
JR
85532000-09-03 Jason Rumney <jasonr@gnu.org>
8554
8555 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8556 CVS changes the line-ends when checking in/out on DOS/Windows.
8557
8558 * makefile.nt (emacs): Do not change directory to run temacs, as
8559 the load-path is set relative to current directory.
8560
a3d35a39
MB
85612000-09-03 Miles Bader <miles@gnu.org>
8562
8563 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8564
d276b0cf
GM
85652000-09-02 Gerd Moellmann <gerd@gnu.org>
8566
715e84c9
GM
8567 * xdisp.c (redisplay_mode_lines): New function.
8568 (display_mode_lines): Return number of mode lines displayed.
8569 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8570 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8571
8892f40b
GM
8572 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8573 string.h and strings.h.
8574 (index) [HAVE_INDEX]: Add prototype.
8575
d276b0cf
GM
8576 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8577 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8578
8579 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8580 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8581
38404229
GM
85822000-09-01 Gerd Moellmann <gerd@gnu.org>
8583
8584 * lread.c (read1): Accept `?' as symbol constituent, for
8585 compatiblity with XEmacs.
8586
c0f9ea08
SM
85872000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8588
8589 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8590 (struct re_pattern_buffer): Remove newline_anchor.
8591 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8592 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8593 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8594 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8595 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8596 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8597 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8598 Get rid of references to newline_anchor.
8599 (regcomp): Allocate and precompute a fastmap.
8600
8c0f83fe
GM
86012000-08-31 Gerd Moellmann <gerd@gnu.org>
8602
8603 * lread.c (openp): GCPRO local variable `filename'.
8604
4bb91c68
SM
86052000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8606
8607 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8608
8609 * regex.c: Merge some changes from GNU libc. Add prototypes.
8610 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8611 Use memcmp and memcpy instead of bcopy and bcmp.
8612 (init_syntax_once): Use ISALNUM.
8613 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8614 (REG_UNSET_VALUE): Remove. Use NULL instead.
8615 (REG_UNSET, re_match_2_internal): Use NULL.
8616 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8617 New macros.
8618 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8619 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8620 (regex_compile): In handle_interval, return an error rather than try to
8621 unfetch the interval if we can't find the closing brace.
8622 Obey the RE_NO_GNU_OPS syntax bit.
8623 (TOLOWER): New macro.
8624 (regcomp): Use it.
8625 (regexec): Allocate regs.start and regs.end as one block.
8626
5226a931
GM
86272000-08-30 Gerd Moellmann <gerd@gnu.org>
8628
868dd24b
GM
8629 * xdisp.c (echo_area_display): Check display_completed instead
8630 of calling detect_input_pending.
8631
8632 * dispnew.c (update_frame): Only set display_completed here; move
8633 the update_begin and update_end calls here from update_frame_1.
8634 (update_frame_1): Don't set display_completed here, don't call
8635 update_begin/update_end.
8636
5226a931
GM
8637 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8638 instead of store_frame_param.
8639
2a8bd25f
GM
86402000-08-29 Gerd Moellmann <gerd@gnu.org>
8641
8642 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8643 desired window matrix hasn't been displayed, use the current row
8644 instead. Make sure that only those frame rows are updated for
8645 which there exists a corresponding enabled desired row.
52283633 8646
ba3478d9
MB
86472000-08-29 Miles Bader <miles@gnu.org>
8648
8649 * xfaces.c (default_face_vector): New function.
8650 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8651
87d0f685
GM
86522000-08-29 Gerd Moellmann <gerd@gnu.org>
8653
8654 * lread.c (openp): Prevent temporary string passed to
8655 Ffile_readable_p from being garbage collected.
8656
6fa86045
DL
86572000-08-28 Dave Love <fx@gnu.org>
8658
8659 * keymap.c (store_in_keymap): Add `static' to declaration.
8660
bb17930d
GM
86612000-08-28 Gerd Moellmann <gerd@gnu.org>
8662
8663 * emacs.c, callint.c, doc.c, editfns.c
8664 (toplevel) [HAVE_STRING_H]: Include string.h.
8665 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8666 (index): Remove prototypes which might conflict with non-standard
8667 definitions of index/strchr.
8668
8669 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8670 (rindex): Define only if !HAVE_RINDEX.
8671
8672 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8673
8674 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8675
87188200
MB
86762000-08-28 Miles Bader <miles@gnu.org>
8677
8678 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8679 made inconsistent by a font-related attribute in FROM.
8680 (merge_face_inheritance): Add function comment.
8681
41a68aef
KH
86822000-08-28 Kenichi Handa <handa@etl.go.jp>
8683
8684 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8685 the 4th arg (PREV_EVENT) Qt to suppress input method.
8686
f7c436c1
SM
86872000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8688
0b32bf0e
SM
8689 * regex.c: Indent cpp directives and remove parens after `defined'.
8690 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8691 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8692 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8693 (re_compile_pattern): Use size_t for length.
8694 (init_syntax_once): Move to a better place.
8695 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8696 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8697
f7c436c1
SM
8698 * syntax.c (back_comment): Detect cases where a comment-starter is
8699 actually inside another comment as in: /* a // b */ c // d \n.
8700 Make it clear that `comstart_pos' is unused for nested comments.
8701
8702 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8703 (KEYMAPP): New macro.
8704 (Fkeymap_parent, Fset_keymap_parent): Use it.
8705 (fix_submap_inheritance): Mark it static.
8706 (define_as_prefix, describe_buffer_bindings, describe_command)
8707 (describe_translation, describe_map): Complete prototypes.
8708
8709 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8710
8711 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8712 to better match the key-lookup behavior.
8713
6288c62f
GM
87142000-08-27 Gerd Moellmann <gerd@gnu.org>
8715
8716 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8717 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8718
e931344e
EZ
87192000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8720
8721 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8722 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8723 (xterm.o): Depend on coding.h
8724
d10dfeef
KH
87252000-08-26 Kenichi Handa <handa@etl.go.jp>
8726
8727 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8728 the corresponding '#endif'.
8729
2d73e8d3
MB
87302000-08-26 Miles Bader <miles@gnu.org>
8731
8732 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8733 * xfaces.c (QCinherit): New variable.
8734 (syms_of_xfaces): Initialize it.
8735 (LFACE_INHERIT): New macro.
8736 (Finternal_get_lisp_face_attribute)
52283633 8737 (merge_face_vector_with_property)
2d73e8d3
MB
8738 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8739 (check_lface_attrs): Allow new types of face height. Check
8740 inherit attribute.
8741 (CYCLE_CHECK): New macro.
8742 (merge_face_inheritance): New function.
8743 (merge_face_vectors): Merge inherited faces too. Add F and
8744 CYCLE_CHECK arguments.
8745 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8746 (lookup_named_face, lookup_derived_face, realize_named_face)
8747 (face_at_string_position, face_at_buffer_position): Supply
8748 new F and CYCLE_CHECK arguments to merge_face_vectors.
8749 (merge_face_heights): New function.
52283633 8750 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
8751 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8752 handle relative face heights.
8753 (lface_same_font_attributes_p): Compare heights using EQ.
8754
6ce974d4
KH
87552000-08-26 Kenichi Handa <handa@etl.go.jp>
8756
8757 * charset.c (char_to_string): Check the character validity.
52283633 8758 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 8759
dc1e502d
SM
87602000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8761
8762 * regex.c (PUSH_FAILURE_COUNT): New macro.
8763 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8764 Handle popping of a register's or a counter's data.
8765 (POP_FAILURE_POINT): Use the new name.
8766 (re_match_2_internal): Push counter data on the stack for succeed_n,
8767 jump_n and set_number_at and remove misleading dead code in succeed_n.
8768
bd9d0f3f
GM
87692000-08-25 Gerd Moellmann <gerd@gnu.org>
8770
8771 * xdisp.c (redisplay_internal): If considering all windows on all
8772 frames, update the display for each frame as soon as possible,
8773 instead of first building all desired matrices for all frames, and
8774 then updating them all.
8775 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8776
aa5b8e15
GM
87772000-08-24 Gerd Moellmann <gerd@gnu.org>
8778
17494071
GM
8779 * bytecode.c (mark_byte_stack): Add a comment.
8780
52283633
SM
8781 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8782 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
8783 a graphical frame.
8784
c543db81
KH
87852000-08-24 Kenichi Handa <handa@etl.go.jp>
8786
d246d5f5
KH
8787 * minibuf.c (do_completion): Always use compare-string, not
8788 string-equal because the latter doesn't pay attention to
8789 multibyteness of strings.
8790
c543db81
KH
8791 * process.c (create_process): Don't setup raw-text coding here.
8792 (Fopen_network_stream): Don't set coding->src_multibyte and
8793 coding->dst_multibyte here.
8794 (read_process_output): For process filter, return unibyte string
8795 if default-enable-multibyte-characters is nil.
8796 (send_process): If OBJECT is multibyte text, be sure to encoded it
8797 by the specified coding system for the process. Otherwise, setup
8798 raw-text coding.
52283633 8799 (init_process): Don't initialize default-process-coding-system here.
c543db81 8800
9b47cfe0
EZ
88012000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8802
8803 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8804 <scroll-down-aggressively>: Likewise.
8805
f5a36960
KH
88062000-08-23 Kenichi Handa <handa@etl.go.jp>
8807
8808 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8809 zero. Set coding->produced_char correctly.
8810
69a7ffa7
AI
88112000-08-22 Andrew Innes <andrewi@gnu.org>
8812
8813 * makefile.w32-in: New file.
8814
8815 * unexw32.c (unexec): Ignore old_name, and use the actual location
8816 of the current executable instead. Base new_name on this.
8817
8818 * w32proc.c (create_child): Remove reference to security
8819 descriptor, which isn't needed and doesn't compile with mingw32.
8820
8821 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8822 up dllimport attributes.
8823 (x_update_window_end): Update prototype.
8824
8825 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8826 extern, which screws up dllimport attributes.
8827
8828 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8829 up dllimport attributes.
8830
8831 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8832 screws up dllimport attributes.
8833
8834 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8835 up dllimport attributes.
8836 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8837 screws up dllimport attributes.
8838
8839 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8840 up dllimport attributes.
8841
8842 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8843 screws up dllimport attributes.
8844
8845 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8846 screws up dllimport attributes.
8847
8848 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8849 up dllimport attributes.
8850
8851 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8852 unnecessary extern, which screws up dllimport attributes.
8853 (main): Ditto.
8854
8855 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8856 up dllimport attributes.
8857
8858 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8859 unnecessary extern, which screws up dllimport attributes.
8860
8861 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8862 screws up dllimport attributes.
8863
8864 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8865 up dllimport attributes.
8866
8867 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8868
52283633
SM
8869 * w32bdf.c (search_file_line):
8870 (set_bdf_font_info):
8871 (seek_char):
8872 (w32_get_bdf_glyph):
69a7ffa7
AI
8873 (w32_BDF_to_x_font): Fix compile warnings.
8874
52283633 8875 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
8876
8877 * w32select.c: Include keyboard.h before frame.h.
8878
8879 * w32fns.c (max): Define macro.
8880 (JOHAB_CHARSET): Define if not known.
8881 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8882 (Fx_show_tip): Synch with X version.
8883
8884 * w32xfns.c: Include keyboard.h before frame.h.
8885
8886 * w32fns.c: Include keyboard.h before frame.h.
8887
8888 * w32term.c: Include keyboard.h before frame.h.
8889
8890 * fontset.c: Include keyboard.h before frame.h.
8891
8892 * w32inevt.c: Include keyboard.h before frame.h.
8893 (MOUSE_MOVED): Define if not known.
8894
8895 * minibuf.c: Include keyboard.h before frame.h.
8896
8897 * keyboard.c: Include keyboard.h before frame.h.
8898
8899 * indent.c: Include keyboard.h before frame.h.
8900
8901 * dispnew.c: Include keyboard.h before frame.h.
8902
8903 * buffer.c: Include keyboard.h before frame.h.
8904
8905 * alloc.c: Include keyboard.h before frame.h.
8906
8907 * print.c: Include keyboard.h before frame.h.
8908
8909 * process.c: Include keyboard.h before frame.h.
8910
8911 * scroll.c: Include keyboard.h before frame.h.
8912
8913 * sysdep.c: Include keyboard.h before frame.h.
8914
8915 * term.c: Include keyboard.h before frame.h.
8916
8917 * window.c: Include keyboard.h before frame.h.
8918
8919 * xdisp.c: Include keyboard.h before frame.h.
8920 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8921
8922 * frame.c: Include keyboard.h before frame.h.
8923
8924 * w32heap.h: Undefine min, max.
8925
8926 * w32gui.h: Undefine min, max.
8927
8928 * unexw32.c: Change PUCHAR to PCHAR.
8929 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
8930 (relocate_offset):
8931 (get_section_info):
69a7ffa7
AI
8932 (copy_executable_and_dump_data): Remove unnecessary static defs.
8933 (copy_executable_and_dump_data): Fix compile warnings.
8934
8935 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8936
8937 * w32console.c (min): Define macro.
8938 (clear_frame, write_glyphs): Fix compile warning.
8939
52283633 8940 * w32proc.c (compare_env):
69a7ffa7
AI
8941 (find_child_console): Fix compile warning.
8942
8943 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8944 sys_errlist instead of _sys_errlist.
8945 (get_emacs_configuration_options): New function.
8946
8947 * s/ms-w32.h (sys_nerr): Provide default definition.
8948 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8949 name with _ prepended.
8950 (NSIG): Define if not known.
8951 (get_emacs_configuration): Provide extern declaration.
8952 (get_emacs_configuration_options): Provide extern declaration.
8953 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8954
8955 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 8956 (map_w32_filename):
69a7ffa7
AI
8957 (read_unc_volume): Fix compile warning.
8958
8959 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8960 definitions from being used.
8961
8962 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8963
52283633 8964 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
8965 (open_unc_volume): Make arg const.
8966
8967 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8968 (read_input_waiting): Remove excess parameter.
8969
8970 * w32.c (init_environment): Call _access.
8971 (check_windows_init_file): Call _close.
8972 (init_user_info): Call _putenv.
8973 (init_environment): Call _putenv and _strdup.
8974 (init_ntproc): Reset volume info cache on startup.
8975
8976 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8977 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8978 cannot override the CRT malloc.
8979
8980 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
8981 (LINK_FLAGS): Append to original value of LINK_FLAGS.
8982
8983 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
8984 unless we are linking with a static CRT.
8985 (RVA_TO_PTR): Cast result to unsigned char*.
8986
8987 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
8988 (add_volume_info): Use xstrdup.
8989
25060080
SM
89902000-08-22 Stefan Monnier <monnier@cs.yale.edu>
8991
8992 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
8993 (do_completion, Fminibuffer_complete_word): Use it.
8994 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
8995 var so it can take non-boolean values.
8996
6917e6bb
GM
89972000-08-21 Gerd Moellmann <gerd@gnu.org>
8998
acb7cc89 8999 * editfns.c (find_field): Formatting changes.
52283633 9000 (toplevel): Some old-style function forward declarations
acb7cc89
GM
9001 changed to prototypes, some new protypes added, some functions
9002 made static.
9003
9004 * lisp.h (set_time_zone_rule): Add prototype.
9005 (use_dialog_box): External declaration.
9006
0bbfdc25
GM
9007 * keyboard.c (gen_help_event): Add parameter SIZE.
9008 (kbd_buffer_events_waiting): Slightly rewritten.
9009 (clear_event): New function.
9010 (kbd_buffer_get_event): Use it, and clear the input_events of
9011 HELP_EVENTs.
9012 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9013 don't fill the newly created array with nils.
9014 (toplevel): Convert some old-style function forward declarations
9015 to prototypes.
9016
9017 * keyboard.h (gen_help_event): Change prototype.
9018
9019 * xterm.c (XTread_socket): Change calls to gen_help_event.
9020
9021 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9022
6917e6bb
GM
9023 * eval.c (Fmacroexpand): Doc fix.
9024
e5cd3d11
JR
90252000-08-20 Jason Rumney <jasonr@gnu.org>
9026
9027 * w32term.h (x_display_info_for_display): Remove as this function
9028 does not exist on W32.
9029
9030 * w32term.c (help_echo_window): New variable.
9031 (syms_of_w32term): staticpro it.
9032 (note_mode_line_highlight): Set it.
9033 (XTextExtents16): Removed as there is no equivalent on W32.
9034 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9035 the X way of doing this will not work for W32.
9036 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9037 (x_draw_image_foreground): Avoid drawing outside of the clip area
9038 when image doesn't have a mask.
9039 (note_mouse_highlight): Process overlays in the right order of
9040 priority. Set help_echo_window.
9041 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9042 because that's more visible for large images.
9043
9044 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9045 name to single_keymap_panes.
9046 (w32_menu_show): Set wv->title when dealing with titles.
9047 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9048
6e69ab8c
MB
90492000-08-21 Miles Bader <miles@gnu.org>
9050
9051 * minibuf.c (do_completion): Try again if we rewrite the input
9052 string, but no completion was done, so that any completion message
9053 will be correct.
9054
511bd4eb
GM
90552000-08-20 Gerd Moellmann <gerd@gnu.org>
9056
9057 * xfaces.c (lface_equal_p): Compare strings differently.
9058 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9059 (realize_tty_face): Use them.
9060 (syms_of_xfaces): Initialize new variables.
9061 (map_tty_color): New function, extracted from realize_tty_face.
9062 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9063 foreground or background color, store the new color name in the
9064 realized face; previous code trying to do this had no effect.
9065 (realize_tty_face): Use map_tty_color.
9066 (Fclear_face_cache): Set face_change_count and ensure thorough
9067 redisplay.
9068
1433385f
GM
90692000-08-19 Gerd Moellmann <gerd@gnu.org>
9070
511bd4eb
GM
9071 * undo.c (record_first_change, record_marker_adjustment): Don't
9072 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 9073
419ac0a2
KH
90742000-08-18 Kenichi Handa <handa@etl.go.jp>
9075
9076 * coding.c (decode_coding_string): Set members consumed,
9077 consumed_char, produced, produced_char of *coding correctly. If
9078 decode_coding doesn't consume any byte, don't try anymore.
9079 (encode_coding_string): Likewise.
9080
7eb9e30d
GM
90812000-08-18 Gerd Moellmann <gerd@gnu.org>
9082
511bd4eb
GM
9083 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9084 conditional have void type, for Standard C compilers.
7eb9e30d
GM
9085
9086 * xdisp.c (redisplay_internal): Compare windows for equality with
9087 EQ, instead of applying XWINDOW to something that might not
9088 be a window.
52283633 9089
dd34a735
KH
90902000-08-18 Kenichi Handa <handa@etl.go.jp>
9091
9092 * fontset.c (Finternal_char_font): Search only the selected frame
9093 for a window of the current buffer.
9094
385ff9e3
GM
90952000-08-18 Gerd Moellmann <gerd@gnu.org>
9096
511bd4eb 9097 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
9098 Lisp_Objects.
9099
385ff9e3
GM
9100 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9101 second half of a HELP_EVENT is found at the start of kbd_buffer.
9102
d6abb4c7
MB
91032000-08-18 Miles Bader <miles@gnu.org>
9104
4618074a
MB
9105 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9106
d6abb4c7
MB
9107 * editfns.c (save_restriction_save): Rewrite to use markers.
9108 (save_restriction_restore): Rewrite to understand new form of data
9109 saved by save_restriction_save.
9110 (Fsave_restriction): Remove cautionary note in doc-string.
9111
a7b28523
GM
91122000-08-17 Gerd Moellmann <gerd@gnu.org>
9113
9114 * fileio.c (build_annotations): Add a comment explaining the
9115 return value of format-annotate-function. Replace a spurious call
9116 to Flength with a CONSP test. Call format-annotate-function with
9117 a fifth arg specifying how many times the function is been called
9118 in a row, to let it choose temporary buffers appropriately.
9119
03c9ed77
DL
91202000-08-17 Dave Love <fx@gnu.org>
9121
9122 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9123 declare make_temp_name twice.
9124
52283633 9125 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
9126 (unreadpure): Give it an arg.
9127
9128 * unexalpha.c: Prototype fatal_unexec, mark_x,
9129 update_dynamic_symbols. Declare unexec as void.
9130
9131 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9132 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9133
9134 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 9135 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
9136
9137 * alloca.c: Use #error.
9138 [POINTER_TYPE]: Use it.
9139
9140 * eval.c (Fdefvar): Doc fix.
9141
9142 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9143 INITIALIZE_INTERVAL.
9144
9145 * buffer.h: Avoid DECLARE_INTERVALS.
9146
9147 * config.in: Add size_t.
9148
aae41d97
EZ
91492000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9150
9151 * w16select.c (set_clipboard_data): If there's not enough memory
9152 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9153 expects. In case of other failures, return 3.
9154 (system_error_msg): New error message.
9155 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9156 system_error_msg.
9157
65aa5e85
GM
91582000-08-16 Gerd Moellmann <gerd@gnu.org>
9159
9160 * term.c (write_glyphs): Also turn off inverse video after turning
9161 off other appearances in case TS_exit_attribute_mode is not equal
9162 to TS_end_standout_mode.
9163 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9164 with the same face.
9165 (turn_off_face): Reset standout_mode only if
9166 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9167 is equal to TS_end_standout_mode.
9168
ece23901
KH
91692000-08-16 Kenichi Handa <handa@etl.go.jp>
9170
9d7bcb2e
KH
9171 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9172 sequence at the end of the source block.
9173
ece23901
KH
9174 * ccl.c (Fccl_program_p): Docstring modified.
9175 (Fccl_execute): Likewise.
9176 (Fccl_execute_on_string): Likewise.
9177
5e30eaa2
EZ
91782000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9179
9180 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9181
290602fd
KH
91822000-08-16 Kenichi Handa <handa@etl.go.jp>
9183
9184 The following changes are mainly to fix bugs of
9185 encode/decode-coding-string failing if encoding/decoding return
9186 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9187 variable conversion_buffer.
9188
9189 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9190 decrement dst_end to avoid buffer overflow in the later call of
9191 string_as_multibyte
9192
9193 * coding.h (conversion_buffer_size, conversion_buffer)
9194 (get_conversion_buffer): Extern deleted.
9195
9196 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9197 (conversion_buffer, conversion_buffer_size): Variables deleted.
9198 (get_conversion_buffer): Function deleted.
9199 (struct conversion_buffer): New structure.
9200 (MAX_ALLOCA): New macro.
9201 (allocate_conversion_buffer): New macro.
9202 (extend_conversion_buffer, free_conversion_buffer): New functions.
9203 (ccl_coding_driver): Set coding->result.
9204 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9205 this is the last block of source.
9206 (encode_coding): Likewise. Handle the source block as the last
9207 one only when the whole source text is consumed.
9208 (decode_coding_string): Handle the case that the output buffer is
9209 too small to decode the whole source text. Use
9210 allocate_conversion_buffer, extend_conversion_buffer and
9211 free_conversion_buffer, not get_conversion_buffer.
9212 (encode_coding_string): Likewise.
9213 (init_coding): Function deleted.
52283633 9214 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
9215
9216 * emacs.c (main): Don't call init_coding.
9217
52283633 9218 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
9219
9220 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9221 (insert_glyphs): Likewise.
9222
9223 * w32console.c (write_glyphs): Use a locally declared
9224 conversion_buffer.
9225
b9f80d41
EZ
92262000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9227
9228 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9229 member of display_info is NULL.
9230
32dc52f7
GM
92312000-08-15 Gerd Moellmann <gerd@gnu.org>
9232
52283633 9233 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 9234
32dc52f7 9235 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 9236 appearances with capability `me'.
32dc52f7
GM
9237 (write_glyphs): Switch on inverse video before each face change.
9238
4eb22d33
DL
92392000-08-14 Dave Love <fx@gnu.org>
9240
9241 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9242 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9243 (lisp_free): Declare and make static.
9244
9245 * window.c: Fix embedded comment.
9246 (syms_of_window): Fix doc string.
9247
90cbf47e
GM
92482000-08-14 Gerd Moellmann <gerd@gnu.org>
9249
52283633 9250 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
9251 make sure to print `C-' before `M-', like in the manual.
9252
440fc135
GM
92532000-08-11 Gerd Moellmann <gerd@gnu.org>
9254
9255 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9256 since they aren't relocated anymore.
52283633 9257 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
9258
9259 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 9260 partially visible line which is smaller than the window's height.
440fc135 9261
6e264fad
KH
92622000-08-11 Kenichi Handa <handa@etl.go.jp>
9263
9264 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 9265 the multibyte form of eight-bit-control characters.
6e264fad
KH
9266 (Fccl_execute_on_string): Initialize ccl->multibyte.
9267
9268 * ccl.h (struct ccl_program): New member multibyte.
9269
9270 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9271
c371f69a
KH
92722000-08-11 Kenichi Handa <handa@etl.go.jp>
9273
9274 * regex.c (regex_compile) <normal_char>: Pay attention to
9275 multibyteness.
9276 (analyse_first) <exactn>: Setup fastmap correctly for
9277 eight-bit-control characters.
9278
92792000-08-11 Kenichi Handa <handa@etl.go.jp>
9280
52283633 9281 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
9282
9283 * keyboard.c (make_lispy_event): Handle the new event type
9284 multibyte_char_keystroke.
9285
9286 * xterm.c: Include coding.h.
9287 (XTread_socket): Work around a bug of XmbLookupString. If the
9288 input is from XIM, decode it according to the current locale. In
9289 that case, generate multibyte_char_keystroke events.
9290
b8ddbe71
KH
92912000-08-11 Kenichi Handa <handa@etl.go.jp>
9292
9293 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9294 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9295
47589c8c
GM
92962000-08-10 Gerd Moellmann <gerd@gnu.org>
9297
9298 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9299 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9300 (move_it_in_display_line_to): Record iterator's ascent and descent
9301 before producing glyphs, and restore them when we know the glyph
9302 doesn't fit on the line.
9303 (move_it_to): Restructured so that it's easier to debug. If
9304 moving to a vpos, and not moving to an x or character position,
9305 stop as soon as the specified vpos is reached; don't move further
9306 into that line because that might change the computed line height.
9307 (try_cursor_movement): New function, extracted from the cursor
9308 movement branch of redisplay_window. If ending on a partially
9309 visible line, don't try to scroll if the cursor line is taller
9310 than the window.
9311 (redisplay_window): Use try_cursor_movement.
9312
9313 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9314 because that function doesn't cope with variable-height lines.
9315
9316 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9317 box cursor because that's better visible for large images.
52283633 9318
c51bacd6
MB
93192000-08-10 Miles Bader <miles@gnu.org>
9320
9321 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9322
bea56df7
GM
93232000-08-10 Gerd Moellmann <gerd@gnu.org>
9324
9325 * xdisp.c (Vmessages_buffer_name): New variable.
9326 (message_dolog): Use it.
9327 (syms_of_xdisp): Initialize it.
9328
99cd7364
EZ
93292000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9330
52283633 9331 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
9332 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9333 redundant now that keyboard.h is included.
9334
7d093d56
EZ
93352000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9336
9337 * keyboard.c (kbd_buffer_events_waiting): New function.
9338
9339 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9340
9341 * msdos.c: Include keyboard.h.
9342 (XMenuActivate): Empty no_event events from the event buffer. If
9343 no events are left after that, call clear_input_pending.
9344 (mouse_clear_clicks): New function, code moved from mouse_init.
9345 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9346 mouse driver to ``forget'' any past clicks.
9347
9348 * Makefile.in (msdos.o): Depend on keyboard.h.
9349
41e757a6
GM
93502000-08-09 Gerd Moellmann <gerd@gnu.org>
9351
8e7bd231
GM
9352 * lisp.h (input_pending): External declaration.
9353
9354 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 9355
8e7bd231
GM
9356 * xdisp.c (echo_area_display): Display thoroughly if input is
9357 pending. Bind redisplay-dont-pause to t during the redisplay.
9358 in case input is pending.
9359
9360 * dispnew.c (Qredisplay_dont_pause): New variable.
9361 (syms_of_display): Initialize and staticpro it.
9362 (update_frame_1): Don't interrupt the display for pending input if
9363 redisplay_dont_pause is set.
52283633 9364
43028b7e
GM
9365 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9366
41e757a6
GM
9367 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9368
2f2174fa
KH
93692000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9370
9371 * callproc.c (Fcall_process): Terminate the unwind-protect around
9372 the post-read-conversion of coding system.
9373
0a6fd67e
MB
9374 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9375 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9376 * buffer.h (overlays_at): Update prototype.
9377 * xdisp.c (next_overlay_change): Update call to overlays_at.
9378 * xfaces.c (face_at_buffer_position): Likewise.
9379 * textprop.c (Fget_char_property): Likewise.
9380 * xterm.c (note_mouse_highlight): Likewise.
9381
0c80756e
MB
9382 * minibuf.c (do_completion): Don't consider a simple change of
9383 case as `completion'.
9384
975f250a
KR
93852000-08-08 Ken Raeburn <raeburn@gnu.org>
9386
52283633 9387 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
9388 * undo.c (record_delete): Make sure last_point_position_buffer is
9389 a buffer before comparing pointers.
9390
9391 * coding.h (decode_coding_string): Declare.
9392
9393 * intervals.h (Fprevious_single_char_property_change): Declare.
9394
9395 * textprop.c (Fprevious_single_char_property_change): Don't do
9396 arithmetic directly on lisp objects.
9397
52283633 9398 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
9399
9400 * keyboard.h (menu_item_eval_property): Declare.
9401
9402 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9403 reuse as buffer name, instead of recreating (and discarding) every
9404 time a message is logged.
9405 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
9406 (current_message_1, truncate_message_1, set_message_1)
9407 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9408 (current_message, truncate_echo_area, display_echo_area)
9409 (resize_echo_area_axactly): Changed calls.
b347b3fd 9410
975f250a 9411 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 9412 Lisp object.
975f250a 9413 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 9414 must be an integer, not a Lisp object.
975f250a 9415
46dc9912
KH
94162000-08-08 Kenichi Handa <handa@etl.go.jp>
9417
9418 * charset.c (Fchar_width): Doc fix.
9419
9f6d1a6c
GM
94202000-08-08 Gerd Moellmann <gerd@gnu.org>
9421
9422 * charset.c (Fstring_width): Doc fix.
9423
ff3d9573
GM
94242000-08-07 Gerd Moellmann <gerd@gnu.org>
9425
41e757a6 9426 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
9427 line, clear ascent and descent members of the iterator structure;
9428 the height of the continued line does not affect the height of the
9429 continuation line.
9430 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9431 line taller than the window.
9432 (redisplay_window) <forced window start>: Handle case that the
9433 middle of the window is not found in any row.
9434 (dump_glyph_row): Show more information.
9435 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9436 first text line in a glyph matrix.
9437
9438 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9439 of the clip area when image doesn't have a mask.
9440
70fc58b3
GM
9441 * fns.c (sweep_weak_table): Fix survival conditions for
9442 key-or-value and key-and-value weakness.
9443
9444 * .gdbinit (xhashtable): New command.
9445
ac0e96ee
GM
9446 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9447 tables out of the list of all weak hash tables.
9448
ff3d9573
GM
9449 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9450 a new buffer is created, make sure echo_area_buffer[] references
9451 the new buffer.
9452
e0d8827b
EZ
94532000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9454
9455 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9456 the doc string.
9457
c6f35378
KH
94582000-08-07 Kenichi Handa <handa@etl.go.jp>
9459
9460 * syntax.c (skip_chars): Fix previous change. Make the handling
9461 of unibyte string consistent with that of regex search.
9462
1fd4c450
GM
94632000-08-05 Gerd Moellmann <gerd@gnu.org>
9464
e49aa397
GM
9465 * xmenu.c (popup_get_selection): Use xfree instead of free.
9466
9467 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9468
9469 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9470
9471 * callproc.c (child_setup): Use xfree instead of free.
9472
9473 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9474 instead of malloc.
9475 (run_mac_command, closedir): Use `xfree' instead of `free'.
9476
9477 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9478
9479 * eval.c (error): Use xfree instead of free.
9480
1fd4c450
GM
9481 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9482
9483 * fns.c: Replace `illegal' with `invalid'.
e49aa397 9484 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 9485
82d497fc
KH
94862000-08-05 Kenichi Handa <handa@etl.go.jp>
9487
9488 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9489 conversion.
9490
59f953a2
NF
94912000-08-04 Noah Friedman <friedman@splode.com>
9492
9493 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9494 docstring.
9495
688351f2
GM
94962000-08-04 Gerd Moellmann <gerd@gnu.org>
9497
9498 * syntax.c (skip_chars): Fix typo in error message.
9499
2dad51cc
AS
95002000-08-04 Andreas Schwab <schwab@suse.de>
9501
9502 * m/ia64.h: Moved from s/ia64.h.
9503
99bb2c60
KH
95042000-08-04 Kenichi Handa <handa@etl.go.jp>
9505
082a1df2
KH
9506 * process.c (read_process_output): Big simplification. Handle
9507 composition and post-read-conversion of coding system correctly.
9508 (send_process): Handle composition correctly.
9509
9510 * callproc.c (Fcall_process): Handle post-read-conversion of
9511 coding system if any.
9512
99bb2c60
KH
9513 * coding.c (decode_coding_iso2022): More strict check for handling
9514 single shifting.
082a1df2
KH
9515 (coding_restore_composition): Pay attention to the case that
9516 cmp_data is not set properly (because of invalid code in the
9517 source text).
9518 (run_pre_post_conversion_on_str): Include text properties in the
9519 resulting string.
9520 (decode_coding_string): Set members of coding correctly.
99bb2c60 9521
f4988be7
GM
95222000-08-03 Gerd Moellmann <gerd@gnu.org>
9523
9524 * s/ia64.h: New file.
9525
9526 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9527 Use NULL instead of 0 at the end of variable argument list of
9528 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9529 sizeof (int) < sizeof (void *).
9530
9531 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9532 of variable argument lists of XtVaGetValues and XtVaSetValues.
9533
9534 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9535 variable argument lists of XtVaGetValues and XtVaSetValues.
9536
ead53494
GM
95372000-08-02 Gerd Moellmann <gerd@gnu.org>
9538
9539 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9540 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9541
9542 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9543 prototype.
9544
9545 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9546 in call to Fsingle_key_description.
9547
9548 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9549 Callers changed.
9550
95512000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9552
9553 * window.c (display_buffer_reuse_frames): New variable.
9554 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9555 frames displaying BUFFER.
52283633 9556 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 9557
10b0f752
MB
95582000-08-01 Miles Bader <miles@gnu.org>
9559
9560 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9561 when to constrain NEW_POS (they were pretty screwed up before).
9562
16425c4a
EZ
95632000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9564
9565 * msdos.c (run_msdos_command): Save and restore the master
9566 environment, for the case that child_setup signals an error.
9567 When mirroring slashes in DOS shell commands, don't fail when
9568 argv[2] has embedded blanks.
da288c14
EZ
9569 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9570 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9571 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
9572
9573 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9574 using alloca; free it after run_msdos_command returns.
9575
27f73852
DL
95762000-07-27 Dave Love <fx@gnu.org>
9577
52283633
SM
9578 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9579 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
9580
9581 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9582
c0261b5e
EZ
95832000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9584
9585 * editfns.c (lisp_time_argument): Fix last change.
9586
b548072f
GM
95872000-07-27 Gerd Moellmann <gerd@gnu.org>
9588
3ab82477
GM
9589 * fns.c (Fdelete): Make it work on vectors and strings in addition
9590 to lists.
9591
b548072f
GM
9592 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9593 (syms_of_fns): Initialize new variables.
52283633 9594 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
9595 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9596 weakness, with t meaning the same as `key-and-value'.
9597
91ae8751
KH
95982000-07-27 Kenichi Handa <handa@etl.go.jp>
9599
9600 * coding.h (struct coding_system): Member safe_charset deleted.
9601
9602 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
9603 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9604 New variables.
91ae8751
KH
9605 (coding_safe_chars): New function.
9606 (CODING_SAFE_CHAR_P): New macro.
9607 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 9608 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
9609 (detect_coding_iso2022): New local variable safe_chars.
9610 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9611 safe_charsets member of the coding system.
9612 (decode_coding_iso2022): New local variable safe_chars.
9613 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9614 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9615 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9616 (ENCODE_UNSAFE_CHARACTER): New macro.
9617 (encode_coding_iso2022): New local variable safe_chars. Check
9618 unsafe chars.
9619 (setup_coding_system): Delete the code to initialize
9620 coding->safe_charses
9621 (intersection, find_safe_codings): New functions.
9622 (Ffind_coding_systems_region_internal): New function.
9623 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9624 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9625 variable and initialize it.
9626
9627 * fns.c (char_table_ref_and_index): New function.
9628
9629 * lisp.h (char_table_ref_and_index): Add prototype.
9630
34a7a267
SS
96312000-07-26 Sam Steingold <sds@gnu.org>
9632
9633 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 9634 (Ffloat_time): New built-in Lisp function.
34a7a267 9635
a95cb10a
GM
96362000-07-26 Gerd Moellmann <gerd@gnu.org>
9637
3353ef5a
GM
9638 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9639 for the character code.
9640
9641 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9642 GNU/Linux.
9643
a95cb10a
GM
9644 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9645 if called for a popup menu.
9646 (xmenu_show): Store help string in widget values.
9647
b4a12321
DL
96482000-07-26 Dave Love <fx@gnu.org>
9649
9650 * syswait.h: Move some definitions.
9651 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9652 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9653 perspicuous definitions.
9654 (WTERMSIG): Fix bit pattern used.
9655
13f5ad37
KH
96562000-07-26 Kenichi Handa <handa@etl.go.jp>
9657
9658 * print.c (print_object): If vector printing is truncated, print
9659 "..." to indicate it as well as the case of list printing.
9660
070fe99c
GM
96612000-07-25 Gerd Moellmann <gerd@gnu.org>
9662
969065c3
GM
9663 * xdisp.c (next_element_from_display_vector): Improve comments.
9664
9665 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9666 for the character code, and the rest for the face id as in 20.x.
9667 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9668
9669 * window.c (window_display_table): Cleaned up.
9670
070fe99c
GM
9671 * syntax.c (Fforward_word): Add last arg nil in call of
9672 Fconstrain_to_field.
9673
bad77ef7
EZ
96742000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9675
969065c3 9676 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
9677 identical but for the letter-case, don't call
9678 barf_or_query_if_file_exists.
bad77ef7 9679
c28da489
MB
96802000-07-25 Miles Bader <miles@gnu.org>
9681
9682 * editfns.c (find_field): Honor special `boundary' fields.
9683 (Qboundary): New variables.
9684 (syms_of_editfns): Initialize Qboundary.
9685 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9686 Use scan_buffer instead of find_before_next_newline, because it
9687 allows us to detect the boundary case where there's a newline at
9688 the search limit.
9689 * lisp.h (Fconstrain_to_field): Update external declaration.
9690
e3c31fd5
GM
96912000-07-24 Gerd Moellmann <gerd@gnu.org>
9692
9693 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9694 if that is nil.
c28da489 9695
c66c29a2
DL
96962000-07-24 Dave Love <fx@gnu.org>
9697
9698 * s/sunos4-0.h, s/sol2.h:
9699 (LIBS_TERMCAP): Move from m/sparc.h.
9700
9701 * m/sparc.h (TERMINFO): Moved to system files (probably only
9702 relevant for sunos4 judging by its vintage).
9703 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9704 __arch64__.
9705
fbe0a958
EZ
97062000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9707
9708 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9709 name to single_keymap_panes.
9710
7d88e5c9
AS
97112000-07-24 Andreas Schwab <schwab@suse.de>
9712
9713 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9714
e024b101
GM
97152000-07-24 Gerd Moellmann <gerd@gnu.org>
9716
9717 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9718 parameters instead of using int parameters. Expect FN to accept
9719 EMACS_INT parameters.
9720 (display_echo_area, resize_echo_area_axactly, current_message)
9721 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9722 with new argument list.
9723 (resize_mini_window_1): New callback function.
9724 (current_message_1, truncate_message_1, set_message_1): Change
52283633 9725 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 9726
25c1a9ce
KH
97272000-07-24 Kenichi Handa <handa@etl.go.jp>
9728
9729 * fontset.c (fontset_ref): Remove INLINE declaration.
9730 (fontset_ref_via_base): Likewise.
9731 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9732 to downcase.
9733
7f987ac0
EZ
97342000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9735
9736 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9737 correct order of priority. If help echo was found in an overlay,
9738 use that overlay as the object in which the help echo was found.
9739
e2db3069
MB
97402000-07-22 Miles Bader <miles@gnu.org>
9741
9742 * textprop.c (Fprevious_single_char_property_change): The initial
9743 property value should be from the position preceding POSITION, not
9744 following it.
9745
5e3203e4
EZ
97462000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9747
9748 * coding.c (syms_of_coding): Doc fix for
9749 inhibit-iso-escape-detection.
9750
62145073
GM
97512000-07-21 Gerd Moellmann <gerd@gnu.org>
9752
c20aeb83
GM
9753 * xterm.c (note_mouse_highlight): Process overlays in the right
9754 order of priority.
34a7a267 9755
743934db
GM
9756 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9757
9758 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 9759 overlay, use that overlay as the object in which the help was found.
743934db 9760
d1dc7e43 9761 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 9762
62145073
GM
9763 * window.c (foreach_window): Instead of a fake variable argument
9764 list, take one USER_DATA argument.
9765 (foreach_window_1): Likewise, and call callback functions with two
9766 args, the window and USER_DATA.
9767 (struct check_window_data): New struct.
9768 (check_window_containing): Use it.
9769 (window_from_coordinates): Set up a struct check_window_data for
9770 foreach_window.
9771 (add_window_to_list, freeze_window_start): Change parameters
9772 according to new calling convention.
9773
9774 * window.h (foreach_window): Change prototype.
9775
9776 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9777
97782000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9779
9780 * xmenu.c (menu_help_callback): Call show_help_echo with
9781 additional arguments OBJECT and POS.
9782
11270583
KH
97832000-07-21 Kenichi Handa <handa@etl.go.jp>
9784
07b14857
KH
9785 * data.c (Faset): Allow storing any multibyte character in a
9786 string. Convert unibyte string to multibyte if necessary.
9787
11270583
KH
9788 * xfns.c (x_encode_text): New function.
9789 (x_set_name): Use x_encode_text.
9790 (x_set_title): Likewise.
9791
9792 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9793
9794 * xterm.h (x_encode_text): Add prototype.
9795
bc75b4fd
DL
97962000-07-20 Dave Love <fx@gnu.org>
9797
9798 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9799 xfree, not free.
9800
48c14970
EZ
98012000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9802
9803 * msdos.c (help_echo_window): New variable.
9804 (syms_of_msdos): Initialize and staticpro it.
9805 (IT_note_mode_line_highlight): Set help_echo_window.
9806 (IT_note_mouse_highlight): Ditto.
9807 (dos_rawgetc): Store help_echo_window in the second event produced
9808 for HELP_EVENTs.
9809
9810 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9811 Record the object that generated the help echo and the position of
9812 that object in help_echo_object and help_echo_pos. Record that
9813 some glyphs in a row are displayed in mouse-face.
9814 (IT_update_begin): Don't clear mouse highlight unless one of the
9815 enabled glyph rows is marked as being displayed in mouse-face.
9816 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9817 and position recorded in help_echo_object and help_echo_pos to the
9818 event queue.
9819 (IT_menu_display): Accept a new argument PN: the pane number of
9820 the current menu pane. Record the pane number and the item
9821 number of the item which has associated help string.
9822 (XMenuActivate): Update the prototype for help_callback in
9823 function declaration. Call IT_menu_display with the current menu
9824 pane number as an additional argument. Call help_callback with
9825 two additional arguments: the pane number and the item number of
9826 the menu item associated with the help text.
9827 (help_echo_object, help_echo_pos): New variables.
9828 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9829
9830 * msdos.h (XMenuActivate): Update prototype.
9831
4279296d
GM
98322000-07-19 Gerd Moellmann <gerd@gnu.org>
9833
47db06aa
GM
9834 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9835 Add some more prototypes.
9836
9837 * xterm.c, xterm.h: Add some more prototypes.
9838
9839 * lisp.h (Fnext_single_char_property_change): Add prototype.
9840
9841 * dispnew.c (direct_output_for_insert): Remove confusing
9842 outer local variable mouse_face_overwritten_p.
9843 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9844
4279296d
GM
9845 * alloc.c (allocate_string_data): Don't copy old string contents.
9846
670acd62
KH
98472000-07-19 Kenichi Handa <handa@etl.go.jp>
9848
9849 * coding.c (code_convert_region): Delete text properties before
9850 shrinking the conversion region.
9851
7cea38bc
GM
98522000-07-18 Gerd Moellmann <gerd@gnu.org>
9853
dc1cac59
GM
9854 * dispnew.c (update_text_area): Write the whole row if it
9855 has mouse-face in it.
9856
85a8aca9
GM
9857 * xfaces.c (face-alternative-font-family-alist): Remove
9858 DEFVAR_LISP; staticpro instead.
9859
34a7a267 9860 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
9861 new arguments.
9862
9863 * keyboard.c (show_help_echo): Add parameter WINDOW.
9864 (read_char): Call show_help_echo with window extracted from Lisp
9865 help event.
9866 (gen_help_event): Add parameter WINDOW.
9867
9868 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9869
9870 * xterm.c (help_echo_window): New variable.
52283633 9871 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
9872 (XTread_socket): Pass help_echo_window to gen_help_event.
9873 (syms_of_xterm): Initialize and staticpro help_echo_window.
9874
f8276b77
DL
98752000-07-18 Dave Love <fx@gnu.org>
9876
52283633 9877 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 9878
088831a6
GM
98792000-07-18 Gerd Moellmann <gerd@gnu.org>
9880
3d6cd763
GM
9881 * alloc.c (allocate_string_data): If string had already data
9882 assigned, copy old contents to new string data.
9883
9884 * coding.c (syms_of_coding): Fix typo in spelling of variable
9885 `inhibit-iso-escape-detection'.
9886
088831a6
GM
9887 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9888
9889 * Makefile.in: Add dependencies on dispextern.h.
9890 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9891 `free'; both can conflict with system header files.
9892
bc8a8d55
KH
98932000-07-18 Kenichi Handa <handa@etl.go.jp>
9894
9895 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9896 undefined.
9897
069f5950
DL
98982000-07-18 Dave Love <fx@gnu.org>
9899
9900 * window.c (Fwindow_list): Declare arg `window'.
9901
aa96c820
KH
99022000-07-18 Kenichi Handa <handa@etl.go.jp>
9903
9904 * coding.c (setup_coding_system): Don't override the explicitly
9905 specified designations.
9906
06be8d32
MB
99072000-07-15 Miles Bader <miles@gnu.org>
9908
9909 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9910 from `text_property_eq' and `text_property_stickiness', respectively.
9911 (find_field, Fconstrain_to_field, char_property_eq)
9912 (char_property_stickiness): Changed to call char-property functions
9913 instead of text-property-only ones.
9914
9915 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9916 `next_single_char_property_change'). Do more error checking, and
9917 cleanup limit behavior.
9918 (Fprevious_single_char_property_change): New function.
9919 (syms_of_textprop): Initialize new subrs.
9920
9921 * xdisp.c (display_prop_end, invisible_text_between_p):
9922 Call Fnext_single_char_property_change instead of
9923 next_single_char_property_change.
9924
3fddcdc3
JR
99252000-07-15 Jason Rumney <jasonr@gnu.org>
9926
9927 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9928 after menu is finished with.
9929 (add_menu_item): Only consider wv->title as a menu title.
9930 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9931
9932 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9933 null title.
9934 (FONT_REGEXP): Remove unused macro, and its sub-components.
9935 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9936
9937 * w32term.c (help_echo_object, help_echo_pos): New variables.
9938 (note_mode_line_highlight): Store additional information about the
9939 help-echo in help_echo_object and help_echo_pos. Check both
9940 `local-map' and `keymap' properties for changing the cursor
9941 (note_mouse_highlight): Store additional information about the
9942 help-echo in help_echo_object and help_echo_pos.
9943 (note_tool_bar_highlight): Set help_echo_object to nil and
9944 help_echo_pos to -1.
9945 (w32_read_socket): Use gen_help_event instead of filling
9946 input_events manually.
9947 (syms_of_w32term): Staticpro help_echo_object.
9948 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 9949 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
9950 (x_clear_mouse_face): New function.
9951 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9952 (x_update_window_begin): No need to turn off the mouse
9953 highlight here.
9954 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 9955 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
9956 (x_fill_stretch_glyph_string): Consume runs of stretch
9957 glyphs instead of a single one.
9958 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9959 with new argument list.
9960 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9961 (x_append_glyph, x_append_composite_glyph)
9962 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9963 changes in struct glyph starting 1999-12-27. See comments for
9964 xterm.c on 2000-07-05.
9965
178c5d9c
SS
99662000-07-14 Sam Steingold <sds@gnu.org>
9967
9968 * xfaces.c (realize_x_face): Fix the last patch:
9969 check `default_face' before dereferencing.
9970
6fe533f6
DL
99712000-07-14 Dave Love <fx@gnu.org>
9972
069f5950 9973 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 9974
dd7b81cf
KH
99752000-07-14 Kenichi Handa <handa@etl.go.jp>
9976
0693904a 9977 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 9978 default_face's fontset, not using the default fontset.
0693904a 9979
dd7b81cf
KH
9980 * coding.c (inhibit_iso_escape_detection): New variable.
9981 (syms_of_coding): Make it a Lisp variable.
9982 (detect_coding_iso2022): If inhibit_iso_escape_detection is
9983 nonzero, ignore ISO2022's escape sequence.
9984
d5aa31d8
GM
99852000-07-14 Gerd Moellmann <gerd@gnu.org>
9986
e5acf0ca
GM
9987 * alloca.c (malloc) [emacs]: Define as xmalloc.
9988
bd23a692
GM
9989 * xfns.c (Fx_show_tip): If frame parameters contain a position,
9990 use that instead of the mouse position. Add parameters DX and DY.
9991
9992 * dispextern.h (Fx_show_tip): Adjust number of parameters
9993 in prototype.
9994
9662da0b
GM
9995 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
9996 if HELP is a function, call it with OBJECT and POS as parameters
9997 to get the help to display.
9998 (gen_help_event, kbd_buffer_store_help_event): New functions.
9999 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10000 (read_char): Call show_help_echo with new parameters.
10001
178c5d9c 10002 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
10003 Add prototypes.
10004
10005 * xterm.c (help_echo_object, help_echo_pos): New variables.
10006 (note_mode_line_highlight): Store additional information about the
10007 help-echo in help_echo_object and help_echo_pos. Check both
10008 `local-map' and `keymap' properties for changing the cursor
10009 (note_mouse_highlight): Store additional information about the
10010 help-echo in help_echo_object and help_echo_pos.
10011 (note_tool_bar_highlight): Set help_echo_object to nil and
10012 help_echo_pos to -1.
10013 (XTread_socket): Use gen_help_event instead of filling
10014 input_events manually.
10015 (syms_of_xterm): Staticpro help_echo_object.
10016
10017 * xmenu.c (menu_highlight_callback): Use
10018 kbd_buffer_store_help_event instead of setting up and input_event
10019 structure manually.
10020
10021 * xdisp.c (eval_form): GCPRO argument sexpr.
10022 (call_function): New function.
10023 (handle_single_display_prop): Use call_function and FUNCTIONP
10024 instead of checking whether if font_height is a symbol and
10025 using eval_form.
10026
10027 * eval.c (internal_condition_case_2): New function.
10028
10029 * lisp.h (FUNCTIONP): New macro.
10030 (internal_condition_case_2, call_function): Add prototypes.
10031
d5aa31d8
GM
10032 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10033 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10034 Always set `arg' member of input_events.
10035 (construct_menu_click): Unused function removed.
10036
10037 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10038
10039 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10040 (construct_drag_n_drop, x_scroll_bar_handle_click)
10041 (w32_read_socket): Always set `arg' member of input_events.
10042
10043 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10044
10045 * lisp.h (eval_form): Add prototype.
10046
10047 * xdisp.c (eval_form): Make it externally visible.
10048
0f1a9b23
GM
100492000-07-13 Gerd Moellmann <gerd@gnu.org>
10050
10051 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10052 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10053 consing. For prefix events, store the frame in the `arg' slot of
10054 the event, otherwise store the key there.
10055 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 10056 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
10057
10058 * xmenu.c (menu_highlight_callback): Store help string in the
10059 `arg' member of the input event; don't cons.
10060 (menubar_selection_callback): Use the `arg' slot of input events
10061 to queue additional information, instead of consing.
10062
10063 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10064
10065 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10066 TOOL_BAR_EVENTs.
10067 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10068
10069 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10070 input events to queue additional information, instead of consing.
10071
10072 * keyboard.c (kbd_buffer_gcpro): Renamed from
10073 kbd_buffer_frame_or_window. Now used for all Lisp objects
10074 referenced from the input queue.
10075 (kbd_buffer_store_event): Always use structure assignment for
10076 copying input events. Record all Lisp objects referenced from
10077 events in kbd_buffer_gcpro.
10078 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10079 differently from input events. Test for prefix menu_bar_events
10080 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10081 event in kbd_buffer_gcpro to nil.
10082 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10083 frame_or_window is equal to its arg member as prefix events.
10084 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10085 used by an input event to nil.
10086 (init_keyboard): Use two times the size of the input queue
10087 for kbd_buffer_gcpro.
10088 (syms_of_keyboard): Likewise.
10089
52283633
SM
10090 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10091 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
10092
10093 * termhooks.h (struct input_event): Add member `arg'.
10094 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10095 (USER_SIGNAL_EVENT): Renamed from user_signal.
10096
10097 * xfaces.c (ASET): Remove definition.
10098
10099 * lisp.h (AREF, ASET, ASIZE): New macros.
10100
10101 * fontset.c (AREF, ASIZE): Remove definitions.
10102
10103 * fns.c (AREF): Remove definition.
178c5d9c 10104
0f1a9b23
GM
10105 * composite.c (AREF): Remove definition.
10106
712eaef2
GM
101072000-07-12 Gerd Moellmann <gerd@gnu.org>
10108
d8ee7803
GM
10109 * dispnew.c (redraw_overlapped_rows): Add missing local.
10110 (scrolling_window): Remove debug code.
10111
712eaef2
GM
10112 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10113 Before scrolling, turn off a mouse-highlight in the window
10114 being scrolled.
10115
10116 * xterm.c (x_update_window_end): Add parameter
10117 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10118 redisplay in XTframe_up_to_date.
10119 (x_clear_mouse_face): New function.
10120 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10121
10122 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10123 current glyph row.
10124 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10125 it when any row is written to that contains glyphs highlighted in
10126 mouse-face.
10127 (update_window): Call the window update end hook with new
10128 parameter MOUSE_FACE_OVERWRITTEN_P.
10129 (direct_output_for_insert): Give up if row contains mouse-face.
10130
10131 * dispextern.h (struct redisplay_interface): Add parameter
10132 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10133 (clear_mouse_face): New function pointer member.
10134
02010917
SM
101352000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10136
10137 * syntax.c (back_comment): Use one switch rather than a few `if's.
10138 Obey open_paren_in_column_0_is_defun_start.
10139 When reverting to the `slow' method, try to nicely handle the case
10140 of nested comments by checking that the comment-starter we found
10141 does indeed match the comment-ender.
10142 (scan_sexps_forward, scan_sexps_forward):
10143 Ignore excessive opening parenthesis rather than throwing an error.
10144
d76c03ea
GM
101452000-07-11 Gerd Moellmann <gerd@gnu.org>
10146
10147 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10148 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10149
10150 * dispnew.c (direct_output_forward_char): Give up if currently
10151 displaying a message instead of the minibuffer contents.
10152
10153 * xterm.c (x_update_window_begin): No need to turn off the mouse
10154 highlight here.
10155 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 10156 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
10157
10158 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10159 compare the mouse_face_p flags of both rows.
10160
10161 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10162
d55ead18
EZ
101632000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10164
10165 * keyboard.c (show_help_echo): Accept additional parameter
10166 ok_to_overwrite_keystroke_echo.
10167 (read_char): Call show_help_echo with a zero
10168 ok_to_overwrite_keystroke_echo argument.
52283633 10169 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
10170 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10171 ok_to_overwrite_keystroke_echo argument.
10172 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10173 non-zero ok_to_overwrite_keystroke_echo argument.
10174
df75b1a3
GM
101752000-07-10 Gerd Moellmann <gerd@gnu.org>
10176
4b92c49a
GM
10177 * xdisp.c (try_window_id): If changes are all below what is
10178 displayed in the window, and point is in the window, we still
10179 might have to find point on the display.
10180
10181 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10182 glyphs instead of a single one.
10183 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10184 with new argument list.
10185 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10186
df75b1a3
GM
10187 * keymap.c (get_keymap_1): Add comment that this function can GC.
10188 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10189 comment that functions can GC.
10190 (Fset_keymap_parent): GCPRO arg KEYMAP.
10191
4314cf3e
EZ
101922000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10193
10194 * msdos.c (XMenuActivate): After exiting the menu, restore the
10195 echo area message and erase it.
10196
ab49ce15
KH
101972000-07-10 Kenichi Handa <handa@etl.go.jp>
10198
10199 * fontset.c (Ffontset_info): Make the return value more compatible
10200 with that of Emacs 20.
10201
090a072f
GM
102022000-07-07 Gerd Moellmann <gerd@gnu.org>
10203
10204 * eval.c (Fsignal): Handle case that backtrace_list is null.
10205
f92de4a6
KH
102062000-07-07 Kenichi Handa <handa@etl.go.jp>
10207
10208 * ccl.c (Fccl_execute): Typo fixed.
10209
dd8888a1
GM
102102000-07-06 Gerd Moellmann <gerd@gnu.org>
10211
e5c81191 10212 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 10213
dd8888a1
GM
10214 * window.c (Fwindow_list): Reverse list at the end.
10215 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10216 means allow windows on OWINDOW's frame, only.
10217 (window_loop): Simplified; use Fwindow_list.
10218
10219 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10220
485266d0
GM
102212000-07-05 Gerd Moellmann <gerd@gnu.org>
10222
10223 * xterm.c (XTread_socket): Increment handling_signal at the start,
10224 decrement it at the end.
10225
10226 * eval.c (handling_signal): New variable.
10227 (Fsignal): Abort if handling_signal is non-zero.
10228
10229 * lisp.h (handling_signal): External declaration.
178c5d9c 10230
485266d0
GM
10231 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10232
80fcd514
KR
102332000-07-05 Ken Raeburn <raeburn@gnu.org>
10234
10235 Sound support for NetBSD through "Linux emulation" support:
10236 * config.in (HAVE_SOUNDCARD_H): Undef.
10237 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10238 * Makefile.in (LIBSOUND): New variable.
10239 (LIBES): Include it.
52283633
SM
10240 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10241 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
10242 (vox_open): Use DEFAULT_SOUND_DEVICE.
10243 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10244
d5c5cddd
GM
102452000-07-05 Gerd Moellmann <gerd@gnu.org>
10246
10247 * print.c (print_error_message): If Vsignaling_function is set,
10248 show it in *Messages*.
10249
10250 * lisp.h (Vsignaling_function): External declaration.
10251
10252 * eval.c (Vsignaling_function): New variable.
10253 (Fsignal): Compute it.
10254 (syms_of_eval): Staticpro it.
10255
65171e3a
DL
102562000-07-05 Dave Love <fx@gnu.org>
10257
10258 * syswait.h: Use the autoconf recommended approach. Old code
10259 #if'd out in case we need to revert.
10260
178c5d9c 10261 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 10262
e2c46326
AI
102632000-07-05 Andrew Innes <andrewi@gnu.org>
10264
10265 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10266 when non-NULL instead of __morecore, to take account of buffer
10267 memory. This also solves a problem with spurious memory warnings
10268 on Windows.
10269
10270 * ralloc.c: Make real_morecore non-static.
10271
10272 * eval.c (internal_condition_case): Comment out abort if
10273 interrupt_input_blocked is not zero.
10274
10275 * makefile.nt: Add support for `bootstrap' and related targets.
10276 Include minimal debug info in emacs.exe in release build.
10277 Remove all dependencies on lisp.h, and fixup some others.
10278
10279 * w32.c (init_environment): Install code from 20.7 for providing
10280 default values for environment variables, based on the
10281 executable's own location.
52283633 10282 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
10283 (sys_socket): Install socket inheritance bug fix from 20.7.
10284
10285 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10286 here via blockinput.h).
10287
a027a91b
SM
102882000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10289
e4b31601
SM
10290 * w32menu.c (w32_menu_display_help):
10291 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
10292
10293 * keyboard.h (show_help_echo): Declare.
10294
10295 * keyboard.c (show_help_echo): New function, extracted from read_char.
10296 Feval its `msg' argument if it's a cons cell.
10297 (read_char): Use it.
4cf8d9d5 10298 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 10299
178c5d9c 10300 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 10301 (note_tool_bar_highlight, XTread_socket):
178c5d9c 10302 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
10303 (dos_rawgetc):
10304 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10305 (note_tool_bar_highlight, w32_read_socket):
10306 Do not gratuitously ignore non-string `help-echo' properties.
10307
88d75730
GM
103082000-07-05 Gerd Moellmann <gerd@gnu.org>
10309
969f7e79
GM
10310 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10311
71201b00
GM
10312 * window.c (delete_all_subwindows): Reset Vwindow_list.
10313
88d75730
GM
10314 * xterm.c (x_append_glyph, x_append_composite_glyph)
10315 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10316 changes in struct glyph starting 1999-12-27. Some bit-fields of
10317 struct glyph were not set, which made glyphs unequal when compared
10318 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10319 effects were the result. This also depended on the contents of
10320 memory returned by xmalloc. If flickering happens again, activate
10321 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 10322 gone with that, chances are that it is caused by something similar.
88d75730
GM
10323
10324 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 10325
88d75730
GM
10326 * dispextern.h: Add some comments.
10327
10328 * window.c (add_window_to_list): Add parameter LIST.
10329 (window_list): Order list so that, for each frame, windows are
10330 in canonical order, and so that frames appear in the list in
10331 the order given by Vframe_list.
10332 (next_window): Reverse the handling of NEXT_P.
10333
53654733
GM
103342000-07-04 Gerd Moellmann <gerd@gnu.org>
10335
87efd256
GM
10336 * window.c (Vwindow_list): New variable.
10337 (make_window, delete_window): Set Vwindow_list to nil.
10338 (check_window_containing): New function.
10339 (window_from_coordinates): Rewritten.
10340 (add_window_to_list, window_list, candidate_window_p)
10341 (decode_next_window_args, next_window): New functions.
52283633 10342 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
10343 (Fwindow_list): New function.
10344 (Fother_window): Cleaned up.
10345 (foreach_window): Add a longer "variable argument list". Let
10346 callback function return 0 to indicate that cycling over windows
10347 should stop.
10348 (foreach_window_1): Likewise.
10349 (freeze_window_start): Return int.
10350 (init_window): New function.
10351 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10352
10353 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10354 input_event with bzero.
10355 (main): Call init_window.
10356
53654733
GM
10357 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10358 a menu filter.
10359
4a8c194f
KH
103602000-07-04 Kenichi Handa <handa@etl.go.jp>
10361
10362 * composite.h (make_composition_value_copy): Extern it.
10363
10364 * composite.c (make_composition_value_copy): New function.
10365
10366 * editfns.c (Fformat): While copying text properties, make each
10367 composition property value a copy.
10368
10369 * fns.c (concat): While copying text properties, make each
10370 composition property value a copy.
10371
831a6cb0
GM
103722000-07-03 Gerd Moellmann <gerd@gnu.org>
10373
2f516940
GM
10374 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10375
178c5d9c 10376 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
10377 marked already.
10378
831a6cb0
GM
10379 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10380 include those frames as candidates which have their focus
10381 redirected to the minibuffer frame.
10382
d9c4f922
SM
103832000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10384
10385 * fns.c (Fputhash): Return `value' rather than nil.
10386
3780bc22
GM
103872000-06-30 Gerd Moellmann <gerd@gnu.org>
10388
97d176db
GM
10389 * frame.c (next_frame): Don't check focus redirection in case
10390 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
10391 unless their focus is redirected, which contradicts the
10392 specification of next-frame, and leads to infinite loops in
10393 certain situations when cycling through windows with next-window.
10394
dca9961d
KH
103952000-06-30 Kenichi Handa <handa@etl.go.jp>
10396
10397 * coding.c (code_convert_region): Even if the length of text is
10398 zero, try to convert it if coding->type is coding_type_ccl.
10399 (decode_coding_string, encode_coding_string): Likewise.
10400
d5483ab1
GM
104012000-06-28 Gerd Moellmann <gerd@gnu.org>
10402
af5c25e1 10403 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 10404 the display if windows_or_buffers_changed.
af5c25e1
GM
10405
10406 * dispnew.c (struct row_entry): New structure.
10407 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10408 (row_table_size, old_lines, new_lines, old_lines_size)
10409 (new_lines_size, run_pool, runs_size, runs): New variables.
10410 (add_row_entry): New function.
10411 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 10412 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
10413 holding them in local variables. Use a larger hash table whose
10414 size depends on glyph matrix sizes. Don't use bzero to clear the
10415 hash table; instead, clear used slots only.
10416
10417 * fns.c (next_almost_prime): Make it externally visible.
10418
10419 * lisp.h (next_almost_prime): Add prototype.
10420
d5483ab1
GM
10421 * s/isc4-0.h (sigunblock): Define.
10422
10423 * s/sco5.h (sigunblock): Define.
10424
93e40f40
DL
104252000-06-27 Dave Love <fx@gnu.org>
10426
10427 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10428 (moved to osf5-0.h).
10429 [!NOT_C_CODE]: Protect string.h stuff.
10430
10431 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10432 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10433
3c4b7685
GM
104342000-06-27 Gerd Moellmann <gerd@gnu.org>
10435
97d176db 10436 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
10437 below the last line from the needed window height.
10438
32cad0aa
SM
104392000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10440
10441 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10442 (Fwidget_get): Use it.
10443 (syms_of_fns): Defsubr it.
10444
2c69ced2
GM
104452000-06-26 Gerd Moellmann <gerd@gnu.org>
10446
178c5d9c 10447 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
10448 display info for XIM.
10449 (xim_open_dpy): Likewise.
10450 (xim_close_dpy): Don't free the display info's XIM.
10451
10452 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10453
10454 * config.in (USE_XIM): New define.
10455
3fc720e4
GM
10456 * keymap.c (get_keyelt): For menu-items containing a `:filter
10457 FILTER', apply FILTER to the menu-item's definition to get the
10458 real definition to use.
10459
10460 * lisp.h (QCfilter): External declaration.
10461
2c69ced2
GM
10462 * xfns.c (Fimage_size): New function.
10463 (syms_of_xfns): Defsubr it.
10464
f978b2a2
AS
104652000-06-26 Andreas Schwab <schwab@suse.de>
10466
10467 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10468 Fstring_as_unibyte.
10469
94cc7892
DL
104702000-06-25 Dave Love <fx@gnu.org>
10471
52283633 10472 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
10473
10474 * Makefile.in (blockinput.h): Depend on atimer.h.
10475 (atimer.h): Depend on systime.h.
10476
52283633 10477 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 10478
52283633 10479 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
10480
10481 * lisp.h (swap_in_global_binding): Declare.
10482
b8c24556
KR
104832000-06-24 Ken Raeburn <raeburn@gnu.org>
10484
10485 * process.c (Fopen_network_stream): Turn off atimers for duration
10486 of call to connect. (Patch from Gerd.)
10487
8cf8560b
DL
104882000-06-23 Dave Love <fx@gnu.org>
10489
511c7541
DL
10490 * ralloc.c: Maybe include unistd.h
10491
8cf8560b
DL
10492 * emacs.c (setgrp): Undefine before defining.
10493 (malloc_warning, set_time_zone_rule, index): Prototype.
10494
10495 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10496 HAVE_STRUCT_TIMEZONE.
10497
10498 * s/osf1.h: Move string.h hack here from alpha.h and make it
10499 conditional.
10500 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10501 _XOPEN_SOURCE.
10502 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10503 (SOCKLEN_TYPE): Don't define.
10504
10505 * m/alpha.h: Remove string.h hack.
10506
10507 * s/osf5-0.h: New file.
10508
10509 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10510 include time.h, done by systime.h.
10511 [__FreeBSD__]: Remove redundant includes.
10512
3fc720e4 10513 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
10514 (delete_temp_file): Return Qnil to avoid warning.
10515
10516 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10517
10518 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10519 HAVE_X_WINDOWS.
10520
10521 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10522
10523 * composite.h (compose_text): Declare.
10524
10525 * xterm.c: Don't include sys/types.h unconditionally. Don't
10526 protect its inclusion with !USG (following xmenu.c).
10527
ea055732
GM
105282000-06-23 Gerd Moellmann <gerd@gnu.org>
10529
10530 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10531 in x_create_frame.
10532
74b01b80
EZ
105332000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10534
10535 * coding.c (decode_eol_post_ccl): Special handling for undecided
10536 and inconsistent EOL types.
10537
64f3a166
GM
105382000-06-22 Gerd Moellmann <gerd@gnu.org>
10539
16cf31f7
GM
10540 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10541 trough color and main window's background color.
10542
52283633 10543 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
10544
10545 * xterm.h (Xt_app_con): External declaration.
10546
10547 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 10548
486a103d
GM
10549 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10550
64f3a166
GM
10551 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10552 (handle_invisible_prop): Record the start of invisible text in
10553 it->add_overlay_start.
10554 (struct overlay_entry): Add member `overlay'.
10555 (handle_overlay_change): Simplify.
10556 (next_overlay_string): After having processed overlay strings at the
10557 end of the buffer, record that fact in
10558 it->overlay_strings_at_end_processed_p.
10559 (compare_overlay_entries): If before- and after-strings come
10560 from the same overlay, let before-strings come first.
10561 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10562 (load_overlay_strings): Take it->add_overlay_start into account
10563 when adding overlay strings.
10564
10565 * dispextern.h (struct it): Add member add_overlay_start.
10566
bb746ea6
DL
105672000-06-22 Dave Love <fx@gnu.org>
10568
10569 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10570
10571 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10572
a8f573f3
KH
105732000-06-22 Kenichi Handa <handa@etl.go.jp>
10574
10575 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10576 is greater than 0.
10577
9f2bbc92
DL
105782000-06-21 Dave Love <fx@gnu.org>
10579
178c5d9c 10580 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 10581
3ee5041c
SM
105822000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10583
10584 * syntax.c (back_comment): Simplify string-parity counting (with
10585 the added benefit of handling multiple string-styles as long as
10586 they are not intertwined).
10587 Jump to the slow code as soon as a comment starter is found in
10588 a "string_lossage" position. Fixes the case: " /* " /* " */.
10589
4c343001
DL
105902000-06-21 Dave Love <fx@gnu.org>
10591
10592 * Makefile.in: Use GETLOADAVG_LIBS.
10593
10594 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10595 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10596
e6365855
SM
105972000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10598
10599 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10600 (Fforward_comment, scan_lists):
10601 Check the comstyle of single-char comment-starters.
10602 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10603 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
10604 Check the comstyle of single-char comment-starters.
10605 Clarify control-flow around the Scomment case.
e6365855 10606
5700d2cc
DL
106072000-06-20 Dave Love <fx@gnu.org>
10608
d355bd8a
SM
10609 * fns.c (make_hash_table, maybe_resize_hash_table):
10610 Cast arg of next_almost_prime.
5700d2cc 10611
178c5d9c 10612 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
10613
10614 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10615 and unistd.h.
10616
4a27bdfb
GM
106172000-06-20 Gerd Moellmann <gerd@gnu.org>
10618
a61d762c 10619 * keyboard.c (adjust_point_for_property): Check if display
52283633 10620 property should be treated as intangible by looking at its value.
a61d762c 10621
178c5d9c 10622 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
10623 (display_prop_intangible_p): New functions.
10624
10625 * dispextern.h (display_prop_intangible_p): Add prototype.
10626
10627 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 10628
4a27bdfb
GM
10629 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10630 argument to sigprocmask.
10631
10632 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10633 argument to sigprocmask.
10634
10635 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10636 sigprocmask_set, and pass a pointer to it to sigprocmask.
10637
10638 * sysdep.c (sigprocmask_set): New variable.
10639
10640 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10641 report_file_error.
10642
427ec082
SS
106432000-06-20 Sam Steingold <sds@gnu.org>
10644
10645 * xrdb.c: Don't declare xmalloc, xrealloc.
10646
8972fe79 106472000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
10648
10649 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10650 (re_comp): Cast gettext return value to avoid complaints when
10651 !HAVE_LIBINTL.
10652
074b6efe
DL
106532000-06-20 Dave Love <fx@gnu.org>
10654
52283633 10655 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 10656
5700d2cc 10657 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 10658
d355bd8a 10659 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
10660
10661 * m/alpha.h: Don't declare xmalloc, xrealloc.
10662
0af4f205
DL
10663 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10664
10665 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10666
10667 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10668
10669 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10670 HAVE_GETWD.
10671
074b6efe
DL
10672 * keyboard.h (poll_for_input_1): Declare.
10673
10674 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10675
10676 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10677
10678 * doprnt.c: Don't declare xmalloc, xrealloc.
10679
10680 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10681 (getenv, ctime, getwd): Removed.
10682 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10683
10684 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10685 x_set_tool_bar_lines.
10686
10687 * config.in: Add HAVE_GETWD. Move some definitions above
10688 machine/system includes.
10689
68a5e97b
KH
106902000-06-20 Kenichi Handa <handa@etl.go.jp>
10691
95417e1e
KH
10692 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10693
68a5e97b
KH
10694 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10695 contain information about ENCODING.
10696
10697 * fontset.c (FONTSET_ASCII): Use the first element of char table
10698 for an ASCII font, not defalt slot.
10699 (fontset_ref_via_base): If FONTSET doesn't contain information for
10700 C, try the default fontset.
10701 (make_fontset): Don't copy the default fontset.
10702 (fontset_font_pattern): Likewise.
10703 (accumulate_font_info): If ELT is nil, use the corresponding
10704 element in the default fontset.
10705
3b4fa1b2
DL
107062000-06-19 Dave Love <fx@gnu.org>
10707
943e731c
DL
10708 * syntax.c (Fparse_partial_sexp): Doc fix.
10709
10710 * regex.h: Test PROTOTYPES as well as __STDC__.
10711
3b4fa1b2
DL
10712 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10713 errno, strerror. Put text after #endif in comment.
10714
52283633 10715 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
10716
10717 * xterm.c (x_frame_of_widget): Likewise.
10718
cdf0357b
GM
107192000-06-19 Gerd Moellmann <gerd@gnu.org>
10720
10721 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10722 to Vfundamental_mode_abbrev_table.
10723
10724 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10725 bogus objects are marked. This slows down GC by ~80 percent, but
10726 it might be worth trying when debugging GC-related problems.
10727 This feature requires conservative stack marking to be enabled.
10728
10729 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10730 returns XLookupChars, reset `modifiers' to zero.
10731
998e9f8c
DL
107322000-06-19 Dave Love <fx@gnu.org>
10733
10734 * mktime.c: Unprotoized.
10735
18e21ce8 107362000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
10737
10738 * data.c (set_internal): If variable is frame-local,
10739 store the new value immediately into the frame parameter alist.
10740
140c4ac6
KR
107412000-06-19 Ken Raeburn <raeburn@gnu.org>
10742
14358466
KR
10743 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10744 in the custom handler pointer.
10745
140c4ac6
KR
10746 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10747 value, or checks for CHAR_META can fail when Lisp_Object is a
10748 union type.
10749 * keymap.c (get_keyelt): Likewise.
10750
10d7bf84
KH
107512000-06-19 Kenichi Handa <handa@etl.go.jp>
10752
10753 * ccl.h (struct ccl_program): New member eol_type.
10754 (struct ccl_spec): New member cr_carryover.
10755
10756 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10757 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10758
10759 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10760 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10761 (decode_eol_post_ccl): New function.
10762 (decode_coding): Don't detect EOL format here for CCL based coding
10763 systems.
10764 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10765 decode_eol_post_ccl after running the CCL program.
10766 (code_convert_region): Don't detect EOL format here for CCL based
10767 coding systems.
10768 (decode_coding_string): Likewise.
10769
52e386c2
KR
107702000-06-18 Ken Raeburn <raeburn@gnu.org>
10771
10772 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10773 when treating it as an integer.
10774
10775 * coding.h (encode_coding_string): Declare.
10776
10777 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10778 it as an integer.
10779
10780 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10781 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10782 to be passed to get_local_map.
10783
10784 * sound.c (Fplay_sound): Don't call make_number on
10785 Frun_hook_with_args count argument.
10786
10787 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10788 for lisp objects in X event structure data field, when lisp
10789 objects are represented with unions.
10790 (x_scroll_bar_to_input_event): Ditto.
10791
b357b9d4
KR
107922000-06-16 Ken Raeburn <raeburn@gnu.org>
10793
10794 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
10795 termination of string. Fix sense of test whether
10796 Vline_number_display_limit is an integer.
b357b9d4 10797
a871441d
GM
107982000-06-16 Gerd Moellmann <gerd@gnu.org>
10799
a9021acd
GM
10800 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10801 only if HAVE_X_WINDOWS.
10802
6344985d
GM
10803 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10804 of titles.
10805
427ec082 10806 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
10807 out of bounds.
10808
228b083e
EZ
108092000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10810
10811 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10812 of its headers.
10813
c25b53a2
KH
108142000-06-15 Kenichi Handa <handa@etl.go.jp>
10815
10816 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10817 start of the while loop.
10818
a6981b11
GM
108192000-06-15 Gerd Moellmann <gerd@gnu.org>
10820
e9924e52
GM
10821 * atimer.c (alarm_signal_handler): Add forward declaration.
10822
a6981b11
GM
10823 * data.c (set_internal): Remove debug code.
10824
25fa6deb
GM
108252000-06-14 Gerd Moellmann <gerd@gnu.org>
10826
dce6b995
GM
10827 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10828
9f817ea4
GM
10829 * unexec.c (toplevel) [COFF]: Include coff.h.
10830
10831 * s/lynxos.h: New file.
10832
10833 * keymap.c (Fsingle_key_description): Enclose function key and
10834 event symbol names in angle brackets.
10835
8a4e3c0c
GM
10836 * xdisp.c (setup_echo_area_for_printing): Call
10837 message_log_maybe_newline if message_buf_print is not set.
10838
10839 * print.c (printchar, strout): Don't check message_buf_print
427ec082 10840 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
10841 function does something useful even when message_buf_print is
10842 already set.
10843
52283633
SM
10844 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10845 New variables.
25fa6deb
GM
10846 (ensure_echo_area_buffers): Initialize echo buffer's
10847 truncate lines setting to nil.
10848 (with_echo_area_buffer): Don't set the echo buffer's truncate
10849 lines setting here.
8a4e3c0c 10850 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
10851 of message_truncate_lines.
10852 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
10853 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10854 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
10855
10856 * keyboard.c (read_char): Bind message-truncate-lines to t
10857 while displaying a help-echo.
10858
10859 * lisp.h (Qmessage_truncate_lines): External declaration.
10860
163dcff3
GM
108612000-06-13 Gerd Moellmann <gerd@gnu.org>
10862
1681ead6
GM
10863 * xdisp.c (Vline_number_display_limit): Renamed from
10864 line_number_display_limit.
10865 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10866 Extend documentation string. Initialize
10867 Vline_number_display_limit to nil meaning no limit.
10868 (decode_mode_spec): Use Vline_number_display_limit with its new
10869 meaning.
10870
163dcff3
GM
10871 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10872
18e21ce8 108732000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
10874
10875 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 10876
163dcff3
GM
10877 * xfns.c (x_set_frame_parameters): Comment fix.
10878
10879 * frame.c (store_frame_param): Call swap_in_global_binding if the
10880 variable's current binding was chosen based on this frame.
10881
10882 * data.c (swap_in_global_binding): New function.
10883
a704139d
EZ
108842000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10885
10886 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10887 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10888
9b6610db
EZ
108892000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10890
10891 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10892
c68833d2
JR
108932000-06-12 Jason Rumney <jasonr@gnu.org>
10894
10895 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10896
10897 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10898
10899 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10900
10901 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10902
ed1056b3
GM
109032000-06-12 Gerd Moellmann <gerd@gnu.org>
10904
10905 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10906 (syms_of_xfaces): Defsubr Sdump_colors.
10907 (x_free_colors): Don't treat b&w specially on default visual.
10908 (x_free_dpy_colors): New function.
10909 (free_face_colors): Don't check visual class; it's done
10910 in x_free_colors.
10911
10912 * xterm.c (x_frame_of_widget): New function.
10913 (x_alloc_nearest_color_for_widget): Use it.
10914 (x_copy_dpy_color): New function.
10915 (x_destroy_window): Free various colors.
10916
5050a2ef
KH
109172000-06-12 Kenichi Handa <handa@etl.go.jp>
10918
10919 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10920
10921 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10922
10923 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10924
10925 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10926
10927 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10928
fb1b041d
DL
109292000-06-11 Dave Love <fx@gnu.org>
10930
10931 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10932
ff96b5f4
EZ
109332000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10934
10935 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10936
db8eeecd
GM
109372000-06-11 Gerd Moellmann <gerd@gnu.org>
10938
ed1056b3 10939 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
10940 to `XEvent *'.
10941
49b71c5f
KH
109422000-06-10 Kenichi Handa <handa@etl.go.jp>
10943
c479bd55
KH
10944 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10945 (regex_compile): Fix the code for handling the case of single byte
10946 char and multibyte char being mixed in a range within [...].
10947
ff6a65c2
KH
10948 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10949 and dst_multibyte members of coding.
10950
49b71c5f
KH
10951 * charset.c (update_charset_table): Update the table
10952 bytes_by_char_head.
10953 (init_charset_once): Initialize elements of bytes_by_char_head to
10954 1 except for leading codes for private charases.
10955
10956 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 10957 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 10958
9e80b57d
KR
109592000-06-09 Ken Raeburn <raeburn@gnu.org>
10960
10961 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10962 access the data it doesn't point to.
10963
f83fe4b4
GM
109642000-06-08 Gerd Moellmann <gerd@gnu.org>
10965
10966 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 10967 will be translated to a switch-frame event when reading the
f83fe4b4
GM
10968 event queue. This is necessary because Emacs otherwise won't
10969 perform a switch-frame to a new frame until some other event, for
10970 example a keystroke event, forces it to do so. This has various
10971 effects, one visible being that the cursor of a frame created with
10972 C-x 5 2 or switched to with a window manager key binding like
10973 A-TAB stays hollow because selected_window isn't on the newly
10974 focused frame until the switch-frame is performed.
10975
10976 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10977 generating a switch-frame event if necessary.
10978
10979 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
10980
10981 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
10982 it's an integer.
10983
0890801b
KH
109842000-06-08 Kenichi Handa <handa@etl.go.jp>
10985
52283633 10986 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 10987
173cbca8
GM
109882000-06-07 Gerd Moellmann <gerd@gnu.org>
10989
3091c2a6
GM
10990 * window.c (displayed_window_lines): Take empty lines at
10991 the bottom of a window into account.
427ec082 10992
f38952fe
GM
10993 * window.c (displayed_window_lines): New function.
10994 (Fmove_to_window_line): Use displayed_window_lines to determine
10995 the number of lines to move, instead of using the window's height.
10996
10997 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
10998 to stop reading, even if the form read sets point to a different
10999 value when evaluated.
11000
427ec082 11001 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
11002 put the cursor.
11003
6ba6c818
KH
110042000-06-07 Kenichi Handa <handa@etl.go.jp>
11005
11006 * fileio.c (e_write): Free composition data if stored in
11007 coding->cmp_data.
11008
5f1aea9a
GM
110092000-06-06 Gerd Moellmann <gerd@gnu.org>
11010
666852af
GM
11011 * xdisp.c (display_line): Set row's and iterator's
11012 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11013 Set cursor even if row ends in the middle of a character.
11014 (dump_glyph_row): Print values of new flags.
11015 (redisplay_window) <cursor movement in unchanged window>: When
11016 point has been moved forward, and PT is at the end of the cursor
11017 row, don't place the cursor in the next row if the cursor row ends
11018 in the middle of a character or at ZV.
11019
11020 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11021 (struct glyph_row): Add starts_in_middle_of_char_p and
11022 ends_in_middle_of_char_p.
11023 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11024 ends_in_middle_of_char_p flag.
11025 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11026
d13f3e2e
GM
11027 * term.c (append_glyph): Revert change of 2000-06-06.
11028
11029 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11030 padding glyph not fitting on line as whole character not
11031 fitting on line.
11032
5f1aea9a
GM
11033 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11034 this isn't true for images with `:ascent 100'.
11035
10cda9b0
KH
110362000-06-06 Kenichi Handa <handa@etl.go.jp>
11037
ed00559d
KH
11038 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11039 as modified if it is originally unmodified.
11040
10cda9b0
KH
11041 * term.c (encode_terminal_code): Change the way to check if
11042 terminal coding does any conversion.
11043 (append_glyph): Set glyph->pixel_width correctly.
11044
11045 * xdisp.c (display_line): While checking line continuation, pay
11046 attention to a padding glyph.
11047
1969fae2
GM
110482000-06-05 Gerd Moellmann <gerd@gnu.org>
11049
11050 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11051
162ccef4
DL
110522000-06-05 Dave Love <fx@gnu.org>
11053
f19f32dd
DL
11054 * xdisp.c: Include fontset.h.
11055
11056 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11057
11058 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11059
11060 * dispnew.c: Conditionally include term.h.
11061
11062 * coding.h: Declare code_convert_string_norecord.
11063
11064 * frame.h (struct frame): Use volatile unconditionally.
11065
11066 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11067
11068 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11069
11070 * systime.h: Protect against multiple inclusion.
11071 (timezone) [USG5_4]: Define as time_t.
11072
11073 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11074 (Foptimize_char_table, make_temp_name): Declare.
11075
11076 * Makefile.in (xdisp.o): Depend on fontset.h.
11077
11078 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11079
11080 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11081 (Foptimize_char_table, make_temp_name): Declare.
11082
427ec082 11083 * s/irix4-0.h:
162ccef4
DL
11084 * s/irix5-0.h:
11085 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11086
2082fe81
DL
110872000-06-02 Dave Love <fx@gnu.org>
11088
11089 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11090
dcf671d2
GM
110912000-06-02 Gerd Moellmann <gerd@gnu.org>
11092
11093 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 11094 result face, set flags in that face indicating that colors may not
dcf671d2
GM
11095 be freed.
11096
11097 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11098 glyph, use the ASCII NUL character to determine the face.
11099
d42122a3
DL
111002000-06-02 Dave Love <fx@gnu.org>
11101
11102 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11103 (VFORK_RETURN_TYPE): Remove.
427ec082 11104
d42122a3
DL
11105 * config.in: Add NO_MATHERR.
11106
dd432f16
DL
111072000-06-01 Dave Love <fx@gnu.org>
11108
90aa4ea8
DL
11109 * cmds.c (internal_self_insert): Don't check
11110 Vbefore_change_function, Vafter_change_function.
11111
11112 * insdel.c (signal_before_change, signal_after_change): Likewise.
11113
11114 * buffer.c (Vbefore_change_function, Vafter_change_function):
11115 Variables and their initializations deleted.
11116
2330c9d4
DL
11117 * callint.c (Fcall_interactively): Doc fix.
11118
dd432f16
DL
11119 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11120
bf9e8804
DL
111212000-05-31 Dave Love <fx@gnu.org>
11122
11123 * textprop.c: Revert last change -- duplicated.
11124
3694b4ab
GM
111252000-05-31 Gerd Moellmann <gerd@gnu.org>
11126
11127 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11128 in #if 0.
11129
11130 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11131
f14156cd
JR
111322000-05-31 Jason Rumney <jasonr@gnu.org>
11133
8119aab8
JR
11134 * search.c (Fre_search_forward, Fre_search_backward)
11135 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11136
f14156cd
JR
11137 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11138
4aab9be3
JR
111392000-05-30 Jason Rumney <jasonr@gnu.org>
11140
11141 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11142 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11143
52283633 11144 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
11145
11146 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11147 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11148 expand a nil default_filename.
11149
11150 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11151 pointer to glyph_to_pixel_coords, not a frame.
11152
11153 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11154 coding.h to dependencies.
11155
11156 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11157
11158 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11159 window pointer to be consistent with w32term.c and xterm.c.
11160
11161 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11162 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11163 (Qline_spacing, Qcenter): New variables.
11164 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11165 (x_set_line_spacing): New function.
52283633 11166 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
11167 (x_specified_cursor_type): New function.
11168 (x_set_cursor_type): Use it.
11169 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11170 and icon strings.
11171 (validate_x_resource_name, x_get_resource_string): Measure lengths
11172 of external strings in bytes.
11173 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11174 GetTextExtentPoint32 with NULL title.
11175 (Fx_create_frame): Initialize Qline_spacing.
11176 (w32_load_system_font): Initialize font->double_byte_p.
11177 (x_to_w32_charset): Use Vw32_charset_info_alist.
11178 (Image, busy cursor, tooltip functions): Merged changes from
11179 xfns.c. Not yet functional on Windows.
11180
11181 * w32gui.h (W32FontStruct): Add double_byte_p member.
11182
11183 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11184 (emacs_button_translation): Use it.
11185 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11186 in `mask' to be set.
11187
11188 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11189 menu strings.
11190
11191 * w32term.c: Format and doc changes to bring closer to xterm.c.
11192 (w32_char_font_type): New enum.
11193 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11194 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11195 (w32_encode_char): New function.
11196 (x_encode_char): Removed.
11197 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11198 x_encode_char and w32_font_is_double_byte.
11199 (x_produce_image_glyph): Use image_ascent.
11200 (x_produce_glyphs): Use new version of w32_per_char_metric and
11201 handle NULL return value. Allow extra line spacing.
11202 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11203 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11204 w32_font_type member of glyph instead.
11205 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11206 (fast_find_position): Make sure not to consider rows not visible
11207 in the window.
11208 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11209 w32_menu_display_help with input blocked, as it can abort.
11210 (x_display_and_set_cursor): Choose cursor depending
11211 on buffer-local value of cursor_type.
11212 (x_draw_bar_cursor): Add parameter WIDTH.
11213
11214 * w32term.h (CP_DEFAULT): Define.
11215 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11216
10fc3187
GM
112172000-05-30 Gerd Moellmann <gerd@gnu.org>
11218
11219 * search.c (Fre_search_forward, Fre_search_backward)
11220 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11221
d0555360
KH
112222000-05-30 Kenichi Handa <handa@etl.go.jp>
11223
11224 * coding.c (detect_coding_iso2022): Fix code for checking
11225 CODING_CATEGORY_MASK_ISO_8_2.
11226
f1ad044f
SM
112272000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11228
11229 * regex.c (PREFETCH_NOLIMIT): New function.
11230 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11231
84ec3b4b
GM
112322000-05-29 Gerd Moellmann <gerd@gnu.org>
11233
66254a13
GM
11234 * syntax.c (find_defun_start): Move test for
11235 open_paren_in_column_0_is_defun_start outside of the loop.
11236
49e70dec
GM
11237 * xdisp.c (redisplay_window): Really switch buffers when
11238 displaying mode lines, and temporarily set selected_frame to the
11239 frame of the window that's redisplayed.
11240
84ec3b4b
GM
11241 * xfaces.c (free_realized_faces): Block/unblock input.
11242 (free_realized_multibyte_face): Ditto.
11243
869a3a14
DL
112442000-05-29 Dave Love <fx@gnu.org>
11245
11246 * textprop.c (Qkeymap): New variable.
11247 (syms_of_textprop): Intern it.
11248
11249 * keymap.c: Include intervals.h.
11250 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11251
11252 * Makefile.in (keymap.o): Depend on intervals.h.
11253
11254 * keyboard.c (menu_bar_items, tool_bar_items)
11255 (Fexecute_extended_command): Deal with `keymap' property.
11256 (read_key_sequence): Track map from `keymap' property as well as
11257 `local_map'.
11258
11259 * intervals.c (get_local_map): Extra arg to allow looking for
11260 `keymap' too.
11261
11262 * intervals.h (map_property): New enum.
11263 (get_local_map): Extra arg using it.
11264 (Qkeymap): Declare.
11265
84ec3b4b 11266 * lisp.h (get_local_map): Don't declare here.
869a3a14 11267
89d0c844
KH
112682000-05-29 Kenichi Handa <handa@etl.go.jp>
11269
11270 * Makefile.in (callproc.o): Depend on composite.h.
11271
11272 * callproc.c: Include composite.h.
11273 (Fcall_process): Handle composition correctly.
11274
11275 * coding.h (coding_allocate_composition_data): Extern it.
11276 (coding_restore_composition): Likewise.
11277
11278 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11279 yet allocated, finish decoding with result
11280 CODING_FINISH_INSUFFICIENT_CMP.
11281 (coding_allocate_composition_data): Make it non-static.
11282 (coding_restore_composition): Likewise.
11283
797a084a
EZ
112842000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11285
11286 * charset.c (syms_of_charset): Revert last change.
11287
cf872af5
EZ
112882000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11289
11290 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
11291 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11292 Handa.
cf872af5 11293
5b1ae051
EZ
112942000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11295
11296 * charset.c (syms_of_charset): Set width of character sets
11297 eight-bit-control and eight-bit-graphic to 1 column.
11298
34ec9ebe
GM
112992000-05-26 Gerd Moellmann <gerd@gnu.org>
11300
11301 * config.in (HAVE_SPEED_T): New define.
11302
11303 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11304 `extern speed_t'.
11305
dd854dc2
DL
113062000-05-26 Dave Love <fx@gnu.org>
11307
11308 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11309
11310 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11311 (Fsubr_arity): New function.
11312 (syms_of_data): Install them.
11313
ba9f8f95
KH
113142000-05-26 Kenichi Handa <handa@etl.go.jp>
11315
0f3e0672
KH
11316 * charset.c (init_charset_once): Set the table bytes_by_char_head
11317 correctly.
11318
cebefb44
KH
11319 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11320 the default fontset to what Emacs uses by default.
0f3e0672
KH
11321 (check_registry_encoding): This function deleted.
11322 (Fset_fontset_font): Remove the adhoc condition for the default
11323 fontset. Allow cons in FONTNAME.
cebefb44 11324
0f3e0672
KH
11325 * fns.c (map_char_table): Ignore char-table entries for
11326 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 11327
7a18af49
KR
113282000-05-25 Ken Raeburn <raeburn@gnu.org>
11329
11330 * emacs.c (main): Initialize keyboard syms before initializing
11331 window code, so face names are available.
11332
d2af47df
SM
113332000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11334
11335 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11336 of an anchor at the beginning of a shy-group.
11337
fc6a6a4e
GM
113382000-05-25 Gerd Moellmann <gerd@gnu.org>
11339
11340 * xdisp.c (handle_invisible_prop): Don't try to skip over
11341 invisible text if end of text is already reached.
11342
005f0d35
DL
113432000-05-25 Dave Love <fx@gnu.org>
11344
02513cdd
DL
11345 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11346
005f0d35
DL
11347 * coding.c (encode_eol): Add null statement after label.
11348
89f6ca4e
EZ
113492000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11350
11351 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11352 2000-05-20.
11353
a4e1759e
KH
113542000-05-25 Kenichi Handa <handa@etl.go.jp>
11355
11356 * ccl.c (ccl_driver): Fix previous change.
11357
eacfd7fe
KH
113582000-05-25 Kenichi Handa <handa@etl.go.jp>
11359
46ab33a9
KH
11360 * coding.c (run_pre_post_conversion_on_str): Set point to the
11361 beginning of buffer before calling coding->post_read_conversion.
11362 (decode_coding_string): Give correct args to
11363 run_pre_post_conversion_on_str.
11364 (encode_coding_string): Likewise.
11365
eacfd7fe
KH
11366 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11367 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11368 eight-bit-graphic correctly.
11369
f8569325
DL
113702000-05-24 Kenichi HANDA <handa@etl.go.jp>
11371
11372 * fileio.c (Finsert_file_contents): Even if a file is not found,
11373 execute codes for setting up coding system. Call
11374 after-insert-file-functions unconditionally.
11375
04545643
GM
113762000-05-24 Gerd Moellmann <gerd@gnu.org>
11377
11378 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11379 BSD_PGRPS are not defined.
11380
747d90ea
KH
113812000-05-24 Kenichi Handa <handa@etl.go.jp>
11382
11383 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11384 DESCRIPTION.
11385 (syms_of_charset): Avoid building same strings.
11386
716e3b88
GM
113872000-05-23 Gerd Moellmann <gerd@gnu.org>
11388
11389 * lread.c (Fload): Add a comment about the meaning of
11390 Vuser_init_file being t.
11391
11392 * puresize.h (BASE_PURESIZE): Increase to 675000.
11393
11394 * s/gnu-linux.h (setpgrp): Don't define it here because this
11395 prevents compilation on GNU/Linux systems with glib 2.2.
11396
11397 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11398 as setpgid.
427ec082 11399
9aeb39fa
EZ
114002000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11401
11402 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11403 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11404 version.
11405 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11406
29ced61b
KH
114072000-05-23 Kenichi Handa <handa@etl.go.jp>
11408
52283633 11409 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 11410
3d80f24d
KH
11411 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11412
52283633 11413 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 11414
29ced61b
KH
11415 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11416
d7e00792
KH
114172000-05-22 Kenichi Handa <handa@etl.go.jp>
11418
c9d80d38
KH
11419 * keyboard.c (read_char): Allow character codes 128..255 to be
11420 handled by input-method-function.
11421
d7e00792
KH
11422 * insdel.c (adjust_markers_for_replace): Fix previous change.
11423 (adjust_after_replace): If PREV_TEXT is nil, call
11424 adjust_markers_for_insert, not adjust_markers_for_replace.
11425
087121cc 114262000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 11427
087121cc
GM
11428 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11429 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11430 [HAVE_GRANDPT]: Define.
11431 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11432
11433 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11434 like SYSV_PTYS.
11435
11436 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11437
11438 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11439
c9671f81
KH
114402000-05-20 Kenichi Handa <handa@etl.go.jp>
11441
11442 The following changes are to handle 8-bit characters in a
11443 multibyte buffer/string without facing with byte combining
11444 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11445 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11446
11447 * Makefile.in (fns.o): Depend on charset.h.
11448
11449 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11450 convert it to unibyte.
11451 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11452
11453 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11454 apparent char boundary.
11455 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11456 0x80..0x9F to/from multibyte form.
11457
11458 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11459 to unibyte.
11460
11461 * callproc.c (Fcall_process): Always encode an argument string if
11462 it is multibyte. Setup src_multibyte and dst_multibyte members of
11463 process_coding properly.
ce75fd23 11464
c9671f81
KH
11465 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11466 SPLIT_NON_ASCII_CHAR.
11467
11468 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11469 as is.
11470 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11471
52283633 11472 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 11473 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 11474 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
11475 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11476 and eight-bit-graphic.
11477 (char_to_string): Likewise. Signal an error for too large
11478 character code.
11479 (char_printable_p): Return 0 for 8-bit characters.
11480 (update_charset_table): Update iso_charset_table only when a final
11481 character is non-negative.
11482 (find_charset_in_text): Renamed from find_charset_in_str.
11483 Arguments and return value changed. Callers changed.
11484 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11485 be -1 if CHARSET is used only internally.
11486 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11487 eight-bit-graphic.
11488 (Fcharset_after): Simplified.
11489 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11490 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11491 (multibyte_chars_in_text): Simplified by assuming there's no
11492 invalid multibyte sequence.
52283633
SM
11493 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11494 (str_as_unibyte): New functions.
11495 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
11496 (init_charset_once): Initialization for
11497 LEADING_CODE_8_BIT_CONTROL.
11498 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11499 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11500 eight-bit-control and eight-bit-graphic.
11501
52283633
SM
11502 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11503 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
11504 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11505 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11506 (CHARSET_REVERSE_CHARSET): Likewise.
11507 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11508 eight-bit-graphic.
11509 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11510 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11511 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11512 encounter an invalid multibyte sequence.
11513 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11514 sequence is always valid.
11515 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 11516 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
11517 (CHAR_STRING): For 8-bit characters, call char_to_string.
11518 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11519 multibyte sequence is always valid.
11520 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
11521 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11522 (str_as_unibyte): Extern them.
c9671f81 11523 (BCOPY_SHORT): Fix a bug.
52283633 11524 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
11525 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11526 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11527 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11528
bd4bde7f 11529 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 11530 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
11531 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11532 (EMIT_BYTES): New macros.
11533 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11534 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
11535 macros deleted.
11536 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11537 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11538 check the validity of multibyte sequence.
11539 (decode_coding_emacs_mule): New function.
11540 (encode_coding_emacs_mule): New macro.
11541 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11542 the source.
11543 (DECODE_ISO_CHARACTER): Just return a character code.
11544 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11545 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11546 EMIT_CHAR to produced decoded characters. Exit the loop only by
11547 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11548 block here.
11549 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11550 only position codes for an invalid character.
11551 (encode_designation_at_bol): Return new destination pointer. 5th
11552 arg DSTP is changed to DST.
11553 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11554 from the source by ONE_MORE_CHAR. Don't handle the case of last
11555 block here.
11556 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11557 macros deleted.
52283633
SM
11558 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11559 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
11560 TWO_MORE_BYTES to fetch a byte from the source.
11561 (encode_eol): Pay attention to coding->src_multibyte.
11562 (detect_coding, detect_eol): Preserve members src_multibyte and
11563 dst_multibyte.
11564 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11565 (encoding_buffer_size): Set magnification to 3 for all coding
11566 systems that require encoding.
11567 (ccl_coding_driver): For decoding, be sure that the result is
11568 valid multibyte sequence.
11569 (decode_coding): Initialize coding->errors and coding->result.
11570 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11571 and raw-text, always call decode_eol. Handle the case of last
11572 block here. If not coding->dst_multibyte, convert the resulting
11573 sequence to unibyte.
11574 (encode_coding): Initialize coding->errors and coding->result.
11575 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11576 and raw-text, always call encode_eol. Handle the case of last
11577 block here.
11578 (shrink_decoding_region, shrink_encoding_region): Detect cases
11579 that we can't skip data more rigidly.
11580 (code_convert_region): Setup src_multibyte and dst_multibyte
11581 members of coding. For decoding, if the buffer is multibyte,
11582 convert the source sequence to unibyte in advance. For encoding,
11583 if the buffer is multibyte, convert the resulting sequence to
11584 multibyte afterward.
11585 (run_pre_post_conversion_on_str): New function.
11586 (code_convert_string): Deleted and divided into the following two.
11587 (decode_coding_string, encode_coding_string): New functions.
11588 (code_convert_string1, code_convert_string_norecord): Call one of
11589 above.
11590 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11591 MAKE_NON_ASCII_CHAR.
52283633
SM
11592 (Fset_terminal_coding_system_internal)
11593 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
11594 and dst_multibyte members.
11595 (init_coding_once): Initialize iso_code_class with new enum
11596 ISO_control_0 and ISO_control_1.
11597
11598 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11599 devided into ISO_control_0 and ISO_control_1.
11600 (struct coding_system): New members src_multibyte, dst_multibyte,
11601 errors, and result. Delete member fake_multibyte.
11602 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11603 nonzero.
11604 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11605 nonzero.
11606
11607 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11608 (Faset): Likewise.
11609
11610 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11611 multibyte form.
11612 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11613 combining occurs.
11614 (Ftranspose_region): Delete codes for handling byte combining.
11615
11616 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11617 dst_multibyte members of coding. On handling REPLACE on unibyte
11618 buffer, convert the result of decode_coding to unibyte. On
11619 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 11620 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
11621 multibyteness of the source (buffer or string).
11622
11623 * fns.c (concat): Handle 8-bit characters correctly.
11624 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11625 unibyte in the result.
11626 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11627 valid multibyte form in the result.
11628 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11629 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11630 return -1, signal an error.
11631 (base64_encode_1): New arg MULTIBYTE. Get each character by
11632 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11633 character is found, return -1.
11634 (Fbase64_decode_region): Delete codes for handling byte-combining.
11635 Treat each decoded byte as a unibyte character.
11636 (Fbase64_decode_string): Return unibyte string.
11637 (Fcompare_strings, concat, string_byte_to_char): Use
11638 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11639 FETCH_STRING_CHAR_ADVANCE.
11640 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11641 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11642
11643 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11644 SPLIT_NON_ASCII_CHAR.
11645 (fontset_ref_via_base, fontset_set): Likewise
11646
11647 * insdel.c (adjust_markers_for_record_delete): Deleted.
11648 (adjust_markers_for_insert): Argument changed. Caller changed.
11649 (adjust_markers_for_replace): Likewise.
52283633
SM
11650 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11651 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
11652 (copy_text): Delete unused local varialbe c_save. For converting
11653 to multibyte, be sure to make all 8-bit characters in valid
11654 multibyte form.
11655 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
11656 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11657 (adjust_after_replace, replace_range, del_range_2)
c9671f81 11658 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
11659 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11660 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
11661 handling byte combining.
11662 (adjust_before_replace): Deleted.
427ec082 11663
c9671f81
KH
11664 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11665 SPLIT_NON_ASCII_CHAR.
11666 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 11667 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11668 (Fkey_description): Likewise.
11669
11670 * lread.c (read1): On reading multibyte string, be sure to make
11671 all 8-bit chararacters in valid multibyte form.
11672 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11673
11674 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11675 unconditionally.
11676
11677 * process.c (Fstart_process): GCPRO current_dir before calling
11678 Ffind_operation_coding_system. Encode arguments here.
11679 (create_process): Don't encode arguments here. Setup
11680 src_multibyte and dst_multibyte members of struct coding.
11681 (read_process_output): Setup src_multibyte and dst_multibyte
11682 members of struct coding. If the output is to multibyte buffer,
11683 always decode the output of the process. Adjust the
52283633 11684 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
11685 (send_process): Setup coding->src_multibyte according to the
11686 multibyteness of the source.
11687
52283633 11688 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
11689 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11690 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11691
52283633 11692 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
11693
11694 * w16select.c (Fw16_set_clipboard_data): Setup members
11695 src_multibyte and dst_multibyte of coding. Adjusted for the
11696 change for find_charset_in_str.
11697 (Fw16_get_clipboard_data): Likewise.
11698
11699 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11700 dst_multibyte of coding.
11701 (x_to_w32_font): Likewise.
11702
11703 * w32select.c (Fw32_set_clipboard_data): Setup members
11704 src_multibyte and dst_multibyte of coding. Adjusted for the
11705 change for find_charset_in_str.
11706 (Fw32_get_clipboard_data): Likewise.
11707
11708 * xdisp.c (get_next_display_element): Handle 8-bit characters
11709 correctly.
52283633
SM
11710 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11711 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
11712
11713 * xselect.c (selection_data_to_lisp_data): Setup members
11714 src_multibyte and dst_multibyte of coding. Adjusted for the
11715 change for find_charset_in_str.
11716 (lisp_data_to_selection_data): Likewise.
11717
5f64c9e0
GM
117182000-05-19 Gerd Moellmann <gerd@gnu.org>
11719
52283633 11720 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 11721
5f64c9e0
GM
11722 * dispextern.h (Vimage_types): Add extern declaration.
11723
11724 * xdisp.c (Vimage_types): Moved here from xfns.c.
11725 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11726
11727 * xfns.c (Vimages_types): Moved to xdisp.c.
11728 (syms_of_xfns): Move `image-types' to xdisp.c.
11729
11730 * w32fns.c (Vimage_types): Removed.
11731 (syms_of_w32fns): Remove `image-types'.
11732
813086ea
KH
117332000-05-18 Kenichi Handa <handa@etl.go.jp>
11734
11735 * fns.c (map_char_table): Pay attention to character number of
11736 charset. Check the validity of charset at the first level. For
11737 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11738 the default value.
11739
11740 * fontset.c: Include "buffer.h".
11741 (fs_load_font): If the face has fontset, record the face ID in
11742 that fontset.
11743 (Finternal_char_font): New function.
11744 (accumulate_font_info): New function.
11745 (Ffontset_info): Rewritten for the new fontset implementation.
11746 (syms_of_fontset): Register Vdefault_fontset in the first element
11747 of Vfontset_table. Include Vdefault_fontset in
11748 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11749 function.
11750
bdaebbf0
DL
117512000-05-16 Dave Love <fx@gnu.org>
11752
11753 * m/iris5d.h: Deleted -- unused.
11754
cb613bb8
GM
117552000-05-16 Gerd Moellmann <gerd@gnu.org>
11756
b15f3b77
GM
11757 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11758 `invalid' instead of `illegal'.
11759
11760 * indent.c (Fmove_to_column): When ending within a tab, insert
11761 spaces first so that markers at the end of the tab get adjusted.
11762
835c1b36
GM
11763 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11764 buffer list that wasn't selected in that frame.
11765
cb613bb8
GM
11766 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11767 is needed on mescaline, use a 2 char prefix, and call
11768 make_temp_name with second arg non-zero.
11769
11770 * fileio.c (make_temp_name): New function, extracted from
11771 Fmake_temp_name.
11772 (Fmake_temp_name): Use it.
11773
f685bea9
EZ
117742000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11775
52283633 11776 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 11777
a1b8d58b
GM
117782000-05-15 Gerd Moellmann <gerd@gnu.org>
11779
11780 * Makefile.in (lisp): Add env.elc.
11781
11782 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11783
a265079f
GM
117842000-05-12 Gerd Moellmann <gerd@gnu.org>
11785
11786 * search.c (Freplace_match): Handle case of `\N' in the
11787 replacement when there's no group N.
11788
da4496b6
GM
117892000-05-11 Gerd Moellmann <gerd@gnu.org>
11790
0ace421a
GM
11791 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11792 of the message to message_dolog.
11793
1172eb8d
GM
11794 * keyboard.c (read_char): Don't clear current message for help
11795 events; let the code handling help events handle this. Change
11796 code detecting help events that should be ignored.
11797
da4496b6
GM
11798 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11799 we're interating over a string.
11800
0623e40f
DL
118012000-05-09 Dave Love <fx@gnu.org>
11802
11803 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11804 that offset before writing. Move gcpro region past call of
11805 Ffile_regular_p.
11806
bae2503b
DL
118072000-05-04 Dave Love <fx@gnu.org>
11808
11809 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11810
ec82fb2f
GM
118112000-05-04 Gerd Moellmann <gerd@gnu.org>
11812
11813 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11814 of inserted characters when BUF equals the current buffer, and PT
11815 is in front of or equal to FROM.
11816
cbf18892
GM
118172000-05-03 Gerd Moellmann <gerd@gnu.org>
11818
4ff40dd0
GM
11819 * xdisp.c (handle_single_display_prop): If display property value
11820 is invalid, or something not supported on the frame, restore
11821 iterator's position to what it was initially. Make sure to return
11822 0 for invalid and unsupported property values.
11823
cbf18892
GM
11824 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11825 that x_per_char_metric returns null.
11826
1b0672c3
GM
118272000-05-02 Gerd Moellmann <gerd@gnu.org>
11828
576da55d
GM
11829 * xterm.h (struct face): Add forward declaration.
11830 (struct image): Ditto.
11831 (image_ascent): Add prototype.
11832
11833 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11834 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11835 image_ascent instead of using IMAGE_ASCENT.
11836
11837 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11838 (IMAGE_ASCENT): Removed.
11839
11840 * xfns.c (Qcenter): New variable.
11841 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11842 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11843 (image_ascent): New function.
11844 (lookup_image): Recognize `:ascent center'.
11845 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11846 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11847 (xbm_load): Don't set image's ascent here.
11848 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11849 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11850 check ascent values here.
11851 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11852 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11853 (syms_of_xfns): Initialize Qcenter.
11854
1b0672c3
GM
11855 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11856 to the limits, increase the limits.
11857
0d7811ed
KH
118582000-05-01 Kenichi Handa <handa@etl.go.jp>
11859
11860 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 11861 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 11862
a943a5ca
GM
118632000-04-28 Gerd Moellmann <gerd@gnu.org>
11864
11865 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11866 taller than the window.
11867
5dba1e29
KH
118682000-04-28 Kenichi Handa <handa@etl.go.jp>
11869
11870 * xfaces.c (realize_x_face): Fix the argument of the second
11871 xassert. BASE_FACE may not be a face for ASCII.
11872
353964e3
GM
118732000-04-27 Gerd Moellmann <gerd@gnu.org>
11874
c76e04a8
GM
11875 * print.c (print_object): Treat print-length < 0 as nil.
11876
11877 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11878
11879 * s/freebsd.h (TERMCAP_OBJ): Removed.
11880 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11881
11882 * lread.c (read1): Don't treat period followed by certain
11883 characters as symbol start.
11884
11885 * xfns.c (slurp_file): New function.
11886 (xbm_image_p): Handle case of in-memory XBM files.
11887 (xbm_scan): Rewritten to work on memory buffers instead of files.
11888 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11889 Work on memory buffers instead of files. If DATA is null test
11890 if buffer looks like an in-memory XBM file.
11891 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11892 memory buffers instead of files.
11893 (xbm_file_p): New function.
11894 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11895
353964e3
GM
11896 * lread.c (end_of_file_error): New function.
11897 (read1): Call it instead of signaling `end-of-file' directly.
11898
427ec082 11899 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
11900 with Fprinc instead of Fprin1.
11901
24d744ac
KR
119022000-04-26 Ken Raeburn <raeburn@gnu.org>
11903
11904 * window.c (freeze_window_start): Check that minibuffer scroll
11905 window isn't nil before extracting the window structure pointer
11906 from it.
11907
11908 * undo.c (record_delete): If we hit the end of the undo list, stop
11909 picking elements apart.
11910
7464346d
GM
119112000-04-26 Gerd Moellmann <gerd@gnu.org>
11912
11913 * xdisp.c (display_line): If lines are continued, restore
11914 iterator's ascent/descent information to the values before the
11915 first glyph not fitting on the line.
11916
612839b6
GM
119172000-04-25 Gerd Moellmann <gerd@gnu.org>
11918
11919 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 11920 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
11921
11922 * dispnew.c (increment_matrix_positions): Renamed from
11923 increment_glyph_matrix_buffer_positions.
11924 (increment_row_positions): Renamed from
11925 increment_glyph_row_buffer_positions.
11926
11927 * dispextern.h: Change names of renamed functions from dispnew.c
11928 in prototypes.
11929
cc181e95
GM
119302000-04-24 Gerd Moellmann <gerd@gnu.org>
11931
abfcc168
GM
11932 * fileio.c (Fdo_auto_save): Create directories for auto-save
11933 list file if necessary.
11934
cc181e95
GM
11935 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11936 from buffer or frame.
11937 (automatic_hscrolling_p): New variable.
11938 (hscroll_windows): Scroll windows horizontally only if automatic
11939 hscrolling is allowed.
11940 (syms_of_xdisp): New variable `automatic-hscrolling'.
11941
11942 * frame.h (struct frame): Add member extra_line_spacing.
11943
11944 * xfns.c (x_set_line_spacing): New function.
11945 (Fx_create_frame): Set line spacing from resources.
11946 (Qline_spacing): New variable.
11947 (syms_of_xfns): Initialize Qline_spacing.
427ec082 11948
cc181e95
GM
11949 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11950
11951 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11952 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 11953 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
11954 extra_line_spacing from default value.
11955 (init_buffer_once): Initialize default value of extra_line_spacing.
11956
11957 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11958 and extra3.
11959
11960 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11961 prompt_width. Add extra line spacing.
11962
11963 * term.c (produce_glyphs): Remove reference to struct it's
11964 prompt_width.
11965
11966 * dispextern.h (struct it): Remove member prompt_width, add
11967 extra_line_spacing.
11968
58827478
GM
119692000-04-22 Gerd Moellmann <gerd@gnu.org>
11970
11971 * dispnew.c (update_frame_line): When writing a whole line, make
11972 sure cursor is in the right row afterwards, otherwise a use of
11973 capability `ch' in cmgoto might leave the cursor in the row below.
11974
25a87f42
GM
119752000-04-21 Gerd Moellmann <gerd@gnu.org>
11976
11977 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11978
11979 * keyboard.c (timer_check): Fix typo in comment.
11980
54edf5c2
KH
119812000-04-21 Kenichi Handa <handa@etl.go.jp>
11982
11983 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
11984 name change: ch -> character.
11985
3a64eef5
GM
119862000-04-20 Gerd Moellmann <gerd@gnu.org>
11987
11988 * keyboard.c (echo_message_buffer): New variable.
11989 (echo_now): Set echo_message_buffer to the echo area buffer used
11990 to display the echo.
11991 (cancel_echoing): Reset echo_message_buffer to nil.
11992 (read_char): Code rewritten that handles canceling an echo or
11993 echoing a dash, respectively.
11994
11995 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
11996 directory doesn't exist.
11997
6142fdcb
DL
119982000-04-19 Dave Love <fx@gnu.org>
11999
12000 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
12001 (concat): Don't allow numeric args.
12002 (Fconcat): Doc change.
6142fdcb 12003
ac6b5352
SM
120042000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12005
12006 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12007 instead define end_match(1|2) more carefully.
12008 Use GET_CHAR_BEFORE_2 for `begline'.
12009
cb9215e4
GM
120102000-04-19 Gerd Moellmann <gerd@gnu.org>
12011
5e3dac3f
GM
12012 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12013 on 64-bit systems where NULL is defined as `0'.
12014
12015 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12016 the `variable argument list' to make it work on Alpha.
12017
cb9215e4
GM
12018 * m/alpha.h (_LP64) [!_LP64]: Define.
12019 (ORDINARY_LINK): Define for NetBSD.
12020
12021 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 12022
f532dca0
DL
120232000-04-19 Dave Love <fx@gnu.org>
12024
c750667e
DL
12025 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12026 change.
12027
12028 * Makefile.in (LIBS): Don't use.
12029 (GETLOADAVG_OBJ): Define again.
12030 (otherobj): Add GETLOADAVG_OBJ.
12031
f532dca0
DL
12032 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12033
1c7e22fd
GM
120342000-04-18 Gerd Moellmann <gerd@gnu.org>
12035
f6d3257b
GM
12036 * lread.c (read_filtered_event): Cancel and start busy cursor.
12037
427ec082 12038 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
12039 that the per-character metrics may be null.
12040
e10f64e7
GM
120412000-04-17 Gerd Moellmann <gerd@gnu.org>
12042
0daee095
GM
12043 * buffer.c (clone_per_buffer_values): New function.
12044 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12045 clone_per_buffer_values if CLONE is not nil.
12046
e10f64e7
GM
12047 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12048
38687d43
DL
120492000-04-16 Dave Love <fx@gnu.org>
12050
12051 * Makefile.in: Remove obsolete localcpp stuff.
12052 (GETLOADAVG_OBJ): Don't define.
12053 (obj): Move LIBOBJS...
12054 (otherobj): ... to here.
12055 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12056 whitespace-only lines after the continuation (Irix).
12057
c21c7262
GM
120582000-04-14 Gerd Moellmann <gerd@gnu.org>
12059
12060 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12061
12062 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12063
314767c0
DL
120642000-04-14 Dave Love <fx@gnu.org>
12065
12066 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12067 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12068 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12069 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12070 NLIST_STRUCT.
12071
12072 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12073 autoconfiscated HAVE_GETLOADAVG.
12074
12075 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12076 BROKEN_MKTIME.
12077
a2522dca
GM
120782000-04-14 Gerd Moellmann <gerd@gnu.org>
12079
12080 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 12081 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 12082
33744b5d
DL
120832000-04-14 Dave Love <fx@gnu.org>
12084
c21c7262 12085 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
12086 (INTERVAL_SRC): Convert to make variable.
12087 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12088 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12089 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12090 add LIBOBJS.
12091 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12092 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12093 (shortlisp): Add facemenu, float-sup, frame.
12094 (SOME_MACHINE_LISP): Remove them from here.
12095 (LIBES): Change unused LDLIBS to autoconf LIBS.
12096
12097 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12098
9d3d5916
KH
120992000-04-14 Kenichi Handa <handa@etl.go.jp>
12100
12101 * composite.c (update_compositions): If FROM and TO are not in a
12102 valid range, do nothing.
12103
198e3c7a
GM
121042000-04-13 Gerd Moellmann <gerd@gnu.org>
12105
52283633 12106 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 12107
52283633 12108 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
12109
12110 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12111 as TERMCAP_OBJ.
12112
055a28c9
EZ
121132000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12114
12115 * fileio.c (a_write): Remove redundant semi-colons.
12116 (e_write): Return -1 if failed to write all the data.
12117 This fixes the changes made at 1999-12-15.
12118
f5c75033
DL
121192000-04-12 Dave Love <fx@gnu.org>
12120
12121 * fns.c (mapcar1): Test for null vals to support mapc.
12122 (Fmapc): New function.
12123
0c3cfc51
EZ
121242000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12125
12126 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12127 (IT_frame_up_to_date): Support the buffer local value of
12128 cursor-type, if defined.
12129
33465a31
DL
121302000-04-10 Dave Love <fx@gnu.org>
12131
12132 * editfns.c (preceding-char, following-char): Doc fix.
12133
6ed56568
KR
121342000-04-10 Ken Raeburn <raeburn@gnu.org>
12135
12136 * Makefile.in (temacs): Revert 2000-03-12 change.
12137
7cf80d4e
JR
121382000-04-10 Jason Rumney <jasonr@gnu.org>
12139
12140 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12141
34f3f342
GM
121422000-04-10 Gerd Moellmann <gerd@gnu.org>
12143
1a1b1895
GM
12144 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12145 area buffer, if it's not set up yet.
12146
34f3f342
GM
12147 * indent.c (compute_motion): Set immediate_quit.
12148
be0dbdab
GM
121492000-04-09 Gerd Moellmann <gerd@gnu.org>
12150
52283633 12151 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
12152 (realize_tty_face): Suppress boldness if colors are the inverse of
12153 the default colors, and tty_suppress_bold_inverse_default_colors_p
12154 is set.
12155 (Ftty_suppress_bold_inverse_default_colors): New function.
12156 (syms_of_xfaces): Defsubr it.
12157
be0dbdab
GM
12158 * buffer.c (Frestore_buffer_modified_p): New function.
12159 (syms_of_buffer): Defsubr it.
12160
e8413c3b
KR
121612000-04-08 Ken Raeburn <raeburn@gnu.org>
12162
87f67317
KR
12163 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12164 charset id (int) argument, not a charset (Lisp_Object).
12165
e8413c3b
KR
12166 * coding.h (code_convert_string): Declare.
12167 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12168 object, as the fourth argument to code_convert_string.
12169
52283633 12170 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
12171 (Fset_fontset_font): Use EQ to compare lisp objects.
12172
7c752c80
KR
121732000-04-05 Ken Raeburn <raeburn@gnu.org>
12174
c0333abc
KR
12175 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12176 a pointer that looks like a lisp object.
12177 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12178 zero, instead see whether it's an integer object, since they can't
12179 have intervals.
12180 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12181
52283633
SM
12182 * dispnew.c (allocate_matrices_for_frame_redisplay)
12183 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
12184 to convert between (unsigned) int values and lisp integers.
12185 * keyboard.c (read_key_sequence): Likewise.
12186 * lread.c (substitute_object_recurse): Likewise.
12187 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
12188 * minibuf.c (do_completion, Fminibuffer_complete_word)
12189 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
12190 * term.c (produce_special_glyphs): Likewise.
12191
12192 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12193 * print.c (print_preprocess, print_object): Likewise.
12194
12195 * search.c (compile_pattern): Use NILP when checking for nil.
12196
74e49b38
KR
12197 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12198 __OPTIMIZE__]: Provide a GNU C macro version that handles
12199 lisp-object unions.
12200 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12201 field, to better cope with ENABLE_CHECKING and calls that modify a
12202 Lisp_Object using its old value.
12203
685e5ed2
GM
122042000-04-04 Gerd Moellmann <gerd@gnu.org>
12205
c407c570
GM
12206 * window.c (compare_window_configurations): Signal an error
12207 if parameters C1 or C2 aren't window configurations.
12208
685e5ed2
GM
12209 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12210 AFTER_POTENTIAL_GC calls around calls to functions that can
12211 signal an error and thus invoke the debugger.
12212
587a49ab
GM
122132000-04-03 Gerd Moellmann <gerd@gnu.org>
12214
62f20204
GM
12215 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12216 an error if decoding fails.
12217
587a49ab
GM
12218 * keyboard.c (lispy_mouse_names): Variable removed.
12219 (Vlispy_mouse_stem): New variable.
12220 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12221 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12222 for any mouse button number. Increase size of mouse_syms and
12223 button_down_location as needed. Call modify_event_symbol with
12224 different arguments.
12225 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12226 Call modify_event_symbol with different arguments.
12227 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12228 for any button number. Call modify_event_symbol with different
12229 arguments.
12230 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12231 Accept a string for NAME_ALIST_OR_STEM.
12232
12233 * lisp.h (larger_vector): Add prototype.
12234
12235 * fns.c (larger_vector): Make externally visible.
12236
12237 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12238
2d1675e4
SM
122392000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12240
12241 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12242 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12243 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12244 we are between str1 and str2.
12245 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12246 (PATFETCH): Use `TRANSLATE'.
12247 (PATFETCH_RAW): Fetch multibyte char if applicable.
12248 (PATUNFETCH): Remove.
12249 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12250 When writing a char, write it directly into the pattern buffer rather
12251 than going needlessly through a temp char-array.
12252 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12253 multibyte magic and remove the useless `#ifdef emacs'.
12254 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12255 buffer.
12256
12257 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12258 conditional on `emacs'.
12259
12260 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12261
cc2d8c6b
KR
122622000-04-01 Ken Raeburn <raeburn@gnu.org>
12263
12264 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12265 non-union-type versions of XMARK and friends here, because XMARK
12266 and friends won't work on an integer field if NO_UNION_TYPE is not
12267 defined.
52283633 12268 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 12269
52283633 12270 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
12271 (syms_of_composite): Delete local var NARGS, pass an int as first
12272 argument to Fmake_hash_table.
12273
2387b382
KR
12274 * editfns.c (text_property_stickiness): Use NILP to test
12275 Lisp_Object boolean value.
12276 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
12277 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12278 problems reading from and changing the same lisp value in an
12279 XSETSTRING call.
12280
27660e89
GM
122812000-04-01 Gerd Moellmann <gerd@gnu.org>
12282
12283 * term.c (TN_no_color_video): New variable.
12284 (term_init): Intitialize TN_no_color_video.
12285 (enum no_color_bit): New enumeration.
12286 (MAY_USE_WITH_COLORS_P): New macro.
12287 (turn_on_face): Use it to determine if attributes may be used
12288 combined with colors.
12289
3578db3c
KR
122902000-04-01 Ken Raeburn <raeburn@gnu.org>
12291
12292 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 12293 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
12294 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12295 proper accessor macros.
12296 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12297 (grow_mini_window): Fix typo getting int value of root->height.
12298
6fc556fd
KR
12299 * xdisp.c (compute_string_pos): Fix order of arguments to
12300 string_pos_nchars_ahead.
12301 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12302 count arg to variable-arg routines like Frun_hook_with_args and
12303 Fformat.
587a49ab
GM
12304 (back_to_previous_visible_line_start)
12305 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
12306 fixed-arg routines like Fget_char_property and Fmake_string.
12307 (reconsider_clip_changes): Use XINT when comparing integer lisp
12308 objects, or passing them as int arguments.
587a49ab
GM
12309 (mark_window_display_accurate, insert_left_trunc_glyphs)
12310 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
12311 storing or passing integer values as lisp objects.
12312 (set_cursor_from_row, highlight_trailing_whitespace): Use
12313 INTEGERP, not implicit test against zero, for glyph object.
12314 (try_window_id): Don't use make_number when we want an int value.
12315
12316 * xfaces.c (xlfd_symbolic_value): Make last argument a
12317 Lisp_Object, to be consistent with callers.
12318 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12319 (lface_hash): Apply XFASTINT to lisp values before folding in.
12320
12321 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12322 fill in window width and height. Pass an int, not a lisp object,
12323 as first arg to Finsert.
12324
6e7b2457
GM
123252000-04-01 Gerd Moellmann <gerd@gnu.org>
12326
610d841e
GM
12327 * xfaces.c (realize_basic_faces): Block input while realizing
12328 the faces.
12329
6e7b2457
GM
12330 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12331
12332 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12333
aa110c0c
GM
123342000-03-31 Gerd Moellmann <gerd@gnu.org>
12335
12336 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 12337 or ASCII, handle case that per-char metric is null.
aa110c0c 12338
8801a864
KR
123392000-03-30 Ken Raeburn <raeburn@gnu.org>
12340
c6129d7e
KR
12341 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12342
52283633
SM
12343 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12344 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
12345 pointer, using eassert.
12346 * frame.h (XFRAME): Likewise.
12347
52283633
SM
12348 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12349 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12350 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 12351 * data.c (set_internal): Likewise.
52283633
SM
12352 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12353 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
12354 * fileio.c (auto_save_1): Likewise.
12355 * insdel.c (check_markers): Likewise.
12356 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12357 * undo.c (record_insert): Likewise.
12358 * vmsproc.c (child_sig): Likewise.
12359 * window.c (unshow_buffer, window_loop): Likewise.
12360 * xterm.c (x_erase_phys_cursor): Likewise.
12361
8e7af858
GM
123622000-03-30 Gerd Moellmann <gerd@gnu.org>
12363
12364 * xfns.c (free_image_cache): Free the cache structure itself
12365 last, after all its members have been freed.
12366
12367 * lisp.h (xstrdup): Add prototype.
12368
12369 * alloc.c (xstrdup): Moved here from xfaces.c.
12370 (allocating_for_lisp): Variable removed.
52283633 12371 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
12372
12373 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12374 of Fsymbol_value.
12375 (xstrdup): Moved to alloc.c.
12376
e0b8c689
KR
123772000-03-29 Ken Raeburn <raeburn@gnu.org>
12378
b96f9fb7
KR
12379 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12380
12381 * emacs.c (main): Fix sense of no-loadup test.
12382
e0b8c689
KR
12383 * config.in (ENABLE_CHECKING): Undef.
12384
12385 * lisp.h (struct interval): Replace "parent" field with a union of
12386 interval pointer and Lisp_Object; add new bitfield to use as
12387 discriminant. Change other flag fields to bitfields.
12388 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
12389 is defined and the supplied test fails, print a message and abort.
12390 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
12391
12392 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12393 pointers; abort if the value looks like a lisp object.
52283633
SM
12394 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12395 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
12396 Modify for new interval parent definition.
12397
52283633
SM
12398 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12399 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
12400 addressable lisp object in the interval structure.
12401 (die): New function.
12402 (suppress_checking): New variable.
12403
12404 * intervals.c (interval_start_pos): Just return 0 if there's no
12405 parent object.
12406
f83c5440
GM
124072000-03-29 Gerd Moellmann <gerd@gnu.org>
12408
12409 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12410 and earlier Emacs versions.
12411
12412 * keyboard.c (Ftop_level): Cancel busy-cursor.
12413
12414 * eval.c (call_debugger): Cancel busy-cursor.
12415
fdce64ff
KH
124162000-03-29 Kenichi Handa <handa@etl.go.jp>
12417
12418 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 12419 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 12420
f6a3f532
SM
124212000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12422
12423 * regex.c (analyse_first): New function obtained by ripping out most
12424 of re_compile_fastmap and generalizing it a little bit so that it
12425 can also just return whether a given (sub)pattern can match the empty
12426 string or not.
12427 (regex_compile): Use `analyse_first' to decide whether the loop-check
12428 needs to be done or not for *, +, *? and +? (the loop check is costly
12429 for non-greedy repetition).
12430 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12431
e9b309ac
DL
124322000-03-28 Dave Love <fx@gnu.org>
12433
52283633 12434 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 12435
e9b309ac
DL
12436 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12437
ed0767d8
SM
124382000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12439
12440 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12441 an expression.
12442 (enum re_opcode_t): Update description of succeed_n.
12443 (PATFETCH): Always define.
12444 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12445 operators, char classes, shy-groups and intervals).
12446 Optimize special cases of intervals so as to only use succeed_n and
12447 jump_n when really needed.
12448 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12449 that we don't have to handle the special cases any more.
12450 Simplify on_failure_jump handling as well.
12451
e11e7e46
JR
124522000-03-28 Jason Rumney <jasonr@gnu.org>
12453
12454 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12455
88faab89
GM
124562000-03-27 Gerd Moellmann <gerd@gnu.org>
12457
182ff242
GM
12458 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12459
12460 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 12461
182ff242
GM
12462 * alloc.c (mark_maybe_object): New function.
12463 (mark_memory): Use it.
12464 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12465 (setjmp_tested_p, longjmp_done): New variables.
12466 (test_setjmp): New function.
12467 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12468 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12469
c1005d06
GM
12470 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12471 to DEC_TEXT_POS and INC_TEXT_POS.
12472
12473 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12474 with parameter MULTIBYTE_P.
12475
52283633 12476 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 12477
7439e5b9 12478 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
12479 buffers because it looks for multibyte character byte sequences
12480 which don't exist in unibyte text.
7439e5b9 12481
d9c545da
GM
12482 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12483
11fd416e 12484 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
12485 [DEBUG_X_COLORS]: New functions.
12486 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12487
12488 * xfns.c (x_set_cursor_color): Get color reference counts right.
12489
12490 * xterm.c (x_copy_color): New function.
12491 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12492
12493 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12494 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12495 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12496 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12497 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12498 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12499 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12500 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12501 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12502 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12503
11fd416e
GM
12504 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12505 names for handling per-buffer variables.
d9c545da
GM
12506
12507 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12508 instead of MAX_BUFFER_LOCAL_VARS.
12509 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12510
12511 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12512
88faab89
GM
12513 * xfns.c (x_specified_cursor_type): New function.
12514 (x_set_cursor_type): Use it.
12515
12516 * buffer.h (struct buffer): Add cursor_type.
12517
d80f42b7
SM
125182000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12519
12520 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
12521 (print_partial_compiled_pattern, re_compile_fastmap):
12522 Handle new opcode.
d80f42b7
SM
12523 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12524 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12525 executing it as well as when popping it off the stack to find infinite
12526 loops in non-greedy repetition operators.
12527
89e80928
GM
125282000-03-26 Gerd Moellmann <gerd@gnu.org>
12529
3d4ff2dd
GM
12530 * doc.c (Qfunction_documentation): New variable.
12531 (syms_of_doc): Initialize Qfunction_documentation.
12532 (Fdocumentation): If FUNCTION is a symbol with non-nil
12533 `function-documentation' property, return a documentation derived
12534 from that.
12535
bd96bd79
GM
12536 * buffer.c (syms_of_buffer): Add default-cursor-type.
12537 (init_buffer_once): Don't let cursor_type have a local value
12538 in every buffer.
12539
19d1bc27
GM
12540 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12541 on buffer-local value of cursor_type.
12542 (x_draw_bar_cursor): Add parameter WIDTH.
12543
12544 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12545 (init_buffer_once): Set default cursor_type value to t.
12546 Mark cursor_type as local everywhere.
12547 (syms_of_buffer): New per-buffer variable cursor-type.
12548
89e80928
GM
12549 * buffer.h (struct buffer): Remove member local_var_flags,
12550 add local_flags.
12551 (MAX_BUFFER_LOCAL_VARS): New macro.
12552 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12553 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12554 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12555 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12556
52283633 12557 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
12558
12559 * category.c (Fset_category_table): Use new macros for per-buffer
12560 variables.
12561
12562 * buffer.c (buffer_permanent_local_flags): Make a char array.
12563 (max_buffer_local_idx): New variable.
12564 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12565 for new handling of per-buffer variables.
12566 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12567 (init_buffer_once): Initialize per-buffer vars differently.
12568 Set max_buffer_local_idx.
12569
12570 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12571 variables.
12572
52283633 12573 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
12574
12575 * data.c (do_symval_forwarding, store_symval_forwarding)
12576 (find_symbol_value, set_internal, default_value, Fset_default)
12577 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12578 per-buffer variables.
12579
12580 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12581
9a0dd3dc
GM
125822000-03-24 Gerd Moellmann <gerd@gnu.org>
12583
b68c375f
GM
12584 * xterm.c (x_term_init): Unblock input around call1 of
12585 Qvendor_specific_keysyms.
12586
9a0dd3dc
GM
12587 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12588 (find_defun_start): Consider an open parenthesis in column 0
12589 a defun start only if open_paren_in_column_0_is_defun_start is set.
12590 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12591
7973e637
SM
125922000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12593
12594 * eval.c (Fautoload): Add entry in load-history (if after dump).
12595 * lread.c (load-history): Update docstring.
12596
39210e90
GM
125972000-03-24 Gerd Moellmann <gerd@gnu.org>
12598
12599 * indent.c (Fvertical_motion): Always use the current buffer.
12600 Temporarily change the window's buffer, if necessary.
12601
72db3ab5
GM
126022000-03-23 Gerd Moellmann <gerd@gnu.org>
12603
12604 * xterm.c (fast_find_position): Make sure not to consider rows
12605 not visible in the window.
12606
990b2375
SM
126072000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12608
12609 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12610 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12611
ff4df011
JR
126122000-03-22 Jason Rumney <jasonr@gnu.org>
12613
12614 * w32menu.c (single_submenu): Set help string to NULL if none.
12615 (w32_menu_show): Set help string correctly.
12616 (add-menu-item): Set help string in MIIM_DATA for menu item.
12617 Load SetMenuItemInfoA explicitly.
12618 (w32_menu_display_help): New function.
427ec082 12619
ff4df011
JR
12620 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12621 (QCdata): Moved to xdisp.c.
12622
12623 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12624 (Vw32_charset_to_codepage_alist): Removed.
12625 (Vw32_charset_info_alist): New variable.
52283633
SM
12626 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12627 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12628 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
12629 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12630 with TODO comment.
12631 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12632 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12633 Define Vw32_charset_info_alist and w32_charset symbols.
12634
126352000-03-22 Jason Rumney <jasonr@gnu.org>
12636
12637 * makefile.nt (w32bdf.obj): Update dependencies.
12638
12639 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12640
12641 * w32fns.c: Include fontset.h after dispextern.h.
12642 (Fx_create_frame): Do not create fontset.
12643 (w32_load_system_font): Doc fix.
12644 (Fx_close_connection): Free full_name if it is not shared.
12645
12646 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
12647 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12648 Callers updated.
ff4df011
JR
12649 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12650 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12651 (w32_font_is_double_byte): New function, needs body.
12652 (x_append_glyph): Set glyph->glyph_not_available_p.
12653 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12654 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12655 character, convert it to a unibyte character.
12656 (struct glyph_string): Delete member `charset'.
12657 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12658 calculating it is found.
12659 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12660 the case that per char metric is not available correctly.
12661 (x_fill_glyph_string): Handle the case that the specific glyph is
12662 not available correctly.
12663 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12664 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12665 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12666 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12667 fontset. Don't call FS_LOAD_FONT.
12668
439d5cb4
KR
126692000-03-22 Ken Raeburn <raeburn@gnu.org>
12670
12671 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12672 (INT_LISPLIKE): New macro.
12673 (NULL_INTERVAL_P): Use it.
52283633
SM
12674 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12675 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12676 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
12677
12678 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12679 explicit references to "parent" field of struct interval and
12680 associated unclean type conversions.
52283633
SM
12681 * intervals.c (create_root_interval, root_interval, rotate_right)
12682 (rotate_left, balance_possible_root_interval, split_interval_right)
12683 (split_interval_left, interval_start_pos, find_interval)
12684 (next_interval, previous_interval, update_interval)
12685 (adjust_intervals_for_insertion, delete_node, delete_interval)
12686 (adjust_intervals_for_deletion, merge_interval_right)
12687 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12688 (copy_intervals_to_string): Likewise.
439d5cb4
KR
12689 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12690 Likewise.
12691 * syntax.c (update_syntax_table): Likewise.
12692
12693 * intervals.c (reproduce_tree_obj): New function, like
12694 reproduce_tree but takes a Lisp_Object for the parent. Declare
12695 with prototype.
12696 (graft_intervals_into_buffer): Use it when appropriate.
12697 (reproduce_tree): Declare with prototype.
12698 (balance_possible_root_interval): Check that the parent is a lisp
12699 object before trying to examine its type.
12700
ee1c5b21
GM
127012000-03-22 Gerd Moellmann <gerd@gnu.org>
12702
12703 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12704 as strings only if both are known to be strings.
12705
12706 * s/openbsd.h (LIBS_TERMCAP): Undef.
12707
1fb352e0
SM
127082000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12709
12710 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12711 definitions for non-Emacs compilation.
12712 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12713 outside of `#ifdef emacs'.
12714 (print_partial_compiled_pattern): Update.
12715 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12716 (re_compile_fastmap): Merge handling of charset and charset_not (for
12717 emacs and non-emacs compilation as well).
12718 Similarly for (not)categoryspec and (not)syntaxspec.
12719 Don't use the fastmap when reaching `anychar' since the added
12720 complexity is not justified.
12721 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12722 and (not)syntaxspec. Merge (not)categoryspec.
12723
fdaa1f77
KH
127242000-03-22 Kenichi Handa <handa@etl.go.jp>
12725
52283633
SM
12726 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12727 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 12728 --without-x.
fdaa1f77 12729
d152fb46
DL
127302000-03-21 Dave Love <fx@gnu.org>
12731
12732 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12733 doc string.
12734
d2cafc8c
GM
127352000-03-21 Gerd Moellmann <gerd@gnu.org>
12736
12737 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12738 (lface_fully_specified_p): Don't check contents of
12739 LFACE_FONT_INDEX because that attribute is optional.
12740 (realize_x_face): Remove now unwarranted xassert.
12741
9111d4b5
KH
127422000-03-21 Kenichi HANDA <handa@etl.go.jp>
12743
12744 The following changes are to make font selection based on
12745 characters, not charset. In addition, they recover fontset
12746 facilities while utilizing the new font selection mechanism.
12747
6c4bfdc0
KH
12748 * Makefile.in (fontset.o): Depend on dispextern.h.
12749
12750 * alloc.c (mark_face_cache): Don't mark face->registry.
12751
9111d4b5
KH
12752 * dispextern.h (struct glyph): New member glyph_not_available_p.
12753 Use 22 bits for face_id.
12754 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12755 (struct face): Delete member registry, new member ascii_face.
12756 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12757 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12758 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 12759 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
12760
12761 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12762 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
12763 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12764 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 12765 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
12766 (fs_free_face_fontset, fontset_font_pattern)
12767 (face_suitable_for_char_p, face_for_char)
12768 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
12769 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12770 (FS_LOAD_FACE_FONT): New macro.
12771
12772 * fontset.c: All codes rewritten or adjusted for the change of
12773 fontset implementation. Now fontset is represented by char table.
52283633
SM
12774 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12775 Variables removed.
9111d4b5 12776 (my_strcasecmp): Function removed.
52283633 12777 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 12778 (AREF, ASIZE): New macros.
52283633
SM
12779 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12780 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12781 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12782 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12783 (fontset_id_valid_p, font_family_registry, fontset_name)
12784 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12785 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
12786 New functions.
12787 (fs_load_font): New arg FACE. Caller changed.
12788 (fs_query_fontset): Argument changed. Caller changed.
12789 (Fquery_fontset): call fs_query_fontset.
12790 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12791 Functions removed.
52283633
SM
12792 (clear_fontset_elements, check_registry_encoding)
12793 (check_fontset_name): New functions.
9111d4b5
KH
12794 (syms_of_fontset): Set char-table-extra-slots property of fontset
12795 to 3. Staticpro and initialize Vfontset_table and
12796 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12797
12798 * frame.h (struct frame): Member `fontset_data' removed.
12799 (FRAME_FONTSET_DATA): Macro removed.
12800
12801 * frame.c (make_frame): Don't allocate f->fontset_data.
12802 (Fdelete_frame): Don't free f->fontset_data.
12803
6c4bfdc0
KH
12804 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12805
9111d4b5
KH
12806 * xdisp.c (charset_at_position): Function removed.
12807 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
12808 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12809 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
12810 Likewise.
12811 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12812 FACE_FOR_CHARSET.
52283633
SM
12813 (get_next_display_element, append_space)
12814 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
12815
12816 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12817 Variables removed.
12818 (clear_font_table, frame_update_line_height, load_face_font):
12819 Adjusted for the change of fontset implementation.
12820 (load_face_fontset_font): Function removed.
12821 (pixel_point_size): New function.
12822 (font_list): Argument type changed. Caller changed.
12823 (LFACE_FONT): New macro.
12824 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12825 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12826 Lisp_Object. Determine the font name by actually loading a font
12827 by the specified pattern. Set LFACE_FONT (lface) to the specified
12828 pattern. Even if a font is not found, don't try alternatives.
12829 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12830 (set_font_frame_param): If `font' is specified in lface, use it.
12831 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12832 (lface_same_font_attributes_p): Likewise.
12833 (make_realized_face): Arguent changed. Caller changed. Set
12834 face->ascii_face to face itself.
12835 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
12836 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12837 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
12838 (free_realized_multibyte_face): New function.
12839 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12840 changed. Caller changed.
12841 (try_font_list): Argument type changed.
12842 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12843 (choose_face_font): Argument changed. Handle fontset properly.
12844 (choose_face_fontset_font): Function removed.
12845 (realize_default_face, realize_named_face): Don't remove the
12846 former face here.
12847 (realize_face): Argument changed. Caller changed. Remove face
52283633 12848 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
12849 (realize_x_face): Argument changed. Caller changed. For a
12850 multibyte character, share fontset with base_face. For a single
52283633 12851 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
12852 (realize_tty_face): Argument changed. Caller changed.
12853 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12854 (face_at_buffer_position): Don't check multibyte_p for returning
12855 DEFAULT_FACE_ID.
12856 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12857 FACE_SUITABLE_FOR_CHARSET_P.
12858 (syms_of_xfaces): Remove code for Qx_charset_registry and
12859 Vface_default_registry.
12860
6c4bfdc0
KH
12861 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12862 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
12863 (x_per_char_metric): Don't try FONT->default_char. Even if
12864 pcm->width is zero, glyph bits may exist.
12865 (x_encode_char): Always initialize char2b->byte1.
12866 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 12867 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
12868 (x_append_glyph): Set glyph->glyph_not_available_p.
12869 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12870 it->charset. Handle the case that per char metric is not
12871 available. If it->multibyte_p is zero and it->c is a multibyte
12872 character, convert it to a unibyte character.
12873 (struct glyph_string): Delete member `charset'.
12874 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12875 the case that per char metric is not available correctly.
12876 (x_fill_glyph_string): Handle the case that the specific glyph is
12877 not available correctly.
12878 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12879 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12880 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12881 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12882 fontset. Don't call FS_LOAD_FONT.
12883
12884 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12885 (x_create_tip_frame): Likewise.
12886 (Fx_close_connection): Free full_name of font_info.
12887
12888 * fns.c (optimize_sub_char_table): New function.
12889 (Foptimize_char_table): New function.
12890 (syms_of_fns): Defsubr Soptimize_char_table.
12891
b33dd3b0
GM
128922000-03-20 Gerd Moellmann <gerd@gnu.org>
12893
12894 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12895 only if buffer is displayed in some window.
12896
12897 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12898 (try_window_reusing_current_matrix): Don't call scroll run
12899 function if run's current and desired position are the same;
12900 this prevents cursor flickering.
12901
4e8a9132
SM
129022000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12903
12904 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12905
12906 * regex.c (RE_STRING_CHAR): New macro.
12907 (GET_CHAR_AFER_2): Remove.
12908 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12909 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12910 (print_partial_compiled_pattern, re_compile_fastmap)
12911 (re_match_2_internal): Remove on_failure_jump_exclusive.
12912 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12913 optimization only need to work for * (ie. can use of_keep_string_jump).
12914 Remove the special case for .*\n since it is now covered by the general
12915 optimization.
12916 (re_search_2): Don't bother with `room'.
12917 (skip_one_char): New function.
12918 (skip_noops): Simplify since `memory' is not needed any more.
12919 (mutually_exclusive_p): Restructure slightly to use `switch' and
12920 add handling for "all" remaining cases.
12921 (re_match_2_internal): Change on_failure_jump_smart to use
12922 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12923 rather than on_failure_jump_exclusive.
12924
2136fdd4
GM
129252000-03-19 Gerd Moellmann <gerd@gnu.org>
12926
12927 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12928 number of bits per RGB because it's everywhere used as the depth
12929 of the visual.
12930
12931 * term.c (calculate_costs): Remove code dealing with X frames.
12932
18e21ce8 129332000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
12934
12935 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12936
d7b511c4
GM
129372000-03-18 Gerd Moellmann <gerd@gnu.org>
12938
12939 * lread.c (read_integer): Unread the last char not consumed.
12940
16b5d424
GM
129412000-03-17 Gerd Moellmann <gerd@gnu.org>
12942
12943 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 12944 which are in the process of being deleted.
16b5d424 12945
1fa28578
GM
129462000-03-16 Gerd Moellmann <gerd@gnu.org>
12947
83488cce
GM
12948 * Makefile.in (mostlyclean): Add `*.core'.
12949 (clean): Add `bootstrap-emacs'.
12950
1fa28578
GM
12951 * lread.c (read_integer): New function.
12952 (read1): Support read syntax #o, #x, #b, #r.
12953
99633e97
SM
129542000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12955
1fa28578
GM
12956 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12957 make sure POINTER_TO_OFFSET gives the same value before and after
12958 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
12959 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12960 (debug): Now only active if > 0 rather than if != 0.
12961 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
12962 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12963 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12964 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
12965 (store_op1, store_op2, insert_op1, insert_op2)
12966 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
12967 (group_in_compile_stack): Move to after its arg's types are
12968 declared and add a prototype.
99633e97 12969 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 12970 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 12971 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
12972 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12973 indentation of the greedy-op and shy-group code.
99633e97
SM
12974 (at_(beg|end)line_loc_p): Fix argument's types.
12975 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12976 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12977 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
12978 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
12979 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
12980 QUIT unconditionally.
99633e97 12981
699238d9
GM
129822000-03-15 Gerd Moellmann <gerd@gnu.org>
12983
12984 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
12985 a sole completion.
12986
12987 * process.c (send_process): Add a hint that the function
12988 can call Lisp code to its comment.
12989
12990 * lread.c (load_dangerous_libraries): New variable.
12991 (Vbytecomp_version_regexp): New variable.
12992 (safe_to_load_p): New function.
12993 (Fload): Handle files not compiled with Emacs specially.
12994 (syms_of_lread): New Lisp variable load-dangerous-libraries.
12995
34e23e5a
GM
129962000-03-14 Gerd Moellmann <gerd@gnu.org>
12997
9c763cca
GM
12998 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
12999
13000 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13001 support functions only if HAVE_X11R6_XIM is defined.
13002 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13003
13004 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13005
13006 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 13007 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
13008 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13009
13010 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13011 (HAVE_X11R6_XIM): Define.
13012
13013 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13014
34e23e5a
GM
13015 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13016 If set, call XSynchronize.
13017
66f0296e
SM
130182000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13019
34e23e5a
GM
13020 * regex.c: Declare a new type `re_char' used throughout the code
13021 for the string char type. It's `const unsigned char' to match the
13022 rest of Emacs. Consistently make sure all pointers to strings use
52283633 13023 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 13024 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
13025 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13026 code duplication.
66f0296e
SM
13027
13028 * charset.h (GET_CHAR_AFTER_2): Remove.
13029 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13030
854a025c
KR
130312000-03-12 Ken Raeburn <raeburn@gnu.org>
13032
13033 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13034 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13035 of them try to use backquotes.
13036
b9d2c7e2
DL
130372000-03-12 Dave Love <fx@gnu.org>
13038
13039 * unexelf.c: Restore changes of 1999-10-19.
13040 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13041 fix its type and alignment; copy it from current process.
13042
5e5dff44
GM
130432000-03-12 Gerd Moellmann <gerd@gnu.org>
13044
9b2f3c38
GM
13045 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13046 has been found. Fix bug not computing timer's predecessor.
13047
427ec082 13048 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
13049 file name.
13050
e1cff360
GM
13051 * window.c (Fsave_window_excursion): Doc fix.
13052
52283633 13053 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 13054
e411ce4b
EZ
130552000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13056
13057 * msdos.c (vga_installed): New function, code moved from
13058 dos_set_window_size.
13059 (Qbar, Qcursor_type, outside_cursor): New variables.
13060 (syms_of_msdos): Intern and staticpro them.
13061 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13062 shape used outside Emacs when called for the first time.
13063 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13064 cursor shape used outside Emacs.
13065 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13066 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13067 type has changed.
13068 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13069 parameters specify the cursor. Make qreverse a global
13070 variable (renamed to Qreverse).
13071
80460654
GM
130722000-03-09 Gerd Moellmann <gerd@gnu.org>
13073
13074 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13075
95cd4c40
SM
130762000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13077
13078 This is a big redesign of failure-stack and register handling, prompted
13079 by bugs revealed when trying to add shy-groups. Overall, what happened
13080 is that loops are now structured a little differently, groups can be
13081 shy and the code is a little simpler.
13082
13083 * regex.h: Update the copyright.
13084 (RE_SHY_GROUPS): New value.
13085 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13086 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13087
80460654
GM
13088 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13089 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13090 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13091 for (start|stop)_memory since they now only take one argument (the
13092 second has becomes unnecessary).
52283633 13093 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
13094 (print_compiled_pattern): Use %ld to printf long ints and flush to
13095 make debugging a little easier.
95cd4c40
SM
13096 (union fail_stack_elt): Make the integer unsigned.
13097 (struct fail_stack_type): Add a `frame' element.
13098 (INIT_FAIL_STACK): Init `frame' as well.
13099 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13100 (DEBUG_PUSH, DEBUG_POP): Remove.
13101 (NUM_REG_ITEMS): Remove.
13102 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
13103 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13104 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 13105 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
13106 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13107 New macros.
80460654
GM
13108 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13109 address pushed is not the destination of the jump but the source
13110 of it instead.
95cd4c40
SM
13111 (NUM_FAILURE_ITEMS): Remove.
13112 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
13113 registers before the actual failure point). Don't hardcode any
13114 meaning for str==NULL anymore.
95cd4c40 13115 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
13116 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13117 Remove.
95cd4c40
SM
13118 (REG_UNSET_VALUE): Use NULL (why not?).
13119 (compile_range): Remove declaration since it doesn't exist.
13120 (struct compile_stack_elt_t): Remove inner_group_offset.
13121 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13122 (regex_grow_registers): Remove dead code.
13123 (FIXUP_ALT_JUMP): New macro.
80460654
GM
13124 (regex_compile): Add shy-groups Change loops to use
13125 on_failure_jump_smart&jump instead of
13126 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13127 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13128 variable to me). Use `jump' instead of `jump_past_alt' and don't
13129 bother with push_dummy_failure in alternatives since it is now
13130 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13131 emacs' for (re)allocating the stack.
13132 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13133 from loop when bufp->can_be_null rather than jumping to `done'.
13134 Avoid jumping backwards so as to ensure termination. Use
13135 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13136 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 13137 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
13138 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13139 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
13140 (lowest_active_reg, highest_active_reg)
13141 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
13142 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13143 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13144 variables. Push register (in `start_memory') on the stack rather
13145 than storing it in old_reg(start|end). Remove the cycle detection
13146 from `stop_memory', replaced by the use of on_failure_jump_loop
13147 for greedy loops. Add code for the new on_failure_jump_<foo>.
13148 Remove ad-hoc code in `on_failure_jump' to push more registers in
13149 the case of a loop. Take out code from `maybe_pop_jump' into
13150 separate functions and adapt it to the semantics of
13151 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13152 and push_dummy_failure. Remove dummy_failure handling and
13153 handling of `failures to jump to on_failure_jump' (this last one
13154 was already dead code, it seems).
13155 (group_match_null_string_p, alt_match_null_string_p)
13156 (common_op_match_null_string_p): Remove.
95cd4c40 13157
7397acc4
DL
131582000-03-08 Dave Love <fx@gnu.org>
13159
13160 * config.in: Don't depend on __STDC__ for volatile.
13161 Add POINTER_TYPE, PTR, PROTOTYPES.
13162
13163 * hftctl.c, strftime.c: Use PROTOTYPES.
13164 * eval.c (find_handler_clause): Likewise.
13165
13166 * mem-limits.h: Use POINTER_TYPE.
13167
13168 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13169 (memory_warnings): Declare using POINTER_TYPE.
13170
5e91ff9e
GM
131712000-03-08 Gerd Moellmann <gerd@gnu.org>
13172
feab4fba
GM
13173 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13174
52283633 13175 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 13176
5e91ff9e
GM
13177 * xfns.c: Remove obsolete code in #if 0.
13178 (Fx_focus_frame): New function.
13179
a735b7e1
KH
131802000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13181
13182 * coding.c (coding_category_name): Add coding-category-utf-8,
13183 coding-category-utf-16-be, coding-category-utf-16-le.
13184 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13185 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13186 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13187 (detect_coding_utf_8): New function.
13188 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13189 UTF_16_LOW_SURROGATE_P): New macros.
13190 (detect_coding_utf_16): New function
13191 (detect_coding_mask): When priorities are specified, skip any
13192 categories that have `nil' coding-system. Fix bug of returning
13193 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13194 returns a mask not set in PRIORITIES.
13195 (detect_eol_type_in_2_octet_form): New function.
13196 (detect_eol): selects detect_eol_type_XXX to call according to
13197 cooding->category_idx.
13198 (detect_coding_system): Remove `nil' coding-system in the result.
13199 (Fupdate_coding_systems_internal): Update all coding-categories.
13200
52283633
SM
13201 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13202 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13203 New macros.
13204 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13205 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13206 (CODING_CATEGORY_IDX_UTF_16_LE)
13207 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13208 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
13209 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13210 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13211
9994cc69
GM
132122000-03-07 Gerd Moellmann <gerd@gnu.org>
13213
e9b4e5ff
GM
13214 * doc.c (Fdocumentation_property): If value is not a string,
13215 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13216
f7daf1e1
GM
13217 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13218 close the display with XtCloseDisplay. This caused a bus error
13219 on OpenWindows.
13220
9994cc69
GM
13221 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13222 complete but not unique.
13223
4336c705
GM
132242000-03-06 Gerd Moellmann <gerd@gnu.org>
13225
18bb0684
GM
13226 * process.c (send_process): Remove local variable `procname' that
13227 might become invalid when a GC happens. Instead, access the
13228 process name slot directly.
13229
4336c705
GM
13230 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13231 orig_height if set.
13232
13233 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13234 orig_height if set.
13235
515d0d0e
EZ
132362000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13237
13238 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13239 glyph matrices have been freed.
13240
100b3cbb
GM
132412000-03-05 Gerd Moellmann <gerd@gnu.org>
13242
50df5e5a 13243 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 13244 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
13245
13246 * xfns.c (QCdata): Moved to xdisp.c.
13247
13248 * xdisp.c (QCdata): Moved here from xfns.c.
13249 (syms_of_xdisp): Initialize QCdata.
13250
13251 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13252
13253 * window.c (coordinates_in_window): Use
13254 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13255 FRAME_INTERNAL_BORDER_WIDTH.
13256
100b3cbb 13257 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 13258 it is obviously invalid.
100b3cbb
GM
13259
13260 * xterm.c (x_term_init): Create a colormap if not using the
13261 default visual.
13262
13263 * xterm.h (select_visual): Change prototype.
13264
13265 * xfns.c (select_visual): Rewritten. Recognize user-specified
13266 visual classes.
13267 (visual_classes): New variable.
13268
64d739c4
GM
132692000-03-04 Gerd Moellmann <gerd@gnu.org>
13270
13271 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13272 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13273 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 13274 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
13275 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13276 XtNcolormap resources.
13277 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13278 (Fx_create_frame): Initialize color members of x_output structure.
13279 (xpm_load): Pass colormap to XPM lib.
13280
13281 * xfaces.c (x_free_colors): Access colormap of frame using
13282 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13283 when default colormap is used.
13284
13285 * xterm.c (x_term_init): Set Colormap member of x_display_info
13286 structure. Copy colormap if resource `privateColormap' is
13287 specified (PseudoColor only).
13288 (x_setup_relief_color): Access colormap of frame using
13289 FRAME_X_COLORMAP.
13290
13291 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13292 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13293
c3cee013
JR
132942000-03-04 Jason Rumney <jasonr@gnu.org>
13295
13296 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13297 other non-platform-specific equivalents.
64d739c4 13298 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
13299 specific functions and macros as their w32 equivalents where
13300 non-platform-specifics are not available.
13301 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13302 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13303 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13304 (frame_update_line_height): Use macros to access f->output_data.
13305 (defined_color): Remove FIXME comments; fixed.
13306 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13307 into #ifdef blocks. Add WINDOWSNT blocks.
13308 (Fx_list_fonts): Use macros for accessing font data.
13309 (set_lface_from_font_name): Different default fonts for X and
13310 WINDOWSNT.
13311 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13312 scalable for backward compatibility.
64d739c4 13313 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
13314 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13315
64d739c4 13316 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
13317 syms_of_w32faces.
13318
13319 * makefile.nt (w32faces.obj): Remove.
13320 (xfaces.obj): Add.
13321
807cc41c
JR
133222000-03-03 Jason Rumney <jasonr@gnu.org>
13323
13324 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13325 correct parameters.
13326
0007072a
KR
133272000-03-03 Ken Raeburn <raeburn@gnu.org>
13328
13329 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13330 standard ELF definitions here if the system header does not.
13331
71a6ba55
GM
133322000-03-03 Gerd Moellmann <gerd@gnu.org>
13333
13334 * xterm.c (PER_CHAR_METRIC): Removed.
13335 (x_per_char_metric_1, x_default_char): New functions.
13336 (x_per_char_metric): If font's default char is invalid, return
13337 metrics of a suitably chosen usable default char.
13338 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
13339 char, replace occurrences of unprintable chars with a suitably
13340 chosen usable default char.
71a6ba55 13341
900fa1f1
GM
133422000-03-02 Gerd Moellmann <gerd@gnu.org>
13343
42f55fe0
GM
13344 * xterm.c (note_mouse_highlight): Return quickly if frame's
13345 glyph matrices have been freed.
13346
13347 * dispnew.c (free_glyphs): Block input while freeing matrices.
13348
900fa1f1
GM
13349 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13350
52283633
SM
13351 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13352 Use x_free_colors.
900fa1f1
GM
13353
13354 * dispextern.h (x_free_colors): Add prototype.
13355
13356 * xfaces.c (x_free_colors): New function.
13357 (unload_color, free_face_colors): Use it.
13358
2f950292
EZ
133592000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13360
13361 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13362
13363 * window.c [MSDOS]: Include msdos.h.
13364
54d04320
DL
133652000-03-02 Dave Love <fx@gnu.org>
13366
13367 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13368
13369 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13370 set C_OPTIMIZE_SWITCH for gcc.
13371
0ba93ac4
KH
133722000-03-02 Kenichi Handa <handa@etl.go.jp>
13373
13374 * coding.c (coding_save_composition): Be sure to allocate
13375 composition data area in coding even if there's no composition in
13376 the current run.
13377
a2bc11d4
JR
133782000-03-01 Jason Rumney <jasonr@gnu.org>
13379
13380 * w32term.c: Equivalent changes to those made to xterm.c on
13381 2000-02-25 and 2000-02-24.
13382
13383 * w32fns.c: Equivalent changes to those made to xfns.c on
13384 2000-02-25 and 2000-02-21.
13385
13386 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13387 correct line-end convention is followed.
13388
13389 * w32menu.c [HAVE_BOXES]: Remove #undef.
13390 (single_keymap_panes): Remove code for simulating checkmarks.
13391 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13392 Remove code for drawing simulated checkmarks.
13393 (w32_menu_show): make unibyte help string correctly.
13394 (add_menu_item): draw standard Windows checkmarks. Draw radio
13395 buttons as radio buttons if possible.
13396
72d19d75
GM
133972000-03-01 Gerd Moellmann <gerd@gnu.org>
13398
2df636f4
GM
13399 * sysdep.c (start_of_text): Don't define this function for NetBSD
13400 with ELF.
13401
427ec082 13402 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
13403 Don't define.
13404 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13405 (LINKER): Don't undef if __NetBSD__ is defined.
13406
13407 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13408
13409 * fileio.c [__NetBSD__]: Define `unix'.
13410
72d19d75
GM
13411 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13412
ed4d0512
GM
134132000-02-29 Gerd Moellmann <gerd@gnu.org>
13414
50b1039f
GM
13415 * atimer.c (start_atimer): Don't abort when timers are stopped.
13416 (append_atimer_lists): New function.
13417 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13418 arbitrary lists of stopped and running atimers.
13419
ed4d0512
GM
13420 * atimer.c (cancel_atimer): Handle canceling an atimer when
13421 some timers are stopped.
13422
13423 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13424 after canceling it.
13425
13426 * fns.c (maybe_resize_hash_table): Handle case of new size
13427 coming out as being the same as old size.
13428
387023ee
JR
134292000-02-27 Jason Rumney <jasonr@gnu.org>
13430
13431 * makefile.nt: Add atimer.h to dependencies.
13432 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13433 * w32console.c: Only disable window system features for dispextern.h
13434 (initialize_w32_display): Build a display info for the console.
13435 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13436 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13437 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13438 as 2 button mice.
13439 * w32gui.h (struct W32FontStruct): Revert last change after change
13440 to xdisp.c.
13441 * w32menu.c (single_submenu): Set up help string.
13442 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13443 (w32_dialog_show): Set up help string.
13444 * w32term.c (w32_display_info_for_display): Remove unused function.
13445 (w32_draw_bitmap): Use pre-built bitmaps.
13446 (w32_initialize_display_info): New function to initialize parts of
13447 display info that are common to both GUI and console frames.
13448 (w32_term_init): Use w32_initialize_display_info. Do not set
13449 Vw32_num_mouse_buttons here, as it is not called for console
13450 frames. Build bitmaps for indicating truncated lines etc.
13451 (x_delete_display): Destroy pre-built bitmaps.
13452 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13453 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13454
4516715a
DL
134552000-02-27 Dave Love <fx@gnu.org>
13456
13457 * lisp.h: Add a bunch of prototypes.
13458
171ca836
KH
134592000-02-26 Kenichi Handa <handa@etl.go.jp>
13460
13461 * keyboard.c (read_char): Set `usec' correctly.
13462
4013921d
KH
134632000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13464
13465 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13466 `lambda', set reg[RRR] to the map index.
13467 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13468 reg[RRR] to 0. Otherwise, set it to -1.
13469
9244a058
GM
134702000-02-25 Gerd Moellmann <gerd@gnu.org>
13471
2df636f4 13472 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 13473
18e21ce8 134742000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 13475
f43d79c1
GM
13476 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13477 and contains a `:', prepend `/:'.
13478
13479 * window.c (select_window_1): If selected_window is nil,
13480 don't "swap out" the buffer's point.
13481 (Fset_window_configuration): Set selected_window to nil
13482 before calling Fselect_window.
13483 (unshow_buffer): Don't set point in buffer from window's point
13484 if another more recently selected window also shows the buffer.
13485
bed0c171
GM
134862000-02-25 Gerd Moellmann <gerd@gnu.org>
13487
449c3c52
GM
13488 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13489
f5b58615
GM
13490 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13491 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
13492 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13493 New variables.
f5b58615
GM
13494 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13495 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13496 (hide_busy_cursor): New functions.
13497 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13498
13499 * minibuf.c (read_minibuf): Cancel busy-cursor.
13500
13501 * keyboard.c (command_loop_1): Call start_busy_cursor before
13502 Fcommand_execute and cancel_busy_cursor after it.
13503 (timer_check): Remove busy-cursor code.
13504 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13505 cursor timer.
13506
13507 * process.c (wait_reading_process_input): Remove busy-cursor code.
13508
13509 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13510 Fx_hide_busy_cursor.
13511
13512 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13513 Remove prototyoes.
13514 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13515
13516 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13517
13518 * xterm.c (XTread_socket): Remove busy-cursor code.
13519
4eb8436f
GM
13520 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13521 (build_frame_matrix_from_leaf_window): Put code handling
13522 glyph row's not being a slice of a frame row in #if 0.
13523 (sync_window_with_frame_matrix_rows): New function.
13524 (frame_row_to_window): New function.
13525 (mirror_line_dance): Handle copies between windows.
13526
3cb65b0e
GM
13527 * lread.c (Fload): Use `xfree' instead of `free'.
13528 (init_obarray): Use `xmalloc' instead of `malloc'.
13529
bed0c171
GM
13530 * window.c (Fset_window_buffer): Set WINDOW to the window
13531 after decoding.
2add4349
GM
13532 (coordinates_in_window): Take frame's internal border width
13533 into account.
bed0c171 13534
42088c12
GM
135352000-02-24 Gerd Moellmann <gerd@gnu.org>
13536
13537 * xterm.c (x_display_and_set_cursor): Display cursor of
13538 non-selected windows depending on the setting of
13539 cursor_in_non_selected_windows.
13540
13541 * xdisp.c (cursor_in_non_selected_windows): New variable.
13542 (syms_of_xdisp): DEFVAR_BOOL it.
13543
d1e103b2
GM
135442000-02-23 Gerd Moellmann <gerd@gnu.org>
13545
723e779c
GM
13546 * data.c (Fstring_to_number): If number is greater than what
13547 fits into an integer, return a float.
13548
d1e103b2
GM
13549 * eval.c (specbind): Remove references to
13550 keyword_symbols_constant_flag.
13551
13552 * data.c (keyword_symbols_constant_flag): Removed.
13553 (Fmakunbound, set_internal, syms_of_data): Remove references to
13554 keyword_symbols_constant_flag.
13555
13556 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13557
214f877f
KH
135582000-02-23 Kenichi Handa <handa@etl.go.jp>
13559
13560 * syntax.c (multibyte_syntax_as_symbol): New variable.
13561 (syms_of_syntax): Declare it as a Lisp variable.
13562 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13563 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13564 nonzero, treat all multibyte characters as symbol.
52283633 13565 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 13566
130adcb7
EZ
135672000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13568
3cb65b0e 13569 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 13570 a deleted frame.
130adcb7 13571
17cbbf95
GM
135722000-02-21 Gerd Moellmann <gerd@gnu.org>
13573
13574 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13575
13576 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13577 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13578
beb0bc36
DL
135792000-02-21 Dave Love <fx@gnu.org>
13580
13581 * frame.c (Vmouse_position_function): New variable.
13582 (Fmouse_position): Use it.
13583 (syms_of_frame): Install it.
13584
13585 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13586
1d92afcd
GM
135872000-02-20 Gerd Moellmann <gerd@gnu.org>
13588
13589 * fileio.c (Finsert_file_contents): Unbind the binding of
13590 standard-output done by temp_output_buffer_setup.
329eed9f
GM
13591
13592 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13593 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13594 (specbind, unbind_to): Handle most common case of non-constant
13595 symbol with trivial value specially.
13596
13597 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13598
18e21ce8 135992000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
13600
13601 * data.c (Fmake_variable_buffer_local): Doc fix.
13602 Init found_for_buffer to 0.
13603 (Fmake_variable_frame_local): If the variable has already
13604 been buffer-local, set the check_frame field.
13605
1d4311c3
EZ
136062000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13607
13608 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13609 produced for CODING_MODE_LAST_BLOCK requires.
13610
2dc95ddd
DL
136112000-02-18 Dave Love <fx@gnu.org>
13612
13613 * keyboard.c (echo_keystrokes): Remove declaration.
13614 (Vecho_keystrokes) New variable.
13615 (read_char, record_menu_key, read_key_sequence): Use it to allow
13616 use of float value.
13617 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13618
13619 * lread.c: Undef feature selection macros before defining.
13620
f0930f35
GM
136212000-02-18 Gerd Moellmann <gerd@gnu.org>
13622
13623 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13624 for symbols other than the symbol in question.
13625
e3d4de90
DL
136262000-02-17 Dave Love <fx@gnu.org>
13627
13628 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13629
0b378936
GM
136302000-02-17 Gerd Moellmann <gerd@gnu.org>
13631
d621caf7
GM
13632 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13633
0b378936
GM
13634 * alloc.c (enum mem_type): Compile unconditionally.
13635
3b451f74
EZ
136362000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13637
13638 * xfaces.c (tty_defined_color): Don't return faulire indication
13639 for unspecified-fg and unspecified-bg pseudo-colors.
13640
10689a01
GM
136412000-02-17 Gerd Moellmann <gerd@gnu.org>
13642
1216f5e4
GM
13643 * alloc.c (mark_object): Don't mark symbol names in pure space.
13644 (gc_sweep): Don't unmark symbol names in pure space.
13645
13646 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13647 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13648 [GC_MARK_STACK]: New defines.
427ec082 13649 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
13650 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13651
13652 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13653
13654 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13655 allocate_buffer instead of xmalloc.
13656
13657 * alloc.c (toplevel): Include setjmp.h.
13658 (PURE_POINTER_P): New define.
13659 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13660 (Vdead) [GC_MARK_STACK]: New variable.
13661 (lisp_malloc): Add parameter TYPE, call mem_insert if
13662 GC_MARK_STACK is defined.
13663 (allocate_buffer): New function.
427ec082 13664 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
13665 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13666 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13667 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13668 (MEM_NIL) [GC_MARK_STACK]: New define.
13669 (struct mem_node) [GC_MARK_STACK]: New structure.
13670 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13671 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13672 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13673 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13674 (mark_stack) [GC_MARK_STACK]: New functions.
13675 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13676 (clear_marks): Removed.
13677 (gc_sweep): Set free conses' car, free floats' type, free
13678 symbols' function to Vdead. Use lisp_free to free buffers.
13679 (init_alloc_once): Initialize Vdead.
13680 (survives_gc_p): Return non-zero for pure objects.
13681
13682 * alloc.c: Add comments throughout the file.
13683
2503c8b1
GM
13684 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13685 that unblocks alarms.
13686
8389e1e2
GM
13687 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13688 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13689 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13690
10689a01 13691 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 13692
bfc17d18
KH
136932000-02-17 Kenichi Handa <handa@etl.go.jp>
13694
4a09dee0
KH
13695 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13696 avoid infinite error signaling. Allocate sufficient memory for
13697 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 13698
2b927d02
SM
136992000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13700
13701 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13702 depends on the previous behavior.
13703
b49cb764
GM
137042000-02-16 Gerd Moellmann <gerd@gnu.org>
13705
13706 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13707
99e95407
GM
137082000-02-15 Gerd Moellmann <gerd@gnu.org>
13709
13710 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13711
13712 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 13713 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
13714 write(2).
13715
6ffd3cf7
RS
137162000-02-15 Richard M. Stallman <rms@gnu.org>
13717
13718 * data.c (set_internal): Don't make variable buffer-local
13719 if within a let-binding for the same buffer.
13720 (let_shadows_buffer_binding_p): New function.
13721
13722 * eval.c (specbind): For buffer-local value,
13723 record the current buffer also.
13724 (unbind_to): Cope with that change.
13725
cad53475
GM
137262000-02-15 Gerd Moellmann <gerd@gnu.org>
13727
13728 * window.c (Fsave_window_excursion): Doc fix.
13729
1aa963c8
SM
137302000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13731
13732 * syntax.c (back_comment): Make sure we only consider comment-starters
13733 of the relevant style and return -1 in case of a failure to find the
13734 beginning of the comment.
13735 (Fforward_comment): If back_comment fails, go back to the position just
13736 after the comment-end.
13737 (scan_lists): Add comment describing a very minor bug.
13738
b9b84fd3
SM
137392000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13740
13741 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13742 `completion-regexp-list' in the docstring.
13743
3a28db80
DL
137442000-02-14 Dave Love <fx@gnu.org>
13745
13746 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13747
fb4a568d
SM
137482000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13749
13750 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13751 to Emacs' syntax. Also fix the comment about set/not-set meanings
13752 since Emacs syntax is not the value 0 any more.
13753 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13754 since it's now part of RE_SYNTAX_EMACS.
13755
1063ebb5
DL
137562000-02-12 Dave Love <fx@gnu.org>
13757
52283633 13758 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 13759
fb07a302
GM
137602000-02-12 Gerd Moellmann <gerd@gnu.org>
13761
13762 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13763
aaf2320c
DL
137642000-02-12 Dave Love <fx@gnu.org>
13765
13766 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13767
13768 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
13769 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13770 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
13771
13772 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13773
13774 * s/nextstep.h: Don't define HAVE_ALLOCA.
13775
13776 * config.in: Add vfork bits.
13777
eedf8bde
GM
137782000-02-12 Gerd Moellmann <gerd@gnu.org>
13779
13780 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13781 unwind function to undo the effect of stopping atimers.
13782
52283633 13783 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
13784
13785 * atimer.c (stopped_atimers): New variable.
13786 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13787 New functions.
13788
13789 * atimer.h (stop_other_atimers, run_all_atimers)
13790 (unwind_stop_other_atimers): Add function prototypes.
427ec082 13791
eedf8bde
GM
13792 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13793
8476c2f8
KR
137942000-02-11 Ken Raeburn <raeburn@gnu.org>
13795
13796 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13797 library may depend on jpeg.
13798 (atimer.o): Depends on atimer.c.
13799
0e85e4a3
KH
138002000-02-11 Kenichi Handa <handa@etl.go.jp>
13801
13802 * insdel.c (del_range_1): Call update_compositions.
13803 (del_range_both): Call update_compositions just once..
13804
97fa0cc8
DL
138052000-02-10 Dave Love <fx@gnu.org>
13806
13807 * xfns.c (create_frame_xic): Fix initialization of automatic
13808 aggregates for pcc.
13809
25566a3c
KH
138102000-02-09 Kenichi Handa <handa@etl.go.jp>
13811
13812 * ccl.c (CCL_MAKE_CHAR): New macro.
13813 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13814 registers by CCL_MAKE_CHAR before calling translate_char.
13815 <CCL_TranslateCharacterConstTbl> Likewise.
13816
69da54ba
DL
138172000-02-08 Dave Love <fx@gnu.org>
13818
13819 * lread.c (__EXTENSIONS__): Define.
13820
f7136ee8
GM
138212000-02-08 Gerd Moellmann <gerd@gnu.org>
13822
13823 * puresize.h (BASE_PURESIZE): Increase to 650000.
13824
7768790b
EZ
138252000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13826
13827 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13828 the help message.
13829
38fd211b
EZ
138302000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13831
13832 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13833 md, mh, mb, mr, and me to the fake termcap entry.
13834
66e4690f
KR
138352000-02-06 Ken Raeburn <raeburn@gnu.org>
13836
13837 * sound.c (sound_cleanup): Don't call device close routine if the
13838 function pointer is null.
13839
a75dfea0
AI
138402000-02-06 Andrew Innes <andrewi@gnu.org>
13841
13842 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13843 around image definitions and prototypes.
13844 (gamma_correct) [WINDOWSNT]: New prototype.
13845
13846 * w32term.c (x_make_frame_visible): Replace call to
13847 input_poll_signal with poll_for_input.
13848
13849 * window.c [WINDOWSNT]: Include w32term.h.
13850
13851 * xdisp.c [WINDOWSNT]: Include w32term.h.
13852
13853 * makefile.nt: Add dependencies on w32gui.h.
13854 (OBJ1): Include atimer.obj.
13855 ($(BLD)\atimer.obj): New dependency rule.
13856
13857 * w32.c (sigmask): New function (does nothing).
13858 (sigunblock): Ditto.
13859
13860 * frame.c [WINDOWSNT]: Include w32term.h.
13861
13862 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13863
13864 * lread.c (syms_of_lread): Fix literal newlines.
13865
13866 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13867 the string constant limit (2048 bytes) in MSVC.
13868 (main): Ditto.
13869
59ddecde
GM
138702000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13871
52283633 13872 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
13873 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13874 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13875 dispatch the event.
13876
07590973
DL
138772000-02-04 Dave Love <fx@gnu.org>
13878
13879 * fileio.c: Remove some unused vars.
13880 (_GNU_SOURCE): Define (for euidaccess).
13881
13882 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13883
13884 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13885 gcpro1, gcpro2.
13886 (read_minibuf): Deal with allow_props correctly.
13887
649351f9
EZ
138882000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13889
13890 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13891
66e4690f 138922000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
13893
13894 * search.c (compile_pattern): If a cache entry has a nil regexp,
13895 fill in that entry instead of clobbering a previously cached
13896 string regexp.
13897
66e4690f 138982000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
13899
13900 * puresize.h (BASE_PURESIZE): Increase to 610000.
13901
d240a249
GM
139022000-02-02 Gerd Moellmann <gerd@gnu.org>
13903
13904 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13905 can GC.
13906
ca91fb26
KH
139072000-02-02 Kenichi Handa <handa@etl.go.jp>
13908
25660570
KH
13909 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13910 instead of incrementing ic directly.
13911 <CCL_WriteExprConst> Likewise.
13912 <ccl_set_expr>: Set ic to jump_address.
13913
ca91fb26
KH
13914 * fileio.c (e_write): Fix the handling of
13915 CODING_FINISH_INSUFFICIENT_SRC.
13916
2ede9689
DL
139172000-02-01 Dave Love <fx@gnu.org>
13918
13919 * editfns.c (Fpropertize): Doc fix.
13920
13921 * process.c (Fstart_process): Doc fix.
13922
13923 * eval.c: Fix various doc strings not to duplicate information
13924 from help-manyarg-func-alist.
13925
52283633 13926 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
13927
13928 * doc.c (Vhelp_manyarg_func_alist): New variable.
13929 (Fdocumentation): Use it.
13930 (syms_of_doc): Define it.
13931
b6680a0e
GM
139322000-01-31 Gerd Moellmann <gerd@gnu.org>
13933
2cb750ba
GM
13934 * xterm.c (xim_open_dpy): Remove unused local variable.
13935
52283633 13936 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
13937
13938 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13939 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13940
b6680a0e
GM
13941 * fns.c (sweep_weak_table): New function.
13942 (sweep_weak_hash_tables): Use it. Keep on marking until there
13943 is no more change.
13944
994c5afe
GM
139452000-01-30 Gerd Moellmann <gerd@gnu.org>
13946
13947 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13948 that XTread_socket does not crash by trying to call XNoOp on a
13949 closed display.
427ec082 13950
f00276e3
JR
139512000-01-30 Jason Rumney <jasonr@gnu.org>
13952
13953 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13954 Change selected_frame to SELECTED_FRAME ().
13955 (w32_console_mouse_position): Remove #ifndef MULE from around
13956 `insist' parameter.
13957
13958 * makefile.nt: Remove dosfns.obj.
13959
13960 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13961
13962 * w32fns.c (w32_defined_color): Check for valid frame before
13963 applying gamma correction. Eliminate dependency on frame elsewhere.
13964 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13965 (w32_to_x_font): Use resx and resy not height_in and width_in.
13966 (x_to_w32_font): Doc fix.
13967 (xlfd_strip_height): New function to strip and return font height.
13968 (w32_font_match): Compare height separately from rest of xlfd
13969 spec, using xlfd_strip_height.
13970
13971 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13972 width_in. Use w32_defined_color in place of defined_color.
13973
13974 * w32faces.c: Merge more of DOS and X specifics in preparation for
13975 merge with xfaces.c.
13976 (defined_color): Remove FIXME comment.
13977 (tty_color_name): Provide w32-specific function.
13978 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
13979
13980 * w32console.c (turn_on_face, turn_off_face): Removed.
13981 (w32_face_attributes): New function.
13982 (Global_variables): Reduce scope where possible.
13983 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
13984 fill attribute.
13985 (hl_mode): Don't modify text attributes.
13986 (write_glyphs): Don't do anything if len <= 0. Use
13987 w32_face_attributes to get attributes for drawing. Write
13988 terminating codes using char_attr_normal.
13989 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
13990 (update_begin, update_end): Likewise.
13991 (vga_stdcolor_name): New function.
13992 (initialize_w32_display): Remove char_attr_reverse and char_attr.
13993 (Fset_screen_color): Remove char_attr_reverse.
13994
b08e8bb2
GM
139952000-01-29 Gerd Moellmann <gerd@gnu.org>
13996
13997 * xfns.c (xic_set_preeditarea): Take window parameter and
13998 window-relative pixel-positions.
13999
14000 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14001 is its frame's selected window.
14002 (xim_instantiate_callback): Likewise.
14003
14004 * xfns.c (x_create_im): Removed.
14005 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14006 (supported_xim_styles): Renamed from supported_styles.
14007 (best_xim_style): Renamed from best_style.
14008 (create_frame_xic): Renamed from xic_create_frame.
14009 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 14010
b08e8bb2
GM
140112000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14012
14013 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14014 our frames, call XFilterEvent with 2nd parameter `None'.
14015 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14016 returning XBufferOverflow.
52283633 14017 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
14018 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14019 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14020 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14021 (xim_initialize, xim_close)
14022 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14023 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14024 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14025 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14026
14027 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14028 and `xim_styles'.
14029 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14030 `xic_style' and `xic_xfs'.
14031 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14032 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14033 (FRAME_XIM): Removed.
14034
14035 * xfns.c (supported_styles): New variable.
14036 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14037 (xic_create_xfontset, best_style, xic_create_frame)
14038 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14039 (xic_set_xfontset): New functions.
14040
142e109c
DL
140412000-01-28 Dave Love <fx@gnu.org>
14042
14043 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14044
14045 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14046
b02786f9
GM
140472000-01-28 Gerd Moellmann <gerd@gnu.org>
14048
d060bc9f
GM
14049 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14050 for *scratch* if it already existed.
14051
b02786f9
GM
14052 * emacs.c (USAGE): New macro.
14053 (main): Use it to display usage information.
14054
2c52d7e4
EZ
140552000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14056
14057 Support for the menu-help feature:
14058
52283633 14059 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
14060
14061 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14062 part of the line to the termscript file.
14063 (IT_clear_to_end): Clear the entire line, not just its beginning.
14064 (menu_help_message, prev_menu_help_message): New variables.
14065 (IT_menu_make_room): Make room for the help_text member.
14066 (IT_menu_display): New argument disp_help; all callers changed.
14067 If disp_help is non-zero, store the help text of the active menu
14068 item in menu_help_message.
14069 (XMenuAddPane): Initialize the help_text member to NULL.
14070 (XMenuAddSelection): New argument help_text. Store it in the
14071 XMenu structure.
14072 (XMenuActivate): New argument help_callback. If the value of
14073 menu_help_message has changed since the last time, display the
14074 menu help message text while waiting for the mouse to move. Clear
14075 the echo area before exiting.
14076 (XMenuDestroy): Free the help_text member.
14077
ffe0bcd1
GM
140782000-01-27 Gerd Moellmann <gerd@gnu.org>
14079
14080 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14081 XMenuAddSelection. Pass help callback to XMenuActivate.
14082 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14083
50dbd23f
EZ
140842000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14085
14086 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14087 and EMACS_SET_USECS.
14088
f5941bf8
GM
140892000-01-26 Dave Love <fx@gnu.org>
14090
6c67ddee
DL
14091 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14092
f5941bf8
GM
14093 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14094 an error may be signalled.
14095
9e49c990
GM
140962000-01-26 Gerd Moellmann <gerd@gnu.org>
14097
fc3cb460
GM
14098 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14099 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14100
9e49c990
GM
14101 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14102
d0c037d8
GM
141032000-01-25 Gerd Moellmann <gerd@gnu.org>
14104
14105 * charset.c (Fstring): If there is a multibyte char among
14106 the args, always return a multibyte string.
14107
e12489f9
GM
141082000-01-25 Gerd Moellmann <gerd@gnu.org>
14109
14110 * sysdep.c (sys_select): Turn atimers off and on instead of
14111 recording and restoring old alarm handler
14112
14113 * process.c (toplevel): Include atimer.h.
14114 (create_process_1): Rewritten.
14115 (create_process): Use atimers instead of alarm.
14116 (wait_reading_process_input) [hpux]: Turn atimers off instead
14117 of turning off SIGALRM.
14118 (wait_reading_process_input): Turn off atimers instead off
14119 calling stop_polling.
14120
14121 * emacs.c (main): Call init_atimer.
14122
14123 * keyboard.c (toplevel): Include systime.h and atimer.h.
14124 (polling_for_input): Removed because unused.
14125 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14126 (poll_timer): New variable.
14127 (poll_for_input, poll_for_input_1): New functions.
14128 (start_polling, stop_polling): Rewritten.
14129
14130 * keyboard.h (polling_for_input): Removed.
427ec082 14131
e12489f9
GM
14132 * atimer.h, atimer.c: New files.
14133
14134 * Makefile.in (obj): Add atimer.o.
14135 (atimer.o): New target.
14136
14137 * blockinput.h (pending_atimers): Add extern declaration.
14138 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14139
14140 * lisp.h (popup_activated_flag): Add extern declaration.
14141
14142 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 14143 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
14144 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14145
14146 * xterm.c (toplevel): Include atimer.h.
14147 (toolkit_scroll_bar_interaction): New variable.
14148 (Fxt_process_timeouts): Removed.
14149 (x_process_timeouts): New function.
14150 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14151 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14152 (x_make_frame_visible): Call poll_for_input_1 instead of
14153 input_poll_signal. Don't call alarm.
14154 (x_initialize): Install timer calling x_process_timeouts.
427ec082 14155
1e5279b9
DL
141562000-01-24 Dave Love <fx@gnu.org>
14157
6c67ddee 14158 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
14159 Don't use -cckr -- apparently not now necessary.
14160
edf6aeb8
EZ
141612000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14162
14163 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14164 screen boundary.
14165
9badad41
JR
141662000-01-23 Jason Rumney <jasonr@gnu.org>
14167
14168 * w32fns.c (w32_defined_color): Apply gamma correction before
14169 trying to map to the palette.
14170 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14171 to w32_clear_rect.
14172
14173 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14174 here. Callers changed to always pass real device context.
14175 (w32_draw_bitmap): Likewise.
14176 (w32_get_glyph_overhangs): Likewise.
52283633 14177 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
14178 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14179 pfnSetScrollInfo and SetScrollRange.
14180 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14181 back into MULE characters after decoding them.
14182 (x_get_glyph_face_and_encoding): Likewise.
14183 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14184 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14185 (x_produce_glyphs): Calculate per char metrics for a character
14186 that we know exists in default font when font_not_found_p is true.
14187
63bd786b
JR
141882000-01-22 Jason Rumney <jasonr@gnu.org>
14189
14190 * makefile.nt (intervals.obj, composite.obj): New modules.
14191 (composite.h): Added as dependency where appropriate.
14192
14193 * w32gui.h (XGCValue): New struct for emulating X GCs.
14194
14195 * w32term.h (XCharStruct): New struct for emulating X.
14196
14197 * w32console.c (turn_on_face, turn_off_face): New functions.
14198 (change_line_highlight): New prototype for new redisplay.
14199 (write_glyphs): Support multibyte text. Support faces.
14200
52283633 14201 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
14202
14203 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14204 throughout. struct frame * in place of FRAME_PTR.
14205 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 14206 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
14207 (w32_get_arg): Renamed from x_get_arg.
14208 (Fx_file_dialog): New function.
14209 (w32_list_fonts): Check cache before asking system.
14210 (Vw32_enable_synthesized_fonts): New variable.
14211 (Vw32_enable_italics): Obsolete, removed.
14212
14213 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14214 Use SELECTED_FRAME macro.
14215
14216 * w32menu.c: Add skeleton support for help strings on menus.
14217 (add_menu_item): Native checkbox and radio support added, but not
14218 yet enabled due to bugs.
14219 (push_menu_item): Add parameters type, selection and help.
14220 Callers updated.
14221 Formatting changes to reduce unnecessary diffs with xmenu.c.
14222
14223 * w32select.c (Fw32_set_clipboard_data): Update call to
14224 find_charset_in_str.
14225
14226 * w32term.c: Complete rewrite for new redisplay based on new
14227 xterm.c with necessary sections merged back in from old w32term.c.
14228
6ffd3cf7 142292000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
14230
14231 * data.c (set_internal): Further fix in same criterion.
14232
6ffd3cf7 142332000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
14234
14235 * data.c (set_internal): Fix the criteria for whether
14236 to swap out the old cached binding.
14237
60af03f1
DL
142382000-01-19 Dave Love <fx@gnu.org>
14239
14240 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14241
f9be074f
KH
142422000-01-18 Kenichi Handa <handa@etl.go.jp>
14243
14244 * regex.c (re_compile_fastmap): While checking a range table for
14245 `charset', skip flag bits for a character class correctly.
14246
52b8dbf9
GM
142472000-01-17 Gerd Moellmann <gerd@gnu.org>
14248
d36100c9
GM
14249 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14250
52283633 14251 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
14252
14253 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 14254 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
14255
14256 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14257 MENU_ITEMS_ITEM_.*.
14258 (MENU_ITEMS_ITEM_HELP): New enumerator.
14259 (push_menu_item): Add parameter HELP. Record help in menu_items.
14260 (single_menu_item, single_submenu, list_of_items): Call
14261 push_menu_item with new parameter.
14262 (single_submenu): Set help string in widget value.
14263 (menu_highlight_callback): New function.
14264 (set_frame_menubar): Call lw_create_widget with new
14265 parameter list.
14266 (xmenu_show, xdialog_show): Ditto.
14267
3139018f
GM
142682000-01-13 Gerd Moellmann <gerd@gnu.org>
14269
14270 * sound.c (Fplay_sound): Improve doc string.
14271
83c8f461
RS
142722000-01-11 Richard M. Stallman <rms@gnu.org>
14273
14274 * lisp.h (set_internal): Enter the new arg.
14275
14276 * eval.c (specbind): Record buffer-local variables specially,
14277 indicating which buffer's binding was saved.
14278 (unbind_to): Restore buffer-local variables specially
14279 in the proper buffer.
14280
14281 * data.c (set_internal): New arg BUF.
427ec082 14282
83c8f461
RS
14283 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14284 * data.c (Fset): Pass new arg to set_internal.
14285 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 14286
1fab1775
GM
142872000-01-11 Gerd Moellmann <gerd@gnu.org>
14288
52283633 14289 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 14290
83c8f461 142912000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
14292
14293 * minibuf.c (Ftry_completion): Doc fix.
14294
7a85e4df
GM
142952000-01-11 Gerd Moellmann <gerd@gnu.org>
14296
14297 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14298 vector, too.
14299
a970dae4
AS
143002000-01-11 Andreas Schwab <schwab@suse.de>
14301
14302 * coding.c (code_convert_region): Initialize total_skip.
14303
c65d14ee
DL
143042000-01-08 Dave Love <fx@gnu.org>
14305
14306 * eval.c (Fuser_variable_p): Check customizability too.
14307
834938d2
GM
143082000-01-07 Gerd Moellmann <gerd@gnu.org>
14309
14310 * minibuf.c (Fcompleting_read): Doc fix.
14311
e0303cd6
GM
143122000-01-05 Gerd Moellmann <gerd@gnu.org>
14313
8a26744b
GM
14314 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14315 -L /usr/local/lib.
14316
e0303cd6
GM
14317 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14318 Check that input style is supported before trying to create an
14319 IC for it.
14320 (x_window): Call x_create_im.
427ec082 14321
2e471eb5
GM
143222000-01-04 Gerd Moellmann <gerd@gnu.org>
14323
560a7bd2
GM
14324 * xfns.c (current_gif_memory_src): New variable.
14325 (gif_load): Record the address of the current memory source
14326 in current_gif_memory_src.
14327 (gif_read_from_memory): Use current_gif_memory_src.
14328
f9ee84a3
GM
14329 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14330 macros statement form.
14331
d1299cde
GM
14332 * sound.c (struct sound): Renamed from struct sound_file.
14333 (struct sound): Add members `data' and `header_size'.
14334 (enum sound_attr): Add SOUND_DATA.
14335 (current_sound, current_sound_device): Variables renamed from
14336 sound_file and sound_device.
14337 (parse_sound): Parse :data.
14338 (parse_sound): Handle sound data in strings.
14339 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 14340 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
14341 needed header size.
14342 (wav_play, au_play): Play sounds from string data.
14343
2e471eb5
GM
14344 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14345
14346 * lisp.h: Add prototype for allocate_string_data.
14347
52283633 14348 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
14349
14350 * alloc.c (mark_buffer): Remove code in #if 0.
14351 (gc_sweep): Ditto.
14352 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14353 (strings_consed): New variable.
14354 (allocate_string): Set it.
14355 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14356 (Fmemory_use_counts): Return strings_consed. Use Flist.
14357
14358 * alloc.c: General cleanup in comments etc. Remove conditional
14359 compilation for `standalone'.
14360
14361 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14362
14363 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14364 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14365 (DONT_COPY_FLAG): Removed.
14366 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14367 (struct sdata, struct sblock): New
14368 (struct string_block): Rewritten.
14369 (STRINGS_IN_STRING_BLOCK): New macro.
14370 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14371 (large_sblocks, string_blocks, string_free_list): New variables.
14372 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14373 (init_strings): Rewritten.
14374 (allocate_string, allocate_string_data, compact_small_strings)
14375 (free_large_strings, sweep_strings): New functions.
14376 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14377 (struct string_block_head, current_string_block)
14378 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14379 (STRING_PAD): Removed.
14380 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14381 (Fgarbage_collect): Don't set mark bit in large strings.
14382 (mark_object): Mark strings differently. Mark symbol names
14383 differently.
14384 (survives_gc_p): Test marked strings differently.
427ec082 14385 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
14386 symbol names.
14387 (compact_strings): Removed.
14388
42608ba8
EZ
143892000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14390
14391 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14392 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14393
e0a09e1a
KH
143942000-01-04 Kenichi Handa <handa@etl.go.jp>
14395
dd9f0750 14396 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 14397 in a non-empty buffer.
dd9f0750 14398
3c0f3b15 14399 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 14400
44cd3ae5
GM
144012000-01-03 Gerd Moellmann <gerd@gnu.org>
14402
14403 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14404 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14405
14406 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14407
c182a70f
EZ
144082000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14409
14410 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14411 need to test for MSDOS frames.
14412
24480d5b
EZ
144132000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14414
14415 * dosfns.c (unspecified_colors): Remove.
14416 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14417 unspecified_bg.
14418 (msdos_stdcolor_name): Return strings for unspecified fore- and
14419 back-ground colors.
14420
14421 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 14422 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
14423 (tty_color_name): Return Lisp strings for unspecified fore- and
14424 back-ground colors.
14425 (Finternal_set_lisp_face_attribute): Remove the special treatment
14426 for Qunspecified_{f,b}g.
52283633 14427 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 14428
047f434a
GM
144292000-01-03 Gerd Moellmann <gerd@gnu.org>
14430
14431 * xdisp.c (reseat_at_next_visible_line_start): Position before
14432 newline only if ending up on a newline.
14433 (next_element_from_ellipsis): Return success. Handle case of
52283633 14434 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
14435 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14436 returns 0.
14437
d684c676
EZ
144382000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14439
14440 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14441 (Fcolor_supported_p): Renamed from face-color-supported-p.
14442
5fe1d139
EZ
144432000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14444
14445 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14446 list of colors renamed to tty-defined-color-alist.
14447 (tty_color_name): Pass the frame to tty-color-by-index.
14448 (realize_tty_face): tty-color-alist is now a function which
14449 accepts the frame as argument.
14450
52283633 14451 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 14452
816be8b8
EZ
144532000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14454
14455 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14456 encode_terminal_code.
14457
b635321e
EZ
144582000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14459
14460 * dispnew.c (mode_line_string): Support termcap frames as well.
14461
9b784e96
GM
144622000-01-01 Gerd Moellmann <gerd@gnu.org>
14463
27189709
GM
14464 * syntax.c (Fforward_word): Undo previous change.
14465
14466 * editfns.c (Fconstrain_to_field): Don't constrain if
14467 inhibit-field-text-motion is non-nil.
14468 (Fline_beginning_position): Undo previous change.
14469 (Fline_end_position): Ditto.
14470
14471 * syntax.c (Fforward_word): Notice field boundaries only if
14472 inhibit-field-text-motion is nil.
14473
14474 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14475
14476 * editfns.c (Vinhibit_field_text_motion): New variable.
14477 (inhibit-field-text-motion): New DEFVAR_LISP.
14478 (Fline_beginning_position, Fline_end_position): Notice field
14479 boundaries only if inhibit-field-text-motion is nil.
14480
45158a91
GM
14481 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14482 All calls adjusted.
14483 (x_build_heuristic_mask): Likewise.
14484 (xbm_load_image_from_file): Change error output.
14485 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14486 (gif_load, gs_load, x_kill_gs_process): Ditto.
14487
9b784e96
GM
14488 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14489 color indices when accessing raster pixels.
63cec32f
GM
14490 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14491 one of :file or :data.
14492 (enum pbm_keyword_index): Add PBM_DATA.
14493 (pbm_format): Add :data.
14494 (pbm_image_p): Allow either :file or :data.
14495 (pbm_read_file): New function.
14496 (pbm_scan_number): Rewritten to read from string.
14497 (pbm_load): Support :data.
9b784e96 14498
2cb085db 14499See ChangeLog.8 for earlier changes.
6922b018
KH
14500
14501;; Local Variables:
49b3bd82 14502;; coding: iso-2022-7bit
6922b018 14503;; End:
2a34a036
GM
14504
14505 Copyright (C) 2001 Free Software Foundation, Inc.
14506 Copying and distribution of this file, with or without modification,
14507 are permitted provided the copyright notice and this notice are preserved.