(BASE_PURESIZE): Increase to 750000.
[bpt/emacs.git] / src / ChangeLog
1 2001-11-18 Gerd Moellmann <gerd@gnu.org>
2
3 * puresize.h (BASE_PURESIZE): Increase to 750000.
4
5 2001-11-18 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
6
7 * frame.c (Fframe_live_p): Doc fix.
8
9 2001-11-18 Richard M. Stallman <rms@gnu.org>
10
11 * xdisp.c (message_dolog_marker1, message_dolog_marker2)
12 (message_dolog_marker3): New static variables hold three markers.
13 (syms_of_xdisp): Initialize and staticpro them.
14 (message_dolog): Use message_dolog_marker1..3 instead of
15 allocating markers each time. Unchain them when done.
16
17 2001-11-17 Richard M. Stallman <rms@gnu.org>
18
19 * doc.c (Fsnarf_documentation): Doc fix.
20
21 2001-11-17 Andreas Schwab <schwab@suse.de>
22
23 * xterm.c (note_mouse_highlight): Fix type of variable `ignore'.
24
25 2001-11-17 Richard M. Stallman <rms@gnu.org>
26
27 * fileio.c (Fwrite_region): Avoid initializer for Lisp_Object.
28
29 2001-11-17 Jason Rumney <jasonr@gnu.org>
30
31 * xterm.c (notice_overwritten_cursor): Take care of end < 0 case.
32
33 2001-11-17 Gerd Moellmann <gerd@gnu.org>
34
35 * xdisp.c (tool_bar_item_info): Avoid calling Fget_text_property
36 with invalid position.
37
38 2001-11-16 Richard M. Stallman <rms@gnu.org>
39
40 * syswait.h: Delete conditionals for HPUX7, ISC 4.1, and convex.
41
42 * s/isc4-1.h (HAVE_SYS_WAIT_H): Add #undef.
43 * s/hpux.h (HAVE_SYS_WAIT_H): Add #undef.
44 * s/hpux8.h (HAVE_SYS_WAIT_H): Define it.
45
46 * m/convex.h (HAVE_SYS_WAIT_H): Add #undef.
47
48 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
49
50 * fileio.c (build_annotations): Split off the tail.
51 (build_annotations_2): New fun. Extracted from build_annotations.
52 (Fwrite_region): Split the call to build_annotations into two
53 calls to build_annotations and build_annotations_2.
54
55 2001-11-16 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
56
57 * sysdep.c (wait_for_kbd_input) [VMS]: Do not call
58 clear_waiting_for_input with argument.
59
60 * xterm.h (x_update_cursor): Remove duplicated prototype.
61
62 * keyboard.h (clear_waiting_for_input): Remove duplicated prototype.
63
64 * xterm.c (waiting_for_input): Remove unnecessary declaration.
65
66 * data.c (Ftimes, Fquo, Frem, Fmod): Doc fix.
67
68 2001-11-16 Stefan Monnier <monnier@cs.yale.edu>
69
70 * fileio.c (choose_write_coding_system): New fun, extracted
71 from Fwrite_region.
72 (Fwrite_region): Use it.
73
74 * eval.c (max_specpdl_size, max_lisp_eval_depth): Use EMACS_INT.
75 (funcall_lambda, run_hook_with_args): Make static and add prototype.
76 (ml_apply, find_handler_clause): Add prototype.
77
78 2001-11-16 Eli Zaretskii <eliz@gnu.org>
79
80 * config.in: Add #undef HAVE_COFF_H.
81
82 * unexec.c (coff.h): Don't include unless HAVE_COFF_H is defined.
83 Required for ISC 4.1.
84
85 2001-11-16 Eli Zaretskii <eliz@is.elta.co.il>
86
87 * syswait.h: (HAVE_SYS_WAIT_H): Undef for ISC 4.1. Reported by
88 Andrew Wiseman <a.wiseman@btclick.com>.
89
90 2001-11-16 Kim F. Storm <storm@cua.dk>
91
92 The following changes are made to clean up the various internal
93 references to the fringes to actually use the term `fringe' for
94 them. Previously, they were called `flags areas', `bitmap areas',
95 `left/right side of windows', or implicitly as `flags' or
96 `bitmaps':
97
98 * dispextern.h (FRINGE_FACE_ID): Renamed from BITMAP_AREA_FACE_ID.
99 Comments fixed. Use renamed symbols.
100
101 * dispnew.c: Comment fix. Use renamed symbols.
102
103 * frame.h (FRAME_FRINGE_COLS): Renamed from FRAME_FLAGS_AREA_COLS.
104 (FRAME_FRINGE_WIDTH): Renamed from FRAME_FLAGS_AREA_WIDTH.
105 (FRAME_LEFT_FRINGE_WIDTH): Renamed from FRAME_LEFT_FLAGS_AREA_WIDTH.
106
107 * msdos.c: Comment fix.
108
109 * w32fns.c: Use renamed symbols.
110
111 * w32term.c: Comment fixes. Use renamed symbols.
112 (fringe_bitmap_type): Renamed from bitmap_type.
113 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
114 (w32_draw_fringe_bitmap): Renamed from w32_draw_bitmap.
115 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
116
117 * w32term.h: Comment fixes. Use renamed symbols.
118 (fringes_extra): Renamed from flags_areas_extra.
119 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
120 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
121 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
122 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
123 (FRAME_X_LEFT_FRINGE_WIDTH):
124 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
125 (FRAME_X_RIGHT_FRINGE_WIDTH):
126 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
127
128 * widget.c: Use renamed symbols.
129
130 * window.c: Comment fixes. Use renamed symbols.
131 (coordinates-in-window-p): Doc fix.
132
133 * xdisp.c: Comment fixes. Use renamed symbols.
134
135 * xfaces.c (realize_basic_faces): Use FRINGE_FACE_ID.
136
137 * xfns.c: Use renamed symbols.
138
139 * xterm.c: Comment fixes. Use renamed symbols.
140 (fringe_bitmap_type): Renamed from bitmap_type.
141 (NO_FRINGE_BITMAP): Renamed from NO_BITMAP.
142 (x_draw_fringe_bitmap): Renamed from x_draw_bitmap.
143 (x_draw_row_fringe_bitmaps): Renamed from x_draw_row_bitmaps.
144
145 * xterm.h: Comment fixes. Use renamed symbols.
146 (fringes_extra): Renamed from flags_areas_extra.
147 (FRAME_FRINGE_BITMAP_WIDTH): Renamed from FRAME_FLAGS_BITMAP_WIDTH.
148 (FRAME_FRINGE_BITMAP_HEIGHT): Renamed from FRAME_FLAGS_BITMAP_HEIGHT.
149 (FRAME_X_FRINGE_COLS): Renamed from FRAME_X_FLAGS_AREA_COLS.
150 (FRAME_X_FRINGE_WIDTH): Renamed from FRAME_X_FLAGS_AREA_WIDTH.
151 (FRAME_X_LEFT_FRINGE_WIDTH):
152 Renamed from FRAME_X_LEFT_FLAGS_AREA_WIDTH.
153 (FRAME_X_RIGHT_FRINGE_WIDTH):
154 Renamed from FRAME_X_RIGHT_FLAGS_AREA_WIDTH.
155
156 2001-11-15 Jason Rumney <jasonr@gnu.org>
157
158 * w32menu.c (add-menu-item): Make help_echo and radio buttons
159 work for most menu items. From David Ponce
160 <david.ponce@wanadoo.fr>.
161
162 2001-11-15 Gerd Moellmann <gerd@gnu.org>
163
164 * xfns.c (x_set_frame_parameters): Revert change of 2001-11-07.
165 Some x_set_* function expect to be called even if old and new
166 value are equal.
167
168 * xdisp.c (build_desired_tool_bar_string): Accept zero
169 tool_bar_button_relief.
170
171 * xfns.c (Fx_create_frame): Accept zero tool_bar_button_relief.
172
173 * xterm.c (x_draw_image_relief): Accept zero tool_bar_button_relief.
174
175 * xterm.c (x_draw_bar_cursor): If the background color of the
176 glyph under the cursor equals the frame's cursor color, use
177 the glyph's foreground color for drawing the bar cursor.
178
179 * dispnew.c (direct_output_forward_char): Fix character/byte
180 position comparison.
181
182 2001-11-15 Miles Bader <miles@gnu.org>
183
184 * editfns.c (find_field): Add BEG_LIMIT and END_LIMIT parameters.
185 (Fdelete_field, Ffield_string, Ffield_string_no_properties):
186 Update arguments to find_field.
187 (Ffield_beginning, Ffield_end): Add LIMIT param, pass to find_field.
188 (Fconstrain_to_field): Use LIMIT arg to shorten search time.
189 * lisp.h (Ffield_beginning, Ffield_end): Update EXFUN decl.
190 * minibuf.c (Fminibuffer_prompt_end): Update args to Ffield_end.
191
192 2001-11-14 Richard M. Stallman <rms@gnu.org>
193
194 * editfns.c (Fpropertize): Allow call with 1 arg.
195
196 * dispextern.h (image_background, image_background_transparent):
197 Conditionalize on HAVE_X_WINDOWS.
198
199 2001-11-13 Richard M. Stallman <rms@gnu.org>
200
201 * print.c (Fprin1_to_string): Doc fix.
202
203 * sunfns.c (Fsun_change_cursor_icon): Doc fix.
204
205 * floatfns.c (Fceiling, Ffloor): Doc fixes.
206
207 * filelock.c (Funlock_buffer, Ffile_locked_p): Doc fixes.
208
209 * fileio.c (Ffile_accessible_directory_p): Doc fix.
210
211 * eval.c (syms_of_eval): Doc fix.
212
213 * coding.c (syms_of_coding): Doc fix.
214
215 * doc.c (Fsnarf_documentation): Doc fix.
216
217 * dispnew.c (syms_of_display): Doc fix.
218
219 * category.c (Fget_unused_category): Doc fix.
220
221 * buffer.c (syms_of_buffer): Doc fixes.
222
223 2001-11-14 Eli Zaretskii <eliz@is.elta.co.il>
224
225 * print.c (prin1, print): Doc fix.
226
227 2001-11-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
228
229 * fontset.h: Remove prototypes for variables
230 `Vhighlight_wrong_size_font' and `Vclip_large_size_font'.
231
232 * fontset.c: Remove variables `Vhighlight_wrong_size_font' and
233 `Vclip_large_size_font'.
234
235 2001-11-13 Jason Rumney <jasonr@gnu.org>
236
237 * w32fns.c: Doc fix.
238
239 2001-11-13 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
240
241 * xfaces.c (Fface_attributes_as_vector): Doc fix.
242
243 * w32fns.c (Fx_synchronize): Reindent.
244
245 * fns.c: Doc fix.
246
247 * emacs.c: Doc fix.
248
249 * coding.c: Doc fix.
250
251 * cmds.c, composite.c, dired.c, doc.c, filelock.c, floatfns.c,
252 * fontset.c, insdel.c, keymap.c: Change doc-string comments to
253 `new style' [w/`doc:' keyword].
254
255 * xmenu.c (x-popup-menu): Reindent.
256 (x-popup-dialog): Likewise.
257
258 * xfaces.c (Finternal_set_alternative_font_family_alist): Reindent.
259
260 * xdisp.c (Fdump_tool_bar_row): Reindent.
261
262 * minibuf.c (Fminibuffer_complete_word): Reindent.
263 (Fminibuffer_complete_and_exit): Likewise.
264 (Fminibuffer_completion_help): Likewise.
265 (Fminibuffer_message): Likewise.
266
267 * fns.c (Freverse): Reindent.
268
269 * eval.c (Fif): Reindent.
270 (Fand): Likewise.
271
272 * editfns.c (Fuser_real_login_name): Reindent.
273 (Finsert_buffer_substring): Likewise.
274 (Fcompare_buffer_substrings): Likewise.
275 (Fsubst_char_in_region): Likewise.
276
277 * dispnew.c (Fsit_for): Reindent.
278 (Fframe_or_buffer_changed_p): Likewise.
279 (Finternal_show_cursor_p): Likewise.
280 (syms_of_display): Likewise.
281
282 * alloc.c (Flist): Reindent.
283 (Fvector): Likewise.
284
285 2001-11-12 Richard M. Stallman <rms@gnu.org>
286
287 * xterm.c (XTread_socket): Don't update focus for EnterNotify or
288 LeaveNotify events. Only FocusIn and FocusOut do that now.
289 (x_display_and_set_cursor): Do display hollow cursors in active
290 minibuffer windows when they are not selected.
291
292 2001-11-12 Jason Rumney <jasonr@gnu.org>
293
294 * w32console.c, w32fns.c, w32menu.c, w32proc.c, w32select.c,
295 * w32term.c: Change doc-string comments to `new style'.
296 [w/`doc:' keyword]. Doc fixes.
297
298 * w32fns.c: Don't define max.
299 (Fx_open_connection): Only execute once.
300
301 2001-11-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
302
303 * ccl.c: Change macros to use do-while block instead of if-else.
304 Use braces to follow GNU Coding Standards.
305
306 2001-11-11 Richard M. Stallman <rms@gnu.org>
307
308 * sysdep.c (child_setup_tty): Don't clear ICRNL or INLCR.
309
310 * lread.c (read_escape): Use end_of_file_error for reporting eof.
311
312 * insdel.c (replace_range): Use adjust_markers_for_replace
313 instead of adjust_markers_for_delete and adjust_markers_for_insert.
314
315 * intervals.h: Declare set_text_properties and set_text_properties_1.
316
317 * textprop.c (set_text_properties_1): New subroutine
318 broken out of set_text_properties.
319 (set_text_properties): Use set_text_properties_1.
320
321 * intervals.c (graft_intervals_into_buffer):
322 Use set_text_properties_1 to clear out properties.
323
324 * search.c (Freplace_match): Use replace_range to insert
325 and delete. Don't request property inheritance from
326 surrounding text.
327
328 2001-11-10 Jason Rumney <jasonr@gnu.org>
329
330 * w32fns.c (enum_font_cb2): Use leading @ on face name to detect
331 vertical fonts. Allow them if face name is explicitly specified.
332 Do not give up if we find a font that cannot be converted to an xlfd.
333
334 2001-11-10 Gerd Moellmann <gerd@gnu.org>
335
336 * unexelf.c (unexec): Use mmap/munmap to allocate buffers
337 instead of malloc/free.
338
339 2001-11-09 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
340
341 * xfaces.c (merge_face_vectors): Use braces to follow GNU
342 Coding Standards.
343 (Finternal_set_lisp_face_attribute): Likewise.
344
345 * buffer.c (Fbury_buffer): Likewise.
346
347 * indent.c (current_column_1): Remove unused variable `prev_col'.
348
349 * coding.c (encode_coding): Use precomputed value of `src'.
350 (encode_coding): Remove unused variable `src_end'.
351 (code_convert_region): Remove unused variables `count'.
352
353 2001-11-07 Jason Rumney <jasonr@gnu.org>
354
355 * w32term.c (x_display_and_set_cursor): Do not move system caret
356 if cursor_glyph is NULL.
357
358 2001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
359
360 * keymap.c (access_keymap): Fix compilation error.
361
362 2001-11-07 Miles Bader <miles@gnu.org>
363
364 * xfns.c (x_set_frame_parameters): Avoid infinite recursion.
365
366 2001-11-07 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
367
368 * intervals.c (graft_intervals_into_buffer):
369 Remove #ifdef'd-out code.
370 (graft_intervals_into_buffer): Remove unused variable `middle'.
371
372 * lread.c (Feval_region): Remove obsolete #ifdef'd-out
373 code (eval-current-buffer).
374 Change doc-string comments to `new style' [w/`doc:' keyword].
375
376 2001-11-06 Richard M. Stallman <rms@gnu.org>
377
378 * keymap.c (access_keymap): Don't use initializers on Lisp_Object.
379
380 2001-11-06 Stefan Monnier <monnier@cs.yale.edu>
381
382 * lread.c (read1): Fix behavior with nested backquoting.
383
384 * keyboard.c (make_lispy_event): Check integerness and fix
385 Lisp_Object/int mixup.
386
387 2001-11-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
388
389 * fns.c (copy_hash_table): Remove unused variable `v'.
390
391 * fontset.c (fontset_font_pattern): Remove unused variable
392 `family_registry'.
393
394 * indent.c (current_column_1): Remove unused variable `prev_col'.
395
396 2001-11-05 Richard M. Stallman <rms@gnu.org>
397
398 * m/news-risc.h (BROKEN_PROTOTYPES): Defined.
399
400 * buffer.c (Fkill_buffer): Don't delete auto save file
401 if buffer is modified.
402
403 2001-11-05 Andrew Innes <andrewi@gnu.org>
404
405 * w32proc.c (Fw32_set_keyboard_layout): Use CHECK_NUMBER_CAR and
406 CHECK_NUMBER_CDR.
407
408 2001-11-05 Richard M. Stallman <rms@gnu.org>
409
410 * unexelf.c (unexec): Minor changes; clean up comments.
411
412 2001-11-05 Sam Steingold <sds@gnu.org>
413
414 * w32term.c (x_display_and_set_cursor): Fix w32 compilation error.
415
416 2001-11-05 Andreas Schwab <schwab@suse.de>
417
418 * sound.c (sound_perror): Save errno from being clobbered.
419
420 2001-11-05 Dale Hagglund <rdh@yottayotta.com>
421
422 * unexelf.c (unexec): Don't use `mmap'. Instead, read and write
423 the program image directly.
424
425 2001-11-05 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
426
427 * buffer.h (Fbuffer_local_value): Add prototype.
428
429 2001-11-04 Richard M. Stallman <rms@gnu.org>
430
431 * buffer.c (Fbuffer_local_value): Remove extra args from CHECK_SYMBOL
432 and CHECK_BUFFER.
433
434 * keyboard.c (read_char): Use Fcar and Fcdr, not Fnth.
435 (record_char): Likewise.
436
437 * keyboard.c (make_lispy_event): Don't insist a drag event must
438 move to a different buffer position. Instead, check for moving at
439 least double_click_fuzz.
440
441 * fns.c (Fmake_hash_table): Use XCAR and XCDR, not Fnth and Flength.
442
443 * keyboard.c (echo-area-clear-hook): Undo Oct 29 change.
444
445 * indent.c (current_column_1, Fmove_to_column): Separate the code
446 for display-table glyphs from the code buffer text, to fix
447 bugs in the former.
448
449 2001-11-04 Michael Welsh Duggan <md5i@cs.cmu.edu>
450
451 * buffer.c (Fbuffer_local_value): New function.
452 (syms_of_buffer): Defsubr it.
453
454 * xterm.c, w32term.c (x_display_and_set_cursor): Use buffer-local
455 value of `cursor-in-non-selected-windows'.
456
457 * lisp.h (Qcursor_in_non_selected_windows): New declaration.
458 * xdisp.c (Qcursor_in_non_selected_windows): New variable.
459 (syms_of_xdisp): Initialize it.
460
461 2001-11-04 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
462
463 * xfns.c (Fx_create_frame): Doc fix.
464
465 * coding.c: Change doc-string comments to `new style' [w/`doc:'
466 keyword].
467
468 * eval.c (top_level_value, top_level_set): Remove commented and
469 #ifdef'd-out code.
470 (Fdefvar): Fix usage in doc-string.
471
472 2001-11-03 Richard M. Stallman <rms@gnu.org>
473
474 * xfns.c: Include unistd.h, if it exists.
475
476 * editfns.c: Move the include of ctype.h after unistd.h.
477
478 * gmalloc.c: Test BROKEN_PROTOTYPES.
479
480 2001-11-03 Ken Raeburn <raeburn@gnu.org>
481
482 * lisp.h (CHECK_STRING_CAR): New macro.
483 * lread.c (Fload): Use XSETCARFASTINT, XSETCDRFASTINT instead of
484 treating XCAR and XCDR as lvalues.
485 (openp): Use CHECK_STRING_CAR.
486 (read_list): Use XSETCDR instead of treating XCDR as lvalue.
487
488 2001-11-03 Eli Zaretskii <eliz@is.elta.co.il>
489
490 * s/sco5.h (sigprocmask_set): Declare as extern SIGMASKTYPE.
491 (SIGMASKTYPE): Define.
492
493 * syssignal.h (sigunblock): Don't define if already defined.
494
495 2001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
496
497 * eval.c (debugger_may_continue, Vdebug_ignored_errors)
498 (call_debugger, Fcondition_case, skip_debugger, unbind_to):
499 Fix typos in comments.
500
501 * mocklisp.c (Fml_defun, Fml_while, Fml_substr): Remove commented
502 and #ifdef'd-out code.
503 Fix and reindent comments.
504
505 * mocklisp.h: Remove comment which is a copy of comment in mocklisp.c.
506
507 * category.h (CHECK_CATEGORY, CHECK_CATEGORY_SET): Remove unused
508 argument `i' in macros.
509
510 * frame.h (CHECK_FRAME, CHECK_LIVE_FRAME): Remove unused argument
511 `i' in macros.
512
513 * lisp.h (CHECK_STRING_OR_BUFFER, CHECK_HASH_TABLE, CHECK_LIST)
514 (CHECK_STRING, CHECK_CONS, CHECK_SYMBOL, CHECK_CHAR_TABLE)
515 (CHECK_VECTOR, CHECK_VECTOR_OR_CHAR_TABLE, CHECK_BUFFER)
516 (CHECK_WINDOW, CHECK_LIVE_WINDOW, CHECK_PROCESS, CHECK_NUMBER)
517 (CHECK_NATNUM, CHECK_MARKER, CHECK_NUMBER_COERCE_MARKER)
518 (CHECK_FLOAT, CHECK_NUMBER_OR_FLOAT)
519 (CHECK_NUMBER_OR_FLOAT_COERCE_MARKER, CHECK_OVERLAY)
520 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): Remove unused argument `i'
521 in macros.
522
523 * abbrev.c, alloc.c, buffer.c, bytecode.c, callint.c, callproc.c,
524 casefiddle.c, category.c, ccl.c, charset.c, cmds.c, coding.c,
525 composite.c, data.c, dired.c, dispnew.c, doc.c, dosfns.c, emacs.c,
526 eval.c, fileio.c, filelock.c, fns.c, fontset.c, frame.c, frame.h,
527 indent.c, keyboard.c, keymap.c, lread.c, macros.c, marker.c,
528 minibuf.c, mocklisp.c, msdos.c, print.c, process.c, search.c,
529 sunfns.c, syntax.c, textprop.c, undo.c, w16select.c, w32console.c,
530 w32fns.c, w32menu.c, w32proc.c, w32select.c, window.c, xdisp.c,
531 xfaces.c, xmenu.c, xselect.c : Update usage of CHECK_ macros
532 (remove unused second argument).
533
534 2001-11-02 Stefan Monnier <monnier@cs.yale.edu>
535
536 * syntax.c (describe_syntax): New wrapper.
537 (Finternal_describe_syntax_value): Rename from describe_syntax.
538 Don't insert space at front and \n at the end.
539 (syms_of_syntax): Defsubr Sinternal_describe_syntax_value.
540
541 * regex.c (re_wctype): Try to fix some warnings.
542 (regcomp, regexec): Don't forget the __restrict.
543
544 2001-11-02 Richard M. Stallman <rms@gnu.org>
545
546 * textprop.c (Fget_char_property): Doc fix.
547
548 2001-11-02 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
549
550 * process.c (Fstart_process): Add usage to doc-string.
551
552 * data.c (Fsetq_default): Ditto.
553
554 * callint.c (Finteractive): Ditto.
555
556 2001-11-01 Stefan Monnier <monnier@cs.yale.edu>
557
558 * macros.c: Don't include keymap.h any more.
559
560 2001-11-01 Richard M. Stallman <rms@gnu.org>
561
562 * data.c (Fmake_local_variable): Doc fix.
563
564 * eval.c (Frun_hooks, Frun_hook_with_args_until_failure): Doc fix.
565 (Frun_hook_with_args_until_success, Frun_hook_with_args): Doc fix.
566
567 * keymap.c (Fdescribe_buffer_bindings): Print character property
568 bindings along with or instead of the buffer local map.
569 Make the overriding maps override what they should.
570
571 2001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
572
573 * window.c (grow_mini_window): Fix typo in comment.
574
575 2001-11-01 Gerd Moellmann <gerd@gnu.org>
576
577 * xterm.c (x_scroll_bar_create): Check for width and height > 0.
578 (XTset_vertical_scroll_bar): Likewise.
579
580 * xfns.c (x_build_heuristic_mask): Use four_corners_best
581 instead of IMAGE_BACKGROUND.
582
583 * xfns.c (four_corners_best): Reindent.
584
585 * xfaces.c (Finternal_set_lisp_face_attribute_from_resource):
586 Handle :box so that it is possible to specify sexprs.
587
588 2001-11-01 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
589
590 * xfaces.c (Finternal_merge_in_global_face): Reindent.
591 (Fface_font): Ditto.
592 (Finternal_set_alternative_font_registry_alist): Ditto.
593 (Ftty_suppress_bold_inverse_default_colors): Ditto.
594
595 * xfns.c (x-get-resource): Reindent.
596
597 2001-10-31 Eli Zaretskii <eliz@is.elta.co.il>
598
599 * s/hpux11.h: New file.
600
601 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
602
603 * emacs.c (USAGE1): Show command line option --no-window-system
604 instead of --no-windows in usage.
605 (standard_args): Rename --no-windows to --no-window-system.
606 (bug_reporting_address): Follow Emacs coding conventions.
607
608 * eval.c (Fcommandp): Doc fix.
609 Change doc-string comments to `new style' [w/`doc:' keyword].
610
611 * frame.c (Fframe_live_p): Doc fix.
612
613 * buffer.c (selective-display-ellipses): Doc fix.
614
615 2001-10-31 Gerd Moellmann <gerd@gnu.org>
616
617 * lread.c (to_multibyte): Fix computation of new read_buffer_size.
618
619 * xfaces.c (realize_x_face): If C is not a single-byte character,
620 set the face's colors_copied_bitwise_p instead of the defaulted_p
621 members which have a different meaning.
622 (free_face_colors): Do nothing for a face whose colors have been
623 copied bitwise.
624
625 * dispextern.h (struct face) <colors_copied_bitwise_p>: New member.
626
627 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
628
629 * marker.c, mocklisp.c: Change doc-string comments to `new style'
630 [w/`doc:' keyword].
631
632 2001-10-31 Gerd Moellmann <gerd@gnu.org>
633
634 * fns.c (require_unwind): Return Lisp_Object.
635
636 2001-10-31 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
637
638 * keyboard.c (lucid-menu-bar-dirty-flag): Doc fix.
639 (last-input-char): Revert doc-string to be the same as the
640 doc-string of `last-input-event'.
641
642 * xdisp.c: Fix typos in comments.
643
644 2001-10-31 Gerd Moellmann <gerd@gnu.org>
645
646 * window.c (grow_mini_window): Handle case that the root
647 window is already smaller than the nominal mininum height.
648
649 2001-10-30 Stefan Monnier <monnier@cs.yale.edu>
650
651 * emacs.c (main): Don't call keys_of_macros any more.
652
653 * lisp.h (keys_of_macros): Remove.
654
655 * macros.c (keys_of_macros): Remove.
656
657 * xfaces.c (Fface_attribute_relative_p): Declare args.
658
659 2001-10-30 Jason Rumney <jasonr@gnu.org>
660
661 * w32fns.c (w32_to_x_charset): Increase size of XLFD charset buffer.
662 (enum_font_cb2): Ignore fonts with vertical orientation.
663
664 2001-10-30 Richard M. Stallman <rms@gnu.org>
665
666 * keyboard.c (Finput_pending_p): Doc fix.
667
668 2001-10-30 Gerd Moellmann <gerd@gnu.org>
669
670 * xterm.c (x_after_update_window_line): Don't run the code
671 clearing in borders for rows whose visible height is 0.
672
673 * xdisp.c (clear_garbaged_frames): Redraw the frame only if its
674 resized_p flag is set. If not set, use the much less flickering
675 method previously used.
676
677 * dispnew.c (change_frame_size_1): Set frame's resized_p.
678
679 * frame.h (struct frame) <resized_p>: New member.
680
681 * lread.c (to_multibyte): Ensure read_buffer is at least twice
682 as large as the number of bytes to convert.
683
684 * lread.c (to_multibyte): New function.
685 (read1): Use it.
686
687 2001-10-30 Eli Zaretskii <eliz@is.elta.co.il>
688
689 * msdos.h (FRAME_LINE_HEIGHT): Define (it's used by xmenu.c).
690
691 2001-10-30 Gerd Moellmann <gerd@gnu.org>
692
693 * xterm.c (x_draw_relief_rect): Correct bottom relief by 1 pixel.
694 (x_set_glyph_string_background_width): Set extends_to_end_of_line_p
695 if the row's fill_line_p is set and drawing the last glyph with
696 DRAW_IMAGE_{RAISED,SUNKEN}.
697
698 * xdisp.c (clear_garbaged_frames): Call Fredraw_frame.
699
700 2001-10-29 Stefan Monnier <monnier@cs.yale.edu>
701
702 * xmenu.c: Include coding.h and charset.h.
703 (Fx_popup_menu): Use FRAME_PTR and FRAME_FONT and FRAME_LINE_HEIGHT.
704 (Fx_popup_dialog): Use FRAME_PTR and enum scroll_bar_part.
705 (single_submenu, xmenu_show): Use ENCODE_SYSTEM.
706 Explicitly set wv->help. Use `TRUE' rather than `True'.
707 (menu_help_callback): Use empty_string.
708
709 * w32menu.c (Fx_popup_menu): Explicitly init f, xpos, and ypos.
710 (Fx_popup_dialog): Explicitly init f.
711 (w32_menu_display_help): Use empty_string.
712
713 2001-10-29 Richard M. Stallman <rms@gnu.org>
714
715 * fns.c (Frequire): Detect recursive try to require the same
716 feature 3 or more levels deep, and get error.
717 (require_unwind): New subroutine.
718 (require_nesting_list): New variable.
719 (syms_of_fns): Init and staticpro it.
720
721 * print.c (print_object): Clarify indication of insertion type.
722
723 2001-10-29 Eli Zaretskii <eliz@is.elta.co.il>
724
725 * coding.c (syms_of_coding): Document that locale-coding-system is
726 used for decoding input on X.
727
728 * window.c (Fscroll_left, Fscroll_right): Doc fix.
729
730 2001-10-29 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
731
732 * keyboard.c (Finput_pending_p): Fix typo in doc-string.
733 (echo-area-clear-hook): Properly DEFVAR_LISP and staticpro it.
734
735 2001-10-29 Gerd Moellmann <gerd@gnu.org>
736
737 * xterm.c (x_display_and_set_cursor): If cursor_in_echo_area,
738 use NO_CURSOR if cursor_in_non_selected_windows is false.
739
740 * xfaces.c (Fface_font): Use UNSPECIFIEDP instead of NILP for
741 the slant attribute if FRAME is t.
742
743 * xfns.c (x_set_internal_border_width): Set frame garbaged
744 when X window doesn't exist yet.
745
746 * xterm.c (x_after_update_window_line): Clear internal border
747 in different circumstances.
748
749 * xterm.c (XTread_socket) <KeyPress>: Don't use
750 STRING_CHAR_AND_LENGTH if nchars == nbytes. From Kenichi Handa
751 <handa@etl.go.jp>.
752
753 2001-10-28 Eli Zaretskii <eliz@is.elta.co.il>
754
755 * m/ibms390.h: New file. From Adam Thornton
756 <athornton@sinenomine.net>.
757
758 2001-10-28 Gerd Moellmann <gerd@gnu.org>
759
760 * xfns.c (x_build_heuristic_mask): Use x_alloc_image_color.
761
762 * xfns.c (x_build_heuristic_mask): Fix a bug not incrementing
763 a loop counter.
764
765 2001-10-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
766
767 * emacs.c: Use argv[0] instead of emacs when -t was specified.
768
769 * keyboard.c: Change doc-string comments to `new style' [w/`doc:'
770 keyword].
771 Fix typos in comments.
772
773 * emacs.c (bug_reporting_address): New function.
774 Use it when displaying usage message.
775
776 * minibuf.c (read_minibuf): Remove unused external declaration of
777 variable `Qread_only'.
778
779 * keymap.c (access_keymap): Remove unused variable `charset'.
780
781 2001-10-28 Miles Bader <miles@gnu.org>
782
783 * xfaces.c (merge_face_heights): Handle TO being relative as well.
784 Remove #ifdef'd-out code.
785 (Fface_attribute_relative_p, Fmerge_face_attribute): New functions.
786 (syms_of_xfaces): Initialize them.
787
788 2001-10-27 Jason Rumney <jasonr@gnu.org>
789
790 * w32fns.c (w32_wnd_proc) <WM_KILLFOCUS>: Destroy the system caret.
791 <WM_EMACS_DESTROY_CARET, WM_EMACS_TRACK_CARET>: Track cursor
792 position using the system caret.
793
794 * w32term.c (w32_system_caret_hwnd, w32_system_caret_width)
795 (w32_system_caret_height, w32_system_caret_x)
796 (w32_system_caret_y): New variables for tracking system caret.
797 (w32_initialize): Initialize them.
798 (x_display_and_set_cursor): Make system caret follow the active cursor.
799
800 * w32term.h (WM_EMACS_TRACK_CARET, WM_EMACS_DESTROY_CARET):
801 New messages types.
802
803 * w32term.c (note_mouse_highlight): Clear old help_echo.
804
805 2001-10-27 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
806
807 * xterm.c: Fix typo in a comment.
808
809 * emacs.c: Fix typos in comments.
810 Remove unnecessary spaces.
811 Change doc-string comments to `new style' [w/`doc:' keyword].
812 (USAGE2): Fix typos in usage string.
813
814 * xterm.c: Fix typo in a comment.
815
816 * lisp.h: (gdb_lisp_params): Remove code in #if 0 which is now in
817 emacs.c.
818
819 2001-10-27 Gerd Moellmann <gerd@gnu.org>
820
821 * xdisp.c (move_it_vertically_backward): Use 2/3 line_height
822 instead of 1/2 line_height in the heuristic for skipping
823 farther backward when target_y was not reached.
824
825 * sound.c (sound_perror): Unblock SIGIO, turn on atimers.
826 Display errno only if non-zero.
827 (sound_warning): New function.
828 (vox_configure): Don't treat failing to set sample rate as error.
829 (various places): Improve error messages.
830
831 2001-10-26 Eli Zaretskii <eliz@is.elta.co.il>
832
833 * fileio.c (Faccess_file): Run the argument filename through
834 Fexpand_file_name, before using it.
835
836 * dispnew.c (syms_of_display) <visible-bell>: Add a reference to
837 ring-bell-function. Suggested by Alf-Ivar Holm <alfh@ifi.uio.no>
838
839 2001-10-26 Gerd Moellmann <gerd@gnu.org>
840
841 * insdel.c (insert_1_both): Do nothing if NCHARS == 0.
842
843 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
844 Fix clearing in the case of scroll bars on the right.
845
846 2001-10-26 Juanma Barranquero <lektu@terra.es>
847
848 * w32gui.h (XImage): Add a dummy typedef.
849
850 2001-10-26 Gerd Moellmann <gerd@gnu.org>
851
852 * xfns.c (XScreenNumberOfScreen): Fix struct to pointer comparison.
853
854 2001-10-25 Eli Zaretskii <eliz@is.elta.co.il>
855
856 * frame.c (Fframe_parameter): Fix last change.
857
858 * fileio.c: Revert last change (which removed old commented-out
859 version of expand-file-name). Add a comment that explains why
860 this old version should not be removed.
861
862 2001-10-25 Gerd Moellmann <gerd@gnu.org>
863
864 * frame.c (Fframe_parameter): Fix a bug whereby some
865 ``artificial'' frame parameters, like `minibuffer' were not
866 obtained by calling Fframe_parameters.
867
868 * xterm.c (show_mouse_face): Clean up. Recognize overwritten
869 cursor differently.
870
871 * xdisp.c (move_it_vertically_backward): Compute line height
872 differently. Add heuristic to try to be more compatible to 20.x.
873
874 2001-10-25 Stefan Monnier <monnier@cs.yale.edu>
875
876 * lisp.h (make_fixnum_or_float): Coerce double to int explicitly.
877
878 * editfns.c (text_property_stickiness): Fix Lisp_Object used as
879 boolean.
880
881 2001-10-25 Miles Bader <miles@gnu.org>
882
883 * xfns.c (png_load): Make sure SPECIFIED_BG is a string.
884 BG is a pointer to a structure, not a structure.
885 (gif_format, png_format): Add missing commas.
886
887 2001-10-24 Richard M. Stallman <rms@gnu.org>
888
889 * xfaces.c (Fface_attributes_as_vector): New function.
890 (syms_of_xfaces): Defsubr it.
891
892 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
893
894 * dispnew.c (sync_window_with_frame_matrix_rows): Remove unused
895 variable `area'.
896
897 2001-10-25 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
898
899 * search.c (scan_newline): Remove unused variable `selective_display'.
900
901 2001-10-25 Miles Bader <miles@gnu.org>
902
903 * dispextern.h (struct image): Add `background',
904 `background_valid', and `background_transparent' fields.
905 (image_background, image_background_transparent): New declarations.
906 (IMAGE_BACKGROUND, IMAGE_BACKGROUND_TRANSPARENT): New macros.
907 * xfns.c (image_background, image_background_transparent)
908 (four_corners_best): New functions.
909 (xpm_format, png_format, jpeg_format, tiff_format, gif_format)
910 (gs_format): Add `:background' entry.
911 (lookup_image): Set IMG's background color if specified.
912 (pbm_load, xbm_load_image, png_load): Set IMG's background field
913 when appropriate.
914 (x_clear_image_1): Reset `background_valid' and
915 `background_transparent_valid' fields.
916 (x_build_heuristic_mask): Use IMAGE_BACKGROUND instead of
917 calculating it here. Set IMG's background_transparent field.
918 (enum xpm_keyword_index): Add XPM_BACKGROUND.
919 (enum png_keyword_index): Add PNG_BACKGROUND.
920 (enum jpeg_keyword_index): Add JPEG_BACKGROUND.
921 (enum tiff_keyword_index): Add TIFF_BACKGROUND.
922 (enum gif_keyword_index): Add GIF_BACKGROUND.
923 (enum gs_keyword_index): Add GS_BACKGROUND.
924 (pbm_load, png_load, jpeg_load, tiff_load, gif_load):
925 Pre-calculate image background color where necessary.
926 * xterm.c (x_setup_relief_colors): Use `IMAGE_BACKGROUND' and
927 `IMAGE_BACKGROUND_TRANSPARENT' to calculate the correct background
928 color to use for image glyph reliefs.
929
930 2001-10-24 Gerd Moellmann <gerd@gnu.org>
931
932 * xterm.c (x_draw_glyphs): Don't check for cursor overwriting
933 in full-width rows.
934
935 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
936 Fix clearing of area not covered by scroll bar.
937
938 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
939
940 * xterm.c: (x_insert_glyphs): Remove unused variables `real_end'
941 and `real_start'.
942 (x_draw_image_foreground): Remove unused variables `mask' and `xgcv'.
943 (glyph_rect): Remove unused variable `area'.
944
945 2001-10-24 Gerd Moellmann <gerd@gnu.org>
946
947 * xdisp.c: Change #ifdef GLYPH_DEBUG to #if.
948
949 * xdisp.c (try_window_reusing_current_matrix): Use row_containing_pos.
950 (row_containing_pos): Take additional argument DY.
951 Treat rows ending in middle of char differently.
952 (display_line): Handle tabs on window systems differently.
953
954 * xterm.c, w32term.c (fast_find_position): Call row_containing_pos
955 with additional argument.
956
957 * dispextern.h (row_containing_pos): Adjust prototype.
958
959 * xdisp.c (inhibit_try_window_id, inhibit_try_window_reusing)
960 (inhibit_try_cursor_movement) [GLYPH_DEBUG]: New variables.
961 (try_window_id, try_window_reusing_current_matrix)
962 (try_cursor_movement) [GLYPH_DEBUG]: Don't run if inhibited.
963 (syms_of_xdisp) [GLYPH_DEBUG]: DEFVAR_BOOL the variables.
964
965 2001-10-24 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
966
967 * xmenu.c: Spell the name of Emacs properly (GNU Emacs instead of
968 gnuemacs).
969 (HAVE_BOXES): Fix typo in comment.
970 (push_menu_pane): Fix typo in comment.
971
972 * xdisp.c: (display_prop_string_p): Remove unused local declaration
973 of `Qwhen'.
974 (single_display_prop_string_p): Remove unused local declarations
975 of `Qwhen' and `Qmargin'.
976 (string_buffer_position): Remove unused variable `around'.
977 (store_frame_title): Remove unused variable `width'.
978
979 * window.c: Don't define max.
980 (coordinates_in_window): Remove unused variable `uy'.
981
982 * widget.c: Don't define max.
983
984 * process.c: Don't define max.
985 (create_process): Remove unused variable `buffer'.
986
987 2001-10-23 Gerd Moellmann <gerd@gnu.org>
988
989 * xfaces.c (Finternal_set_lisp_face_attribute): Fix compilation error.
990
991 2001-10-23 Eli Zaretskii <eliz@is.elta.co.il>
992
993 * xfaces.c (Finternal_set_lisp_face_attribute)
994 [HAVE_WINDOW_SYSTEM]: Don't do anything for QCfont unless the
995 frame is on a windowed display.
996
997 2001-10-23 Gerd Moellmann <gerd@gnu.org>
998
999 * dispnew.c (sync_window_with_frame_matrix_rows):
1000 Fix handling of windows which aren't full-width, fix handling
1001 of marginal areas.
1002
1003 * lread.c (syms_of_lread) <recursive-load-depth-limit>: Raise to 50.
1004
1005 2001-10-23 Andreas Schwab <schwab@suse.de>
1006
1007 * m/macppc.h [LINUX]: Undef LD_SWITCH_SYSTEM_TEMACS and override
1008 LD_SWITCH_MACHINE_TEMACS with "-Xlinker -znocombreloc".
1009
1010 2001-10-23 Gerd Moellmann <gerd@gnu.org>
1011
1012 * xterm.c (x_draw_glyphs): Remove parameters READ_START and
1013 REAL_END. Notice if cursor gets overwritten.
1014 (notice_overwritten_cursor): Take X positions as parameters.
1015 (x_draw_phys_cursor_glyph): Save state of w->phys_cursor_on_p
1016 around call to x_draw_glyphs.
1017
1018 2001-10-23 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1019
1020 * syntax.c (modify-syntax-entry): Fix argument names (use CHAR
1021 instead of C) and usage.
1022
1023 * editfns.c (char-to-string): Fix argument names (use CHAR instead
1024 of C) and usage.
1025
1026 * xfns.c (Fx_show_tip): Remove unused variables `buffer', `top',
1027 `left', `max_width' and `max_height'.
1028
1029 2001-10-23 Gerd Moellmann <gerd@gnu.org>
1030
1031 * xdisp.c (display_line): For a tab continued to the next line,
1032 set row's ends_in_middle_of_char_p.
1033
1034 2001-10-22 Gerd Moellmann <gerd@gnu.org>
1035
1036 * xdisp.c (display_line): Fix computation of continuation lines
1037 width for TABs.
1038
1039 2001-10-22 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1040
1041 * xdisp.c (build_desired_tool_bar_string): Remove unused variable
1042 `Qlaplace'.
1043
1044 * fileio.c: Remove unused code.
1045
1046 2001-10-22 Miles Bader <miles@gnu.org>
1047
1048 * lisp.h (DEFVAR_LISP, DEFVAR_LISP_NOPRO, DEFVAR_BOOL)
1049 (DEFVAR_INT, DEFVAR_PER_BUFFER, DEFVAR_KBOARD):
1050 Remove `DOC_STRINGS_IN_COMMENTS' cases.
1051
1052 2001-10-21 Jason Rumney <jasonr@gnu.org>
1053
1054 * w32term.c (x_erase_phys_cursor): Remove inverse_p again.
1055
1056 2001-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1057
1058 * mocklisp.c (Fml_if, Fml_provide_prefix_argument)
1059 (Finsert_string): Avoid the multi-line string literals warning.
1060
1061 2001-10-22 Miles Bader <miles@gnu.org>
1062
1063 * doc.c (Vhelp_manyarg_func_alist): Variable removed.
1064 (Fdocumentation): Don't use it.
1065 (syms_of_doc): Don't initialize it.
1066
1067 * keyboard.c (Ftrack_mouse): Add usage: string to doc string.
1068 * print.c (Fwith_output_to_temp_buffer): Likewise.
1069 * window.c (Fsave_window_excursion): Likewise.
1070 * editfns.c (Fsave_excursion, Fsave_current_buffer)
1071 (Fsave_restriction): Likewise.
1072 * eval.c (Frun_hooks, Frun_hook_with_args)
1073 (Frun_hook_with_args_until_failure)
1074 (Frun_hook_with_args_until_success, Ffuncall, For, Fand, Fif)
1075 (Fcond, Fprogn, Fprog1, Fprog2, Fsetq, Fquote, Ffunction, Fdefun)
1076 (Fdefmacro, Fdefvar, Fdefconst, FletX, Flet, Fwhile, Fcatch)
1077 (Funwind_protect, Fcondition_case): Likewise.
1078 * coding.c (Ffind_operation_coding_system): Likewise.
1079 * keyboard.c (Ftrack_mouse): Likewise.
1080
1081 2001-10-21 Miles Bader <miles@gnu.org>
1082
1083 * fns.c (Fappend, Fconcat, Fvconcat, Fnconc, Fwidget_apply)
1084 (Fmake_hash_table): Add usage: string to doc string.
1085 * editfns.c (Finsert, Finsert_and_inherit, Finsert_before_markers)
1086 (Fmessage, Fmessage_box, Fmessage_or_box, Fpropertize, Fformat)
1087 (Fencode_time, Finsert_and_inherit_before_markers): Likewise.
1088 * mocklisp.c (Finsert_string, Fml_if, Fml_provide_prefix_argument)
1089 (Fml_prefix_argument_loop): Likewise.
1090
1091 2001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1092
1093 * fileio.c (Finsert_file_contents): Remove unused variable `gap_size'.
1094
1095 * sysdep.c (init_sys_modes): Change doc-string comments to `new
1096 style' [w/`doc:' keyword].
1097
1098 * data.c, fileio.c, indent.c, print.c, search.c, sound.c,
1099 * sunfns.c, textprop.c, undo.c, xselect.c: Change doc-string
1100 comments to `new style' [w/`doc:' keyword].
1101
1102 2001-10-21 Jason Rumney <jasonr@gnu.org>
1103
1104 * w32fns.c (Fx_file_dialog): Pass a filter to GetOpenFileName.
1105
1106 * w32term.c (remember_mouse_glyph): New function.
1107 (w32_mouse_position): Use it.
1108 (note_mouse_movement): If the mouse moved off the glyph, remember
1109 its new position.
1110
1111 * w32term.h (struct w32_output): Correct spelling of x_compatible.
1112 (w32_display_info): Add mouse_face_overlay.
1113
1114 * w32term.c (notice_overwritten_cursor): Renamed from
1115 note_overwritten_text_cursor. Rewritten to take glyph widths into
1116 account.
1117 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1118 (fast_find_string_pos): New function.
1119 (fast_find_position): Return the correct vpos. Add parameter
1120 STOP. In the final row, stop before glyphs having STOP as object.
1121 Don't consider glyphs that are not from a buffer.
1122 (fast_find_position) [0]: Add a presumably more correct version
1123 for after 21.1.
1124 (expose_window_tree, expose_frame): Don't compute intersections here.
1125 (expose_window): Do it here instead.
1126 (expose_window_tree, expose_window, expose_line): Return 1 when
1127 overwriting mouse-face.
1128 (expose_window): If W is the window currently being updated, mark
1129 the frame garbaged.
1130 (expose_frame): If mouse-face was overwritten, redo it.
1131 (x_use_underline_position_properties): New variable.
1132 (syms_of_xterm): DEFVAR_BOOL it.
1133 (x_draw_glyph_string): Add comment to use it in future.
1134 (x_draw_glyph_string): Restore clipping after drawing box.
1135 Fix a computation of the underline position.
1136 (w32_get_glyph_string_clip_rect): Minor cleanup.
1137 (x_fill_stretch_glyph_string): Remove an assertion.
1138 (x_produce_glyphs): Don't convert multibyte characters
1139 to unibyte characters in unibyte buffers.
1140 (cursor_in_mouse_face_p): New function.
1141 (x_draw_stretch_glyph_string): Use it to choose a different GC
1142 when drawing a cursor within highlighted text. Don't draw
1143 background again if it has already been drawn.
1144 (x_draw_glyph_string_box): Don't draw a full-width
1145 box just because the glyph row's full_width_p flag is set.
1146 (x_draw_glyphs): Fix computation of rightmost x for
1147 full-width rows.
1148 (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
1149 (w32_draw_relief_rect): Extend left shadow to the bottom and left;
1150 change bottom shadow accordingly. Some cleanup.
1151 (x_update_window_end): Handle overwritten mouse face
1152 also for tool bar windows.
1153 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1154 DRAW is DRAW_IMAGE_RAISED.
1155 (clear_mouse_face): Return 1 if text with mouse face was
1156 actually redrawn. Make the function static. Reset
1157 dpyinfo->mouse_face_overlay otherwise note_mouse_highlight might
1158 optimize away highlighting if we pass over that same overlay again.
1159 (note_mouse_highlight): Call mouse_face_overlay_overlaps
1160 to detect a case where we have to highlight a different region
1161 despite not having left the currently highlighted region.
1162 Set mouse_face_overlay in the x_display_info. Avoid changing the
1163 mouse pointer shape when show_mouse_face has already done it, or
1164 there is no need. Handle mouse-face and help-echo in strings.
1165 (glyph_rect): New function.
1166 (w32_mouse_position): Use it to raise the threshold for mouse
1167 movement event generation.
1168 (w32_initialize_display_info): Initialize the x_display_info's
1169 mouse_face_overlay.
1170 (w32_set_vertical_scroll_bar): Don't clear a zero height
1171 or width area.
1172 (w32_set_vertical_scroll_bar, x_scroll_bar_create): Don't configure
1173 a widget to zero height.
1174
1175 * w32menu.c (single_submenu, w32_menu_show) [!HAVE_MULTILINGUAL_MENU]:
1176 Protect unibyte strings created by replacing their multibyte
1177 equivalents in menu_items.
1178 (w32_menu_show): Don't overwrite an item's name with its key
1179 description in case the description is a multibyte string.
1180 (single_submenu): Some cleanup.
1181
1182 * w32fns.c (x_laplace_read_row, x_laplace_write_row): Removed.
1183 (postprocess_image): New function.
1184 (lookup_image): Call it for all image types except PostScript.
1185 (x_kill_gs_process): Call postprocess_image.
1186 (tiff_error_handler, tiff_warning_handler): New functions.
1187 (tiff_load): Install them as handlers.
1188 (x_kill_gs_process): Recognize if someone has cleared the image
1189 cache under us.
1190 (valid_image_p): Protect better against invalid image
1191 specifications. Previous code could signal an error.
1192 (Fx_hide_tip, Fshow_tip): Doc fix.
1193 (Fv_max_tooltip_size): New variable.
1194 (syns_of_xfns): DEFVAR_LISP it.
1195 (Fx_show_tip): Add parameter TEXT. Set the tip frame's root
1196 window buffer to *tip* right after creating the frame. Set frame's
1197 window_width. Use a maximum tooltip size specified by
1198 Vx_max_tooltip_size, if that has valid contents.
1199 (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1200 Make sure the tooltip is completely visible.
1201 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
1202 (Fx_create_frame): Adjust the frame's height for presence
1203 of the tool bar before calling x_figure_window_size.
1204 (x_set_tool_bar_lines): Clear the tool bar window's current matrix
1205 when the window gets smaller.
1206 (x_set_foreground_color): Set frame's cursor_pixel.
1207 (x_set_foreground_color, x_set_background_color): Cleaned up.
1208 (x_set_font): Handle case of x_new_fontset returning the same name
1209 as before, although there was a change in fontsets.
1210
1211 2001-10-21 Miles Bader <miles@gnu.org>
1212
1213 * data.c (Fplus, Fminus, Fmax, Ftimes, Fquo, Flogand, Flogior)
1214 (Flogxor): Add usage: string to doc string.
1215 * charset.c (Fstring): Likewise.
1216 * callproc.c (Fcall_process_region, Fcall_process): Likewise.
1217 * alloc.c (Fmake_byte_code, Fvector, Flist): Likewise.
1218
1219 2001-10-21 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1220
1221 * buffer.c: Reindent DEFUNs and DEFVARs with doc: keywords.
1222
1223 * alloc.c: Reindent DEFUNs with doc: keywords.
1224
1225 * abbrev.c (Finsert_abbrev_table_description): Reindent.
1226
1227 * frame.c: Change doc-string comments to `new style' [w/`doc:'
1228 keyword].
1229
1230 2001-10-20 Gerd Moellmann <gerd@gnu.org>
1231
1232 * (Version 21.1 released.)
1233
1234 2001-10-20 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1235
1236 * xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.
1237
1238 * xdisp.c (invisible_text_between_p): Put prototype inside #if
1239 0 because unused.
1240
1241 * bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
1242 * category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
1243 Change doc-string comments to `new style' [w/`doc:' keyword].
1244
1245 2001-10-20 Miles Bader <miles@gnu.org>
1246
1247 The following changes remove the glyph_row `inverse_p' field,
1248 which is never set anymore, due to other changes:
1249
1250 * dispextern.h (struct glyph_row): Remove `inverse_p' field.
1251 (reassert_line_highlight, change_line_highlight): Declarations removed.
1252 * dispnew.c (update_frame_line): Don't call reassert_line_highlight.
1253 (line_hash_code, row_equal_p, fake_current_matrices)
1254 (build_frame_matrix_from_leaf_window, update_frame_line)
1255 (update_frame_line, update_frame_line, update_frame_line):
1256 Don't use `inverse_p' field.
1257 * xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
1258 change_line_highlight_hook.
1259 (XTreassert_line_highlight, x_change_line_highlight):
1260 Functions removed.
1261 (x_fix_overlapping_area, x_write_glyphs, expose_area)
1262 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1263 * xdisp.c (dump_glyph_row, display_mode_line): Don't use
1264 `inverse_p' field.
1265 * w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
1266 (expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
1267 (w32_reassert_line_highlight, x_change_line_highlight):
1268 Functions removed.
1269 * w32console.c (reassert_line_highlight, change_line_highlight):
1270 Functions removed.
1271 (initialize_w32_display): Don't set reassert_line_highlight_hook
1272 or change_line_highlight_hook.
1273 (hl_mode): Function removed.
1274 (reset_terminal_modes, set_terminal_modes, update_begin)
1275 (update_end, w32_face_attributes, initialize_w32_display):
1276 (clear_frame, ins_del_lines): Don't call it.
1277 * termhooks.h (reassert_line_highlight_hook)
1278 (change_line_highlight_hook): Declarations removed.
1279 * term.c (reassert_line_highlight_hook)
1280 (change_line_highlight_hook): Variables removed.
1281 (reassert_line_highlight, change_line_highlight): Functions removed.
1282 * msdos.c (IT_reassert_line_highlight)
1283 (IT_change_line_highlight): Functions removed.
1284 (internal_terminal_init): Don't set reassert_line_highlight_hook
1285 or change_line_highlight_hook.
1286 (highlight): Variable removed.
1287 (IT_set_face, IT_update_begin, IT_update_end)
1288 (IT_set_terminal_modes): Don't set or use it.
1289
1290 The following changes remove inverse-video support for terminals
1291 that use a `magic cookie' standout mode. Due to changes in the
1292 way mode-lines are displayed, such support no longer works
1293 anyway, and it's probable that almost no one uses such terminals
1294 anymore:
1295
1296 * term.c (standout_requested): Variable removed.
1297 (update_end, highlight_if_desired): Don't use it.
1298 (chars_wasted, copybuf): Variables removed.
1299 (write_standout_marker): Function removed.
1300 (cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
1301 (clear_end_of_line_raw, write_glyphs, ins_del_lines):
1302 Don't use `chars_wasted' or `copybuf'.
1303 (calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
1304 Set `costs_set' to true.
1305 (cursor_to, clear_end_of_line): Test `costs_set' instead of
1306 `chars_wasted'.
1307 (clear_end_of_line): Function removed.
1308 (clear_end_of_line_raw): Renamed to `clear_end_of_line'.
1309 (clear_to_end): Call `clear_end_of_line' instead of
1310 `clear_end_of_line_raw'.
1311 (TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
1312 (term_init): Don't set them.
1313 Turn off any standout/underline modes that require magic cookies.
1314 (ins_del_lines, highlight_if_desired, background_highlight)
1315 (turn_on_highlight, turn_off_highlight, reset_terminal_modes):
1316 Remove special processing for magic-cookie standout modes.
1317 (turn_off_face, turn_on_face): Remove special processing for
1318 underline magic-cookie glitch.
1319
1320 2001-10-19 Richard M. Stallman <rms@gnu.org>
1321
1322 * eval.c (syms_of_eval): Doc fixes.
1323
1324 2001-10-19 Gerd Moellmann <gerd@gnu.org>
1325
1326 * xdisp.c (redisplay_internal): Don't clear echo area if the
1327 mini-window is selected.
1328
1329 2001-10-19 Miles Bader <miles@gnu.org>
1330
1331 * editfns.c (text_property_stickiness): Non-rear-non-stickiness
1332 doesn't take precedence if the affected property's value is nil.
1333
1334 * editfns.c (Fencode_time): Escape a BOL paren in the doc-string.
1335
1336 * cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
1337 with fields and suggest using `forward-line' to avoid them.
1338 * editfns.c (Fline_beginning_position, Fline_end_position):
1339 Clarify documentation.
1340
1341 2001-10-18 Stefan Monnier <monnier@cs.yale.edu>
1342
1343 * keymap.c (current_minor_maps): `override' only shadows its
1344 correspondent in minor-mode-map-alist, not the whole tail.
1345
1346 2001-10-18 Andrew Innes <andrewi@gnu.org>
1347
1348 * fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
1349 optimization. The fontp->encoding array was not being initialized
1350 correctly when compiled with optimizations by MSVC.
1351
1352 2001-10-18 Gerd Moellmann <gerd@gnu.org>
1353
1354 * xdisp.c (display_line): Indicate empty lines in active mini-window.
1355
1356 2001-10-17 Andrew Innes <andrewi@gnu.org>
1357
1358 * fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.
1359
1360 * w32fns.c (w32_load_system_font): Cache codepage for font, in
1361 font_info.charset field.
1362
1363 * w32term.c (w32_encode_char): Get cached codepage from font_info,
1364 rather than working it out by calling w32_codepage_for_font for
1365 every glyph.
1366
1367 2001-10-17 Andrew Innes <andrewi@gnu.org>
1368
1369 * w32term.c (w32_read_socket): Determine clipping rectangle for
1370 the entire frame, including areas covered by scrollbars and the
1371 menubar. This avoids internal arguments about whether a frame is
1372 fully obscured or not.
1373
1374 2001-10-17 Gerd Moellmann <gerd@gnu.org>
1375
1376 * xdisp.c (try_window_id): Undo last change. Give up if
1377 window ends in strings.
1378
1379 * xdisp.c (try_window_id): Don't display lines after the window
1380 end if the rest of the window after the window end was already blank.
1381
1382 * xdisp.c (try_window_id): Remove code that was only there
1383 for the release of 21.1.
1384
1385 * xdisp.c (display_line): Don't indicate empty lines in mini-windows.
1386
1387 2001-10-17 Miles Bader <miles@gnu.org>
1388
1389 * lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
1390 * xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
1391 * xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
1392 Change doc-string comments to `new style' [w/`doc:' keyword].
1393 (DOC_STRINGS_IN_COMMENTS): Macro removed.
1394 * minibuf.c: Remove old commented-out-DEFUN that was used to fake
1395 out make-docfile.
1396
1397 2001-10-16 Miles Bader <miles@gnu.org>
1398
1399 * fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].
1400
1401 2001-10-16 Gerd Moellmann <gerd@gnu.org>
1402
1403 * buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
1404 *scratch*.
1405
1406 2001-10-16 Ken Raeburn <raeburn@gnu.org>
1407
1408 Avoid the assumption that car and cdr slots of cons cells are
1409 addressable lvalues; this allows for easier experimentation with
1410 other lisp implementations that may not permit such accesses for
1411 various reasons. Not quite complete -- buffer.c still needs some
1412 work, and w32/mac files need rechecking -- so compile-time
1413 enforcement is left disabled for now.
1414
1415 * lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
1416 gcc with a union-based Lisp object rep. Redefine as no-op for now.
1417 (XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
1418 (XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
1419 (XSETCAR, XSETCDR): New macros.
1420 (XSETCARFASTINT, XSETCDRFASTINT): New macros.
1421 (CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
1422 * keyboard.h (POSN_BUFFER_SET_POSN): New macro.
1423 * alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
1424 XSETCDR.
1425 (mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
1426 * buffer.c (record_buffer, Fbury_buffer)
1427 (swap_out_buffer_local_variables, recenter_overlay_lists)
1428 (Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
1429 fields of a cons cell respectively.
1430 * callint.c (quotify_args, Fcall_interactively): Likewise.
1431 * ccl.c (Fregister_code_conversion_map): Likewise.
1432 * coding.c (detect_coding_system): Likewise.
1433 * composite.c (get_composition_id, make_composition_value_copy):
1434 Likewise.
1435 * data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
1436 (swap_in_symval_forwarding, set_internal, Fset_default)
1437 (Fmake_variable_buffer_local, Fmake_local_variable)
1438 (Fmake_variable_frame_local): Likewise.
1439 * fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
1440 * keymap.c (Fset_keymap_parent, store_in_keymap)
1441 (accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
1442 * minibuf.c (get_minibuffer): Likewise.
1443 * search.c (Fmatch_data): Likewise.
1444 * textprop.c (extend_property_ranges): Likewise.
1445 * undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
1446 * w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
1447 Likewise.
1448 * w32term.c (x_delete_display): Likewise.
1449 * xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
1450 Likewise.
1451 * xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
1452 * doc.c (store_function_docstring): Use XSETCARFASTINT.
1453 * fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
1454 (Fread_file_name): Use XSETCAR.
1455 * fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
1456 CHECK_NUMBER_CDR.
1457 (accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
1458 * frame.c (Fmake_terminal_frame): Use XSETCDR.
1459 * indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
1460 CHECK_NUMBER_CDR.
1461 * keyboard.c (read_char): Alter list traversal to avoid taking the
1462 address of cons cell slots. Use POSN_BUFFER_SET_POSN.
1463 (parse_menu_item): Use XSETCAR and XSETCDR.
1464 (reach_char_x_menu_prompt): Use XSETCAR.
1465 (read_key_sequence): Use POSN_BUFFER_SET_POSN.
1466 (Fcommand_execute): Use XSETCDR.
1467 * lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
1468 (openp): Change list traversal to avoid using XCAR as lvalue.
1469 (read_list): Use XSETCDR.
1470 * process.c (wait_reading_process_input): Change wait_for_cell
1471 handling to avoid taking addresses of cons cell slots.
1472 * xselect.c (x_own_selection, x_handle_selection_clear)
1473 (x_clear_frame_selections): Use XSETCDR.
1474 (wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
1475 (x_handle_property_notify, x_get_foreign_selection)
1476 (x_handle_selection_notify): Use XSETCAR.
1477
1478 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1479
1480 * buffer.c: Put doc strings in comments.
1481
1482 * sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.
1483
1484 2001-10-15 Sam Steingold <sds@gnu.org>
1485
1486 * fns.c (Vafter_load_alist): Declare extern (w32 build problem).
1487
1488 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1489
1490 * process.c (process-inherit-coding-system-flag)
1491 (get-buffer-process): Do not confuse make-docfile with doc strings
1492 in comment.
1493
1494 * editfns.c (Fchar_to_string): Make doc string consistent with
1495 arguments. Put doc strings in comments.
1496
1497 * abbrev.c, minibuf.c: Put doc strings in comments.
1498
1499 2001-10-15 Gerd Moellmann <gerd@gnu.org>
1500
1501 * window.c (window_loop): Don't check for Fother_buffer returning nil.
1502
1503 * window.c (select_window_1): Unfreeze window start. Remove a
1504 doubled test for WINDOW being live.
1505
1506 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1507
1508 * fns.c (Fmapconcat): Fix typo in a doc string.
1509
1510 * dispnew.c (Fsleep_for): Fix typo in a doc string.
1511
1512 2001-10-15 Gerd Moellmann <gerd@gnu.org>
1513
1514 * xterm.c (x_draw_glyph_string): Restore clipping after
1515 drawing box.
1516
1517 2001-10-15 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1518
1519 * callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.
1520
1521 2001-10-14 Stefan Monnier <monnier@cs.yale.edu>
1522
1523 * indent.c (skip_invisible): Use new retval of
1524 TEXT_PROP_MEANS_INVISIBLE.
1525
1526 * keymap.c (access_keymap): Unify handling of `t' and generic-char.
1527 If a parent is reached and noinherit is set, exit immediately.
1528 Use AREF and ASIZE macros. Call get_keyelt before checking KEYMAPP.
1529
1530 * s/ms-w32.h (EXEC_SUFFIXES):
1531 * s/msdos.h (EXEC_SUFFIXES):
1532 * process.h (EXEC_SUFFIXES): Remove.
1533
1534 * callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
1535 (decode_suffixes): Remove.
1536
1537 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
1538 (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
1539 (invisible_ellipsis_p): Remove.
1540
1541 * xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
1542 (invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
1543 (invisible_ellipsis_p, invisible_noellipsis_p): Remove.
1544 (in_ellipses_for_invisible_text_p, handle_invisible_prop):
1545 Use new retval of TEXT_PROP_MEANS_INVISIBLE.
1546
1547 2001-10-14 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1548
1549 * lisp.h (Ftop_level): Add prototype.
1550
1551 * xterm.c: (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
1552 (XTread_socket): Improve style of comments to follow other
1553 comments.
1554
1555 * keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
1556 is already prototyped in included lisp.h).
1557
1558 * frame.c (Fset_mouse_position): Improve style of comment to
1559 follow other comments.
1560 (Fset_mouse_pixel_position): Improve style of comment to follow
1561 other comments.
1562 (Fmake_frame_visible): Doc fix and typo in comment.
1563 (Fmake_frame_invisible): Doc fix and typo in comment.
1564 (Ficonify_frame): Fix typo in comment.
1565
1566 2001-10-14 Gerd Moellmann <gerd@gnu.org>
1567
1568 * xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
1569 * term.c, alloc.c: Put doc strings in comments.
1570
1571 2001-10-13 Gerd Moellmann <gerd@gnu.org>
1572
1573 * lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
1574 Provide definitions for doc strings in comments.
1575
1576 * fns.c: Put doc strings in comments.
1577
1578 2001-10-13 Eli Zaretskii <eliz@is.elta.co.il>
1579
1580 * dired.c (file_name_completion): Ignore a candidate directory if
1581 it matches an element in completion-ignored-extensions that ends
1582 in a slash.
1583 (syms_of_dired) <completion-ignored-extensions>: Mention the above
1584 feature in the doc string.
1585 (Ffile_name_completion): Ditto.
1586
1587 2001-10-12 Stefan Monnier <monnier@cs.yale.edu>
1588
1589 * indent.c (skip_invisible): Don't skip "ellipsisized" text.
1590
1591 * xfns.c (syms_of_xfns): Update calls to Fprovide.
1592
1593 * lisp.h (Fprovide): Update prototype.
1594 (Ffeaturep, invisible_p): Remove.
1595
1596 * xdisp.c (init_iterator): Be more strict with bytepos and charpos.
1597 (DOLIST, LOOP_PROPVAL): New macros.
1598 (invisible_p, invisible_ellipsis_p): Use them.
1599 (invisible_noellipsis_p): New function.
1600 (syms_of_xdisp): Use empty_string.
1601
1602 * alloc.c (mark_interval_tree): Use traverse_intervals_noorder.
1603
1604 * lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
1605 (syms_of_lread) <Vafter_load_alist>: Update docstring.
1606
1607 * print.c (Fwith_output_to_temp_buffer): Align with
1608 internal_with_output_to_temp_buffer.
1609 (print_preprocess): Use traverse_intervals_noorder.
1610 (print_object): Update call to traverse_intervals.
1611
1612 * intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
1613 (traverse_intervals_noorder, invisible_noellipsis_p): New funs.
1614
1615 * intervals.c (traverse_intervals_noorder): New function.
1616 (search_for_interval, count_intervals): Use it.
1617 (traverse_intervals): Use less stack space and drop `depth' arg.
1618
1619 * fns.c (Ffeaturep): Add new `subfeature' arg.
1620 (Fprovide): Add new `subfeatures' arg. Use `after-load-alist'.
1621 (Qsubfeatures): New var.
1622 (syms_of_fns): Initialize it.
1623
1624 * keymap.c (Fkey_description): Use empty_string.
1625 (Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
1626 (syms_of_keymap): Setup inheritance between maps.
1627 Don't export Sdescribe_bindings_internal any more.
1628
1629 * minibuf.c (keys_of_minibuf): Eliminate redundant bindings.
1630
1631 2001-10-12 Gerd Moellmann <gerd@gnu.org>
1632
1633 * xterm.c (notice_overwritten_cursor): Renamed from
1634 note_overwritten_text_cursor. Rewritten to take glyph widths into
1635 account.
1636
1637 2001-10-12 Eli Zaretskii <eliz@is.elta.co.il>
1638
1639 * lread.c (syms_of_lread) <load-suffixes>: Fix last change:
1640 multi-line strings without a trailing "\n\".
1641
1642 2001-10-12 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1643
1644 * floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
1645 defined.
1646
1647 2001-10-11 Stefan Monnier <monnier@cs.yale.edu>
1648
1649 * callint.c (Fcall_interactively): Remove unused code. Use XCAR.
1650
1651 * xfns.c (x_create_bitmap_from_file, x_find_image_file):
1652 * w32proc.c (sys_spawnve):
1653 * w32fns.c (x_create_bitmap_from_file, x_find_image_file):
1654 * w32.c (check_windows_init_file):
1655 * sound.c (Fplay_sound):
1656 * emacs.c (init_cmdargs):
1657 * process.c (Fstart_process): Update calls to openp.
1658
1659 * callproc.c (Vexec_suffixes): New var.
1660 (Fcall_process): Update call to openp.
1661 (decode_suffixes): New function.
1662 (syms_of_callproc): Init exec-suffixes.
1663
1664 * lread.c (Vload_suffixes, default_suffixes): New vars.
1665 (openp): Take a lisp list of suffixes.
1666 Check for file-name-handlers even if the file was absolute already.
1667 (syms_of_lread): Declare load-suffixes.
1668 (Fload): Fix up call to openp.
1669 Don't bother checking for file-name-handler at the very beginning.
1670
1671 * keymap.h (Fcopy_keymap): Don't export.
1672
1673 * lisp.h (empty_string): Declare.
1674 (Vload_suffixes, Vexec_suffixes): Declare.
1675 (openp): Update prototype.
1676
1677 * emacs.c (empty_string): New var.
1678 (syms_of_emacs): Initialize it.
1679
1680 * search.c (wordify): Use it.
1681
1682 * buffer.c (Fbury_buffer): Don't try to remove the buffer from the
1683 selected window if it's not displayed there. Handle the case
1684 when the window is dedicated.
1685 (syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.
1686
1687 * undo.c (Fprimitive_undo): Use XCAR/XCDR.
1688
1689 * syntax.h (struct gl_state_s): Change the meaning of b_property.
1690 Remove left_ok and right_ok.
1691 (UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
1692 (SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
1693 new meaning of b_property.
1694
1695 * syntax.c (update_syntax_table): Simplify.
1696 (Fforward_comment): Don't skip quoted chars when going backward.
1697
1698 2001-10-11 Gerd Moellmann <gerd@gnu.org>
1699
1700 * lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
1701 in case I is of some unsigned type, in which case
1702 MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
1703 comparison becomes bogus.
1704
1705 * editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
1706 (Fuser_full_name): Fix bug treating a float as a fixnum.
1707
1708 * data.c (Fstring_to_number): Use make_fixnum_or_float.
1709
1710 * lisp.h (make_fixnum_or_float): New macro.
1711
1712 * lisp.h (circular_list_error): Add prototype.
1713
1714 * data.c (Qcircular_list): New variable.
1715 (circular_list_error): New function.
1716 (syms_of_data): Initialize it Qcircular_list.
1717
1718 2001-10-10 Stefan Monnier <monnier@cs.yale.edu>
1719
1720 * window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c,
1721 casefiddle.c, buffer.c: Include keymap.h.
1722
1723 2001-10-10 Gerd Moellmann <gerd@gnu.org>
1724
1725 * s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
1726 options. From Dave Love <d.love@dl.ac.uk>.
1727
1728 2001-10-09 Gerd Moellmann <gerd@gnu.org>
1729
1730 * regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
1731 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1732
1733 * editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
1734 unsigned char.
1735 From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.
1736
1737 2001-10-08 Andrew Innes <andrewi@gnu.org>
1738
1739 * lisp.h [max]: Undef min and max before redefining them.
1740
1741 * w32gui.h: Do not undef min and max.
1742
1743 * w32heap.h: Do not undef min and max.
1744
1745 * s/ms-w32.h: Do not undef min and max.
1746
1747 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1748
1749 * xdisp.c (handle_fontified_prop): Don't bind after-change-functions.
1750
1751 2001-10-08 Sam Steingold <sds@gnu.org>
1752
1753 * keymap.c (current-active-maps): Quote newlines (compilation error).
1754
1755 2001-10-08 Eli Zaretskii <eliz@is.elta.co.il>
1756
1757 * Makefile.in (lisp, shortlisp): Replace bindings.el with
1758 bindings.elc, since otherwise doc strings in bindings.el get wrong
1759 offsets in etc/DOC.
1760
1761 2001-10-08 Stefan Monnier <monnier@cs.yale.edu>
1762
1763 * lisp.h: Remove the entries for keymap.c (moved to keymap.h).
1764
1765 * keyboard.h (map_prompt): Remove.
1766
1767 * xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
1768 * intervals.c, fns.c, doc.c, callint.c: Include keymap.h.
1769
1770 * xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1771
1772 * w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.
1773
1774 * keyboard.c (map_prompt): Remove.
1775 (read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
1776 Use Fkeymap_prompt.
1777
1778 * keymap.h: New file. Extracted from lisp.h.
1779
1780 * keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
1781 (accessible_keymaps_1): New function.
1782 (Faccessible_keymaps, accessible_keymaps_char_table): Use it.
1783 (Fwhere_is_internal): Use Fcurrent_active_maps.
1784 (Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
1785 Insert in current buffer rather than standard-output.
1786 Don't call `help-mode'. Export to elisp.
1787 (describe_buffer_bindings): New wrapper.
1788 (syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
1789 and Sdescribe_buffer_bindings.
1790
1791 2001-10-08 Gerd Moellmann <gerd@gnu.org>
1792
1793 * atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
1794 Remove code setting signal handler.
1795
1796 * sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
1797 Clear ICRNL and INLCR. From Daiki Ueno <ueno@unixuser.org>.
1798
1799 2001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1800
1801 * keyboard.c: Don't define min/max.
1802
1803 2001-10-08 Gerd Moellmann <gerd@gnu.org>
1804
1805 * xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
1806 * w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
1807 * sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
1808 * intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
1809 * dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
1810 Don't define min/max.
1811
1812 * lisp.h (min, max): New macros.
1813
1814 * puresize.h (BASE_PURESIZE): Increase to 725000.
1815
1816 2001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
1817
1818 * xfaces.c (free_frame_menubar): Add prototype.
1819
1820 * lisp.h (init_window): Add prototype.
1821
1822 * editfns.c: Include ctype.h.
1823
1824 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
1825 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
1826 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
1827 variable `sb'.
1828
1829 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
1830 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
1831 `popup_activated_flag' and `title'.
1832
1833 * doc.c (Fdocumentation_property): Fix typo in a doc string.
1834
1835 * emacs.c (main): Remove extra `;'.
1836
1837 * atimer.h (struct atimer): Fix typos in a comment.
1838
1839 * atimer.c: Fix typo.
1840
1841 * Makefile.in: Fix typo.
1842
1843 * README: Remove obsolete part mentioning removed VMS file.
1844
1845 2001-10-07 Miles Bader <miles@gnu.org>
1846
1847 * Makefile.in (lisp, shortlisp): Add `button.elc'.
1848
1849 2001-10-07 Ken Raeburn <raeburn@gnu.org>
1850
1851 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
1852 Lisp_Object.
1853
1854 * lisp.h (Ffield_end): Declare.
1855
1856 2001-10-07 Gerd Moellmann <gerd@gnu.org>
1857
1858 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
1859
1860 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
1861
1862 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
1863
1864 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
1865
1866 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
1867 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
1868
1869 * alloc.c (inhibit_garbage_collection): Simplify.
1870 (Fmemory_use_counts): Ditto.
1871
1872 * data.c (most_positive_fixnum, most_negative_fixnum): New variables.
1873 (syms_of_data): DEFVAR_INT most-positive-fixnum and
1874 most-negative-fixnum.
1875
1876 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
1877 (FIXNUM_OVERFLOW_P): New macros.
1878
1879 2001-10-06 Miles Bader <miles@gnu.org>
1880
1881 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
1882 scroll_bar_bottom_shadow_pixel fields.
1883 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
1884 for the shadows, and tell the toolkit about them if we succeed.
1885 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
1886 Free scroll-bar shadow colors.
1887 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
1888 Free scroll-bar shadow colors when the background color changes.
1889 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
1890 Initialize scroll-bar shadow-color fields.
1891
1892 2001-10-05 Gerd Moellmann <gerd@gnu.org>
1893
1894 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
1895
1896 2001-10-05 Miles Bader <miles@gnu.org>
1897
1898 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
1899 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
1900 New functions (were in simple.el).
1901 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
1902 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
1903 (syms_of_minibuf): Initialize them.
1904
1905 2001-10-05 Gerd Moellmann <gerd@gnu.org>
1906
1907 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
1908 (tiff_load): Install them as error and warning handler.
1909
1910 2001-10-04 Andrew Innes <andrewi@gnu.org>
1911
1912 * w32fns.c (x_to_w32_color): Fix argument to alloca.
1913 (w32_load_system_font): Don't believe what GetLanguageFontInfo
1914 says; query codepage info directly to determine if font is double byte.
1915 (x_to_w32_charset): Handle private format for unknown charsets.
1916 Handle wildcards in charset spec, by ignoring them.
1917 (w32_codepage_for_font): Fix argument to alloca. Don't remove
1918 "*-" prefix from charset.
1919 (x_to_w32_font): Enlarge remainder array for safety. Specifically
1920 handle the truncated font spec form constructed by font_list_1, so
1921 that we correctly identify the charset fields. Don't remove "*-"
1922 prefix from charset.
1923 (w32_list_synthesized_fonts): Fix argument to alloca.
1924
1925 2001-10-04 Stefan Monnier <monnier@cs.yale.edu>
1926
1927 * window.h (MINI_WINDOW_P): Use NILP.
1928
1929 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
1930
1931 * termhooks.h (struct input_event): Use proper type for `kind'.
1932
1933 2001-10-04 Gerd Moellmann <gerd@gnu.org>
1934
1935 This handles unknown keysyms better than before. For example,
1936 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
1937 Emacs formerly completely ignored F5. With the change, it derives
1938 a key symbol from the name of the X keysym, `ccaron' in this case.
1939 Reported by Martin Buchholz.
1940
1941 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
1942 unknown keysyms.
1943
1944 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
1945 that EVENT->code isn't a function key, use the keysym's name.
1946
1947 2001-10-04 Gerd Moellmann <gerd@gnu.org>
1948
1949 FOREACH is a macro that should make it easier to loop over Lisp
1950 lists with checks for cycles and proper lists.
1951
1952 * lisp.h (LIST_END_P, FOREACH): New macros.
1953
1954 2001-10-04 Gerd Moellmann <gerd@gnu.org>
1955
1956 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
1957 called for a lost connection. Prevent dumping core in this case.
1958 Instead print the X error, and exit. On user request.
1959
1960 * xterm.c (error_msg): New variable.
1961 (x_fatal_error_signal): New function.
1962 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
1963 as fatal_error_signal_hook around the call to XtCloseDisplay.
1964
1965 * emacs.c (fatal_error_signal_hook): New variable.
1966 (fatal_error_signal): Call that function.
1967
1968 2001-10-04 Gerd Moellmann <gerd@gnu.org>
1969
1970 With this, Emacs prints how much pure storage it will
1971 approximately need in case pure storage overflows while dumping.
1972
1973 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
1974 New variables.
1975 (init_alloc_once): Initialize new variables.
1976 (PURE_POINTER_P): Use new variables.
1977 (pure_alloc): If pure storage overflows, allocate from the heap.
1978 (check_pure_size): New function.
1979 (Fgarbage_collect): Don't GC if pure storage has overflowed.
1980
1981 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
1982 (check_pure_size): Add prototype.
1983
1984 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
1985
1986 2001-10-04 Gerd Moellmann <gerd@gnu.org>
1987
1988 This adds a post-gc-hook that's run with GC inhibited.
1989 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
1990
1991 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
1992 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
1993 (Fgarbage_collect): Run post-gc-hook.
1994
1995 2001-10-04 Gerd Moellmann <gerd@gnu.org>
1996
1997 This adds `defvaralias' and `indirect-variable'. Changes not
1998 directly related to this feature are there to gain the same
1999 performance again as before variable aliases.
2000
2001 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
2002 code to get and set symbol values, to take defvaralias into account.
2003
2004 (Note: the new `constant' bit-flag in symbols would make it
2005 possible to define arbitrary read-only variables, e.g. with
2006 `defconst'.)
2007
2008 Documentation is in lispref/variables.texi. Added to NEWS.
2009
2010 * lisp.h (enum symbol_interned): New enumeration.
2011 (struct Lisp_Symbol): Remove member `obarray', add
2012 `indirect_variable', `constant', and `interned'.
2013 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
2014 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
2015 (indirect_variable): Add prototype.
2016
2017 * print.c (print_preprocess, print_object): Test internedness of
2018 symbols differently.
2019
2020 * lread.c (Fintern, Funintern): Set symbol's interned and constant
2021 bit-fields.
2022 (init_obarray): Likewise for t and nil.
2023
2024 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2025 (Fdefvaralias): New function.
2026 (specbind): Simplify the test if symbol is a constant.
2027 (syms_of_eval): Defsubr Fdefvaralias.
2028
2029 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
2030 (Qcyclic_variable_indirection): New variable.
2031 (Fkeywordp): Check for internedness differently.
2032 (Fmakunbound): Simplify the test if symbol is a constant.
2033 (indirect_variable, Findirect_variable): New functions.
2034 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
2035 aliased symbol.
2036 (let_shadows_buffer_binding_p): Check for variable aliases.
2037 (set_internal): Simplify the test if SYMBOL is a constant.
2038 If SYMBOL has a buffer-local value and is an alias, use the aliased
2039 symbol instead.
2040 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
2041 Sindirect_variable.
2042
2043 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
2044 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
2045 set directly.
2046
2047 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
2048
2049 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
2050 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
2051 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
2052
2053 2001-10-04 Gerd Moellmann <gerd@gnu.org>
2054
2055 * Branch for 21.1.
2056
2057 2001-10-03 Miles Bader <miles@gnu.org>
2058
2059 * callproc.c (syms_of_callproc): Explicitly state in the
2060 documentation for `process-environment' that earlier entries take
2061 precedence over later ones.
2062
2063 2001-10-02 Miles Bader <miles@gnu.org>
2064
2065 * textprop.c (Fnext_char_property_change)
2066 (Fprevious_char_property_change): Remove reference to non-existant
2067 argument OBJECT from doc-string.
2068
2069 2001-10-01 Gerd Moellmann <gerd@gnu.org>
2070
2071 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
2072 (try_window_id): Skip back over lines ending in a newline from a
2073 string.
2074
2075 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
2076 New bit flag
2077
2078 2001-10-01 Richard M. Stallman <rms@gnu.org>
2079
2080 * search.c (Freplace_match): Doc fix.
2081
2082 2001-09-28 Andrew Innes <andrewi@gnu.org>
2083
2084 * w32menu.c (set_frame_menubar): Take into account that
2085 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2086 <raeburn@gnu.org>.
2087
2088 2001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
2089
2090 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
2091
2092 2001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2093
2094 * s/gnu-linux.h: Fix a typo in comment.
2095
2096 2001-09-28 Andreas Schwab <schwab@suse.de>
2097
2098 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
2099 nocombreloc, in case -z combreloc is the default.
2100
2101 2001-09-28 Gerd Moellmann <gerd@gnu.org>
2102
2103 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
2104 really going on here.
2105
2106 2001-09-27 Stefan Monnier <monnier@cs.yale.edu>
2107
2108 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
2109
2110 2001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
2111
2112 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
2113 utf-8, menu-bar, and latin-N.
2114 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
2115 unconditionally now.
2116 (lisp): Add latin-N, since they are preloaded.
2117
2118 2001-09-27 Gerd Moellmann <gerd@gnu.org>
2119
2120 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
2121 to the left. Some cleanup.
2122
2123 * xdisp.c (display_mode_element): One more case where a string's
2124 multibyteness should be used for display.
2125
2126 2001-09-26 Gerd Moellmann <gerd@gnu.org>
2127
2128 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
2129 reading at EOF.
2130
2131 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
2132 of the only temporarily set echoing flag for deciding when
2133 the cancel echoing.
2134
2135 * keyboard.c (echo_kboard): Make externally visible.
2136
2137 * lisp.h (echo_kboard): Declare extern.
2138
2139 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
2140 fonts_changed_p if we need larger matrices due to vscrolling.
2141 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
2142 this round of redisplay if make_cursor_line_fully_visible fails.
2143 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
2144 (try_cursor_movement, try_scrolling): Use them instead of integers.
2145
2146 * dispextern.h (required_matrix_width, required_matrix_height):
2147 Add prototypes.
2148
2149 * dispnew.c (required_matrix_width, required_matrix_height):
2150 New functions.
2151 (allocate_matrices_for_window_redisplay)
2152 (allocate_matrices_for_frame_redisplay: Use them.
2153 Remove parameters CH_DIM.
2154
2155 * xdisp.c (display_mode_lines): Temporarily set selected_frame
2156 and selected_window to the frame of the window whose mode-lines
2157 are displayed, and to the window itself.
2158 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
2159 here.
2160
2161 2001-09-25 Gerd Moellmann <gerd@gnu.org>
2162
2163 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
2164 the image cache under us.
2165
2166 * xdisp.c (display_mode_element): If the mode element is a symbol
2167 with a string value, use that string's multibyteness for displaying.
2168
2169 * keyboard.c (read_char): Don't clear a message for a switch-frame
2170 event. From Stefan Monnier <monnier@cs.yale.edu>.
2171
2172 * xterm.c (fast_find_position) [0]: Add a presumably more correct
2173 version for after 21.1.
2174
2175 * xdisp.c (row_containing_pos): Make externally visible.
2176
2177 * dispextern.h (row_containing_pos): Add prototype.
2178
2179 * process.c (send_process): Disable composition if from_byte < 0.
2180 From Kenichi Handa <handa@etl.go.jp>.
2181
2182 2001-09-24 Gerd Moellmann <gerd@gnu.org>
2183
2184 * xterm.c (refreshicon): Function removed.
2185
2186 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
2187
2188 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
2189
2190 * xterm.c (toplevel): Remove includes in #if 0.
2191
2192 * process.c (sigchld_handler) [LINUX]: Don't return from
2193 the signal handler at the end of the loop.
2194
2195 2001-09-21 Gerd Moellmann <gerd@gnu.org>
2196
2197 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
2198 Terminate only if kill returns -1, and errno is ESRCH.
2199
2200 2001-09-21 Markus Rost <rost@math.ohio-state.edu>
2201
2202 * Makefile.in (shortlisp): Add ../lisp/env.elc.
2203
2204 2001-09-20 Gerd Moellmann <gerd@gnu.org>
2205
2206 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
2207 since this function can be called during GC.
2208
2209 * callproc.c (Fcall_process): Handle errors from pipe(2).
2210 (child_setup): Delete code in #ifdef vipc.
2211
2212 2001-09-19 Gerd Moellmann <gerd@gnu.org>
2213
2214 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
2215 (display_mode_element): Display the string from decode_mode_spec
2216 depending on its multibyteness.
2217
2218 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
2219
2220 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
2221
2222 2001-09-18 Gerd Moellmann <gerd@gnu.org>
2223
2224 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
2225 recursive_edit_unwind.
2226 (recursive_edit_unwind): Set kboard state according to
2227 SINGLE-KBOARD.
2228
2229 * buffer.c (modify_overlay): Don't do nothing if START == END;
2230 This can still be a modification, for example when an overlay has
2231 a before-string or after-string.
2232 (Fdelete_overlay): Prevent redisplay optimizations when deleting
2233 an overlay with before-string or after-string.
2234
2235 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
2236 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
2237
2238 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
2239 first_unchanged_at_end_row is in front of
2240 last_unchanged_at_beg_row. This code should be removed after the
2241 release of 21.1.
2242
2243 2001-09-17 Gerd Moellmann <gerd@gnu.org>
2244
2245 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
2246 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
2247
2248 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
2249 versions >= 2.95.
2250
2251 2001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
2252
2253 * dired.c (Ffile_attributes): Doc fix.
2254
2255 2001-09-14 Gerd Moellmann <gerd@gnu.org>
2256
2257 * fileio.c (Ffile_symlink_p): Fix last change.
2258
2259 * filelock.c (current_lock_owner): Fix last change.
2260
2261 2001-09-13 Gerd Moellmann <gerd@gnu.org>
2262
2263 * filelock.c (current_lock_owner): If readlink returns ERANGE,
2264 take that to mean that the buffer is too small.
2265
2266 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
2267 that to mean that the buffer is too small.
2268
2269 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
2270 current buffer's multibyteness when discarding the iterator's
2271 stack.
2272
2273 * xfns.c (Fx_window_property): Handle case that property gets
2274 deleted between the two calls to XGetWindowProperty.
2275
2276 2001-09-11 Gerd Moellmann <gerd@gnu.org>
2277
2278 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
2279
2280 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
2281 in addition to read-only.
2282
2283 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
2284 to t in addition to read-only.
2285
2286 * lisp.h (Qinhibit_modification_hooks): Declare.
2287
2288 * insdel.c (Qinhibit_modification_hooks): New variable.
2289 (syms_of_insdel): Initialize and staticpro it.
2290
2291 * textprop.c (verify_interval_modification): Don't run
2292 modification-hooks if inhibit_modification_hooks.
2293
2294 * dispnew.c (set_window_cursor_after_update): Fix code
2295 finding glyph row containing cursor when cursor_in_echo_area
2296 is >= 0.
2297
2298 * xdisp.c (init_from_display_pos): Put some code in #if 0.
2299 (add_to_log): Use bcopy instead of strcpy.
2300 (init_from_display_pos): Use an explicit loop over bytes in
2301 overlay strings instead of calling index.
2302
2303 2001-09-10 Gerd Moellmann <gerd@gnu.org>
2304
2305 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
2306
2307 * dispnew.c (direct_output_for_insert): Don't change IT's
2308 stop_charpos to something in front of its current position.
2309
2310 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
2311 `format'.
2312
2313 2001-09-10 Richard M. Stallman <rms@gnu.org>
2314
2315 * frame.c (Fmouse_position): Doc fix.
2316
2317 2001-09-07 Gerd Moellmann <gerd@gnu.org>
2318
2319 * xdisp.c (init_from_display_pos): Don't compare the result
2320 of calling index with NULL.
2321
2322 2001-09-06 Gerd Moellmann <gerd@gnu.org>
2323
2324 * xfns.c (x_set_background_color): Don't change the colors
2325 of the X window of scroll bar widgets.
2326
2327 2001-09-05 Andrew Innes <andrewi@gnu.org>
2328
2329 * w32fns.c (w32_createwindow): Undo last change.
2330
2331 2001-09-05 Gerd Moellmann <gerd@gnu.org>
2332
2333 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
2334
2335 * xdisp.c (string_buffer_position): Use *single_char_property*
2336 functions instead of the *single_property* functions.
2337
2338 2001-09-04 Andrew Innes <andrewi@gnu.org>
2339
2340 * w32term.c (w32_read_socket): Add more information to debugging
2341 output.
2342
2343 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
2344 from Emacs frames, so that calls to GetClipBox in w32term.c
2345 correctly report when part of a frame is visible (including
2346 scrollbars, etc). This prevents repeated redrawing of frames when
2347 only a scrollbar is visible.
2348 (w32_wnd_proc): Add more frame information to debugging output.
2349
2350 2001-09-03 Stefan Monnier <monnier@cs.yale.edu>
2351
2352 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
2353
2354 2001-09-03 Gerd Moellmann <gerd@gnu.org>
2355
2356 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
2357 help-echo for a string which doesn't have help-echo itself, use
2358 get-char-property to obtain the help-echo from the string's buffer
2359 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
2360 have mouse-face, look ``under'' the string for mouse-face from an
2361 overlay.
2362 (fast_find_position): Add parameter STOP. In the final row, stop
2363 before glyphs having STOP as object. Don't consider glyphs that
2364 are not from a buffer.
2365
2366 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
2367
2368 2001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
2369
2370 * fns.c (Fmd5): Doc fix.
2371
2372 2001-08-31 Gerd Moellmann <gerd@gnu.org>
2373
2374 * composite.c (update_compositions): Do nothing if
2375 inhibit-modification-hooks is set.
2376
2377 2001-08-30 Gerd Moellmann <gerd@gnu.org>
2378
2379 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
2380 and check_message_stack if terminating abnormally. We want
2381 glyph matrices etc. in a core dump.
2382
2383 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
2384 (syms_of_xdisp): Initialize them.
2385 (handle_single_display_prop): Don't change point, bind `object',
2386 `position', and `buffer-position' instead to the object having the
2387 `display' property, position in the object and position in the buffer.
2388
2389 * fileio.c (Finsert_file_contents): Don't change the multibyteness
2390 of the buffer if REPLACE is non-nil.
2391
2392 2001-08-29 Gerd Moellmann <gerd@gnu.org>
2393
2394 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
2395
2396 2001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
2397
2398 * w32term.c (x_set_glyph_string_background_width)
2399 (show_mouse_face): Track the last changes in xterm.c.
2400
2401 2001-08-28 Gerd Moellmann <gerd@gnu.org>
2402
2403 * xterm.c (x_set_glyph_string_background_width): Set the glyph
2404 string's background width so that multi-line mouse-face is drawn
2405 to the right edge of the window.
2406 (show_mouse_face): Set the row's mouse_face_p flag after drawing
2407 glyphs.
2408
2409 * dispnew.c (direct_output_for_insert): Set updated_area
2410 before inserting/writing glyphs.
2411
2412 * xdisp.c (display_mode_element): Use string_byte_to_char to
2413 determine character positions in strings, use chars_in_text
2414 instead of strwidth.
2415 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
2416 a matrix as parameter; this is easier to use from GDB.
2417
2418 2001-08-28 Miles Bader <miles@gnu.org>
2419
2420 * textprop.c (Fprevious_single_char_property_change)
2421 (Fnext_single_char_property_change): Doc fixes.
2422
2423 2001-08-27 Gerd Moellmann <gerd@gnu.org>
2424
2425 * fileio.c (Finsert_file_contents): Allocate, restore, and
2426 free composition data in the case of REPLACE not being nil.
2427
2428 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
2429 there exist overlay strings with newlines at POS.
2430 (text_outside_line_unchanged_p): Return 0 if changes start at
2431 START and overlays exist at START. Likewise for END.
2432 (try_window_id): Give up if init_to_row_end returns 0.
2433
2434 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
2435 unconditionally.
2436
2437 2001-08-24 Gerd Moellmann <gerd@gnu.org>
2438
2439 * keymap.c (access_keymap): Return the cdr of the binding of
2440 a generic character instead of its definition (KEY . BINDING).
2441
2442 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
2443 to 0 also in the REPLACE case.
2444
2445 2001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
2446
2447 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
2448 open to determine whether file is readable (as for DOS_NT).
2449
2450 2001-08-23 Gerd Moellmann <gerd@gnu.org>
2451
2452 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
2453 coding.type is coding_type_no_conversion or coding_type_raw_text,
2454 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
2455 non-nil instead of just setting enable_multibyte_characters in the
2456 buffer to nil.
2457
2458 2001-08-22 Gerd Moellmann <gerd@gnu.org>
2459
2460 * dispextern.h (struct face_cache): Add member
2461 menu_face_changed_p.
2462
2463 * xfaces.c (menu_face_changed_default): New variable.
2464 (menu_face_changed_count): Variable removed.
2465 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
2466 the menu_face_changed_default flag, otherwise set the FRAME's
2467 menu_face_changed_p flag if the `menu' face has been changed.
2468 Prevent calling set_font_frame_param if FRAME is t.
2469 (make_face_cache): Initialize cache's menu_face_changed_p
2470 from menu_face_changed_default.
2471 (realize_basic_faces): Look into the frame's face cache to
2472 determine if the menu appearance needs updating.
2473
2474 * keymap.c (access_keymap): Fix last change to not consider
2475 IDX when it has modifiers.
2476
2477 2001-08-21 Gerd Moellmann <gerd@gnu.org>
2478
2479 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
2480 . BINDING) exists, where GENERIC-CHAR is the generic character of
2481 the charset of IDX, return BINDING unless there exists a binding
2482 for IDX itself.
2483
2484 2001-08-16 Gerd Moellmann <gerd@gnu.org>
2485
2486 * xrdb.c (SYSV): Don't define on Solaris 2.
2487 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
2488
2489 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2490 of the screen line, not text line, containing IT's current position.
2491
2492 2001-08-15 Gerd Moellmann <gerd@gnu.org>
2493
2494 * window.c (window_scroll_pixel_based): Don't recenter if
2495 PT is partially visible in the window.
2496
2497 * xterm.c (expose_window_tree, expose_window, expose_line):
2498 Return 1 when overwriting mouse-face.
2499 (expose_frame): If mouse-face was overwritten, redo it.
2500
2501 * xfaces.c (x_update_menu_appearance): Don't call
2502 set_frame_menubar, let the next redisplay do it.
2503
2504 2001-08-14 Andrew Innes <andrewi@gnu.org>
2505
2506 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
2507 drawing glyph string.
2508
2509 2001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
2510
2511 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
2512 running HI-UX/MPP.
2513
2514 2001-08-14 Gerd Moellmann <gerd@gnu.org>
2515
2516 * xfaces.c (x_update_menu_appearance): Save and restore value of
2517 interrupt_input_blocked.
2518
2519 2001-08-13 Gerd Moellmann <gerd@gnu.org>
2520
2521 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
2522 a line start, move back to the line start.
2523
2524 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
2525 exactly when a mini-buffer is active.
2526
2527 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
2528 in units of 1/8 character on non window-system frames.
2529 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
2530
2531 2001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2532
2533 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
2534 a doc string.
2535
2536 2001-08-09 Gerd Moellmann <gerd@gnu.org>
2537
2538 * keyboard.c (Vpre_help_message): New variable.
2539 (syms_of_keyboard): Initialize and staticpro it.
2540 (show_help_echo): Record current message before displaying a
2541 help-echo, and restore that message when clearing the help.
2542
2543 * xfns.c (x_create_im): Remove prototype.
2544
2545 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
2546
2547 * dispnew.c (adjust_glyph_matrix): Undo last change.
2548
2549 2001-08-08 Gerd Moellmann <gerd@gnu.org>
2550
2551 * dispnew.c (adjust_glyph_matrix): In the optimization for
2552 windows whose height has changed, disable partially visible lines.
2553
2554 2001-08-07 Gerd Moellmann <gerd@gnu.org>
2555
2556 * window.c (Frecenter): If ARG < 0, and on a window system
2557 frame, count in some empty lines when we can't move -ARG lines down.
2558
2559 * xdisp.c (start_display): Don't try to determine the continuation
2560 lines width if lines are truncated. It's superfluous and leads to
2561 incorrect results if POS is not visible in the window after
2562 reseating the iterator at the previous line start.
2563
2564 2001-08-06 Gerd Moellmann <gerd@gnu.org>
2565
2566 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
2567
2568 2001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2569
2570 * alloc.c (init_stack): Remove declaration.
2571
2572 2001-08-03 Gerd Moellmann <gerd@gnu.org>
2573
2574 * keyboard.c (read_key_sequence): Check that key is an integer
2575 before comparing it with quit_char.
2576 (add_command_key): Use larger_vector.
2577 (read_char_x_menu_prompt): Instead of converting symbol and
2578 integer events into conses (EVENT . nil), use (EVENT . disabled)
2579 which cannot be confused with valid events.
2580 (read_char): When reading from Vunread_command_events, check for
2581 events of the form (EVENT . disabled) instead of
2582 (EVENT . nil).
2583
2584 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
2585 a float, determine the max height from the frame's height.
2586
2587 2001-08-02 Gerd Moellmann <gerd@gnu.org>
2588
2589 * xdisp.c (redisplay_internal): Take message_cleared_p into
2590 account only if minibuf_level == 0.
2591
2592 2001-08-01 Gerd Moellmann <gerd@gnu.org>
2593
2594 * xdisp.c (redisplay_internal): Add a check for the last
2595 displayed message.
2596
2597 * xdisp.c (message_cleared_p): New variable.
2598 (clear_message): Set message_cleared_p when clearing the current
2599 message.
2600 (redisplay_internal): Look at message_cleared_p to capture
2601 the case that the echo area should be cleared.
2602
2603 * keyboard.c (command_loop_1): Fix spelling of
2604 resize_echo_area_exactly.
2605
2606 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
2607
2608 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
2609
2610 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
2611 current matrix when the window gets smaller.
2612
2613 2001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
2614
2615 * print.c (strout): Cast the character passed to insert_char to
2616 unsigned char, to avoid sign extension when it is promoted to int.
2617
2618 2001-07-31 Gerd Moellmann <gerd@gnu.org>
2619
2620 * fileio.c (Finsert_file_contents): Don't treat a return value
2621 of 0 from emacs_read as an IO error.
2622
2623 2001-07-30 Gerd Moellmann <gerd@gnu.org>
2624
2625 * keyboard.c (abs): New macro.
2626 (double_click_fuzz): New variable.
2627 (make_lispy_event): Use it to determine what makes a double-click.
2628 (syms_of_keyboard): DEFVAR_INT it.
2629
2630 * xmenu.c (set_frame_menubar): Take into account that
2631 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
2632 <raeburn@gnu.org>.
2633
2634 2001-07-27 Gerd Moellmann <gerd@gnu.org>
2635
2636 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
2637
2638 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
2639 of row's visible height.
2640
2641 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
2642 deal with the first overlay string having an image `display' property.
2643 (try_window_reusing_current_matrix, compute_line_metrics):
2644 Fix computation of row's visible height for the case that part of the
2645 row is invisible above and part of the row is at the same time
2646 invisible below the window.
2647
2648 2001-07-26 Gerd Moellmann <gerd@gnu.org>
2649
2650 * xfns.c (x-show-tip): Doc fix.
2651
2652 * xfns.c (Vx_max_tooltip_size): New variable.
2653 (syms_of_xfns): DEFVAR_LISP it.
2654 (Fx_show_tip): Set frame's window_width to the width of the
2655 window. Use a maximum tooltip size specified by
2656 Vx_max_tooltip_size, if that has valid contents.
2657 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
2658
2659 2001-07-26 Andrew Innes <andrewi@gnu.org>
2660
2661 * w32term.c (x_display_list): New variable.
2662 (w32_term_init): Set it.
2663
2664 * w32term.h (x_display_list): New extern.
2665
2666 2001-07-26 Gerd Moellmann <gerd@gnu.org>
2667
2668 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
2669 is non-nil, instead of when redisplaying_p is non-zero.
2670 See comment there.
2671 (mark_window_display_accurate_1): Add an assertion.
2672
2673 2001-07-25 Gerd Moellmann <gerd@gnu.org>
2674
2675 * dispextern.h (struct it): Increase size of ctl_chars to 16.
2676
2677 * xfns.c (Fx_file_dialog): Block/unblock input while processing
2678 events so that we get a chance of processing expose events.
2679
2680 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
2681
2682 2001-07-24 Gerd Moellmann <gerd@gnu.org>
2683
2684 * xfns.c (valid_image_p): Protect better against invalid image
2685 specifications. Previous code could signal an error.
2686
2687 2001-07-23 Gerd Moellmann <gerd@gnu.org>
2688
2689 * indent.c (current_column): Fix column computation in the
2690 presence of display table entries.
2691 (current_column_1, Fmove_to_column, compute_motion): Likewise.
2692
2693 * dispnew.c (adjust_glyph_matrix): In the optimization for
2694 windows whose height has changed, use the new window height
2695 to compute which rows to invalidate.
2696
2697 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
2698 (MAX_10_EXP): New macro.
2699 (Fformat): Use it.
2700
2701 * coding.c (code_convert_region): Handle the multibyte case if
2702 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
2703
2704 2001-07-20 Gerd Moellmann <gerd@gnu.org>
2705
2706 * dispextern.h (struct face): Change type of `stipple' to
2707 int; it's an ID.
2708
2709 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
2710
2711 2001-07-19 Gerd Moellmann <gerd@gnu.org>
2712
2713 * dispnew.c (update_window): Don't set the cursor at the end
2714 of the update if display update has been paused.
2715
2716 * composite.h (syms_of_composite): Renamed from syms_of_composition.
2717
2718 2001-07-18 Ken Raeburn <raeburn@gnu.org>
2719
2720 * fns.c (Fset_char_table_default): Check that a charset is defined
2721 before checking its dimension.
2722
2723 2001-07-17 Ken Raeburn <raeburn@gnu.org>
2724
2725 * coding.c (setup_coding_system): Don't do any designation based
2726 on reg_bits if charset is not yet defined.
2727
2728 * lisp.h (XVECTOR): Verify correct object type before returning a
2729 pointer, using eassert.
2730
2731 2001-07-17 Gerd Moellmann <gerd@gnu.org>
2732
2733 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
2734 Increase to 4096 because of paste problems reported on GNU/Linux.
2735
2736 2001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
2737
2738 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
2739
2740 2001-07-16 Gerd Moellmann <gerd@gnu.org>
2741
2742 * fileio.c (unwind_read): Function removed.
2743 (read_non_regular, read_non_regular_quit): New functions.
2744 (Finsert_file_contents): When reading from non-regular files,
2745 arrange to catch a `quit' and terminate the loop. Rearrange
2746 code so that a `quit' when reading from a regular file doesn't
2747 insert text in the buffer.
2748
2749 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
2750 Clear faces afterwards.
2751 (clear_font_table): Take a x_display_info parameter. Don't free
2752 fonts being the default font of any frame on the given display.
2753
2754 2001-07-13 Gerd Moellmann <gerd@gnu.org>
2755
2756 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
2757 instead of CHAR_STRING which can signal an error.
2758
2759 * charset.c (char_to_string_1): Extracted from char_to_string.
2760 Return -1 instead of signaling an error.
2761 (char_to_string): Use it.
2762
2763 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
2764
2765 2001-07-12 Stefan Monnier <monnier@cs.yale.edu>
2766
2767 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
2768 is t, don't try to append anything to it.
2769
2770 2001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
2771
2772 * dired.c (file_name_completion): Pass dp->d_name to
2773 Fstring_match, not elt, which is always nil here.
2774
2775 2001-07-12 Gerd Moellmann <gerd@gnu.org>
2776
2777 * xselect.c (x_decline_selection_request): Handle errors
2778 caused by receivers that have vanished.
2779
2780 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
2781 ignoring events on foreign windows in #if 0. Always dispatch
2782 the event after checking it with x_handle_property_notify.
2783
2784 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
2785 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
2786 TRACE macros to facilitate debugging. Add additional trace statements.
2787 (toplevel): Add prototypes for file-local functions.
2788 (x_atom_to_symbol): Remove DPYINFO parameter.
2789
2790 2001-07-11 Stefan Monnier <monnier@cs.yale.edu>
2791
2792 * w32menu.c (menubar_selection_callback, w32_menu_show):
2793 Initialize `entry' to nil.
2794 (w32_dialog_show): Remove unused `save_wv' variable.
2795 (name_is_separator): Recognize "--:foo" and "--foo-bar".
2796
2797 2001-07-11 Gerd Moellmann <gerd@gnu.org>
2798
2799 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
2800
2801 * fileio.c (unwind_read): Print a message when discarding inserted
2802 text or switching the buffer to unibyte. Change parameter.
2803 (Finsert_file_contents): Don't pass VISIT to unwind_read.
2804
2805 * fileio.c (unwind_read): New function.
2806 (Finsert_file_contents): Record it as unwind-function for
2807 the case that reading is interrupted by C-g.
2808
2809 2001-07-10 Gerd Moellmann <gerd@gnu.org>
2810
2811 * dispnew.c (update_window): Don't skip the header-line
2812 update when scrolling_window returns 0.
2813
2814 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
2815
2816 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
2817 for the case that x_decode_color signals an error.
2818
2819 * xdisp.c (add_to_log): Do nothing if called asynchronously.
2820
2821 2001-07-09 Gerd Moellmann <gerd@gnu.org>
2822
2823 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
2824 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
2825 around ioctls.
2826
2827 2001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
2828
2829 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
2830 doc string line for dos-timezone-offset.
2831
2832 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
2833 inline assembly, to avoid compiler warnings.
2834 (syms_of_msdos): Add \n\ at the end of a line in the doc string
2835 line for dos-unsupported-char-glyph.
2836
2837 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
2838
2839 2001-07-05 Gerd Moellmann <gerd@gnu.org>
2840
2841 * sound.c: Include Emacs' header files with #include "...".
2842
2843 * eval.c (specbind): Additionally record the buffer that was
2844 current when a buffer-local or frame-local variable was bound.
2845
2846 2001-07-04 Gerd Moellmann <gerd@gnu.org>
2847
2848 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
2849 to unibyte characters in unibyte buffers.
2850
2851 2001-07-03 Gerd Moellmann <gerd@gnu.org>
2852
2853 * eval.c (specbind): If SYMBOL has a frame-local binding, record
2854 the frame on the binding stack. Change format of entries for
2855 local bindings on the binding stack to '(SYMBOL . WHERE)'.
2856 (unbind_to): Handle unbinding a frame-local variable.
2857
2858 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
2859 glyphs and truncation glyphs at the end of a row from its pixel width.
2860 (dump_glyph_row): Print row's continuation_lines_width.
2861 (try_window_id): Take the shortcut if ZV is visible in the
2862 window, but there are actually no changes at ZV.
2863
2864 2001-07-02 Gerd Moellmann <gerd@gnu.org>
2865
2866 * xterm.h (x_free_dpy_colors): Add prototype.
2867
2868 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
2869 right number of arguments.
2870
2871 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
2872 ($(lwlibdir)TAGS): New target.
2873 (TAGS): Fix dependency list.
2874
2875 * xterm.c (x_list_fonts): Make sure XFreeFont is called
2876 with input blocked.
2877
2878 2001-06-30 Gerd Moellmann <gerd@gnu.org>
2879
2880 * emacs.c (main): Remove extern declaration for sys_nerr, which
2881 isn't used and causes a compilation error with GCC 3.0 on
2882 FreeBSD 4.3.
2883
2884 2001-06-27 Gerd Moellmann <gerd@gnu.org>
2885
2886 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
2887 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
2888 (toplevel): Include <signal.h> and syssignal.h.
2889
2890 * sound.c (vox_configure, vox_close): Turn off atimers
2891 around ioctls.
2892
2893 2001-06-26 Gerd Moellmann <gerd@gnu.org>
2894
2895 * keyboard.c (read_char) <non_reread>: Record the previous idle
2896 start time before calling timer_stop_idle.
2897 (read_char) <reread_first>: After processing a help-echo event,
2898 restore the previous idle start time.
2899
2900 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
2901 the start of invisible text.
2902 (setup_for_ellipsis): New function.
2903 (next_overlay_string): After all overlay strings have been
2904 processed, display an ellipsis if necessary.
2905 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
2906 (push_it): Initialize display_ellipsis_p on the iterator's stack.
2907
2908 * dispextern.h (struct iterator_stack_entry): Add member
2909 display_ellipsis_p.
2910
2911 2001-06-25 Gerd Moellmann <gerd@gnu.org>
2912
2913 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
2914 on the value of the wait-for-wm frame parameter.
2915
2916 * xterm.h (struct x_output): Add member wait_for_wm.
2917
2918 * xfns.c (Qwait_for_wm): New variable.
2919 (x_frame_parms): Add entry for `wait-for-wm".
2920 (x_set_wait_for_wm): New function.
2921 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
2922 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
2923
2924 * xdisp.c (try_window_id) <all changes below window end>: Don't
2925 take this shortcut if ZV is visible in the window.
2926 (try_window_id): When checking for window start being in changed
2927 text, don't check that the buffer's size has changed.
2928
2929 2001-06-23 Richard M. Stallman <rms@gnu.org>
2930
2931 * minibuf.c (Fcompleting_read): Doc fix.
2932
2933 2001-06-19 Gerd Moellmann <gerd@gnu.org>
2934
2935 * composite.c (Ffind_composition_internal): Accept ZV
2936 and a string's end position as POS.
2937
2938 2001-06-18 Gerd Moellmann <gerd@gnu.org>
2939
2940 * composite.c (Ffind_composition_internal): Check POS
2941 for validity.
2942
2943 2001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2944
2945 * editfns.c (Fmessage_box): If the frame is not under a window
2946 system, output the message in the echo area.
2947
2948 2001-06-14 Richard M. Stallman <rms@gnu.org>
2949
2950 * xdisp.c (try_window_id): When EOB is visible, don't treat
2951 insertion at EOB as if it were "off the bottom of the screen."
2952
2953 2001-06-11 Andrew Innes <andrewi@gnu.org>
2954
2955 * w32proc.c (create_child): Add new parameter is_gui_app.
2956 (w32_executable_type): Add new parameter is_gui_app.
2957 (sys_spawnve): Use it.
2958 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
2959 SIGQUIT. This matches better how the signals are interpreted by
2960 MSVC compiled programs.
2961 (syms_of_ntproc): Update docstring.
2962
2963 2001-06-02 Stefan Monnier <monnier@cs.yale.edu>
2964
2965 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
2966 well otherwise note_mouse_highlight might optimize away highlighting
2967 if we pass over that same overlay again.
2968
2969 2001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
2970
2971 * lread.c (Fload): Document that the argument is run via
2972 substitute-in-file-name.
2973
2974 2001-05-31 Gerd Moellmann <gerd@gnu.org>
2975
2976 * Makefile.in (bootstrap-doc): New target.
2977 (bootstrap-emacs): Depend on it.
2978
2979 * fileio.c (Fdo_auto_save): Don't try to create the directory of
2980 auto-save-list-file-name when shutting down Emacs, because
2981 creating the directory might signal an error, and leaves
2982 Emacs in a strange state.
2983
2984 * term.c: (tty_cursor_hidden): New variable.
2985 (update_begin): Don't call tty_hide_cursor. Clean up.
2986 (update_end, set_terminal_window, set_scroll_region): Clean up.
2987 (ring_bell, reset_terminal_modes): Clean up.
2988 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
2989 on tty_cursor_hidden.
2990 (write_glyphs): Call tty_hide_cursor.
2991
2992 2001-05-30 Stefan Monnier <monnier@cs.yale.edu>
2993
2994 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
2995
2996 2001-05-30 Gerd Moellmann <gerd@gnu.org>
2997
2998 * xfns.c (enum image_value_type): New enumerator
2999 IMAGE_STRING_OR_NIL_VALUE.
3000 (parse_image_spec): Handle it.
3001 (xbm_format, pbm_format): Use it for :foreground and :background.
3002 (xbm_load, pbm_load): Check for nil color names.
3003
3004 * xterm.c (note_mouse_highlight): If an overlapping overlay
3005 exists, but we find that we highlight the same overlay as before,
3006 don't do the highlighting again.
3007
3008 2001-05-29 Gerd Moellmann <gerd@gnu.org>
3009
3010 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
3011 Protect unibyte strings created by replacing their multibyte
3012 equivalents in menu_items.
3013
3014 * keymap.c (Fsingle_key_description): NUL-terminate the string
3015 buffer before calling build_string.
3016
3017 * callproc.c (Fcall_process): Deal with decode_coding returning
3018 CODING_FINISH_INCONSISTENT_EOL.
3019
3020 2001-05-28 Gerd Moellmann <gerd@gnu.org>
3021
3022 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3023 an item's name with its key description in case the description
3024 is a multibyte string.
3025
3026 * keymap.c (Fsingle_key_description): Create a multibyte string
3027 only if necessary.
3028
3029 * macros.c (Fstart_kbd_macro): Doc fix.
3030
3031 * xterm.c (cursor_in_mouse_face_p): New function.
3032 (x_draw_stretch_glyph_string): Use it to choose a different GC
3033 when drawing a cursor within highlighted text.
3034
3035 * editfns.c (char_property_eq): Put in #if 0.
3036
3037 * indent.c (string_display_width): Put in #if 0.
3038
3039 * lread.c (Fload): Remove unused label.
3040
3041 * termcap.c (speeds): Put in #if 0.
3042
3043 2001-05-18 Gerd Moellmann <gerd@gnu.org>
3044
3045 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
3046
3047 * xfaces.c (xlfd_point_size): Don't divide pixel size from
3048 transformation matrix by 10.
3049
3050 2001-05-16 Gerd Moellmann <gerd@gnu.org>
3051
3052 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
3053 only if it's equal to the former foreground pixel color.
3054 (x_set_foreground_color, x_set_background_color)
3055 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
3056
3057 2001-05-16 Dave Love <fx@gnu.org>
3058
3059 * insdel.c (signal_before_change, signal_after_change): Consider a
3060 local change hook which changes the buffer.
3061
3062 * process.c (read_process_output): Don't call signal_after_change
3063 and update_compositions after insert_from_string_before_markers.
3064
3065 2001-05-16 Gerd Moellmann <gerd@gnu.org>
3066
3067 * xfaces.c (split_font_name): Use the right field when
3068 checking for `[...]' syntax.
3069
3070 * buffer.c (copy_overlays): New function.
3071 (clone_per_buffer_values): Use it.
3072
3073 * buffer.h (OVERLAY_PLIST): New macro.
3074
3075 * keymap.c (Fsingle_key_description): Replace a build_string with
3076 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
3077
3078 * fontset.c (Ffontset_info): Check that face is non-null
3079 before accessing its fields.
3080
3081 2001-05-15 Gerd Moellmann <gerd@gnu.org>
3082
3083 * keyboard.c (read_key_sequence): Prevent generating a fake
3084 prefix key twice.
3085
3086 * xfaces.c (split_font_name): Handle `[...]' for the right
3087 font name fields.
3088
3089 * ccl.c (ccl_driver): Don't copy remaining bytes in case
3090 of CCL_STAT_INVALID_CMD.
3091
3092 2001-05-14 Stefan Monnier <monnier@cs.yale.edu>
3093
3094 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
3095 in <var> has no default value yet.
3096
3097 * xfaces.c (try_alternative_families): First try the FAMILY.
3098 And if nothing is found in the end, try again with scalable fonts.
3099 (try_font_list): Let try_alternative_families do a bit more of
3100 the work. Only use FAMILY if it is not nil.
3101 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
3102
3103 2001-05-14 Gerd Moellmann <gerd@gnu.org>
3104
3105 * xterm.c (note_mouse_highlight): Avoid changing the mouse
3106 pointer shape when show_mouse_face has already done it.
3107
3108 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
3109 full-width rows.
3110
3111 * xfaces.c (split_font_name): Make sure to leave the loop
3112 with the right value of `i'.
3113
3114 * xfaces.c (split_font_name): Handle matrix transformations
3115 in the pixel and point size fields of XLFD font names.
3116 (xlfd_point_size): Likewise.
3117
3118 2001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
3119
3120 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
3121 (x_to_w32_font): Add prototype.
3122
3123 * regex.c (malloc, realloc, free) [emacs]: Undefine before
3124 redefining, to avoid compiler warnings.
3125
3126 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
3127
3128 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
3129 (w32_get_bdf_glyph): Cast between unsigned char and char when
3130 passing arguments to subroutines, to shut up compiler warnings.
3131 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
3132 GET_HEX_VAL.
3133
3134 * xfaces.c: Include keyboard.h before frame.h, not after it.
3135
3136 * widget.c: Include keyboard.h before frame.h.
3137
3138 * w32term.h (struct image, struct face): Forward declaration, to
3139 avoid compiler warnings.
3140
3141 2001-05-11 Gerd Moellmann <gerd@gnu.org>
3142
3143 * keyboard.c (read_key_sequence): Don't modify events when
3144 generating fake prefix keys (mode-line, scroll-bar, ...) since
3145 this prevents proper processing of such events when pushed back
3146 into unread-command-events.
3147
3148 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
3149 actually redrawn. Make the function static.
3150 (note_mouse_highlight): Fix a case where the mouse cursor
3151 was changed back to the text cursor.
3152
3153 * xterm.h (clear_mouse_face): Remove prototype.
3154
3155 * xdisp.c (try_window_id): Fix the fix and set the right
3156 window_end_vpos.
3157
3158 * xdisp.c (try_window_id): Fix computation of window end in the
3159 case that lines were deleted at the end of the window. Add some
3160 more debug_method_adds.
3161
3162 * xfaces.c (try_alternative_families): New function.
3163 (try_font_list): Use it. If ATTRS specifies a family, check
3164 fonts from that family first.
3165 (choose_face_font): Remove code setting the family part of
3166 the pattern to nil.
3167
3168 2001-05-10 Gerd Moellmann <gerd@gnu.org>
3169
3170 * xdisp.c (try_window_id): Fix case of all changes before
3171 the window start.
3172
3173 * xdisp.c (try_window_id): Add some xasserts.
3174
3175 2001-05-09 Gerd Moellmann <gerd@gnu.org>
3176
3177 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
3178
3179 2001-05-09 Dave Love <fx@gnu.org>
3180
3181 * xdisp.c (GIVE_UP): Fix for K&R C.
3182
3183 2001-05-09 Gerd Moellmann <gerd@gnu.org>
3184
3185 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
3186
3187 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
3188 back to the text cursor shape without need.
3189
3190 2001-05-07 Gerd Moellmann <gerd@gnu.org>
3191
3192 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
3193
3194 * dispextern.h (inverse_video): Declare extern.
3195
3196 * keyboard.c (delete_kboard): Handle the case that selected_frame
3197 has been deleted in the course of x_connection_closed.
3198
3199 2001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
3200
3201 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
3202 Fix the change from 2001-04-30.
3203
3204 2001-05-03 Gerd Moellmann <gerd@gnu.org>
3205
3206 * xfns.c (file_dialog_unmap_cb): New function.
3207 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
3208 where a dialog is closed via the window manager.
3209
3210 * xdisp.c (try_window_id): Cases of changes all in front of
3211 the window start or all below the window end mostly rewritten.
3212 (redisplay_window): Move the tests if try_window_id is
3213 applicable to try_window_id.
3214 (GIVE_UP): New macro.
3215
3216 2001-05-02 Gerd Moellmann <gerd@gnu.org>
3217
3218 * xterm.c (expose_window): Return int. If W is the window
3219 currently being updated, mark the frame garbaged.
3220 Fix computation of rows intersecting the exposed rectangle.
3221 (expose_window_tree): Stop when expose_window returns 0.
3222
3223 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
3224 again if it has already been drawn.
3225
3226 2001-05-01 Stefan Monnier <monnier@cs.yale.edu>
3227
3228 * syntax.c (update_syntax_table): Check that oldi has the same
3229 properties as old_prop before deciding not to invalidate.
3230
3231 2001-04-30 Gerd Moellmann <gerd@gnu.org>
3232
3233 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
3234 read-only text that is so because of text properties.
3235
3236 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
3237 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
3238 windows that are components of a Lucid menu bar.
3239
3240 2001-04-27 Gerd Moellmann <gerd@gnu.org>
3241
3242 * term.c (turn_on_face): Fix reverse video handling on terminals
3243 that don't support colors.
3244
3245 2001-04-26 Gerd Moellmann <gerd@gnu.org>
3246
3247 * editfns.c (save_excursion_restore): Don't use XBUFFER on
3248 a non-buffer.
3249
3250 2001-04-25 Gerd Moellmann <gerd@gnu.org>
3251
3252 * term.c (toggle_highlight): New function.
3253 (turn_on_face): Change handling of reverse video.
3254
3255 * process.c (wait_reading_process_input):
3256 Call record_asynch_buffer_change only if a timer really changed buffers.
3257
3258 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
3259 of the number of overlays to check.
3260
3261 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
3262
3263 * xdisp.c (try_window_id): Fix a case where window_end_pos
3264 and window_end_bytepos were not adjusted.
3265
3266 2001-04-23 Gerd Moellmann <gerd@gnu.org>
3267
3268 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
3269 zero instead of -1.
3270
3271 2001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
3272
3273 * process.c (wait_reading_process_input) [!subprocesses]:
3274 Don't reference waiting_for_user_input_p, it's not defined in the
3275 branch without async subprocesses support.
3276
3277 2001-04-19 Gerd Moellmann <gerd@gnu.org>
3278
3279 * keyboard.c (delete_kboard): Prevent a dangling reference
3280 from current_kboard to KB, which is freed.
3281
3282 * process.c (wait_reading_process_input):
3283 Call record_asynch_buffer_change after running timers, to make
3284 read_key_sequence aware of buffer changes from under it.
3285
3286 2001-04-18 Gerd Moellmann <gerd@gnu.org>
3287
3288 * xfaces.c (Qscalable_fonts_allowed): New variable.
3289 (realizing_basic_faces_p): Removed.
3290 (x_face_list_fonts): Special handling for realizing_basic_faces_p
3291 removed.
3292 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
3293 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
3294 for scalable-fonts-allowed to t.
3295
3296 * fileio.c (Finsert_file_contents): If the file size returned from
3297 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
3298 read from files on a procfs whose contents are generated dynamically.
3299
3300 2001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
3301
3302 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
3303 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
3304 (__memalign_hook): Make the two prototypes consistent.
3305
3306 2001-04-17 Gerd Moellmann <gerd@gnu.org>
3307
3308 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
3309 matrix of mini-windows.
3310
3311 2001-04-12 Stefan Monnier <monnier@cs.yale.edu>
3312
3313 * intervals.c (find_interval): Don't rebalance during signal handling.
3314
3315 2001-04-11 Gerd Moellmann <gerd@gnu.org>
3316
3317 * fns.c: Include blockinput.h.
3318
3319 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
3320
3321 2001-04-10 Gerd Moellmann <gerd@gnu.org>
3322
3323 * fns.c (Fcompare_strings): Fix return values.
3324
3325 * window.c (window_scroll): Change the meaning of N to mean
3326 N screen-fulls or N lines.
3327 (window_scroll_pixel_based, window_scroll_line_based)
3328 (scroll_command, Fscroll_other_window): Change accordingly.
3329
3330 * window.c (window_scroll_pixel_based, Frecenter):
3331 Call window_box_height instead of using it.last_visible_y for the
3332 height of the window.
3333
3334 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
3335 instead of using it.last_visible_y for the height of the window.
3336
3337 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
3338 From Dan Holmsand <dan@eyebee.com>.
3339
3340 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
3341 able to write to hidden and system files. From Dan Holmsand
3342 <dan@eyebee.com>.
3343
3344 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
3345 Holmsand <dan@eyebee.com>.
3346
3347 2001-04-09 Gerd Moellmann <gerd@gnu.org>
3348
3349 * fns.c (Fplist_get, Fplist_put): Add QUITs.
3350
3351 * window.c (window_internal_height): Return 1 less if the
3352 window has a header line.
3353
3354 * xdisp.c (try_window_id): When scrolling on a terminal, take
3355 the change of window_internal_height into account.
3356
3357 2001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
3358
3359 * gmalloc.c (align): If the argument SIZE would overflow
3360 __malloc_ptrdiff_t, fail right away.
3361
3362 2001-04-06 Gerd Moellmann <gerd@gnu.org>
3363
3364 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
3365 Make sure the tooltip is completely visible.
3366 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
3367
3368 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
3369
3370 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
3371
3372 2001-04-06 Dave Love <fx@gnu.org>
3373
3374 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
3375 Fix test of `from'.
3376
3377 2001-04-06 Gerd Moellmann <gerd@gnu.org>
3378
3379 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
3380
3381 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
3382
3383 2001-04-05 Gerd Moellmann <gerd@gnu.org>
3384
3385 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
3386
3387 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
3388
3389 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
3390 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
3391
3392 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
3393 shell widget's position only if it is non-null.
3394
3395 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
3396 Set f->output_data.x->widget to null after destroying it.
3397
3398 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
3399 FILENAME to bring it in synch with the documentation.
3400
3401 * xfaces.c (realizing_basic_faces_p): Renamed from
3402 realize_default_face_p.
3403 (realize_basic_faces): Set/clear realizing_basic_faces_p.
3404 (realize_default_face): Don't set the flag.
3405
3406 2001-04-04 Gerd Moellmann <gerd@gnu.org>
3407
3408 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
3409
3410 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
3411
3412 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
3413 the buffer that was used for echoing.
3414
3415 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
3416 (first_font_matching): Removed unused function.
3417 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
3418 (may_use_scalable_font_p): Remove parameter FONT; rename
3419 parameter NAME to FONT.
3420 (x_face_list_fonts): Fix missing bounds check.
3421 (realizing_default_face_p): New variable.
3422 (realize_default_face): Set and clear that flag.
3423 (x_face_list_fonts): When called during the realization of the
3424 default face, and no matching fonts are found when ignoring
3425 scalable fonts and fonts matching a regexp from
3426 face-ignored-fonts, try without ignoring fonts.
3427
3428 2001-04-03 Gerd Moellmann <gerd@gnu.org>
3429
3430 * xfns.c (postprocess_image): New function.
3431 (lookup_image): Call it for all image types except PostScript.
3432 (x_kill_gs_process): Call postprocess_image.
3433
3434 * xterm.c (x_use_underline_position_properties): New variable.
3435 (x_draw_glyph_string): Use it.
3436 (syms_of_xterm): DEFVAR_BOOL it.
3437
3438 2001-04-02 Gerd Moellmann <gerd@gnu.org>
3439
3440 * xterm.c (x_alloc_nearest_color_1): New function.
3441 (x_alloc_nearest_color): Use it.
3442 (x_color_cells): Take a Display as argument, instead of a frame.
3443 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
3444 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
3445 (x_initialize): Register cvt_string_to_pixel as resource converter
3446 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
3447
3448 2001-03-30 Gerd Moellmann <gerd@gnu.org>
3449
3450 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
3451 (set_iterator_to_next): If a string from a display property ends,
3452 consider the case that this might also be the end of an
3453 overlay string having the display property.
3454
3455 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
3456
3457 * xdisp.c (reseat_to_string): Undo last change.
3458
3459 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
3460 matrix of a window when the header line changes, when
3461 new rows are allocated, or when the width changes.
3462
3463 2001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
3464
3465 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
3466
3467 2001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
3468
3469 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
3470 deprecated.
3471
3472 2001-03-29 Gerd Moellmann <gerd@gnu.org>
3473
3474 * data.c (Fsubr_interactive_form): New function.
3475 (syms_of_data): Defsubr it.
3476
3477 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
3478 (live_float_p, live_misc_p): Return 1 only if the offset of the
3479 pointer in its block is >= 0.
3480
3481 2001-03-28 Paul Eggert <eggert@twinsun.com>
3482
3483 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
3484 microseconds calcuation. Avoid double-rounding problem.
3485 In doc string, warn that the result is approximate.
3486
3487 2001-03-28 Gerd Moellmann <gerd@gnu.org>
3488
3489 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
3490 bind `inhibit-eval-during-redisplay' to t.
3491
3492 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
3493
3494 * xdisp.c (inhibit_eval_during_redisplay)
3495 (Qinhibit_eval_during_redisplay): New variables.
3496 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
3497 don't eval, return nil instead.
3498 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
3499 Initialize Qinhibit_eval_during_redisplay.
3500
3501 * xdisp.c (reseat_to_string): If STRING is multibyte, set
3502 the iterator's multibyte_p flag.
3503
3504 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
3505 instead of setting it to zero; it's incremented for each frame
3506 where the menu face is changed.
3507
3508 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
3509 change bottom shadow accordingly.
3510
3511 * xterm.c (expose_window_tree, expose_frame): Don't compute
3512 intersections here.
3513 (expose_window): Do it here instead.
3514 (x_draw_glyph_string): Fix a computation of the underline position.
3515
3516 * bytecode.c (BYTE_CODE_QUIT): New macro.
3517 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
3518
3519 2001-03-27 Gerd Moellmann <gerd@gnu.org>
3520
3521 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
3522 Give up if matrix starts in an ellipsis.
3523 (init_from_display_pos): Do nothing if POS doesn't specify
3524 a dpvec_index but the iterator has such a position.
3525
3526 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
3527
3528 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
3529 x/y position is (0, 0) after destroying the menu bar, restore
3530 its original position.
3531
3532 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
3533 (init_from_display_pos): Use it.
3534 (try_window_reusing_current_matrix): Don't use cursor_row_p.
3535
3536 2001-03-26 Gerd Moellmann <gerd@gnu.org>
3537
3538 * xdisp.c (try_window_id): Undo last change.
3539
3540 2001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
3541
3542 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
3543
3544 * buffer.c (syms_of_buffer): Doc fix.
3545
3546 2001-03-26 Gerd Moellmann <gerd@gnu.org>
3547
3548 * xfaces.c (x_update_menu_appearance): Use local variable
3549 popup_path for setting font resources.
3550
3551 2001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
3552
3553 * frame.c (Fframe_list): Don't reference tip_frame if
3554 HAVE_WINDOW_SYSTEM is not defined.
3555
3556 * emacs.c (main): Update the copyright year. From Werner LEMBERG
3557 <wl@gnu.org>.
3558
3559 2001-03-25 Gerd Moellmann <gerd@gnu.org>
3560
3561 * xdisp.c (init_from_display_pos): Test invisible property
3562 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
3563
3564 * xdisp.c (redisplay_internal) <update one window>: Make sure
3565 last_arrow_position and last_arrow_string are set.
3566
3567 * frame.c (Fframe_list): Don't return a tooltip frame.
3568
3569 2001-03-23 Gerd Moellmann <gerd@gnu.org>
3570
3571 * xdisp.c (mark_window_display_accurate_1): New function,
3572 extracted from mark_window_display_accurate.
3573 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
3574 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
3575 (mark_window_display_accurate): Use it.
3576 (redisplay_internal): Use it for the selected window.
3577 (redisplay_internal): Avoid duplicate mark_window_display_accurate
3578 for the selected frame.
3579
3580 * xdisp.c Use make_number, for readability.
3581 (try_window_id): Disable rows below the window end.
3582 (try_window_reusing_current_matrix): Use cursor_row_p.
3583 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
3584 of rows.
3585 (init_from_display_pos): If POS specifies a position in a display
3586 vector, maybe get the iterator set up for that ellipsis.
3587
3588 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
3589
3590 2001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
3591
3592 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
3593
3594 2001-03-23 Gerd Moellmann <gerd@gnu.org>
3595
3596 * xfaces.c (x_update_menu_appearance): Use a different path
3597 for Lucid popup menus.
3598
3599 2001-03-22 Stefan Monnier <monnier@cs.yale.edu>
3600
3601 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
3602
3603 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
3604 (string_buffer_position): Use `make_number'.
3605
3606 2001-03-22 Gerd Moellmann <gerd@gnu.org>
3607
3608 * xfaces.c (x_update_menu_appearance): Renamed from
3609 x_set_menu_face_resources. Use different resources for popups.
3610
3611 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
3612 (GC_CHECK_STRING_BYTES): Don't define.
3613
3614 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
3615 Removed, together with subroutines.
3616 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
3617 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
3618
3619 * dispextern.h (x_set_menu_resources_from_menu_face):
3620 Remove prototype.
3621
3622 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
3623 Remove calls to x_set_menu_resources_from_menu_face.
3624
3625 * xfaces.c (xm_set_menu_resources_from_menu_face):
3626 Remove #ifndef LESSTIF_VERSION.
3627
3628 * xmenu.c: Include widget.h.
3629 (single_submenu): Return int. Some cleanup.
3630 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
3631
3632 2001-03-21 Gerd Moellmann <gerd@gnu.org>
3633
3634 * xterm.c (x_update_window_end): Handle overwritten mouse face
3635 also for tool bar windows.
3636 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
3637 DRAW is DRAW_IMAGE_RAISED.
3638
3639 2001-03-20 Gerd Moellmann <gerd@gnu.org>
3640
3641 * print.c (syms_of_print): Doc fixes.
3642
3643 * fns.c (Fmd5): Doc fix.
3644
3645 2001-03-19 Gerd Moellmann <gerd@gnu.org>
3646
3647 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
3648 Clear area of the frame not occupied by the scroll bar.
3649
3650 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
3651 tip frame's root window buffer to *tip* right after creating
3652 the frame.
3653
3654 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
3655 is an integer don't have to be for space characters.
3656
3657 2001-03-16 Gerd Moellmann <gerd@gnu.org>
3658
3659 * indent.c (current_column, current_column_1, Fmove_to_column)
3660 (compute_motion): Handle characters from display vectors differently.
3661
3662 2001-03-15 Kenichi Handa <handa@etl.go.jp>
3663
3664 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
3665 drawing glyph string.
3666
3667 2001-03-15 Gerd Moellmann <gerd@gnu.org>
3668
3669 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
3670 (command_loop_1): Undo last change.
3671
3672 * xterm.c (fast_find_position): Return the correct vpos.
3673
3674 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
3675 non-null, set a per-buffer value in BUF instead of the current buffer.
3676 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
3677 Call store_symval_forwarding with BUF null.
3678 (set_internal): Call store_symval_forwarding with the BUF
3679 parameter passed to set_internal. Formerly, the value was always
3680 set in the current buffer; the buffer recorded in specbind for
3681 this case wasn't used.
3682 (arith_driver): Reindent.
3683
3684 * buffer.c (swap_out_buffer_local_variables):
3685 Call store_symval_forwarding with BUF null.
3686
3687 * lisp.h (store_symval_forwarding): Change prototype.
3688
3689 * eval.c (specbind): Call store_symval_forwarding with BUF null.
3690
3691 2001-03-14 Gerd Moellmann <gerd@gnu.org>
3692
3693 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
3694 FOR_DELETION. Avoid resizing the mini-window of the selected
3695 frame if FOR_DELETION is set.
3696 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
3697 (Fmake_frame_invisible): Change calls to do_switch_frame for new
3698 signature.
3699
3700 * window.c (Fset_window_configuration): Change call to
3701 do_switch_frame to new format.
3702
3703 * keyboard.c (quit_throw_to_read_char): Change call to
3704 do_switch_frame to new format.
3705
3706 * lisp.h (do_switch_frame): Change prototype.
3707
3708 * frame.c (Fframe_parameters): In the `buffer-list' frame
3709 parameter, store the buffer list of FRAME, not the list of the
3710 selected frame.
3711
3712 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
3713 box just because the glyph row's full_width_p flag is set.
3714
3715 2001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
3716
3717 * xdisp.c (highlight_trailing_whitespace): On character terminals,
3718 skip the padding blanks inserted in extend_face_to_end_of_line,
3719 before checking for trailing whitespace.
3720
3721 2001-03-13 Gerd Moellmann <gerd@gnu.org>
3722
3723 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
3724 Remove special handling for LessTif/Motif.
3725 (toplevel): Don't include Xm/Xm.h.
3726
3727 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
3728 Remove workaround code for LessTif; it doesn't work anymore.
3729
3730 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
3731 Xm/ScrollBarP.h.
3732
3733 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
3734 Don't access private scroll bar data; it's no longer necessary with
3735 contemporary LessTif.
3736
3737 * xfaces.c (xm_set_menu_resources_from_menu_face):
3738 Change #if 0 to #ifndef LESSTIF_VERSION.
3739
3740 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
3741 removing button grabs.
3742
3743 2001-03-13 Kenichi Handa <handa@etl.go.jp>
3744
3745 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
3746 and clip-large-size-font as obsolete.
3747
3748 * lread.c (read_multibyte): Check the validity of multibyte
3749 sequence. If invalid, return the first byte.
3750
3751 2001-03-12 Gerd Moellmann <gerd@gnu.org>
3752
3753 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
3754 before running the command; timer functions or process
3755 filters may have set it.
3756
3757 2001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
3758
3759 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
3760 Doc fix.
3761
3762 2001-03-12 Gerd Moellmann <gerd@gnu.org>
3763
3764 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
3765 to sprintf.
3766
3767 2001-03-09 Gerd Moellmann <gerd@gnu.org>
3768
3769 * dispextern.h (string_buffer_position): Add prototype.
3770
3771 * xdisp.c (string_buffer_position, display_prop_string_p)
3772 (single_display_prop_string_p): New functions.
3773
3774 * xterm.c (note_mouse_highlight): If there's no help-echo on
3775 a string, look at the buffer text ``under'' it.
3776
3777 * keyboard.c (make_lispy_event): Add string info to the event,
3778 analogous to what's done on mode lines.
3779 (read_key_sequence): For a click on a string, consider `local-map'
3780 and `keymap' of that string.
3781
3782 * keyboard.c (make_lispy_event, make_lispy_movement):
3783 Adjust calls to buffer_posn_from_coords to new format.
3784
3785 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
3786
3787 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
3788 POS; return void.
3789
3790 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
3791 flags argument to emacs_open; it seems to conflict with O_EXCL.
3792
3793 2001-03-09 Kenichi Handa <handa@etl.go.jp>
3794
3795 * composite.h (struct composition): Change types of members;
3796 glyph_len to unsigned, width to unsigned short.
3797
3798 2001-03-08 Andrew Innes <andrewi@gnu.org>
3799
3800 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
3801 menu titles.
3802
3803 2001-03-08 Gerd Moellmann <gerd@gnu.org>
3804
3805 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
3806 instead of nil.
3807
3808 * xterm.c (note_mouse_highlight): Handle mouse-face and
3809 help-echo in strings.
3810 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
3811 (fast_find_string_pos): New function.
3812
3813 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
3814 (display_string): Call face_at_string_position with new parameter.
3815
3816 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
3817 Handle `mouse-face'.
3818
3819 * dispextern.h (face_at_string_position): Change prototype.
3820
3821 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
3822
3823 * keyboard.c (make_lispy_event): Avoid generating drag events
3824 if the mouse hasn't actually moved to another buffer position.
3825
3826 2001-03-08 Dave Love <fx@gnu.org>
3827
3828 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
3829
3830 2001-03-08 Gerd Moellmann <gerd@gnu.org>
3831
3832 * process.c (Fset_process_window_size): Fix a typo.
3833
3834 2001-03-08 Kenichi Handa <handa@etl.go.jp>
3835
3836 * coding.c (detect_coding_sjis): Do more rigid check.
3837 (detect_coding_big5): Likewise.
3838 (decode_coding_sjis_big5): Likewise.
3839 (Fdetect_coding_region): Call detect_coding_system with tailing
3840 anchor byte `\0' for more rigid detection.
3841 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
3842 (Fdetect_coding_string): Likewise.
3843
3844 2001-03-07 Stefan Monnier <monnier@cs.yale.edu>
3845
3846 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
3847 a string before extracting its data.
3848
3849 2001-03-07 Gerd Moellmann <gerd@gnu.org>
3850
3851 * window.c (Frecenter): Rewrite code handling negative values
3852 of ARG on graphical frames.
3853
3854 2001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
3855
3856 * window.c (displayed_window_lines): If W->start is outside the
3857 accessible portion of the buffer, call start_display with BEGV or
3858 ZV instead of W->start.
3859
3860 2001-03-07 Gerd Moellmann <gerd@gnu.org>
3861
3862 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
3863
3864 * process.c (Fset_process_filter): Don't crash if the input
3865 file descriptor of PROCESS is closed.
3866 (Fset_process_window_size): Likewise.
3867
3868 2001-03-06 Kenichi Handa <handa@etl.go.jp>
3869
3870 * xterm.c (XTflash): Make the timeout of select shorter, and call
3871 select repeatedly until the desired time expires.
3872
3873 2001-03-06 Gerd Moellmann <gerd@gnu.org>
3874
3875 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
3876
3877 * xfns.c (Fx_create_frame): Clear Vwindow_list.
3878
3879 * lisp.h (Vwindow_list): Declare extern.
3880
3881 2001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
3882
3883 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
3884
3885 2001-03-06 Gerd Moellmann <gerd@gnu.org>
3886
3887 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
3888 to detect a case where we have to highlight a different region
3889 despite not having left the currently highlighted region.
3890 Set mouse_face_overlay in the x_display_info.
3891 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
3892
3893 * xterm.h (struct x_display_info): Add mouse_face_overlay.
3894
3895 * buffer.c (mouse_face_overlay_overlaps): New function.
3896
3897 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
3898 (Qmouse_face): Declare extern.
3899
3900 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
3901 if face_change_count is non-zero.
3902
3903 2001-03-06 Kenichi Handa <handa@etl.go.jp>
3904
3905 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
3906 that the source is unibyte.
3907
3908 2001-03-05 Dave Love <fx@gnu.org>
3909
3910 * xterm.c (XTmouse_position): Fix typo.
3911
3912 2001-03-05 Gerd Moellmann <gerd@gnu.org>
3913
3914 * minibuf.c (read_minibuf): Clean up the binding stack if
3915 called noninteractively.
3916
3917 2001-03-05 Kenichi Handa <handa@etl.go.jp>
3918
3919 * coding.c (syms_of_coding): Docstring modified.
3920
3921 2001-03-05 Kenichi Handa <handa@etl.go.jp>
3922
3923 * charset.c (char_to_string): If a single byte char has modifier
3924 bits that can't be reflected to the character code, ignore them
3925 instead of signaling an error.
3926
3927 2001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
3928
3929 * s/msdos.h: Update copyright notice.
3930
3931 * dosfns.h: Update copyright notice.
3932
3933 * dosfns.c: Update copyright notice.
3934
3935 * msdos.c: Update copyright notice.
3936
3937 2001-03-02 Gerd Moellmann <gerd@gnu.org>
3938
3939 * xterm.c (glyph_rect): New function.
3940 (XTmouse_position): Use it to raise the threshold for mouse
3941 movement event generation.
3942
3943 2001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
3944
3945 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
3946 specifies (reverse . t), reverse the initial screen colors.
3947 (IT_set_frame_parameters): If the property is foreground-color,
3948 but we are reversing the colors, set bg_set, not fg_set.
3949 Likewise for setting background-color and reversing: set fg_set.
3950 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
3951 in effect.
3952
3953 * xfaces.c (Finternal_set_lisp_face_attribute)
3954 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
3955 parameters alist.
3956
3957 2001-03-02 Gerd Moellmann <gerd@gnu.org>
3958
3959 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
3960 to a single slash in the middle of file names.
3961
3962 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
3963 Accept only alphanumeric time zone names.
3964
3965 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
3966 or width area.
3967 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
3968 a widget to zero height.
3969
3970 2001-03-01 Gerd Moellmann <gerd@gnu.org>
3971
3972 * window.c (Fwindow_end): Call move_it_past_eol only if
3973 ending up on a partially visible line.
3974
3975 2001-03-01 Dave Love <fx@gnu.org>
3976
3977 * ccl.c (Fccl_execute): Doc fix.
3978
3979 2001-03-01 Gerd Moellmann <gerd@gnu.org>
3980
3981 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
3982 of the tool bar before calling x_figure_window_size.
3983
3984 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
3985 NULL after destroying it, otherwise XTread_socket can access a
3986 destroyed widget when input is unblocked.
3987
3988 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
3989
3990 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
3991 same name as before, although there was a change in fontsets.
3992
3993 2001-02-28 Ken Raeburn <raeburn@gnu.org>
3994
3995 * lisp.h (Fframe_parameter): Declare.
3996
3997 * window.c (set_window_buffer): Field vscroll is an int, not a
3998 Lisp_Object.
3999
4000 2001-02-28 Gerd Moellmann <gerd@gnu.org>
4001
4002 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
4003 NULL instead.
4004
4005 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
4006 NULL instead.
4007
4008 * alloc.c (toplevel): Include process.h.
4009 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
4010 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
4011 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
4012 (allocate_vector, allocate_hash_table, allocate_window)
4013 (allocate_frame, allocate_process, allocate_other_vector):
4014 New functions.
4015 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
4016 (mark_maybe_pointer): New function.
4017 (mark_memory): Also mark Lisp data to which only pointers
4018 remain and not Lisp_Objects.
4019 (min_heap_address, max_heap_address): New variables.
4020 (mem_find): Return MEM_NIL if START is below min_heap_address or
4021 above max_heap_address.
4022 (mem_insert): Compute min_heap_address and max_heap_address.
4023
4024 * process.c (make_process): Use allocate_process.
4025
4026 * frame.c (make_frame): Use allocate_frame.
4027
4028 * window.c (make_window, make_dummy_parent): Use allocate_window.
4029 (Fcurrent_window_configuration): Use allocate_other_vector.
4030
4031 * lisp.h (allocate_vectorlike): Remove prototype.
4032 (allocate_vector, allocate_other_vector, allocate_frame)
4033 (allocate_window, allocate_process, allocate_hash_table):
4034 Add prototypes.
4035
4036 * fns.c (Fdelete, larger_vector): Use allocate_vector.
4037 (make_hash_table, copy_hash_table): Use allocate_hash_table.
4038
4039 2001-02-27 Kenichi Handa <handa@etl.go.jp>
4040
4041 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
4042 treat the produced bytes as a valid multibyte sequence.
4043
4044 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
4045 (ccl_driver) <CCL_WriteMultibyteChar2>:
4046 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
4047 <ccl_finish>: Set ccl->eight_bit_control properly.
4048
4049 * ccl.h (struct ccl_program): New member eight_bit_control.
4050
4051 2001-02-26 Stefan Monnier <monnier@cs.yale.edu>
4052
4053 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
4054 accessible_keymaps_char_table.
4055 (accessible_keymaps_char_table): Obey `is_metized'.
4056 (where_is_internal, Fwhere_is_internal): Don't confuse int and
4057 Lisp_Object.
4058
4059 2001-02-26 Gerd Moellmann <gerd@gnu.org>
4060
4061 * dispnew.c: Check HAVE_TERM_H before including term.h.
4062
4063 2001-02-24 Andrew Innes <andrewi@gnu.org>
4064
4065 * makefile.w32-in: Update copyright notice.
4066
4067 2001-02-24 Stefan Monnier <monnier@cs.yale.edu>
4068
4069 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
4070
4071 2001-02-24 Kenichi Handa <handa@etl.go.jp>
4072
4073 * Makefile.in (lisp): Add international/utf-8.elc.
4074
4075 * fontset.c (Fnew_fontset): Fix handling of the case that an
4076 element of FONTLIST is a cons of family and registry.
4077
4078 2001-02-23 Jason Rumney <jasonr@gnu.org>
4079
4080 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
4081 to height unconditionally.
4082
4083 * w32term.c (x_set_glyph_string_background_width): Extend the
4084 background face to the end of the drawing area in the text area, only.
4085 (x_insert_glyphs): Call window_box_left to obtain the left
4086 x-coordinate of the area to shift.
4087
4088 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
4089 safe_run_hooks.
4090
4091 2001-02-22 Andrew Innes <andrewi@gnu.org>
4092
4093 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
4094 ($(BLD)\dispnew.obj):
4095 ($(BLD)\editfns.obj):
4096 ($(BLD)\fileio.obj):
4097 ($(BLD)\filelock.obj):
4098 ($(BLD)\keyboard.obj):
4099 ($(BLD)\w32proc.obj):
4100 ($(BLD)\process.obj):
4101 ($(BLD)\sysdep.obj): Ditto.
4102
4103 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
4104 header files.
4105 ($(BLD)/dispnew.$(O)):
4106 ($(BLD)/editfns.$(O)):
4107 ($(BLD)/fileio.$(O)):
4108 ($(BLD)/filelock.$(O)):
4109 ($(BLD)/keyboard.$(O)):
4110 ($(BLD)/w32proc.$(O)):
4111 ($(BLD)/process.$(O)):
4112 ($(BLD)/sysdep.$(O)): Ditto.
4113
4114 2001-02-22 Gerd Moellmann <gerd@gnu.org>
4115
4116 * xdisp.c (forward_to_next_line_start): When taking the shortcut
4117 at the start of the function, check that the \n in it->c is
4118 from the iterator's current position.
4119
4120 * xdisp.c (handle_single_display_prop): Add parameter
4121 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
4122 properties which replace the display of text with something else.
4123 (handle_display_prop): Call handle_single_display_prop with
4124 additional argument saying if we already replaced text display
4125 with something else. Use AREF.
4126 (with_echo_area_buffer_unwind_data, display_menu_bar)
4127 (decode_mode_spec_coding): Use AREF and ASIZE.
4128
4129 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
4130 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
4131 * vmstime.h: Files removed.
4132
4133 * unexencap.c, unexfx2800.c: Files removed.
4134
4135 * dispnew.c (direct_output_for_insert): Give up if we are showing
4136 a message or just cleared the message because we might need to
4137 resize the echo area window or display an empty echo area.
4138
4139 2001-02-21 Gerd Moellmann <gerd@gnu.org>
4140
4141 * xdisp.c (redisplay_internal): Do the
4142 mark_window_display_accurate after all windows have been
4143 redisplayed because this call resets flags in buffers which are
4144 needed for proper redisplay.
4145
4146 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
4147 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
4148 the old names.
4149
4150 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4151 busy_window to hourglass_window, busy_p to hourglass_p.
4152
4153 * msdos.h (struct x_output): Rename busy_window to
4154 hourglass_window, busy_p to hourglass_p.
4155
4156 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
4157 busy_window to hourglass_window, busy_p to hourglass_p.
4158
4159 * xfns.c: Rename everything containing *busy_cursor* and similar
4160 to *hourglass*.
4161 (syms_of_w32fns): Rename x-busy-pointer-shape to
4162 x-hourglass-pointer-shape, display-busy-cursor to
4163 display-hourglass, busy-cursor-delay to hourglass-delay.
4164
4165 * w32fns.c: Rename everything containing *busy_cursor* and similar
4166 to *hourglass*.
4167 (syms_of_w32fns): Rename x-busy-pointer-shape to
4168 x-hourglass-pointer-shape, display-busy-cursor to
4169 display-hourglass, busy-cursor-delay to hourglass-delay.
4170
4171 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
4172 of its busy_p flag.
4173
4174 * dispextern.h (start_hourglass, cancel_hourglass)
4175 (display_hourglass_p): Renamed from *busy_cursor*.
4176
4177 2001-02-20 Gerd Moellmann <gerd@gnu.org>
4178
4179 * keyboard.c (read_char): When an event from unread-command-events
4180 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
4181
4182 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
4183 equal to the current buffer.
4184
4185 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
4186 nil, otherwise we're left with truncate_lines t when a message
4187 is printed with message-truncate-lines bound to t.
4188
4189 2001-02-19 Gerd Moellmann <gerd@gnu.org>
4190
4191 * window.c (Fmove_to_window_line): Undo last change.
4192 (displayed_window_lines): Call line_bottom_y to determine
4193 the line's bottom position.
4194
4195 * dispextern.h (line_bottom_y): Add prototype.
4196
4197 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
4198 (pos_visible_p): Use it.
4199
4200 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
4201 set redisplaying_p to 0 here instead of in Frecursive_edit.
4202 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
4203 set redisplaying_p.
4204
4205 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
4206 New variables.
4207 (syms_of_xdisp): Initialize new variables.
4208 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
4209 Specbind `inhibit-menubar-update' when updating the menu bar.
4210
4211 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
4212 safe_run_hooks.
4213
4214 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
4215 safe_run_hooks.
4216
4217 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
4218 is null.
4219
4220 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
4221 to the start of the file.
4222
4223 2001-02-16 Gerd Moellmann <gerd@gnu.org>
4224
4225 * window.c (set_window_buffer): Fix last change.
4226
4227 * window.c (set_window_buffer): Set window's vscroll to 0.
4228
4229 * window.c (coordinates_in_window): Increase width of area
4230 where the vertical line can be dragged.
4231
4232 * xterm.c (x_set_glyph_string_background_width): Extend the
4233 background face to the end of the drawing area in the text
4234 area, only.
4235
4236 * xdisp.c (handle_single_display_prop): Set iterator's position
4237 to where the `display' property starts, like for images.
4238 (dump_glyph): New function.
4239 (dump_glyph_row): Use it. Dump info about marginal areas.
4240
4241 * dispnew.c (direct_output_for_insert): Recognize more cases where
4242 glyphs can be written instead of being inserted.
4243
4244 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
4245 the left x-coordinate of the area to shift.
4246
4247 * dired.c (directory_files_internal): Set result list to nil
4248 before retrying.
4249
4250 2001-02-15 Kenichi Handa <handa@etl.go.jp>
4251
4252 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
4253 invalid multibyte sequence, treat *SRC as a character of
4254 eight-bit-graphic.
4255
4256 2001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
4257
4258 * textprop.c (Fset_text_properties): Doc fix.
4259
4260 2001-02-15 Gerd Moellmann <gerd@gnu.org>
4261
4262 * dispnew.c (update_text_area): Undo change of 2001-01-12.
4263
4264 2001-02-14 Dave Love <fx@gnu.org>
4265
4266 * coding.c: Doc and message fixes.
4267
4268 2001-02-14 Andrew Innes <andrewi@gnu.org>
4269
4270 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
4271 Emacs frame above the screen size.
4272
4273 2001-02-14 Gerd Moellmann <gerd@gnu.org>
4274
4275 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
4276
4277 2001-02-13 Gerd Moellmann <gerd@gnu.org>
4278
4279 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
4280 case that TO ends up beyond ZV after running before-change-functions.
4281
4282 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
4283 the selected window if it is showing the buffer in question.
4284
4285 * dired.c (directory_files_internal): Initialize errno.
4286 (toplevel): Include errno.h.
4287
4288 2001-02-13 Kenichi Handa <handa@etl.go.jp>
4289
4290 * xfaces.c (best_matching_font): New parameter width_ratio.
4291 Multiply avgwidth by width_ratio.
4292 (choose_face_font): Call best_matching_font with width_ratio
4293 calculated from the column width of C.
4294
4295 2001-02-12 Andrew Innes <andrewi@gnu.org>
4296
4297 The following changes are to draw box lines inside characters area
4298 if line-width is negative.
4299
4300 * w32term.c (x_produce_image_glyph): Pay attention to the case that
4301 face->box_line_width is negative.
4302 (x_produce_stretch_glyph): Likewise.
4303 (x_produce_glyphs): Likewise.
4304 (x_estimate_mode_line_height): Likewise.
4305 (x_draw_glyph_string_background): Likewise.
4306 (x_draw_glyph_string_foreground): Likewise.
4307 (x_draw_composite_glyph_string_foreground): Likewise.
4308 (x_draw_glyph_string_box): Likewise.
4309 (x_draw_image_foreground): Likewise.
4310 (x_draw_image_relief): Likewise.
4311 (x_draw_image_foreground_1): Likewise.
4312 (x_draw_image_glyph_string): Likewise.
4313
4314 2001-02-09 Kenichi Handa <handa@etl.go.jp>
4315
4316 The following changes are to draw box lines inside characters area
4317 if line-width is negative.
4318
4319 * xterm.c (x_produce_image_glyph): Pay attention to the case that
4320 face->box_line_width is negative.
4321 (x_produce_stretch_glyph): Likewise.
4322 (x_produce_glyphs): Likewise.
4323 (x_estimate_mode_line_height): Likewise.
4324 (x_draw_glyph_string_background): Likewise.
4325 (x_draw_glyph_string_foreground): Likewise.
4326 (x_draw_composite_glyph_string_foreground): Likewise.
4327 (x_draw_glyph_string_box): Likewise.
4328 (x_draw_image_foreground): Likewise.
4329 (x_draw_image_relief): Likewise.
4330 (x_draw_image_foreground_1): Likewise.
4331 (x_draw_image_glyph_string): Likewise.
4332
4333 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
4334 and :line-width can be negative.
4335 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
4336
4337 2001-02-09 Jason Rumney <jasonr@gnu.org>
4338
4339 * w32term.c (w32_encode_char): Treat eight bit graphic and control
4340 characters the same as ASCII and latin-1.
4341 (x_display_and_set_cursor): Check for the focus frame's selected
4342 window instead of selected_window.
4343 (x_after_update_window_line): Don't clear if frame's internal
4344 border width is zero.
4345 (x_new_font): Don't change a tooltip's size.
4346 (w32_initialize): Set char_ins_del_ok to 1.
4347
4348 * w32fns.c (Fx_show_tip): Fix calls to make_number.
4349 (x_set_font): If font hasn't changed, avoid recomputing
4350 faces and other things.
4351 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
4352 (Fx_create_frame): Add the tool bar height to the frame height.
4353 (x_create_tip_frame): Prevent changing the tooltip's
4354 background color by specifying a color for the default font
4355 in .Xdefaults.
4356 (Qcancel_timer): New variable.
4357 (syms_of_w32fns): Initialize and staticpro it.
4358 (Fx_hide_tip, Fx_show_tip): Use it.
4359 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4360 the timer.
4361 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
4362
4363 * w32.c (init_environment): Duplicate local string before putenv.
4364
4365 2001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
4366
4367 * charset.c (Fstring): A typo.
4368
4369 2001-02-09 Kenichi Handa <handa@etl.go.jp>
4370
4371 * charset.c (Fstring): If all arguments are less than 256, return
4372 a unibyte string.
4373
4374 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
4375 return a unibyte string.
4376
4377 * coding.c (code_convert_region): After detecting a coding, if
4378 nothing found, set coding->composing to COMPOSITION_NO.
4379 (decode_coding_string): Likewise.
4380
4381 2001-02-08 Stefan Monnier <monnier@cs.yale.edu>
4382
4383 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
4384 to avoid overflow.
4385
4386 2001-02-07 Kenichi Handa <handa@etl.go.jp>
4387
4388 * charset.c (parse_str_to_multibyte): New function.
4389
4390 * charset.h (parse_str_to_multibyte): Extern it.
4391
4392 * print.c (print_string): If we are going to print a unibyte
4393 string into a multibyte buffer, convert the string to multibyte by
4394 str_to_multibyte.
4395
4396 2001-02-06 Andrew Innes <andrewi@gnu.org>
4397
4398 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
4399 been created. It seems we can get sent window messages such as
4400 WM_ERASEBKGND before we properly update a frame.
4401
4402 2001-02-06 Gerd Moellmann <gerd@gnu.org>
4403
4404 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
4405 Avoid some unnecessary cursor positioning.
4406
4407 2001-02-05 Gerd Moellmann <gerd@gnu.org>
4408
4409 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
4410 (LFACE_AVGWIDTH): New macro.
4411 (LFACEP): Use AREF.
4412 (check_lface_attrs): Check LFACE_AVGWIDTH.
4413 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
4414 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
4415 (merge_face_vectors): Check LFACE_AVGWIDTH.
4416 (Finternal_make_lisp_face): Use AREF.
4417 (xm_set_menu_resources_from_menu_face)
4418 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
4419 (Finternal_lisp_face_empty_p): Use AREF.
4420 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
4421 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
4422 Compare average widths..
4423 (best_matching_font): Arrange for comparing average widths.
4424
4425 * dispextern.h (enum lface_attribute_index):
4426 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
4427
4428 2001-02-05 Dave Love <fx@gnu.org>
4429
4430 * puresize.h: Revert last change following loadup.el change.
4431
4432 2001-02-05 Andrew Innes <andrewi@gnu.org>
4433
4434 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
4435 invocation of temacs, to work with Windows 2000.
4436 (bootstrap-emacs): Ditto.
4437
4438 2001-02-05 Gerd Moellmann <gerd@gnu.org>
4439
4440 * xterm.c (x_display_and_set_cursor): Check for the focus
4441 frame's selected window instead of selected_window.
4442
4443 * xdisp.c (try_scrolling): If point is in the line below the
4444 window, make sure to move the iterator at least a canonical
4445 char height down.
4446
4447 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
4448
4449 2001-02-05 Kenichi Handa <handa@etl.go.jp>
4450
4451 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
4452 If invalid, execute CCL_INVALID_CMD.
4453 (ccl_driver): If the CCL program is terminated because of
4454 CCL_STAT_INVALID_CMD, copy the remaining source data to the
4455 destination instead of throwing them away.
4456
4457 2001-02-02 Gerd Moellmann <gerd@gnu.org>
4458
4459 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
4460 faces and other things.
4461
4462 * xdisp.c (get_next_display_element): Fix case of empty
4463 display table entry.
4464
4465 2001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
4466
4467 * editfns.c (Fconstrain_to_field): Doc fix.
4468
4469 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
4470 into `thoroughly', to make it consistent with the doc string.
4471
4472 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
4473
4474 2001-02-01 Gerd Moellmann <gerd@gnu.org>
4475
4476 * search.c (search_buffer): Call set_search_regs with a byte
4477 position, not a character position.
4478
4479 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
4480 minibuffer-only,
4481
4482 2001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
4483
4484 * frame.c (Fmodify_frame_parameters): Doc fix.
4485
4486 2001-01-31 Gerd Moellmann <gerd@gnu.org>
4487
4488 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
4489 identifier which is not reserved by Standard C.
4490
4491 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
4492
4493 * window.c (enum window_part): New enumeration.
4494 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
4495 Qright_bitmap_area.
4496 (coordinates_in_window): Return an enumerator from enum
4497 window_part. Fix handling of right scroll bar.
4498 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
4499 `right-fringe' instead of `left-bitmap-area' and
4500 `right-bitmap-area'. Use enumerators from enum window_part
4501 instead of hard-coded integers.
4502 (check_window_containing, window_from_coordinates):
4503 Use enumerators from enum window_part instead of hard-coded integers.
4504 (syms_of_window): Replace Qleft_bitmap_area and
4505 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
4506
4507 2001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
4508
4509 * editfns.c (Fformat_time_string): Doc fix.
4510
4511 2001-01-31 Stefan Monnier <monnier@cs.yale.edu>
4512
4513 * keymap.c (Fwhere_is_internal): Use the first valid binding
4514 if no ascii binding is found (when firstonly is t).
4515
4516 2001-01-31 Gerd Moellmann <gerd@gnu.org>
4517
4518 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
4519 instead of Finteractive_p.
4520
4521 * lisp.h (interactive_p): Add prototype.
4522
4523 * eval.c (interactive_p): New function.
4524 (Finteractive_p): Use it.
4525
4526 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
4527
4528 2001-01-31 Dave Love <fx@gnu.org>
4529
4530 * .gdbinit (hook-run): Define to run xreload.
4531
4532 * textprop.c (Fset_text_properties): Fix newline in doc string.
4533
4534 2001-01-30 Gerd Moellmann <gerd@gnu.org>
4535
4536 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
4537 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
4538
4539 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
4540 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
4541 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
4542
4543 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
4544 height.
4545
4546 2001-01-30 Dave Love <fx@gnu.org>
4547
4548 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
4549 AFTER_POTENTIAL_GC.
4550
4551 2001-01-29 Gerd Moellmann <gerd@gnu.org>
4552
4553 * bytecode.c (Fbyte_code) <Bcurrent_column>:
4554 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
4555
4556 2001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
4557
4558 * textprop.c (Fset_text_properties): Doc fix.
4559
4560 2001-01-29 Gerd Moellmann <gerd@gnu.org>
4561
4562 * xdisp.c (forward_to_next_line_start): Remove xassert.
4563
4564 2001-01-29 Jason Rumney <jasonr@gnu.org>
4565
4566 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
4567 returning without releasing it.
4568
4569 2001-01-29 Kenichi Handa <handa@etl.go.jp>
4570
4571 * w32fns.c (w32_font_match): Allocate three more bytes to regex
4572 for '^', '$', and '\0'.
4573
4574 2001-01-28 Andrew Choi <akochoi@i-cable.com>
4575
4576 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
4577 regex for '^', '$', and '\0'.
4578
4579 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
4580 only if current_sblock has been initialized.
4581
4582 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
4583 terminal frame even if it is the only visible frame.
4584
4585 2001-01-28 Kenichi Handa <handa@etl.go.jp>
4586
4587 * fontset.c (font_family_registry): Even if FONTNAME conform to
4588 XLFD, if it specifies other fields than family and registry,
4589 return FONTANME. New argument FORCE if nonzero cancel that feature.
4590 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
4591 a signle byte character. Don't set FAMILY part to nil here.
4592 It is handled by the caller choose_face_font.
4593 (Fnew_fontset): Call font_family_registry with FORCE 0.
4594 (Fset_fontset_font): Likewise.
4595
4596 2001-01-27 Gerd Moellmann <gerd@gnu.org>
4597
4598 * xdisp.c (display_line): Don't treat a newline as fitting
4599 on the line.
4600
4601 2001-01-26 Gerd Moellmann <gerd@gnu.org>
4602
4603 * window.c (size_window): Set the window's orig_top to nil when
4604 changing heights, so that a future shrink_mini_window won't
4605 restore a bogus height.
4606
4607 * frame.c (do_switch_frame): If selected frame has a mini-window,
4608 resize that to exact size.
4609
4610 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
4611
4612 * xdisp.c (display_line): Simplify check for glyphs fitting
4613 entirely in the line.
4614
4615 * xfns.c (xic_style): New variable.
4616 (create_frame_xic): Move static variable to global scope for
4617 the case that `static' gets defined away.
4618
4619 2001-01-26 Kenichi Handa <handa@etl.go.jp>
4620
4621 * coding.c (decode_coding): Set a flag for inhibiting
4622 inconsistent eol.
4623 (code_convert_region): Always set saved_coding_symbol.
4624 (decode_coding_string): Likewise. Update coding->symbol when we
4625 encounter a inconsistent eol by the same way as code_convert_region.
4626
4627 2001-01-25 Gerd Moellmann <gerd@gnu.org>
4628
4629 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
4630 XClearArea.
4631
4632 * xterm.c (x_after_update_window_line): Don't clear if frame's
4633 internal border width is zero.
4634 (x_clear_area): New function.
4635 (x_after_update_window_line, x_clear_end_of_line)
4636 (x_scroll_bar_create, x_scroll_bar_set_handle)
4637 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
4638 instead of XClearArea.
4639
4640 * xterm.h (x_clear_area): Add prototype.
4641
4642 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
4643 which doesn't seem necessary anymore with Lesstif 0.92.
4644
4645 2001-01-25 Dave Love <fx@gnu.org>
4646
4647 * puresize.h (BASE_PURESIZE): Up to 720000.
4648
4649 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
4650
4651 2001-01-25 Gerd Moellmann <gerd@gnu.org>
4652
4653 * xdisp.c (echo_area_display): Don't call redisplay_internal
4654 when Emacs is shutting down. We can't run hooks etc. that
4655 would be necessary to do a redisplay.
4656
4657 * lread.c (read_integer): Use type EMACS_INT instead of int.
4658
4659 2001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
4660
4661 * ccl.c (ccl_driver): Fix last change.
4662
4663 2001-01-25 Kenichi Handa <handa@etl.go.jp>
4664
4665 * ccl.h (sturct ccl_program): New member suppress_error.
4666
4667 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
4668 insert error message to the output.
4669 (setup_ccl_program): Initialize ccl->suppress_error to 0.
4670
4671 * coding.h (struct coding_system): New member suppress_error.
4672
4673 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
4674 (Fset_terminal_coding_system_internal): Set the member
4675 suppress_error to 1.
4676 (Fset_safe_terminal_coding_system_internal): Likewise.
4677
4678 2001-01-24 Stefan Monnier <monnier@cs.yale.edu>
4679
4680 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
4681 as if it was a `charset'.
4682
4683 2001-01-24 Gerd Moellmann <gerd@gnu.org>
4684
4685 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4686 value in where_is_cache; the next lookup in the cache returns
4687 something bogus if we do.
4688
4689 2001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
4690
4691 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
4692 if HAVE_WINDOW_SYSTEM isn't defined.
4693
4694 2001-01-24 Gerd Moellmann <gerd@gnu.org>
4695
4696 * fns.c (sweep_weak_table): Fix code taking items out of
4697 the hash collision chain. Some cleanup.
4698
4699 * xterm.c (x_new_font): Don't change a tooltip's size.
4700
4701 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
4702 background color by specifying a color for the default font
4703 in .Xdefaults.
4704
4705 2001-01-24 Kenichi Handa <handa@etl.go.jp>
4706
4707 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
4708 a workaround for SunOS 4's cc.
4709 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
4710 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
4711 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
4712 statement.
4713
4714 2001-01-23 Gerd Moellmann <gerd@gnu.org>
4715
4716 * xterm.c (x_set_window_size_1): New function extracted from
4717 x_set_window_size.
4718 (x_set_window_size): Use it.
4719 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
4720 doesn't have a widget, like tooltips.
4721
4722 2001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
4723
4724 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
4725
4726 2001-01-23 Kenichi Handa <handa@etl.go.jp>
4727
4728 * fns.c (Fset_char_table_default): Fix to make sub char-table
4729 correctly.
4730
4731 2001-01-22 Gerd Moellmann <gerd@gnu.org>
4732
4733 * xdisp.c (build_desired_tool_bar_string): Make sure we have
4734 a desired tool bar string, even if there are no tool bar items.
4735
4736 * xdisp.c (Ftool_bar_lines_needed): New function.
4737 (syms_of_xdisp): Defsubr it.
4738
4739 * editfns.c (Fformat): Don't extend text properties from arguments
4740 to padding chars in the result.
4741
4742 2001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
4743
4744 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
4745
4746 2001-01-20 Andrew Innes <andrewi@gnu.org>
4747
4748 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
4749 (w32_initialize): Don't set term hooks that aren't actually needed
4750 in windowed mode.
4751
4752 * xfaces.c (realize_default_face):
4753 (realize_face):
4754 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
4755
4756 * xdisp.c (handle_single_display_prop): Remove references to
4757 FRAME_W32_CONSOLE_P.
4758
4759 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
4760
4761 * frame.h (output_method): Remove output_w32_console method.
4762 (FRAME_W32_CONSOLE_P): Remove macro.
4763
4764 * frame.c (Qw32_console): Remove variable.
4765 (Fframep): Remove references to it.
4766 (syms_of_frame): Ditto.
4767 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
4768
4769 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
4770 redefinition.
4771
4772 2001-01-20 Kenichi Handa <handa@etl.go.jp>
4773
4774 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
4775
4776 2001-01-19 Andrew Innes <andrewi@gnu.org>
4777
4778 * w32.c (init_environment): Add a version-independent site-lisp
4779 directory to EMACSLOADPATH, after the version dependent one.
4780
4781 2001-01-19 Gerd Moellmann <gerd@gnu.org>
4782
4783 * editfns.c (Fbuffer_substring): Doc fix.
4784
4785 * xdisp.c (message_dolog, message2, message2_nolog):
4786 Rename parameter LEN to NBYTES.
4787
4788 2001-01-19 Kenichi Handa <handa@etl.go.jp>
4789
4790 * charset.c (strwidth): Use c_string_width.
4791 (c_string_width): New function.
4792 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
4793 Caller changed.
4794
4795 * charset.h (c_string_width, lisp_string_width): Extern them.
4796
4797 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
4798
4799 * indent.c (check_composition): Check validity of composition.
4800
4801 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
4802 characters by calling c_string_width.
4803 (x_consider_frame_title): Get byte length of frame tile string
4804 correctly.
4805 (display_mode_element): Pay attention to width of non-ASCII
4806 characters by calling strwidth.
4807
4808 2001-01-18 Gerd Moellmann <gerd@gnu.org>
4809
4810 * xfns.c (Qcancel_timer): New variable.
4811 (syms_of_xfns): Initialize and staticpro it.
4812 (Fx_hide_tip, Fx_show_tip): Use it.
4813 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
4814 the timer.
4815 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
4816
4817 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
4818
4819 * window.h (WINDOW_LIVE_P): New macro.
4820
4821 * window.c (window_size_fixed): New variable.
4822 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
4823 the doc string.
4824
4825 * eval.c (specbind): If binding a per-buffer variable which
4826 doesn't have a buffer-local value in the current buffer, change
4827 the global value by changing the value of the symbol bound in all
4828 buffers not having their own value, to make it consistent with
4829 what happens with other buffer-local variables.
4830
4831 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
4832
4833 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
4834 when searching for a newline.
4835
4836 2001-01-18 Kenichi Handa <handa@etl.go.jp>
4837
4838 * xdisp.c (display_string): Fix previous change.
4839
4840 2001-01-18 Jason Rumney <jasonr@gnu.org>
4841
4842 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
4843 GLYPH_DEBUG is defined.
4844 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
4845 true for images with `:ascent 100'.
4846 (x_set_mouse_face_gc): If the last used mouse face has gone in the
4847 meantime, use face MOUSE_FACE_ID.
4848 If first glyph isn't a character glyph, use the ASCII NUL
4849 character to determine the face.
4850 (expose_area): Do not treat left margin specially.
4851 (note_mode_line_highlight): If no local_map, check global keymap.
4852 (note_mouse_highlight): Initialize overlay.
4853 (clear_mouse_face): Don't return if tip_frame is non-nil.
4854 (show_scroll_bars): Remove unused function.
4855 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
4856 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
4857 Clip to row.
4858 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
4859 (x_free_frame_resources): Unload relief colors.
4860
4861 2001-01-17 Gerd Moellmann <gerd@gnu.org>
4862
4863 * xdisp.c (forward_to_next_line_start): Avoid calling
4864 get_next_display_element when the newline is already found.
4865 This may change the iterator's position, when its current position is
4866 equal to the iterator's stop_charpos.
4867
4868 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
4869 zero, use this method only at the end of a line.
4870
4871 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
4872 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
4873 if SCALABLE_FONTS_P is set.
4874
4875 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
4876 so that scalable fonts are included.
4877
4878 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
4879 In the cache, use a key containing the information if scalable
4880 fonts are included.
4881 (x_load_font): Adapt to change of keys in the font cache.
4882
4883 2001-01-17 Kim F. Storm <storm@filanet.dk>
4884
4885 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
4886 XListFonts to take advantage of font caching.
4887
4888 * xterm.c (x_list_fonts): Ensure caching font information when
4889 called for a null frame, which is the case frequently when Emacs
4890 starts.
4891
4892 2001-01-17 Gerd Moellmann <gerd@gnu.org>
4893
4894 * xfns.c (QCconversion): Replaces QCalgorithm.
4895
4896 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
4897
4898 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
4899 of :algorithm.
4900
4901 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
4902 not everything could be displayed.
4903
4904 * line.h, x-list-font.c: Files removed because unused.
4905
4906 2001-01-17 Andrew Innes <andrewi@gnu.org>
4907
4908 * dired.c (directory_files_internal): Convert result from readdir
4909 to a unibyte string initially, to avoid possible misinterpretation
4910 of some bytes as the internal form of Emacs characters.
4911
4912 2001-01-17 Kenichi Handa <handa@etl.go.jp>
4913
4914 * fns.c (concat): Be sure to avoid putting the same `composition'
4915 property on the adjacent regions.
4916
4917 2001-01-16 Gerd Moellmann <gerd@gnu.org>
4918
4919 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
4920 (Fscroll_right, Fscroll_left): Set it here instead, if called
4921 interactively.
4922
4923 * buffer.c (Fset_buffer_modified_p): Set buffer's
4924 prevent_redisplay_optimizations_p flag.
4925
4926 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
4927 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
4928 with additional arg.
4929
4930 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
4931 Change prototype.
4932
4933 * xdisp.c (redisplay_preserve_echo_area): Add parameter
4934 FROM_WHERE, for debugging.
4935
4936 2001-01-16 Kenichi Handa <handa@etl.go.jp>
4937
4938 * ccl.c (Fregister_ccl_program): Handle the return value of
4939 resolve_symbol_ccl_program correctly.
4940 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
4941
4942 2001-01-15 Gerd Moellmann <gerd@gnu.org>
4943
4944 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
4945 has gone in the meantime, use face MOUSE_FACE_ID.
4946
4947 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
4948 If x_display_info_for_display returns null, don't try to close
4949 the display; we didn't open it.
4950
4951 * dispnew.c (save_or_restore_current_matrices): Function removed.
4952 (save_current_matrix, restore_current_matrix): New functions.
4953 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
4954 restore the frame's current matrix. Due to the glyph pointer
4955 setup done in adjust_glyph_matrix, there is no easy way to make
4956 saving the current matrix in the desired matrix generally correct,
4957 so don't try it.
4958
4959 2001-01-15 Kenichi Handa <handa@etl.go.jp>
4960
4961 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
4962 truncation glyphs.
4963 (display_line): Optimize for wide characters.
4964 (display_string): Don't try to display a multi-column character
4965 partially. On ttys, produce more than one truncation glyph for
4966 multi-column characters that don't fit on the line.
4967
4968 2001-01-13 Kenichi Handa <handa@etl.go.jp>
4969
4970 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
4971 Define it instead of WORDS_BIGENDIAN. Caller changed.
4972
4973 2001-01-13 Jason Rumney <jasonr@gnu.org>
4974
4975 * w32fns.c (Fimage_size, image_ascent, lookup_image)
4976 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
4977 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
4978 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
4979
4980 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
4981 (x_draw_image_relief, x_draw_image_foreground_1)
4982 (x_draw_image_glyph_string): Adapt to change of image margins.
4983
4984 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
4985 variables.
4986
4987 * w32bdf.c (search_file_line, get_cached_font_char)
4988 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
4989
4990 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
4991
4992 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
4993 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
4994 (Fw32_send_sys_command): Remove unused variables.
4995 (w32_msg_pump): Add parentheses.
4996
4997 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
4998 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
4999 Add parentheses.
5000
5001 2001-01-12 Gerd Moellmann <gerd@gnu.org>
5002
5003 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
5004 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
5005 being a pair of margins.
5006 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
5007 to DEFVAR_LISP. Extend doc.
5008
5009 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
5010 margins.
5011 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
5012 pair of integers `(X . Y)', use X for the horizontal and Y for the
5013 vertical margin.
5014 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
5015 (parse_image_spec): Check it.
5016 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5017 (tiff_format, gif_format, gs_format):
5018 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
5019
5020 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5021 (x_draw_image_relief, x_draw_image_foreground_1)
5022 (x_draw_image_glyph_string): Adapt to the change of image margins.
5023
5024 * dispextern.h (struct image): Replace member `margin' with
5025 `hmargin' and `vmargin'.
5026
5027 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
5028 and GLYPHS.
5029
5030 * dispnew.c (update_text_area): Put code which decrements the
5031 stop position when the row's face extends to the end of the
5032 line in #if 0.
5033
5034 * xfns.c (x_set_mouse_color): Fix color allocation.
5035
5036 * keyboard.c: Call get_local_map with new argument list.
5037
5038 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
5039
5040 * intervals.h (enum map_property): Removed.
5041 (get_local_map): Change prototype.
5042
5043 * keymap.c: Call get_local_map with new argument list.
5044 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
5045
5046 2001-01-11 Gerd Moellmann <gerd@gnu.org>
5047
5048 * xdisp.c (build_desired_tool_bar_string): Correct the computation
5049 of the size needed for the tool bar string. For the last image,
5050 use a `display' property that reaches to the end of the string.
5051
5052 * xselect.c (selection_request_dpyinfo): New variable.
5053 (x_handle_selection_request): Set it.
5054 (x_selection_request_lisp_error): Don't call
5055 x_decline_selection_request if selection request's display has
5056 been closed.
5057
5058 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
5059 Do the unregister_colors before calling XFreeColors.
5060
5061 2001-01-10 Dave Love <fx@gnu.org>
5062
5063 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
5064 ${SOME_MACHINE_LISP}, not ${lisp}.
5065
5066 2001-01-10 Gerd Moellmann <gerd@gnu.org>
5067
5068 * xdisp.c (display_line): On ttys, produce more than one truncation
5069 glyph for multi-column characters that don't fit on the line.
5070
5071 * xselect.c (x_reply_selection_request): Add a comment.
5072
5073 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
5074 XkbGetNames instead of XkbGetKeyboard.
5075
5076 2001-01-10 Dave Love <fx@gnu.org>
5077
5078 * sysdep.c (random): Revert the declaration.
5079
5080 2001-01-09 Gerd Moellmann <gerd@gnu.org>
5081
5082 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
5083 Call function string_bytes.
5084 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
5085
5086 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
5087 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
5088 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
5089 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
5090 the current sblock.
5091 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
5092 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
5093 after sweeping strings, and at the end.
5094 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
5095
5096 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
5097 ensure that pop_message is called.
5098
5099 * keyboard.c (Fexecute_extended_command): Use a
5100 record_unwind_protect to ensure that pop_message is called.
5101
5102 * lisp.h (push_message_unwind): Add prototype.
5103
5104 * xdisp.c (push_message_unwind): New function.
5105
5106 * fileio.c (do_auto_save_unwind): Do the pop_message here
5107 instead of in Fdo_auto_save.
5108 (Fdo_auto_save): Don't call pop_message.
5109
5110 2001-01-08 Ken Raeburn <raeburn@gnu.org>
5111
5112 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
5113 in inner block.
5114
5115 2001-01-08 Gerd Moellmann <gerd@gnu.org>
5116
5117 * window.c (window_scroll_pixel_based): Adjust glyph matrices
5118 when increasing window's vscroll.
5119
5120 * macros.c (Qkbd_macro_termination_hook): New variable.
5121 (syms_of_macros): Initialize and staticpro it.
5122 (pop_kbd_macro): Run kbd-macro-termination-hook.
5123
5124 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
5125
5126 2001-01-07 Dave Love <fx@gnu.org>
5127
5128 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
5129 arglist, for documentation's sake.
5130
5131 2001-01-06 Andrew Innes <andrewi@gnu.org>
5132
5133 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
5134 of *.pdb.
5135
5136 2001-01-05 Andrew Innes <andrewi@gnu.org>
5137
5138 * term.c (update_end): Don't check updating_frame; for some reason
5139 this can be 0 sometimes, such as after dismissing a popup menu,
5140 and isn't necessary given the explicit frame argument.
5141
5142 2001-01-05 Gerd Moellmann <gerd@gnu.org>
5143
5144 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
5145 on some systems, and an unsigned long on others, like FreeBSD 4.1.
5146
5147 2001-01-04 Gerd Moellmann <gerd@gnu.org>
5148
5149 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
5150
5151 * xfns.c (x_create_tip_frame): Preserve the value of
5152 face_change_count around the creation of the tip frame.
5153
5154 * xfns.c (last_show_tip_args): New variable.
5155 (compute_tip_xy): New function.
5156 (Fx_show_tip): Reuse an existing tip frame, if possible.
5157 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
5158
5159 2001-01-04 Dave Love <fx@gnu.org>
5160
5161 * editfns.c (Fformat): Doc fix.
5162
5163 * systime.h (set_file_times): Prototype.
5164
5165 * widget.h (EmacsFrameSetCharSize_): Prototype.
5166
5167 * sysdep.c (random, srandom): Declare explicitly.
5168
5169 * dispextern.h (move_it_vertically_backward): Declare.
5170
5171 2001-01-04 Gerd Moellmann <gerd@gnu.org>
5172
5173 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
5174 like in Fx_create_frame.
5175
5176 * xfaces.c (set_font_frame_param): Don't do anything for
5177 non-graphical frames.
5178
5179 * window.c (Fdelete_other_windows): Set window's window_end_valid
5180 to nil when changing the window's start. Don't change the
5181 window's start when its top position hasn't changed. If we do,
5182 this will set the window's optional_new_start, which act's like a
5183 force_start during redisplay with C-x 1 M-> under particular
5184 circumstances (see report from Per Starback to emacs-pretest-bug
5185 from 2000-12-13.).
5186
5187 2001-01-03 Gerd Moellmann <gerd@gnu.org>
5188
5189 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
5190 short cut at the start of the function. Add an assertion.
5191 (reseat_at_next_visible_line_start): Add an assertion.
5192
5193 * window.c (Frecenter): When changing the window start, set the
5194 window's window_end_valid to nil.
5195 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
5196
5197 * dispextern.h (move_it_past_eol): Add prototype.
5198
5199 * xdisp.c (move_it_past_eol): New function.
5200
5201 * window.c (Fwindow_end): Doc fix.
5202
5203 2001-01-03 Dave Love <fx@gnu.org>
5204
5205 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
5206
5207 2001-01-03 Gerd Moellmann <gerd@gnu.org>
5208
5209 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
5210 the enabled_p flag of the glyph row at window_end_vpos to 0.
5211 (handle_single_display_prop): Fix last change.
5212
5213 2001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
5214
5215 * window.c (Frecenter): Doc fix.
5216
5217 2001-01-02 Andrew Innes <andrewi@gnu.org>
5218
5219 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
5220
5221 * frame.h (output_method): Add output_w32_console method.
5222 (FRAME_W32_CONSOLE_P): New macro.
5223
5224 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
5225 use output_w32_console method.
5226 (Qw32_console): New Lisp_Object.
5227 (Fframep): Return it.
5228 (syms_of_frame): Init it.
5229 (Fframe_parameters): Report w32console as font for w32_console frames.
5230
5231 * xfaces.c (realize_default_face): Set face foreground and
5232 background to unspecified for w32_console frames.
5233 (realize_face): Realize face cache for w32_console frames.
5234 (realize_tty_face): Accept w32_console frames.
5235
5236 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
5237 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
5238 necessary, even if running interactively.
5239
5240 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
5241 w32_console frames.
5242
5243 * w32term.c (x_update_begin):
5244 (x_update_end):
5245 (x_clear_frame):
5246 (x_ins_del_lines):
5247 (x_change_line_highlight):
5248 (x_delete_glyphs):
5249 (w32_ring_bell):
5250 (x_update_begin):
5251 (x_update_end):
5252 (w32_reassert_line_highlight):
5253 (w32_frame_rehighlight):
5254 (w32_frame_raise_lower): Do nothing if not w32 frame.
5255
5256 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
5257
5258 * w32fns.c (Fx_display_color_cells): Determine correct value, when
5259 system doesn't tell us directly.
5260 (Fx_display_visual_class): Implement properly.
5261
5262 2001-01-02 Gerd Moellmann <gerd@gnu.org>
5263
5264 * window.c (Frecenter): Handle centering in graphical frames
5265 specially. Centering on the basis of line counts doesn't work
5266 reliably with variable-height lines.
5267
5268 2001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
5269
5270 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
5271 and al[].
5272
5273 * composite.c (run_composition_function): Remove unused var `val'.
5274 (update_compositions): Remove unused variable `hook'.
5275
5276 * intervals.c (get_local_map): Remove unused variable `tem'.
5277
5278 * doprnt.c (doprnt1): Remove unused variable `size'.
5279
5280 * fns.c (Flength): Remove unused variable `tail'.
5281 (Fdelete): Remove unused variable `size'.
5282
5283 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
5284 and `gcpro2'.
5285
5286 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
5287
5288 * data.c (find_symbol_value): Remove extra 3rd argument in the
5289 call to swap_in_symval_forwarding.
5290
5291 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
5292
5293 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
5294 (trivial_regexp_p): Remove unused variable `c'.
5295 (boyer_moore): Remove unused variable `k'.
5296
5297 * indent.c (current_column): Remove unused variable `stopchar'.
5298 (Fcompute_motion): Remove unused variable `contin'.
5299
5300 * casefiddle.c (casify_object): Remove unused variable `tolen'.
5301
5302 * dired.c (directory_files_internal): Fix a typo in a comment.
5303 Remove an unused variable `handler'.
5304 (file_name_completion): Remove unused function-scope variable `dp'.
5305 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
5306 on BSD4_2.
5307
5308 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
5309
5310 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
5311 and `buf'.
5312 (Fmarker_insertion_type): Remove unused variable `buf'.
5313
5314 * insdel.c (make_gap): Remove unused variable `result'.
5315
5316 * keyboard.c (record_char): Remove unused function-scope var `help'.
5317 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
5318 (menu_bar_items): Remove unused function-scope variable `tem'.
5319
5320 * fontset.c (fontset_ref): Remove unused variable `i'.
5321 (fontset_set): Remove unused variables `j' and `tmp'.
5322 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
5323 (make_fontset_for_ascii_face): Remove unused variable `name'.
5324 (fs_load_font): Remove unused variable `font_idx'.
5325 (fs_query_fontset): Remove unused function-local variable `fontset'.
5326 (list_fontsets): Remove unused variable `tail'.
5327 (Fnew_fontset): Remove unused variables `family' and `registry'.
5328 (accumulate_font_info): Remove unused variable `tmp'.
5329 (Ffontset_font): Remove unused variable `id'.
5330 (syms_of_fontset): Remove unused variable `i'.
5331
5332 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
5333 to x_term_init.
5334 (lookup_image): Remove unused variable `file'.
5335 (xbm_load): Remove unused variables `bitmap_data', `height', and
5336 `width'. Remove function-local variable `i', leave the
5337 block-local one.
5338 (gif_load): Remove unused variable `inc'.
5339
5340 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
5341 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
5342 leave only the one in the inner block.
5343
5344 * xfaces.c (face_fontset, realize_default_face): Remove unused
5345 variable `fontset'.
5346 (face_at_buffer_position): Remove unused variable `multibyte_p'.
5347
5348 * term.c (encode_terminal_code): Remove unused variable `c'.
5349
5350 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
5351 char *' instead of `char *'.
5352
5353 * category.c (Fcategory_docstring): Remove unused variable `doc'.
5354 (Fget_unused_category): Remove unused variable `docstring_vector'.
5355 (Fchar_category_set): Remove unused variables `val', `charset',
5356 `c1' and `c2'.
5357
5358 * coding.c (detect_coding_iso2022, setup_coding_system):
5359 Remove unused variable `i'.
5360 (detect_coding_mask): Remove unused variable `idx'.
5361 (detect_coding): Remove unused variable `i'.
5362 (ccl_coding_driver): Remove unused variable `result'.
5363 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
5364 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
5365 (encode_coding_string): Remove unused variables `gcpro1' and
5366 `saved_coding_symbol'.
5367 (Ffind_coding_systems_region_internal): Remove function-local
5368 variable args[], leave only the block-local one.
5369 (code_convert_region1): Remove unused variable `len'.
5370
5371 * charset.c (char_printable_p): Remove unused variable `chars'.
5372 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
5373 (str_to_multibyte): Remove unused variable `c'.
5374
5375 * window.c (size_window): Remove block-local variable `min_size'.
5376
5377 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
5378 `header_line_height'.
5379 (append_space, extend_face_to_end_of_line): Declare `saved_what'
5380 enum display_element_type.
5381
5382 2001-01-02 Gerd Moellmann <gerd@gnu.org>
5383
5384 * xterm.c (x_connection_closed): Catch X errors around all
5385 statements that call X. Save away the error message in a local copy.
5386
5387 * xterm.c (x_connection_closed): Set handling_signal to 0 at
5388 the start.
5389
5390 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
5391 in or at the start of invisible text.
5392
5393 * dispnew.c (update_window): Don't check_current_matrix_flags.
5394
5395 2001-01-01 Jason Rumney <jasonr@gnu.org>
5396
5397 * w32fns.c (x_figure_window_size): Do not allow new_height and
5398 new_width of frame to override specified values.
5399
5400 2000-12-30 Kenichi Handa <handa@etl.go.jp>
5401
5402 * composite.c (find_composition): Fix a code for searching backward.
5403
5404 2000-12-29 Gerd Moellmann <gerd@gnu.org>
5405
5406 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
5407 (update_window) [GLYPH_DEBUG]: Call it.
5408 (scrolling_window): Prevent including current rows which are below
5409 what's displayed in the window.
5410
5411 * xdisp.c (try_window_reusing_current_matrix)
5412 <new start <= old start>: Disable rows in the current matrix
5413 which are below the window after scrolling.
5414
5415 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
5416 is zero. It's not worth the complexity.
5417 (invisible_text_between_p): Put in #if 0 because unused.
5418
5419 2000-12-28 Gerd Moellmann <gerd@gnu.org>
5420
5421 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
5422 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
5423
5424 * keyboard.c (echo_char): If C is an integer, always call
5425 push_key_description. Former code could signal an invalid
5426 character error.
5427
5428 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
5429 If set, print multibyte text.
5430 (Fsingle_key_description): Call push_key_description with
5431 FORCE_MULTIBYTE set.
5432 (describe_buffer_bindings): Likewise.
5433
5434 * lisp.h (push_key_description): Add prototype.
5435
5436 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
5437 around the call to redisplay_internal.
5438
5439 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5440
5441 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
5442
5443 2000-12-28 Kenichi Handa <handa@etl.go.jp>
5444
5445 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
5446 (ccl_driver): New local variable `extra_bytes'.
5447
5448 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
5449
5450 * coding.c (setup_coding_system):
5451 Initialize coding->spec.ccl.eight_bit_carryover.
5452 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
5453
5454 2000-12-28 Kenichi Handa <handa@etl.go.jp>
5455
5456 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
5457 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
5458 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
5459 (decode_composition_emacs_mule): New function.
5460 (decode_coding_emacs_mule): Decode composition sequence by calling
5461 decode_composition_emacs_mule.
5462 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
5463 (encode_coding_emacs_mule): Changed from macro to function.
5464 If a text contains compositions, encode them correctly.
5465 (setup_coding_system): Set coding->commong_flags for emacs-mule so
5466 that decoding and encoding are required.
5467
5468 2000-12-27 Gerd Moellmann <gerd@gnu.org>
5469
5470 * xfaces.c (PT_PER_INCH): New macro.
5471 (xlfd_point_size): Compute real point size from font's pixel size.
5472 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
5473 instead of 72.
5474
5475 * .gdbinit: Comment out the line pointing to the Lesstif source
5476 directory.
5477
5478 * window.c (Frecenter): Use displayed_window_lines instead
5479 of window_internal_height.
5480
5481 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5482 instead of x-toolkit-scroll-bars-p.
5483 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5484
5485 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
5486 instead of x-toolkit-scroll-bars-p.
5487 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
5488
5489 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
5490 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
5491 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
5492 New variables.
5493 (add_window_display_history, add_frame_display_history)
5494 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
5495 (build_frame_matrix_from_leaf_window): Remove unused code.
5496 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
5497 redisplay history.
5498 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
5499 (update_window) [GLYPH_DEBUG]: Likewise.
5500 (syms_of_display): Defsubr dump-redisplay-history.
5501
5502 2000-12-23 Gerd Moellmann <gerd@gnu.org>
5503
5504 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
5505 the end of the prompt. Set echo_after_prompt to the offset
5506 of echoptr in echobuf.
5507
5508 * xdisp.c (init_from_display_pos): Pop until the iterator's
5509 stack is empty; there may be frames for stretch or images
5510 on the stack.
5511
5512 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
5513 (save_or_restore_current_matrix): New function for the same
5514 purpose, but more efficient.
5515 (adjust_frame_glyphs_for_frame_redisplay): Use it.
5516
5517 2000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
5518
5519 * xdisp.c (syms_of_xdisp): Fix last change.
5520
5521 2000-12-23 Gerd Moellmann <gerd@gnu.org>
5522
5523 * xdisp.c (syms_of_xdisp): Doc fix.
5524
5525 * xdisp.c (redisplay_window): Remove label restore_buffers;
5526 use finish_scroll_bars instead to make sure that scroll bars
5527 are redeemed. If we don't do this, flickering can result from
5528 scroll bars being destroyed and recreated.
5529
5530 2000-12-22 Jason Rumney <jasonr@gnu.org>
5531
5532 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
5533 in the wrong colors when the foreground is not black.
5534 (expose_window): Don't redraw the window that's currently being
5535 updated.
5536
5537 2000-12-22 Gerd Moellmann <gerd@gnu.org>
5538
5539 * window.c (size_window): When setting the window's too_small_ok
5540 flag, compare old size with minimum size depending on WIDTH_P,
5541 don't compare with window_min_width.
5542
5543 * window.c (delete_window): Simplify somewhat.
5544 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
5545 freeing window matrices. The flag windows_or_buffers_changed is
5546 set, so the next redisplay will consider all windows; this should
5547 suffice.
5548
5549 2000-12-22 Kenichi Handa <handa@etl.go.jp>
5550
5551 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
5552
5553 * ccl.h (struct ccl_program): New member cr_consumed.
5554
5555 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
5556 (CCL_READ_CHAR): Handle EOL conversion here.
5557 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
5558
5559 2000-12-21 Gerd Moellmann <gerd@gnu.org>
5560
5561 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
5562
5563 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
5564 otherwise tabs of different size compare equal.
5565
5566 * callint.c (Fcall_interactively): Prevent a compiler warning.
5567
5568 * print.c (print_unwind): Return nil.
5569 (PRINTDECLARE): Initialize all local variables.
5570 (print_preprocess): Add a default case.
5571
5572 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
5573
5574 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
5575
5576 * window.c (delete_window, Fsplit_window)
5577 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
5578
5579 * dispextern.h (ensure_frame_matrix): Function declaration removed.
5580
5581 * dispnew.c (ensure_frame_matrix): Removed.
5582 (save_frame_matrix, restore_frame_matrix): New functions.
5583 (adjust_frame_glyphs_for_frame_redisplay): Use them.
5584
5585 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
5586 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
5587
5588 2000-12-21 Andrew Innes <andrewi@gnu.org>
5589
5590 * w32term.c (x_update_begin): Regenerate the palette here, rather
5591 than for each window.
5592
5593 * w32xfns.c (select_palette): Avoid calling SelectPalette if
5594 palette is NULL, since this corrupts memory! Also get
5595 display_info reference from frame.
5596
5597 2000-12-21 Jason Rumney <jasonr@gnu.org>
5598
5599 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
5600
5601 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
5602 to avoid returning without releasing it.
5603
5604 2000-12-21 Kenichi Handa <handa@etl.go.jp>
5605
5606 * keymap.c (push_key_description): Don't convert eight-bit-control
5607 and eight-bit-graphic to multibyte character.
5608
5609 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
5610 generic character and CODE1 is nil, return the smallest character
5611 in CHARSET.
5612
5613 2000-12-20 Dave Love <fx@gnu.org>
5614
5615 * s/osf5-0.h (NSIG): Don't redefine.
5616
5617 2000-12-20 Stefan Monnier <monnier@cs.yale.edu>
5618
5619 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
5620 excluding menu-bar and tool-bar.
5621 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
5622 (menu_item_p): Remove.
5623 (where_is_internal_1): Don't ignore menu-items.
5624
5625 2000-12-20 Gerd Moellmann <gerd@gnu.org>
5626
5627 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
5628 into account.
5629
5630 * window.c (make_window): Initialize window's min_hscroll.
5631 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
5632 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
5633 to zero.
5634 (struct saved_window): New member min_hscroll.
5635 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
5636 (Fset_window_configuration): Set window's min_hscroll.
5637 (save_window_save): Save window's min_hscroll.
5638 (compare_window_configurations): Compare min_hscroll values.
5639
5640 * window.h (struct window): New member min_hscroll.
5641
5642 * keyboard.c (echo_prompt): Prevent a compiler warning.
5643
5644 * xdisp.c (try_cursor_movement): Fix last change. The real
5645 condition is that PT is at the end of the row, and should
5646 be displayed at the start of the next row.
5647
5648 * xdisp.c (try_cursor_movement): If we end on a partially
5649 visible line, end we already decided to scroll, return -1.
5650
5651 * dispextern.h (ensure_frame_matrix): Add prototype.
5652
5653 * window.c (delete_window, Fsplit_window)
5654 (Fset_window_configuration): Call ensure_frame_matrix.
5655
5656 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
5657 New functions.
5658 (adjust_frame_glyphs_for_frame_redisplay): If display has been
5659 completed, call fake_current_matrices instead of marking frame
5660 garbaged.
5661
5662 2000-12-20 Jason Rumney <jasonr@gnu.org>
5663
5664 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
5665
5666 2000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
5667
5668 * fns.c (Frequire): Doc fix.
5669
5670 2000-12-19 Gerd Moellmann <gerd@gnu.org>
5671
5672 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
5673
5674 * dispnew.c (direct_output_for_insert): Fix check for mini-window
5675 currently displaying a message.
5676
5677 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
5678 xterm.h.
5679 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
5680
5681 2000-12-18 Andrew Innes <andrewi@gnu.org>
5682
5683 * w32.c (w32_strerror): New function.
5684
5685 * w32.h (w32_strerror): New extern.
5686
5687 * w32fns.c (Fw32_shell_execute): Use it.
5688
5689 2000-12-18 Gerd Moellmann <gerd@gnu.org>
5690
5691 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
5692
5693 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5694
5695 * msdos.c (IT_set_face): Obey inverse_video.
5696
5697 2000-12-18 Kenichi Handa <handa@etl.go.jp>
5698
5699 * dired.c (directory_files_internal): Always return decoded filenames.
5700
5701 2000-12-18 Gerd Moellmann <gerd@gnu.org>
5702
5703 * xterm.c (x_connection_closed): Prevent being called recursively
5704 because of an error condition in XtCloseDisplay.
5705
5706 * xdisp.c (init_iterator): If noninteractive, and the frame's
5707 face cache is null, make one.
5708
5709 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5710
5711 * process.c (wait_reading_process_input): Check for pending
5712 input when running timers.
5713
5714 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
5715
5716 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
5717
5718 2000-12-18 Kenichi Handa <handa@etl.go.jp>
5719
5720 * process.c (read_process_output): Don't run a filter if the code
5721 decoder produces nothing but carryover.
5722
5723 2000-12-17 Andrew Innes <andrewi@gnu.org>
5724
5725 * w32.c (sys_rename): Only check errno against EEXIST, and not
5726 EACCES, when determining whether rename failed because the target
5727 exists. This was resulting in indefinite looping on Windows 9x if
5728 the source file was locked by another process.
5729
5730 * w32fns.c (Ffile_system_info): New function.
5731 (syms_of_w32fns): Defsubr it.
5732
5733 2000-12-17 Gerd Moellmann <gerd@gnu.org>
5734
5735 * window.c (coordinates_in_window): Fix computation for
5736 position on vertical line between mode lines.
5737
5738 * xfns.c (unwind_create_frame): Return t if frame was deleted.
5739 Don't alter tip_frame or tip_window.
5740 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5741 was deleted.
5742
5743 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
5744 Don't alter tip_frame or tip_window.
5745 (unwind_create_tip_frame): Set tip_frame to nil only if frame
5746 was deleted.
5747
5748 2000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
5749
5750 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
5751 be consistent with the doc string. Reported by NAKAJIMA Mikio
5752 <minakaji@osaka.email.ne.jp>.
5753
5754 2000-12-16 Kenichi Handa <handa@etl.go.jp>
5755
5756 * xfaces.c (Vface_ignored_fonts): New variable.
5757 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
5758 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
5759
5760 2000-12-15 Gerd Moellmann <gerd@gnu.org>
5761
5762 * dispnew.c (update_window): Detect pending input every nth line
5763 updated, i.e. do it depending on real work done, and not on the
5764 vpos of the line.
5765
5766 * xterm.c (expose_window): Don't redraw the window that's
5767 currently being updated.
5768
5769 * window.c (Fset_window_point): Remove test for
5770 cursor_in_non_selected_windows.
5771
5772 * lread.c (read1): Recognize end of file after `\\'.
5773
5774 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
5775 not unwind_create_frame.
5776
5777 2000-12-15 Dave Love <fx@gnu.org>
5778
5779 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
5780 bcopy & al.
5781
5782 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
5783
5784 2000-12-15 Kenichi Handa <handa@etl.go.jp>
5785
5786 * coding.c (setup_coding_system): Clear all members of the struct
5787 coding_system at first.
5788 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
5789 argument.
5790 (code_convert_region): Don't override coding->src_multibyte and
5791 coding->dst_multibyte.
5792
5793 * fns.c (Fmd5): Docstring improved.
5794
5795 2000-12-15 Miles Bader <miles@gnu.org>
5796
5797 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
5798 are actually marked as mode-lines; otherwise use
5799 estimate_mode_line_height.
5800
5801 2000-12-14 Gerd Moellmann <gerd@gnu.org>
5802
5803 * editfns.c (Fformat): Prevent a buffer overrun when the format
5804 specifies a precision.
5805
5806 2000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
5807
5808 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
5809 argument is outside the range [2..3].
5810
5811 2000-12-14 Andrew Innes <andrewi@gnu.org>
5812
5813 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
5814 nothing to do. Bind inhibit-quit.
5815 (tip_frame): Make it a Lisp_Object.
5816 (x_create_tip_frame): Set tip_frame after it has been added to
5817 Vframe_list.
5818 (Fx_show_tip): Don't set tip_frame here.
5819 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
5820 (unwind_create_frame, unwind_create_tip_frame): New functions.
5821 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5822 while a frame is only partially constructed.
5823
5824 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5825 (x_free_frame_resources): New function.
5826 (x_destroy_window): Use it.
5827
5828 2000-12-14 Gerd Moellmann <gerd@gnu.org>
5829
5830 * xfns.c (Fx_backspace_delete_keys_p): New function.
5831 (syms_of_xfns): Defsubr it.
5832
5833 * config.in (HAVE_XKBGETKEYBOARD): Add.
5834
5835 2000-12-14 Kenichi Handa <handa@etl.go.jp>
5836
5837 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
5838 Always store string in multibyte representation in echobuf.
5839 (echo_char): Always store string in multibyte representation in
5840 echobuf.
5841 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
5842 (read_key_sequence): Adjusted for the change of echo_prompt.
5843
5844 * fns.c (Fmd5): Docstring improved.
5845
5846 * lisp.h (detect_coding_system): Prototype adjusted.
5847
5848 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
5849 (detect_coding_emacs_mule, detect_coding_iso2022,)
5850 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
5851 (detect_coding_utf_16, detect_coding_ccl): Make them static.
5852 New argument MULTIBYTEP. Callers changed.
5853 (detect_coding_mask, detect_coding_system): New argument
5854 MULTIBYTEP. Callers changed.
5855 (decode_coding_string): Set coding->src_multibyte and
5856 coding->dst_multibyte before calling detect_coding and detect_eol.
5857 Update them after some coding system is detected.
5858
5859 2000-12-13 Stefan Monnier <monnier@cs.yale.edu>
5860
5861 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
5862
5863 * keyboard.c (menu_bar_items, tool_bar_items):
5864 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
5865
5866 2000-12-13 Gerd Moellmann <gerd@gnu.org>
5867
5868 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
5869 New variables.
5870 (unwind_create_frame, unwind_create_tip_frame): New functions.
5871 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
5872 while a frame is only partially constructed.
5873
5874 * xterm.h (x_free_frame_resources): Declare.
5875
5876 * xterm.c (x_free_frame_resources): New function.
5877 (x_destroy_window): Use it.
5878
5879 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
5880 don't interrupt the update for pending input initially, i.e.
5881 update at least some lines.
5882
5883 * keyboard.c (do_mouse_tracking): Make externally visible.
5884
5885 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
5886
5887 * xfns.c (gray_bitmap_bits): Declare `char *'.
5888
5889 2000-12-12 Gerd Moellmann <gerd@gnu.org>
5890
5891 * xdisp.c (display_tool_bar_line): Make sure that tool bar
5892 lines start with a relief line.
5893
5894 2000-12-12 Dave Love <fx@gnu.org>
5895
5896 * window.c (Fdisplay_buffer): Doc fix.
5897 (Fwindow_list): Remove unused var.
5898
5899 * buffer.h (mmap_set_vars): Declare.
5900
5901 * window.h (Fset_window_point): Declare.
5902
5903 2000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
5904
5905 * msdos.c (fast_find_position): Don't overstep the last window row.
5906 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
5907 variable `area'. When looking for a row under (X,Y), give up if some
5908 of the previous rows is not enabled.
5909
5910 2000-12-12 Gerd Moellmann <gerd@gnu.org>
5911
5912 * window.c (Fset_window_point): If displaying cursors in windows
5913 other than the selected window, make sure redisplay updates
5914 other windows to show the new value of point in the window.
5915
5916 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
5917
5918 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
5919 the buffer is the sole visible buffer when in the mini-buffer.
5920
5921 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
5922 Bind `inhibit-read-only' to t.
5923 (unwind_with_echo_area_buffer): Use AREF.
5924
5925 * xfns.c (Fx_hide_tip): Simplified.
5926
5927 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
5928 instead of `1'.
5929
5930 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
5931
5932 2000-12-11 Gerd Moellmann <gerd@gnu.org>
5933
5934 * xfns.c (Fx_hide_tip): Fix last change.
5935
5936 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
5937 nothing to do. Bind inhibit-quit.
5938 (tip_frame): Make it a Lisp_Object.
5939 (x_create_tip_frame): Set tip_frame after it has been added to
5940 Vframe_list.
5941 (Fx_show_tip): Don't set tip_frame here.
5942
5943 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
5944
5945 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
5946 Lisp_Object.
5947
5948 * dispextern.h: Change external declaration of tip_frame.
5949
5950 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
5951 return an empty string.
5952
5953 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
5954 of the window's update_mode_line flag, since the former is set by
5955 force-mode-line-update, not the latter. This makes
5956 column-number-mode slightly faster.
5957
5958 * xdisp.c (try_window_id) <all changes above window start>:
5959 Set the cursor.
5960
5961 2000-12-11 Paul Eggert <eggert@twinsun.com>
5962
5963 * config.in (HAVE_FTELLO): Remove.
5964 (HAVE_FSEEKO): Add.
5965 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
5966 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
5967 HAVE_FTELLO.
5968 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
5969 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
5970
5971 2000-12-11 Miles Bader <miles@gnu.org>
5972
5973 * window.c (displayed_window_lines): Don't round up when
5974 converting empty space at bottom to lines.
5975 Handle non-newline-terminated final lines properly.
5976 (Fwindow_text_height): New function (used to be in lisp).
5977 (syms_of_window): Initialize it.
5978
5979 2000-12-09 Stefan Monnier <monnier@cs.yale.edu>
5980
5981 * syntax.c (scan_lists): Check that the right quote char has the
5982 right Sstring syntax when jumping over strings.
5983 (init_syntax_once): Use Smax rather than 13.
5984
5985 2000-12-09 Miles Bader <miles@gnu.org>
5986
5987 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
5988 with PARTIALLY, inverting the sense.
5989 (window_scroll_pixel_based): Scroll partially visible lines into
5990 place if we hit the beginning or end of the buffer.
5991 (displayed_window_lines): Don't include partially visible lines.
5992 (Fmove_to_window_line): Skip past any partially visible first line.
5993
5994 2000-12-08 Gerd Moellmann <gerd@gnu.org>
5995
5996 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
5997
5998 * tparam.c (tparam1): Change the way buffers are reallocated to be
5999 portable and less obfuscated.
6000
6001 * termcap.c (tgetent): Change the way buffers are reallocated to
6002 be portable and less obfuscated.
6003
6004 * macros.c (store_kbd_macro_char): Change the way buffers are
6005 reallocated to be portable and less obfuscated.
6006
6007 * lread.c (read1): Change the way buffers are reallocated to be
6008 portable and less obfuscated.
6009
6010 * doc.c (Fsubstitute_command_keys): Change the way buffers
6011 are reallocated so that it is portable.
6012
6013 2000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
6014
6015 * dosfns.c (Ffile_system_info): New function.
6016 (syms_of_dosfns): Defsubr it.
6017
6018 2000-12-07 Stefan Monnier <monnier@cs.yale.edu>
6019
6020 * alloc.c (gc_sweep): Add comment.
6021
6022 2000-12-07 Gerd Moellmann <gerd@gnu.org>
6023
6024 * sound.c (vox_configure): Change order of ioctls.
6025 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
6026 Ignore errors when changing volume.
6027 (vox_close): Don't reset the device.
6028
6029 * process.c (read_process_output): Make sure the process marker's
6030 position is valid when the process buffer is changed in
6031 after-change functions. W3 does that.
6032
6033 * xfns.c (x_free_gcs): New function.
6034
6035 * xterm.h (x_free_gcs): Add prototype.
6036
6037 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
6038 freeing GCs here.
6039
6040 * xterm.c (x_destroy_window): Call x_free_gcs so that
6041 resources of non-toolkit X windows will be freed.
6042
6043 2000-12-07 Andrew Innes <andrewi@gnu.org>
6044
6045 * w32fns.c (xlfd_charset_of_font): Fix last change.
6046
6047 2000-12-06 Dave Love <fx@gnu.org>
6048
6049 * md5.h (__P): Don't define -- it comes from config.h.
6050
6051 * strftime.c: Change some #if foo to #ifdef foo.
6052
6053 2000-12-06 Andrew Innes <andrewi@gnu.org>
6054
6055 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
6056
6057 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
6058 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
6059 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
6060
6061 2000-12-06 Gerd Moellmann <gerd@gnu.org>
6062
6063 * alloc.c (gc_sweep): Prevent symbols read during loadup
6064 from being freed.
6065
6066 * xdisp.c (underlying_face_id): New function.
6067 (handle_face_prop, face_before_or_after_it_pos): Use it
6068 to determine the face ``under'' a string. Let strings inherit
6069 the face of the buffer under them.
6070
6071 * xfaces.c (face_at_string_position): Update function comment.
6072
6073 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
6074 matrix if the window's left position has changed; we need to
6075 redraw it in this case.
6076
6077 * dispextern.h (struct glyph_matrix): Add member window_left_x.
6078
6079 * window.c (coordinates_in_window): Check mouse on mode-line or
6080 header-line first.
6081
6082 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
6083 advertized by the function documentation.
6084
6085 * window.c (syms_of_window): Doc fix.
6086
6087 * sound.c (vox_configure): Set volume for left and right channel.
6088 (sound_cleanup): Return nil.
6089
6090 * xdisp.c (move_it_by_lines): Fix paren typo.
6091
6092 * xterm.c (x_load_font): Don't use the font's max_bounds for
6093 computing the height of the font. If max_bounds' ascent or
6094 descent are greater than the font's ascent or descent, this means
6095 glyphs overlap, which should be handled now by redisplay.
6096
6097 * window.c (Veven_window_heights): New variable.
6098 (syms_of_window): DEFVAR_LISP it.
6099 (Fdisplay_buffer): Check Veven_window_heights before evening the
6100 window heights.
6101
6102 2000-12-06 Miles Bader <miles@gnu.org>
6103
6104 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
6105 update `default-frame-alist' instead of setting no frame parameters.
6106
6107 2000-12-06 Kenichi Handa <handa@etl.go.jp>
6108
6109 * composite.c (update_compositions): Fix typo (use the correct
6110 variable).
6111
6112 2000-12-05 Jason Rumney <jasonr@gnu.org>
6113
6114 * md5.h: Remove underscores from function declarations.
6115 (__attribute__, __alignof__) [!__GNUC__]: Define.
6116
6117 * md5.c: Delay include of md5.h until after namespace cleaning.
6118
6119 * makefile.w32-in (fns.o): Depend on md5.h
6120 (md5.o): New target.
6121 (sunfns.o): Remove.
6122
6123 * makefile.nt: Likewise.
6124
6125 2000-12-05 Jason Rumney <jasonr@altavista.net>
6126
6127 * w32term.c (expose_area): Complete last change.
6128
6129 2000-12-05 Ken Raeburn <raeburn@gnu.org>
6130
6131 * minibuf.c: Include intervals.h.
6132
6133 2000-12-05 Jason Rumney <jasonr@gnu.org>
6134
6135 * w32term.c (x_produce_glyphs): If a font for a component of
6136 a composition is not found, use 1 pixel dot ascent and 0 dot
6137 descent value to avoid displaying terribly tall empty boxes.
6138 (expose_area): Pass x-coordinate relative to the exposed
6139 area to x_draw_glyphs instead of a window-relative coordinate.
6140
6141 2000-12-05 Gerd Moellmann <gerd@gnu.org>
6142
6143 * xdisp.c (next_element_from_ellipsis): Save face before selective
6144 display in saved_face_id, and set face_before_selective_p.
6145 (reseat_1): Reset face_before_selective_p.
6146 (append_space, extend_face_to_end_of_line): If iterator's
6147 face_before_selective_p is set, use the face from saved_face_id.
6148 (extend_face_to_end_of_line): For tty frames, make sure to
6149 use the right face id when producing spaces at the end of
6150 the line.
6151
6152 * dispextern.h (struct it): Add face_before_selective_p.
6153
6154 * keyboard.c (record_char): Don't record identical help-echo
6155 events in recent_keys.
6156
6157 * xterm.c [USE_X_TOOLKIT]: Close the display.
6158 (xim_close_dpy): Handle case that the display has been closed.
6159
6160 * xterm.c (x_destroy_window): Reset the frame's X window after
6161 destroying it.
6162
6163 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
6164 variable window_width.
6165 (line_draw_cost): Fix code skipping over spaces at the end of the
6166 line when must_write_spaces is not set.
6167 (scrolling_window): Fix code inserting runs in list of all runs.
6168
6169 2000-12-05 Kenichi Handa <handa@etl.go.jp>
6170
6171 * coding.c (setup_coding_system): Be sure to initialize
6172 coding->category_idx.
6173
6174 2000-12-04 Gerd Moellmann <gerd@gnu.org>
6175
6176 * xterm.c (PER_CHAR_METRIC): Removed because not used.
6177
6178 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
6179 area to x_draw_glyphs instead of a window-relative coordinate.
6180
6181 * fileio.c (auto_save_error): Add parameter ERROR. Show the
6182 error in the message.
6183
6184 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
6185 timer after having read a key. It's not good for code reading
6186 several keys in a loop, like an input method.
6187
6188 * fileio.c (Finsert_file_contents): When VISIT is t, don't
6189 record undo information for format-decode.
6190
6191 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
6192 current buffer is read-only, not if it isn't.
6193
6194 * keyboard.c (record_char): Record `help-echo' input events
6195 in recent_keys only if they display some help. Don't record
6196 `help-echo' events as macro char.
6197
6198 2000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
6199
6200 * editfns.c (save_excursion_restore): Don't move point
6201 in another window if it is showing the wrong buffer.
6202 Avoid the call to Fwindow_live_p, for speed.
6203
6204 2000-12-04 Kenichi Handa <handa@etl.go.jp>
6205
6206 * xfaces.c (struct font_name): New member registry_priority.
6207 (split_font_name): Initialize the above member to zero.
6208 (concat_font_list): New function.
6209 (font_list): Include fonts of all alternative registries.
6210 (FONT_POINT_SIZE_QUANTUM): New macro.
6211 (better_font_p): Ignore point size difference less than
6212 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
6213
6214 * xterm.c (x_produce_glyphs): If a font for a component of
6215 a composition is not found, use 1 pixel dot ascent and 0 dot
6216 descent value to avoid displaying terribly tall empty boxes.
6217
6218 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
6219
6220 2000-12-03 Ken Raeburn <raeburn@gnu.org>
6221
6222 * coding.h (code_convert_string1): Declare.
6223
6224 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
6225
6226 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
6227
6228 2000-12-02 Jason Rumney <jasonr@gnu.org>
6229
6230 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
6231 correctly for single byte character case.
6232 (w32_per_char_metric): Do not try to make any assumptions about
6233 the metrics of BDF fonts.
6234 (x_estimate_mode_line_height): If `mode-line' face
6235 hasn't a font, use that of the frame, as drawing glyphs does.
6236 (note_mouse_highlight): Change the cursor shape on the vertical
6237 border between windows [not enabled].
6238
6239 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
6240
6241 * w32fns.c (Fx_create_frame): Reintroduce the call to
6242 face-set-after-frame-defaults.
6243 (Vx_window_horizontal_drag_shape): New variable.
6244 (syms_of_xfns): DEFVAR_LISP it.
6245 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
6246 enabled].
6247
6248 2000-12-02 Simon Josefsson <simon@josefsson.org>
6249
6250 * fns.c (Fmd5): Use a different logic to decide the coding system
6251 to use.
6252
6253 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
6254
6255 2000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
6256
6257 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
6258
6259 2000-12-01 Gerd Moellmann <gerd@gnu.org>
6260
6261 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
6262 height for YNegative.
6263 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
6264 height; also see comment there.
6265
6266 * window.c (coordinates_in_window): Handle computations for
6267 positions on the vertical bar and fringes differently for
6268 window-system frames. Consider some pixels near the vertical bar
6269 as on the bar if the frame doesn't have vertical scroll bars.
6270 Associate positions between mode or header lines with the
6271 right window, the left one.
6272
6273 2000-12-01 Jason Rumney <jasonr@gnu.org>
6274
6275 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
6276
6277 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
6278 invalid frame.
6279
6280 2000-12-01 Gerd Moellmann <gerd@gnu.org>
6281
6282 * window.c (struct saved_window): Add members orig_top and orig_height.
6283 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
6284 (save_window_save, Fset_window_configuration): Save/restore
6285 window's orig_top and orig_height.
6286
6287 2000-12-01 Jason Rumney <jasonr@gnu.org>
6288
6289 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
6290
6291 * w32fns.c (x_set_cursor_color): Fix last change.
6292
6293 2000-11-30 Gerd Moellmann <gerd@gnu.org>
6294
6295 * xdisp.c (echo_area_display): If cursor is in the echo area, make
6296 sure that the next redisplay displays the minibuffer, so that
6297 the cursor will be replaced with what the minibuffer wants.
6298
6299 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
6300 #ifndef instead of using #if.
6301 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
6302 USE_TOOLKIT_SCROLL_BARS is defined.
6303
6304 2000-11-30 Jason Rumney <jasonr@gnu.org>
6305
6306 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
6307 x_display_cursor.
6308
6309 2000-11-30 Gerd Moellmann <gerd@gnu.org>
6310
6311 * fns.c (Fmd5): Doc fix.
6312
6313 2000-11-30 Simon Josefsson <simon@josefsson.org>
6314
6315 * fns.c (Fmd5): New function.
6316 (syms_of_fns): Defsubr md5.
6317
6318 * Makefile.in (obj): Add md5.o
6319
6320 2000-11-30 Gerd Moellmann <gerd@gnu.org>
6321
6322 * md5.h, md5.c: New files, taken from glibc.
6323
6324 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
6325
6326 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
6327 hasn't a font, use that of the frame, as drawing glyphs does.
6328
6329 2000-11-29 Stefan Monnier <monnier@cs.yale.edu>
6330
6331 * eval.c (Frun_hooks): Allow 0 arguments.
6332
6333 2000-11-29 Gerd Moellmann <gerd@gnu.org>
6334
6335 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
6336 is over the menu bar widget, say it's not on the frame.
6337
6338 * xfns.c (Fx_create_frame): Reintroduce the call to
6339 face-set-after-frame-defaults.
6340
6341 * eval.c (Fsignal): Reset handling_signal.
6342
6343 2000-11-28 Jason Rumney <jasonr@gnu.org>
6344
6345 * w32menu.c (add_menu_item): Reset menu item text when changing
6346 type to radio button.
6347
6348 2000-11-28 Gerd Moellmann <gerd@gnu.org>
6349
6350 * xselect.c: Update copyright.
6351
6352 * window.c (coordinates_in_window): If on a mode or header line,
6353 but sufficiently close to its start, return ``on vertical
6354 border''. This gives us a way to drag windows horizontally when
6355 using toolkit scroll bars.
6356
6357 * xterm.c (note_mouse_highlight): Change the cursor shape
6358 on the vertical border between windows.
6359
6360 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
6361
6362 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
6363 (syms_of_xfns): DEFVAR_LISP it.
6364 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
6365
6366 * textprop.c (text_read_only): New function.
6367 (verify_interval_modification): Use it instead of signaling
6368 `text-read-only'. This makes it easier to catch this error
6369 with a breakpoint.:
6370
6371 * xdisp.c (forward_to_next_line_start): Check for newlines,
6372 not end of line, which includes CR.
6373
6374 2000-11-28 Kenichi Handa <handa@etl.go.jp>
6375
6376 * coding.c (Ffind_coding_systems_region_internal): Be sure to
6377 include no-conversion.
6378
6379 2000-11-27 Jason Rumney <jasonr@gnu.org>
6380
6381 * w32fns.c (w32_load_system_font): Always mark font as double byte
6382 if codepage is unicode.
6383
6384 2000-11-27 Gerd Moellmann <gerd@gnu.org>
6385
6386 * xdisp.c (forward_to_next_line_start): If already on a newline,
6387 just consume it to avoid unintended skipping over invisible text below.
6388
6389 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
6390 `vertical-line', `mode-line' and `header-line' events.
6391
6392 * xdisp.c (try_window_id): Avoid starting to display in the middle
6393 of a character, a TAB for instance. This is easier than to set
6394 up the iterator exactly, and it's not a frequent case, so the
6395 additional effort wouldn't really pay off.
6396
6397 2000-11-26 Andrew Choi <akochoi@i-cable.com>
6398
6399 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
6400 init_window_once.
6401
6402 2000-11-25 Jason Rumney <jasonr@gnu.org>
6403
6404 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
6405 Args to window_from_coordinates should be pixel coordinates.
6406
6407 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
6408 redisplay handles them properly.
6409
6410 2000-11-25 Miles Bader <miles@gnu.org>
6411
6412 * indent.c (compute_motion): Keep pos_byte in sync with pos.
6413
6414 2000-11-24 Jason Rumney <jasonr@gnu.org>
6415
6416 * w32.c (init_environment): Set LANG environment variable based on
6417 locale settings, if not set.
6418
6419 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
6420 making tool bar smaller. When clearing the frame, also
6421 clear current matrices. Clear frame when tool bar disappears.
6422 Don't use more lines for the tool-bar than is available.
6423 (x_change_window_heights): New function.
6424
6425 2000-11-24 Gerd Moellmann <gerd@gnu.org>
6426
6427 * xdisp.c (init_from_display_pos): If POS says we're already after
6428 an overlay string ending at POS, make sure to pop the iterator
6429 because it will be in front of that overlay string. When POS is
6430 ZV, we've thereby also ``processed'' overlay strings at ZV.
6431
6432 * xfaces.c (lface_from_face_name): Function comment fix.
6433
6434 2000-11-24 Miles Bader <miles@gnu.org>
6435
6436 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
6437 apply `mode-line-inverse-video' -- zero means force display using
6438 the default face, non-zero means display using the specialized face.
6439 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
6440
6441 2000-11-23 Kenichi Handa <handa@etl.go.jp>
6442
6443 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
6444 hard coded `4'.
6445
6446 2000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
6447
6448 * coding.c (decode_coding_emacs_mule): Fix the case of
6449 CODING_EOL_LF, which used uninitialized value of c.
6450
6451 2000-11-23 Stefan Monnier <monnier@cs.yale.edu>
6452
6453 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
6454
6455 2000-11-22 Gerd Moellmann <gerd@gnu.org>
6456
6457 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
6458 buffer object.
6459
6460 * frame.h (struct frame): Replace desired_tool_bar_items,
6461 current_tool_bar_items, n_desired_tool_bar_items,
6462 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
6463
6464 * frame.c (make_frame): Change initialization of tool bar
6465 items accordingly.
6466
6467 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
6468 Change references to members deleted from struct frame to use the
6469 new ones.
6470
6471 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
6472 references to members deleted from struct frame to use the new ones.
6473
6474 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
6475
6476 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
6477
6478 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
6479 (note_tool_bar_highlight): Change references to members deleted
6480 from struct frame to use the new ones.
6481
6482 2000-11-23 Miles Bader <miles@gnu.org>
6483
6484 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
6485 the face's inverse-video attribute, rather than overriding it.
6486
6487 2000-11-22 Gerd Moellmann <gerd@gnu.org>
6488
6489 * xfns.c (x_set_tool_bar_lines): Clear internal border when
6490 making tool bar smaller.
6491
6492 2000-11-22 Dave Love <fx@gnu.org>
6493
6494 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
6495
6496 2000-11-22 Miles Bader <miles@gnu.org>
6497
6498 * keyboard.c (Vminibuffer_message_timeout): New variable.
6499 (command_loop_1): Use it to determine message timeout.
6500 (syms_of_keyboard): Initialize it.
6501
6502 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
6503
6504 2000-11-22 Kenichi Handa <handa@etl.go.jp>
6505
6506 * sysdep.c: Move the code for declaring h_errno after #include
6507 <netdb.h>.
6508
6509 2000-11-21 Gerd Moellmann <gerd@gnu.org>
6510
6511 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
6512 the menu bar when the tooltip is unmapped.
6513
6514 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
6515 sole visible buffer when we're currently in the mini-buffer, and
6516 give up if so.
6517
6518 2000-11-21 Jason Rumney <jasonr@gnu.org>
6519
6520 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
6521 put on the clipboard.
6522 (Fw32_get_clipboard_data): Compare data on clipboard with saved
6523 copy of what Emacs last put there. If they are the same, do not
6524 use the clipboard copy to avoid losing data due to coding conversions.
6525
6526 2000-11-22 Miles Bader <miles@gnu.org>
6527
6528 * minibuf.c (Vminibuffer_prompt_properties): New variable.
6529 (syms_of_minibuf): Initialize it.
6530 (read_minibuf): Add properties from Vminibuffer_prompt_properties
6531 to prompt, don't make read-only.
6532
6533 2000-11-21 Gerd Moellmann <gerd@gnu.org>
6534
6535 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
6536 Add BEFORE/AFTER_POTENTIAL_GC.
6537
6538 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
6539
6540 * buffer.c (mmap_free_1): Avoid a compiler warning.
6541
6542 * term.c, cm.c: Don't try to include termcap.h; see comment there.
6543
6544 2000-11-21 Kenichi Handa <handa@etl.go.jp>
6545
6546 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
6547 ... #endif scope.
6548
6549 2000-11-20 Gerd Moellmann <gerd@gnu.org>
6550
6551 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
6552 screen supports it.
6553
6554 * s/gnu-linux.h: Don't use `#cpu'.
6555
6556 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
6557 not defined in mman.h.
6558
6559 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
6560 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
6561 and store an index in the XClientMessageEvent. Storing a
6562 Lisp_Object or pointer can fail on a 64 bit system, since X only
6563 transfers 32 bits.
6564 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
6565
6566 2000-11-20 Dave Love <fx@gnu.org>
6567
6568 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
6569
6570 2000-11-20 Gerd Moellmann <gerd@gnu.org>
6571
6572 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
6573
6574 2000-11-20 Kenichi Handa <handa@etl.go.jp>
6575
6576 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
6577 by WIDTH.
6578
6579 * alloc.c (make_string): Fix previous change. Be sure to make
6580 unibyte string correctly.
6581
6582 2000-11-19 Gerd Moellmann <gerd@gnu.org>
6583
6584 * window.c (Fwindow_list): Change parameter list to be XEmacs
6585 compatible.
6586 (window_list_1): New function.
6587 (window_loop): Use it instead of Fwindow_list.
6588
6589 * sysdep.c (emacs_ospeed): New variable.
6590 (toplevel): Don't declare ospeed extern.
6591 (init_baud_rate): Use emacs_ospeed instead of ospeed.
6592
6593 * termcap.c (ospeed): Remove.
6594 (tputs) [!emacs]: Remove unused code.
6595 (tgetent): Avoid a compiler warning.
6596
6597 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
6598 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
6599 SCROLL_BAR_X_WIDGET with additional argument DPY.
6600
6601 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
6602 removed.
6603 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
6604 Take the X display as additional argument.
6605 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
6606 `Widget' is a pointer type that's not easily stored in Lisp_Object
6607 form in a portable way.
6608
6609 * dispnew.c (update_text_area): Fix last change.
6610
6611 2000-11-18 Gerd Moellmann <gerd@gnu.org>
6612
6613 * xdisp.c: Use BINDING_STACK_SIZE throughout.
6614
6615 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
6616 clear current matrices.
6617
6618 * buffer.c (mmap_enlarge): Don't print a message on stderr
6619 if mapping new memory at the end of the existing region fails.
6620
6621 * dispnew.c (update_text_area): Don't skip over equal glyphs
6622 when the last current glyph overlaps the glyph to its right.
6623
6624 2000-11-18 Miles Bader <miles@gnu.org>
6625
6626 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
6627 lines that *end* with "..." too (that's the most common case!).
6628
6629 2000-11-18 Gerd Moellmann <gerd@gnu.org>
6630
6631 * xdisp.c (resize_mini_window): Temporarily change to the
6632 mini-window's buffer if necessary.
6633
6634 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
6635 the tooltip obscures less text under it.
6636
6637 2000-11-17 Gerd Moellmann <gerd@gnu.org>
6638
6639 * puresize.h (BASE_PURESIZE): Increase to 700000.
6640
6641 2000-11-18 Jason Rumney <jasonr@gnu.org>
6642
6643 * w32term.c (w32_draw_bitmap): Use face to set colors.
6644
6645 2000-11-17 Dave Love <fx@gnu.org>
6646
6647 * lread.c (Fload): Fix #ifdef for pcc.
6648
6649 2000-11-17 Gerd Moellmann <gerd@gnu.org>
6650
6651 * xdisp.c (pos_visible_p): Compute the default character height
6652 differently.
6653
6654 2000-11-16 Gerd Moellmann <gerd@gnu.org>
6655
6656 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
6657 knowing the line's height; use the default font's height in that case.
6658
6659 * xfaces.c (weight_table): Add `demi' with the same meaning as
6660 `demibold'.
6661
6662 2000-11-16 Kenichi Handa <handa@etl.go.jp>
6663
6664 * dispnew.c (null_row): New global static variable.
6665 (clear_glyph_row): Delete local static variable null_row.
6666
6667 2000-11-15 Jason Rumney <jasonr@gnu.org>
6668
6669 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
6670 (w32_alloc_lighter_color): Use new brightness calculations from
6671 xterm.c. Scale delta to be in the range expected by W32.
6672 (w32_draw_relief_rect): Use frame relief colors.
6673
6674 2000-11-15 Gerd Moellmann <gerd@gnu.org>
6675
6676 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
6677 (Qinhibit_default_face_x_resources): New variable.
6678 (syms_of_frame): Initialize it.
6679 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
6680
6681 * xdisp.c (pos_visible_p): Improve function comment.
6682
6683 * lisp.h (BINDING_STACK_SIZE): New macro.
6684
6685 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
6686 reading the directory if readdir returns null and errno is EAGAIN
6687 or EINTR.
6688
6689 2000-11-14 Stefan Monnier <monnier@cs.yale.edu>
6690
6691 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
6692 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
6693 Set amount_to_scroll to max of dx and scroll_step so that
6694 scroll-conservatively doesn't defeat scroll-step>1.
6695 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
6696 scroll-conservatively for line-at-a-time scrolling.
6697
6698 2000-11-14 Gerd Moellmann <gerd@gnu.org>
6699
6700 * window.c (Fpos_visible_in_window_p): Call pos_visible with
6701 extra argument.
6702
6703 * xdisp.c (current_mode_line_height, current_header_line_height):
6704 New variables.
6705 (init_xdisp): Initialize them.
6706 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
6707 and use exact mode line heights if it is set.
6708
6709 * lisp.h (pos_visible_p): Change prototype.
6710
6711 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
6712 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
6713 and current_header_line_height first.
6714 (current_mode_line_height, current_header_line_height):
6715 Declare extern.
6716
6717 2000-11-14 Miles Bader <miles@lsi.nec.co.jp>
6718
6719 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
6720 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
6721 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
6722
6723 2000-11-14 Miles Bader <miles@gnu.org>
6724
6725 * xterm.c (x_alloc_lighter_color): Include an additive component
6726 too for dark colors, because FACTOR isn't enough.
6727 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
6728 New macros.
6729
6730 2000-11-13 Gerd Moellmann <gerd@gnu.org>
6731
6732 * keyboard.c (show_help_echo): Call message3_nolog with number of
6733 bytes in the help string as 2nd parameter, instead of the number
6734 of characters.
6735
6736 2000-11-13 Miles Bader <miles@gnu.org>
6737
6738 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
6739 (Fload): Use new openp return protocol.
6740 Don't try to use Vload_source_file_function to load .elc files.
6741 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
6742 openp return protocol.
6743 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
6744
6745 2000-11-11 Kenichi Handa <handa@etl.go.jp>
6746
6747 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
6748
6749 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
6750 Defined these macros.
6751 (NLIST_STRUCT): Avoid re-defining it.
6752
6753 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
6754 -I/usr/contrib/X11R6/include.
6755 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
6756
6757 2000-11-10 Jason Rumney <jasonr@gnu.org>
6758
6759 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
6760
6761 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
6762 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
6763
6764 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
6765 (Qw32_charset_vietnamese): New symbol.
6766 (xlfd_charset_of_font): New function.
6767 (w32_load_system_font): Use it.
6768 (x_to_w32_charset): Use Fassoc to find charset info. Special case
6769 when Vw32_charset_info_alist is nil to ensure default face always
6770 has font. Use Fcar and Fcdr for safety.
6771 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
6772 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
6773 pseudo-codepages for special cases.
6774 (w32_to_x_font): New parameter to allow charset portion to be
6775 specified where there is many to one mapping. Callers changed.
6776 (w32_list_fonts): Avoid listing fonts that won't display.
6777
6778 2000-11-10 Gerd Moellmann <gerd@gnu.org>
6779
6780 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
6781 (font_list_1): Renamed from font_list.
6782 (font_list): New function, trying alternative registries from
6783 Vface_alternative_font_registry_alist.
6784 (Finternal_set_alternative_font_registry_alist): New function.
6785 (syms_of_xfaces): Initialize and Staticpro
6786 Vface_alternative_font_registry_alist.
6787 Defsubr Finternal_set_alternative_font_registry_alist.
6788
6789 2000-11-09 Ken Raeburn <raeburn@gnu.org>
6790
6791 * lisp.h (Flooking_at): Declare.
6792
6793 2000-11-09 Gerd Moellmann <gerd@gnu.org>
6794
6795 * dired.c (directory_files_internal): Fix a braino.
6796
6797 * dired.c (directory_files_internal): Add missing GCPRO's.
6798 Some cleanup.
6799
6800 2000-11-08 Gerd Moellmann <gerd@gnu.org>
6801
6802 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
6803 (resize_mini_window): Return quickly if Vresize_mini_window is
6804 nil. Don't return if Vmax_mini_window_height is nil.
6805
6806 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
6807 (syms_of_xdisp): Initialize them.
6808 (resize_mini_window): Act according to the setting of
6809 Vresize_mini_window.
6810 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
6811
6812 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
6813 scroll bar widget after configuring it, so that it will appear at
6814 the right position from the start.
6815 (XTredeem_scroll_bar): Cleaned up.
6816
6817 2000-11-08 Kenichi Handa <handa@etl.go.jp>
6818
6819 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
6820 font is taller than the frame line, we don't have to bias the
6821 division by two.
6822
6823 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
6824
6825 2000-11-07 Dave Love <fx@gnu.org>
6826
6827 * config.in (HAVE_MKSTEMP): Add.
6828
6829 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
6830
6831 2000-11-07 Gerd Moellmann <gerd@gnu.org>
6832
6833 * window.c (Fset_window_configuration): Don't try to preserve
6834 point in the current buffer, if that buffer is displayed in more
6835 than one window.
6836
6837 * xfaces.c (lookup_named_face): If default face isn't realized,
6838 try to realize it. Return -1 if not successful.
6839 (Fx_list_fonts): Handle case that face cannot be determined.
6840 (Fface_font): Likewise.
6841
6842 2000-11-06 Gerd Moellmann <gerd@gnu.org>
6843
6844 * window.c (displayed_window_lines): Detect partially
6845 visible lines at the bottom correctly.
6846
6847 2000-11-06 Stefan Monnier <monnier@cs.yale.edu>
6848
6849 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
6850 when ensuring we don't do visit in indirect buffer.
6851
6852 2000-11-06 Kenichi Handa <handa@etl.go.jp>
6853
6854 * composite.h (compose_chars_in_text): Add prototype.
6855
6856 * composite.c (Vcomposition_function_table): New variable.
6857 (Qcomposition_function_table): New variable.
6858 (run_composition_function): Call
6859 Vcompose_chars_after_function with three arguments.
6860 (compose_chars_in_text): New function.
6861 (syms_of_composite): Modified the doc-string of
6862 Vcompose_chars_after_function. Declare composition-function-table
6863 as a lisp variable, and initialize it.
6864
6865 * xfns.c (x_encode_text): Suppress producing escape sequences for
6866 composition.
6867
6868 * xselect.c: Include composite.h.
6869 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
6870
6871 2000-11-05 Andrew Innes <andrewi@gnu.org>
6872
6873 * w32term.c (x_produce_glyphs): Fix typo in enum name.
6874
6875 * sysdep.c (read_input_waiting): Remove extraneous argument to
6876 read_socket_hook.
6877
6878 * w32fns.c (Fx_server_version): Include w32_build_number in the
6879 return list.
6880
6881 * w32heap.c (w32_build_number): New variable.
6882 (cache_system_info): Set it.
6883
6884 * w32heap.h (w32_build_number): Add extern.
6885
6886 * emacs.c (syms_of_emacs): Update docstring for
6887 system-configuration, to reflect the actual usage on MS-Windows.
6888
6889 2000-10-31 Gerd Moellmann <gerd@gnu.org>
6890
6891 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
6892 process idle timers while waiting for another event.
6893
6894 * dispnew.c (update_frame_line): Handle case where spaces in
6895 the default face are colored.
6896
6897 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
6898 window height hasn't changed.
6899
6900 2000-10-31 Jason Rumney <jasonr@gnu.org>
6901
6902 * w32term.c (x_produce_glyphs): Handle composite characters.
6903 (x_draw_glyph_string_foreground)
6904 (x_draw_composite_glyph_string_foreground): Restore old font.
6905
6906 2000-10-31 Miles Bader <miles@lsi.nec.co.jp>
6907
6908 * minibuf.c (read_minibuf): Reset the undo history just before
6909 starting the recursive-edit.
6910
6911 2000-10-30 Gerd Moellmann <gerd@gnu.org>
6912
6913 * xfaces.c (menu_face_change_count): New variable.
6914 (Finternal_set_lisp_face_attribute): Increment it for changes
6915 of the `menu' face.
6916 (realize_basic_faces): Reflect changes in the `menu' faces
6917 in menu bars.
6918
6919 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
6920 dy obtained from the iterator's y-position after moving from
6921 scroll_margin_pos to PT; see comment there.
6922
6923 * xdisp.c (safe_eval_handler): Call add_to_log.
6924
6925 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
6926 is not a symbol or string.
6927
6928 * xdisp.c (echo_area_display): Don't perform a display update from
6929 inside redisplay. The update will happen anyway at the end of
6930 redisplay, and it can confuse redisplay (GC messages while
6931 redisplaying, for instance.)
6932
6933 2000-10-30 Stefan Monnier <monnier@cs.yale.edu>
6934
6935 * xrdb.c (x_load_resources): Use the class name in the defaults.
6936
6937 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
6938 (regex_compile): Catch bogus \(\1\).
6939
6940 2000-10-30 Gerd Moellmann <gerd@gnu.org>
6941
6942 * xterm.c (x_alloc_nearest_color): Fix last change to compare
6943 RGB values.
6944
6945 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
6946 we have a color cache, check that the cached color equals the
6947 allocated color. If not, clear the color cache.
6948
6949 * window.c (displayed_window_lines): Change buffers if necessary.
6950 Fix computation of displayed lines.
6951
6952 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
6953 update_menu_bindings to DEFVAR_BOOL.
6954
6955 2000-10-30 Kenichi Handa <handa@etl.go.jp>
6956
6957 * search.c (Fset_match_data): Be sure to make search_regs always sane.
6958
6959 * puresize.h (BASE_PURESIZE): Increase to 680000.
6960
6961 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
6962
6963 2000-10-29 Jason Rumney <jasonr@gnu.org>
6964
6965 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
6966
6967 * w32term.c (w32_bdf_per_char_metric): Negate descent.
6968 (w32_cache_char_metrics): Handle possibility that 'x' does not
6969 exist in a BDF font.
6970 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
6971
6972 * w32bdf.h (bdffont): Add nchars.
6973
6974 * w32bdf.c (set_bdf_font_info): Set it.
6975 (w32_BDF_TextOut): Swap byte order of double byte characters.
6976 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
6977
6978 2000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
6979
6980 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
6981 don't override the colors in frame's param_alist, unless they are
6982 unspecified.
6983
6984 * term.c (reassert_line_highlight): If inverse_video is non-zero,
6985 reverse the effect of the highlight flag.
6986
6987 2000-10-27 Ken Raeburn <raeburn@gnu.org>
6988
6989 * window.h (Fwindow_live_p): Declare.
6990
6991 * undo.c (record_delete): Check that last_undo_buffer is really a
6992 buffer before applying XBUFFER to it.
6993
6994 * keymap.c (where_is_internal): Pass lisp object, not integer, to
6995 Faref.
6996
6997 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
6998
6999 * lisp.h (KEYMAPP): New macro.
7000 (get_keymap): Remove.
7001 (get_keymap_1): Rename get_keymap.
7002
7003 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
7004
7005 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
7006
7007 * xmenu.c (single_submenu): Use KEYMAPP.
7008 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7009 Use KEYMAPP rather than Fkeymapp.
7010
7011 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
7012
7013 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
7014 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
7015 Use KEYMAPP rather than Fkeymapp.
7016 (single_submenu): Use KEYMAPP.
7017 (w32_menu_show, w32_dialog_show): Use TRUE.
7018
7019 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
7020
7021 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
7022 (Fkeymapp): Use KEYMAPP.
7023 (get_keymap): Rename from get_keymap_1. Remove old def.
7024 Return t when autoload=0 and error=0 and the keymap needs autoloading.
7025 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
7026 (Fminor_mode_key_binding): Don't raise an error if the binding
7027 is not a keymap.
7028 (Fuse_global_map, Fuse_local_map): Allow autoloading.
7029 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
7030
7031 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
7032 Allow Vspecial_event_map to be autoloaded.
7033 (menu_bar_items): Fetch the keymap rather than using keymapp.
7034 (menu_bar_one_keymap): No need to follow func-indirect any more.
7035 (parse_menu_item): get_keymap_1 -> get_keymap.
7036 (tool_bar_items): Fetch the keymap rather than using keymapp.
7037 (read_key_sequence): Use KEYMAPP.
7038
7039 * intervals.c (get_local_map): Use get_keymap rather than following
7040 function-indirections explicitly.
7041
7042 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
7043
7044 2000-10-27 Jason Rumney <jasonr@gnu.org>
7045
7046 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
7047 point, as Windows has oversized fonts.
7048
7049 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
7050
7051 2000-10-27 Gerd Moellmann <gerd@gnu.org>
7052
7053 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
7054 (freehook, reallochook): Handle null pointer arguments.
7055 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
7056
7057 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
7058
7059 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
7060 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
7061 Giving in to popular pressure to shut up the compiler with casts.
7062
7063 2000-10-27 Gerd Moellmann <gerd@gnu.org>
7064
7065 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
7066 signed value, and use a default value computed from the font's
7067 maximum descent.
7068
7069 2000-10-27 Miles Bader <miles@lsi.nec.co.jp>
7070
7071 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
7072 that specify a negative underline position can still use underlines.
7073
7074 * window.c (Fpos_visible_in_window_p): Make POS default to
7075 WINDOW's point, not the current buffer's point.
7076
7077 2000-10-26 Dave Love <fx@gnu.org>
7078
7079 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
7080 when it's necessary.
7081
7082 2000-10-26 Gerd Moellmann <gerd@gnu.org>
7083
7084 * window.c (size_window): Compute size difference from sum of old
7085 child window sizes instead of from parent's size.
7086
7087 * xdisp.c (pos_visible_p): Change current buffer if necessary.
7088 Handle obscured lines at the top of the window.
7089
7090 * frame.c (Fdelete_frame): Doc fix. Move running the hook
7091 down after the last error condition check.
7092
7093 * frame.c (Fdelete_frame): Run delete-frame-hook.
7094
7095 2000-10-26 Kenichi Handa <handa@etl.go.jp>
7096
7097 * coding.c (decode_coding): Fix previous change (check also
7098 CODING_MODE_LAST_BLOCK).
7099
7100 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7101
7102 * regex.c: More `unsigned char' -> `re_char' changes.
7103 Also change several `int' into `re_wchar_t'.
7104 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
7105 (PUSH_FAILURE_POINTER): Don't cast any more.
7106 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
7107 We want GCC to complain, since this piece of code makes
7108 re_match non-reentrant, which *should* be fixed.
7109 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
7110 (EXTEND_BUFFER): Use RETALLOC.
7111 (SET_LIST_BIT): Don't cast.
7112 (re_wchar_t): New type.
7113 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
7114 that those two functions will always properly return.
7115 (IMMEDIATE_QUIT_CHECK): Cast to void.
7116 (analyse_first): Use recursion rather than an explicit stack.
7117 (re_compile_fastmap): Can't fail anymore.
7118 (re_search_2): Don't check re_compile_fastmap for failure.
7119 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
7120 Now also sets the new value (passed in a new argument).
7121 (re_match_2_internal): Use it.
7122 Also, use a new var `reg' of type size_t when looping through regs
7123 rather than reuse the inappropriate `mcnt'.
7124
7125 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
7126 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
7127 (where_is_internal): Renamed from Fwhere_is_internal.
7128 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
7129 (Fwhere_is_internal): New function wrapping where_is_internal.
7130 (where_is_internal_1): Handle the case where we're filling the cache.
7131 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
7132
7133 2000-10-25 Miles Bader <miles@gnu.org>
7134
7135 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
7136
7137 2000-10-25 Gerd Moellmann <gerd@gnu.org>
7138
7139 * window.c (pos_fully_visible_p): Removed.
7140 (Fpos_visible_in_window_p): Use pos_visible_p to determine
7141 if position is visible and/or fully visible.
7142
7143 * lisp.h (pos_visible_p): Add prototype.
7144
7145 * xdisp.c (pos_visible_p): New function.
7146
7147 2000-10-25 Kenichi Handa <handa@etl.go.jp>
7148
7149 * process.c (send_process): If OBJECT is t, it means that the data
7150 is from C string, but we should encode it. Before calling
7151 setup_raw_text_coding_system, be sure to flush out data by the
7152 previous coding system.
7153
7154 2000-10-25 Miles Bader <miles@lsi.nec.co.jp>
7155
7156 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
7157 assignment of startpos to prev when startpos == pos.
7158
7159 * editfns.c (find_field): Set the field stickiness correctly from
7160 overlay fields. Use renamed `text_property_stickiness'.
7161 (text_property_stickiness): Renamed from `char_property_stickiness'.
7162 Only check text properties, not overlays.
7163 * textprop.c (get_char_property_and_overlay): New function.
7164 (Fget_char_property): Use it.
7165 * intervals.h (get_char_property_and_overlay): Add declaration.
7166
7167 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
7168
7169 * keymap.c: Use AREF, ASET and ASIZE macros.
7170 (Fmake_sparse_keymap): Docstring fix.
7171 (synkey): Remove.
7172 (shadow_lookup): Move up.
7173 Handle the case where lookup-key returns an integer.
7174 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
7175 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
7176 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
7177 Simplify/rewrite the keymap-finding code.
7178 Add check for command shadowing, using shadow_lookup.
7179
7180 2000-10-24 Stefan Monnier <monnier@cs.yale.edu>
7181
7182 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
7183 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
7184 a symbol.
7185
7186 2000-10-24 Andrew Innes <andrewi@gnu.org>
7187
7188 * dired.c (directory_files_internal_unwind): New function.
7189 (directory_files_internal): Use it to ensure closedir is called
7190 even if expand-file-name or file-attributes throw, eg. because of
7191 a user interrupt. Also enable immediate_quit while calling
7192 re_search, so that matching can be interrupted as well.
7193
7194 2000-10-24 Andrew Innes <andrewi@gnu.org>
7195
7196 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
7197 NT-Emacs only.
7198 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
7199 so that re_search functions only quit when callers expect them to.
7200
7201 2000-10-24 Kenichi Handa <handa@etl.go.jp>
7202
7203 * regex.c (regex_compile): Change the way of handling a range from
7204 a char less than 256 to a char not less than 256.
7205
7206 2000-10-24 Gerd Moellmann <gerd@gnu.org>
7207
7208 * window.c (size_window): Prevent setting window's width or
7209 height to a negative value (esp. with XSETFASTINT).
7210
7211 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
7212 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
7213 (protect_malloc_state) [GC_MALLOC_CHECK &&
7214 GC_PROTECT_MALLOC_STATE]: New function.
7215 (PROTECT_MALLOC_STATE): New macro.
7216 (__malloc_initialize, morecore, _malloc_internal)
7217 (_free_internal) _realloc_internal): Use it to make _heapinfo
7218 read-only outside of gmalloc.
7219
7220 * keymap.c: Update copyright.
7221
7222 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
7223 a symbol.
7224
7225 2000-10-24 Colin Walters <walters@cis.ohio-state.edu>
7226
7227 * filelock.c (unlock_all_files): Use unlock_file to expand each
7228 buffer's file_truename before trying remove its lock file.
7229
7230 2000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
7231
7232 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
7233 or CRLF, decode EOLs.
7234
7235 2000-10-24 Kenichi Handa <handa@etl.go.jp>
7236
7237 * window.c (Fdisplay_buffer): Fix doc.
7238
7239 2000-10-23 Jason Rumney <jasonr@gnu.org>
7240
7241 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
7242 ASCII font of default fontset on Windows.
7243
7244 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
7245 xterm.c comment below).
7246
7247 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
7248
7249 2000-10-23 Gerd Moellmann <gerd@gnu.org>
7250
7251 * xterm.c (x_connection_closed): Reset handling_signal.
7252
7253 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
7254
7255 2000-10-23 Miles Bader <miles@gnu.org>
7256
7257 * window.c (window_scroll_pixel_based, window_scroll_line_based):
7258 Pass nil for FULLY argument to Fpos_visible_in_window_p to
7259 maintain old behavior.
7260 * minibuf.c (Fminibuffer_complete): Likewise.
7261
7262 2000-10-23 Miles Bader <miles@lsi.nec.co.jp>
7263
7264 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
7265 that when a font can't be exactly centered, it errs up rather than
7266 down.
7267
7268 2000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
7269
7270 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
7271
7272 2000-10-23 Andrew Choi <akochoi@i-cable.com>
7273
7274 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
7275
7276 * dispnew.c [macintosh]: Include macterm.h.
7277 (init_display) [macintosh]: Initialization for window system.
7278
7279 * emacs.c (main) [macintosh]: Call syms_of_textprop,
7280 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
7281 syms_of_search, x_term_init, and init_keyboard before calling
7282 init_window_once. Also, call syms_of_xmenu.
7283
7284 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
7285 default fontset to Monaco.
7286
7287 * frame.c [macintosh]: Include macterm.h. Remove declarations of
7288 NewMacWindow and DisposeMacWindow.
7289 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
7290 instead of calling NewMacWindow and setting fields of
7291 f->output_data.mac directly. Call init_frame_faces.
7292 (Fdelete_frame) [macintosh]: Remove unused code.
7293 (Fmodify_frame_parameters) [macintosh]: Call
7294 x_set_frame_parameters instead of mac_set_frame_parameters.
7295
7296 * frame.h [macintosh]: Define menu_bar_lines field in struct
7297 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
7298
7299 * keyboard.c [macintosh]: Include macterm.h.
7300 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
7301 and menu_bar_activate_event type events as for X and NT.
7302 (make_lispy_event) [macintosh]: Construct lisp events of type
7303 MENU_BAR_EVENT as for X and NT.
7304
7305 * sysdep.c [macintosh]: Remove declaration for sys_signal.
7306 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
7307 (sys_subshell) [macintosh]: Remove definition entirely.
7308 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
7309 Vwindow_system_version here. Remove initialization of
7310 Vx_bitmap_file_path.
7311 (read_input_waiting): Correct the number of parameters passed to
7312 read_socket_hook.
7313 Move all Macintosh functions to mac/mac.c.
7314
7315 * term.c [macintosh]: Include macterm.h.
7316
7317 * window.c [macintosh]: Include macterm.h.
7318
7319 * xdisp.c [macintosh]: Include macterm.h. Declare
7320 set_frame_menubar and pending_menu_activation.
7321 (echo_area_display) [macintosh]: Do not return if terminal frame
7322 is the selected frame.
7323 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
7324 Allow only the selected frame to set menu bar.
7325 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
7326 calling FRAME_EXTERNAL_MENU_BAR (f).
7327 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
7328
7329 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
7330 and check_x. Declare XCreateGC. Define x_create_gc and
7331 x_free_gc. Initialize font_sort_order.
7332 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
7333 but call x_list_fonts instead of w32_list_fonts.
7334 (Finternal_face_x_get_resource) [macintosh]: Do not call
7335 display_x_get_resource.
7336 (prepare_face_for_display) [macintosh]: Set xgcv.font.
7337 (realize_x_face) [macintosh]: Load the font if it is specified in
7338 ATTRS.
7339 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
7340
7341 2000-10-22 Stefan Monnier <monnier@cs.yale.edu>
7342
7343 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
7344 is nil: since we go to the end of submap anyway, we'd end up
7345 setting nil to nil.
7346 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
7347 doesn't obey autoload.
7348
7349 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7350
7351 * msdos.c (dos_set_window_size): Update screen dimension variables.
7352
7353 2000-10-21 Jason Rumney <jasonr@gnu.org>
7354
7355 * w32term.c (w32_cache_char_metrics): Double check that font is
7356 really fixed pitch before trusting tmPitchAndFamily.
7357
7358 2000-10-21 Andrew Innes <andrewi@gnu.org>
7359
7360 * w32gui.h (w32_char_font_type): Move enum from w32term.c
7361
7362 * w32term.h: Extern decl for w32_cache_char_metrics.
7363
7364 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
7365
7366 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
7367 (w32_unload_font): Free per_char array if present.
7368
7369 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
7370 cached information in emulated XFontStruct to handle common cases
7371 quickly. Do not allocate XCharStruct for return.
7372 (w32_native_per_char_metric): New function.
7373 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
7374 allocating one.
7375 (x_produce_glyphs): Don't get an HDC. Change calls to
7376 w32_per_char_metric to match arg change above. Remove calls to
7377 free results.
7378 (w32_get_glyph_overhangs): Ditto.
7379 (w32_cache_char_metrics): New function.
7380
7381 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
7382 ($(BLD)/casefiddle.$(O)): Remove compile command.
7383 ($(BLD)/gmalloc.$(O)): Remove compile command.
7384 ($(BLD)/dispnew.obj):
7385 ($(BLD)/keyboard.obj):
7386 ($(BLD)/w32inevt.obj):
7387 ($(BLD)/w32bdf.obj):
7388 ($(BLD)/alloc.obj):
7389 ($(BLD)/buffer.obj):
7390 ($(BLD)/editfns.obj):
7391 ($(BLD)/emacs.obj):
7392 ($(BLD)/fileio.obj):
7393 ($(BLD)/fns.obj):
7394 ($(BLD)/indent.obj):
7395 ($(BLD)/insdel.obj):
7396 ($(BLD)/intervals.obj):
7397 ($(BLD)/minibuf.obj):
7398 ($(BLD)/print.obj):
7399 ($(BLD)/scroll.obj):
7400 ($(BLD)/sysdep.obj):
7401 ($(BLD)/textprop.obj):
7402 ($(BLD)/widget.obj):
7403 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
7404 ($(BLD)/term.obj): Add dependency on dispextern.h.
7405
7406 * makefile.nt ($(BLD)\dispnew.obj):
7407 ($(BLD)\keyboard.obj):
7408 ($(BLD)\w32inevt.obj):
7409 ($(BLD)\w32bdf.obj):
7410 ($(BLD)\alloc.obj):
7411 ($(BLD)\buffer.obj):
7412 ($(BLD)\editfns.obj):
7413 ($(BLD)\emacs.obj):
7414 ($(BLD)\fileio.obj):
7415 ($(BLD)\fns.obj):
7416 ($(BLD)\indent.obj):
7417 ($(BLD)\insdel.obj):
7418 ($(BLD)\intervals.obj):
7419 ($(BLD)\minibuf.obj):
7420 ($(BLD)\print.obj):
7421 ($(BLD)\scroll.obj):
7422 ($(BLD)\sysdep.obj):
7423 ($(BLD)\textprop.obj):
7424 ($(BLD)\widget.obj):
7425 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
7426 ($(BLD)\term.obj): Add dependency on dispextern.h
7427
7428 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
7429
7430 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
7431 with an additional argument of Qt.
7432
7433 2000-10-21 Miles Bader <miles@gnu.org>
7434
7435 * window.c (pos_fully_visible_in_window_p): New function.
7436 (Fpos_visible_in_window_p): Add FULLY argument.
7437 Use pos_fully_visible_in_window_p.
7438 (window_scroll_pixel_based, window_scroll_line_based): Update
7439 calls to Fpos_visible_in_window_p.
7440 * lisp.h (Fpos_visible_in_window_p): Update prototype
7441
7442 2000-10-20 Gerd Moellmann <gerd@gnu.org>
7443
7444 * alloc.c (toplevel): Conditionalize compilation of mem_*
7445 functions differently.
7446
7447 2000-10-20 Jason Rumney <jasonr@gnu.org>
7448
7449 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
7450 mem_init where it used to be. mem_z etc not defined otherwise.
7451
7452 2000-10-20 Gerd Moellmann <gerd@gnu.org>
7453
7454 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
7455 GC_MALLOC_CHECK.
7456 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
7457 structure definition and related variabled to the top of the file.
7458 Include this code when GC_MALLOC_CHECK is defined.
7459 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
7460 register/unregister allocated region.
7461 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
7462 which isn't allocated.
7463 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
7464 something which is already in use.
7465 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
7466 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
7467 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
7468 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
7469
7470 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
7471 _malloc_internal instead of malloc.
7472 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
7473 of free.
7474
7475 2000-10-20 Andrew Innes <andrewi@gnu.org>
7476
7477 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
7478 Windows.
7479 (my_strftime) <macro>: Don't use macro arg list when redefining as
7480 _strftime_copytm.
7481 (my_strftime) <function>: Supply 0 as ut argument.
7482
7483 2000-10-19 Jason Rumney <jasonr@altavista.net>
7484
7485 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
7486 including dispextern.h, as it stops faces from working.
7487
7488 * w32fns.c (Fx_create_frame): Don't bother calling
7489 face-set-after-frame-default since the caller does it for us
7490 anyway. Clean up calls to x_get_arg to be consistent with X.
7491
7492 * w32term.c (x_produce_glyphs): Handle
7493 unibyte_display_via_language_environment correctly.
7494 (w32_draw_box_rect): Fix the calculation of width and height.
7495
7496 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
7497 as it has stopped working.
7498 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
7499 menu-bar.
7500
7501 2000-10-19 Gerd Moellmann <gerd@gnu.org>
7502
7503 * eval.c (skip_debugger): Prevent a compiler warning.
7504 (Fcondition_case): Likewise.
7505 (Fbacktrace_frame): Use a null interactive spec.
7506
7507 2000-10-19 Kenichi Handa <handa@etl.go.jp>
7508
7509 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
7510
7511 2000-10-18 Gerd Moellmann <gerd@gnu.org>
7512
7513 * strftime.c: Sync with glibc, file version 1.78.
7514 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
7515 should no longer be used according to ISO 8601.
7516
7517 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
7518 no map for meta_prefix_char, don't try to use it as a keymap.
7519 Instead, if T_OK is non-zero, look up a default binding, if any,
7520 otherwise, if T_OK is zero, return nil.
7521
7522 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
7523 (x_to_xcolors, png_load): Use x_query_color.
7524
7525 * xterm.c (x_color_cells, x_query_colors, x_query_color):
7526 New functions.
7527 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
7528 which can be slow.
7529 (x_copy_color, x_alloc_lighter_color): Likewise.
7530
7531 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
7532 (x_query_color, x_query_colors): Add prototype.
7533
7534 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
7535 check_string_bytes only if not noninteractive, increase count to 50.
7536
7537 2000-10-18 Miles Bader <miles@lsi.nec.co.jp>
7538
7539 * insdel.c (adjust_markers_for_delete): Handle before-insertion
7540 markers correctly.
7541
7542 2000-10-17 Gerd Moellmann <gerd@gnu.org>
7543
7544 * alloc.c (pure_bytes_used): Renamed from pureptr.
7545 (ALIGN): New macro.
7546 (pure_alloc): New function.
7547 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
7548 Use it.
7549 (Fpurecopy): Use PURE_POINTER_P.
7550
7551 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
7552 PT has moved backward.
7553
7554 * xdisp.c (cursor_row_p): Take continued lines into account.
7555
7556 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
7557 string's size_byte.
7558 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
7559 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
7560 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
7561 string allocated.
7562
7563 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
7564 of selective display off while searching for the next line start.
7565
7566 2000-10-17 Kenichi Handa <handa@etl.go.jp>
7567
7568 * Makefile.in (term.o): Depend on dispextern.h.
7569
7570 2000-10-16 Stefan Monnier <monnier@cs.yale.edu>
7571
7572 * keymap.c (keymap_memberp): Ensure that nil is not a member.
7573
7574 2000-10-16 Gerd Moellmann <gerd@gnu.org>
7575
7576 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
7577 the iterator at the beginning, so that they can be set later on,
7578 for instance in reseat_at_next_visible_line_start, without being
7579 overwritten.
7580
7581 * xfns.c (pbm_format): Add :foreground and :background keywords.
7582 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
7583 (xbm_load): Recognize foreground and background color specifications.
7584
7585 2000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
7586
7587 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
7588
7589 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
7590
7591 * msdos.c (IT_set_face): Compare highlighted face with the default
7592 face, and invert colors if these faces' colors are identical.
7593 (Fmsdos_remember_default_colors): Don't swap foreground and
7594 background colors in initial_colors[].
7595 (IT_set_frame_parameters): Don't swap frame's foreground and
7596 background pixels. If ALIST includes "(reverse . t)", swap
7597 foreground-color and background-color properties in frame's
7598 param_alist. If the original frame's param_alist doesn't specify
7599 the colors, store unspecified-fg and unspecified-bg, reversed if
7600 required.
7601
7602 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
7603 the colors are unspecified and reversed, reverse fore- and back-
7604 ground in the returned value.
7605 (Fframe_parameter): Ditto.
7606
7607 2000-10-16 Gerd Moellmann <gerd@gnu.org>
7608
7609 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
7610 get_last_unchanged_at_beg_row.
7611 (find_first_unchanged_at_end_row): Renamed from
7612 get_first_unchanged_at_end_row.
7613 (find_first_unchanged_at_end_row): Convert assertions to
7614 unconditional tests which abort. When looking for a row in
7615 unchanged text, don't go further back than first_text_row.
7616
7617 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
7618 Don't add in the last line's height when deciding if the new
7619 position is below the scroll margin.
7620
7621 2000-10-16 Miles Bader <miles@gnu.org>
7622
7623 * editfns.c (Fconstrain_to_field): Check carefully for field
7624 boundaries if either OLD_POS or NEW_POS has a non-nil field
7625 property, even if they're the same.
7626
7627 2000-10-16 Kenichi Handa <handa@etl.go.jp>
7628
7629 * xterm.c (x_draw_box_rect): Fix the calculation of width and
7630 height for XFillRectangle.
7631
7632 2000-10-15 Stefan Monnier <monnier@cs.yale.edu>
7633
7634 * syntax.c (Fstring_to_syntax): New function extracted from
7635 Fmodify_syntax_entry.
7636 (Fmodify_syntax_entry): Use it and document the ! and | fences.
7637 (skip_chars, Fforward_comment): Remove unused variables.
7638 (syms_of_syntax): Add defsubr for string-to-syntax.
7639 (describe_syntax): Add code for comment and string fences.
7640
7641 2000-10-14 Stefan Monnier <monnier@cs.yale.edu>
7642
7643 * keymap.c (access_keymap): Add AUTOLOAD parameter.
7644 Do the meta->esc mapping. Call get_keyelt before returning.
7645 Start scanning from the second element (the first is always `keymap')
7646 to make it easier to detect when we reach a parent map.
7647 Handle the case of inheriting from a symbol whose function is a map.
7648 (Fkeymap_parent): Also handle the `inherit from symbol' case.
7649 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
7650 (get_keyelt, Flookup_key): Update call to access_keymap.
7651 Remove the meta->esc mappings.
7652 (define_as_prefix): Delete old disabled code.
7653 (menu_item_p): New function.
7654 (where_is_internal_1): Skip over the few remaining menu items.
7655 * lisp.h (access_keymap): Update prototype.
7656 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
7657 Update call to access_keymap.
7658 (follow_key, read_key_sequence): Update calls to access_keymap.
7659 Remove the meta->esc mappings.
7660
7661 2000-10-13 Gerd Moellmann <gerd@gnu.org>
7662
7663 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
7664 with additional argument.
7665
7666 * xdisp.c (cursor_row_p): New function.
7667 (try_cursor_movement, display_line): Use it.
7668
7669 * xdisp.c (append_space): Also save/restore iterator's current
7670 character and its length.
7671
7672 * xdisp.c (init_from_display_pos): Add an assertion.
7673 (handle_stop): Don't set iterator's add_overlay_start.
7674 (handle_invisible_prop): Likewise.
7675 (load_overlay_strings): If text under an overlay is invisible,
7676 take both before- and after-strings into account when the iterator
7677 is positioned either at the start or at the end of the overlay.
7678 (forward_to_next_line_start): Rewritten.
7679 (reseat_at_next_visible_line_start): Rewritten.
7680 (set_iterator_to_next): Add parameter RESEAT_P.
7681
7682 * dispextern.h (struct it): Remove member add_overlay_start.
7683 (set_iterator_to_next): Change prototype.
7684
7685 2000-10-13 Kenichi Handa <handa@etl.go.jp>
7686
7687 * coding.c (code_convert_region): Be sure to initialize
7688 coding->category_idx.
7689 (decode_coding_string): Set coding->src_multibyte and
7690 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
7691 (encode_coding_string): Set coding->src_multibyte and
7692 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
7693
7694 2000-10-12 Stefan Monnier <monnier@cs.yale.edu>
7695
7696 * xfns.c (Fx_create_frame): Don't bother calling
7697 face-set-after-frame-default since the caller does it for us anyway.
7698
7699 2000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
7700
7701 * window.c (coordinates_in_window): Fix detection of vertical line
7702 on character terminals.
7703
7704 2000-10-12 Gerd Moellmann <gerd@gnu.org>
7705
7706 * editfns.c (save_excursion_save): Additionally record the
7707 selected window.
7708 (save_excursion_restore): If buffer was visible in a window, and a
7709 different window was selected, and the old selected window is
7710 still live, restore point in that window.
7711
7712 2000-10-12 Kenichi Handa <handa@etl.go.jp>
7713
7714 * xterm.c (x_produce_glyphs): Handle
7715 unibyte_display_via_language_environment correctly.
7716
7717 * regex.c (regex_compile): Change the way of handling a range from
7718 unibyte char to multibyte char.
7719
7720 * syntax.c (skip_chars): Change the way of handling a range from
7721 unibyte char to multibyte char.
7722
7723 * process.c (read_process_output): Cancel previous change.
7724
7725 2000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
7726
7727 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
7728
7729 * charset.c (Ffind_charset_string): Doc fix.
7730 (Ffind_charset_region): Doc fix.
7731
7732 2000-10-11 Kenichi Handa <handa@mule.m17n.org>
7733
7734 * process.c (read_process_output): Fix previous change. Adjust
7735 multibyteness of text to insert in a buffer by
7736 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
7737
7738 2000-10-10 Andreas Schwab <schwab@suse.de>
7739
7740 * alloc.c (mark_object): Remove all workarounds installed on
7741 1993-08-08.
7742
7743 2000-10-10 Kenichi Handa <handa@etl.go.jp>
7744
7745 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
7746 (base64_encode_1): Make it work for a text of multibyte form.
7747 (Fbase64_decode_region): Allocate sufficient memory for multibyte
7748 case. Don't call str_to_multibyte because base64_decode_1
7749 produces correct multibyte form for eight-bit codes.
7750 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
7751 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
7752 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
7753 codes.
7754
7755 * charset.h (CHAR_STRING): Optimized for single byte characters.
7756
7757 2000-10-09 Andreas Schwab <schwab@suse.de>
7758
7759 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
7760 -1 after socket is closed, to fall through to error processing.
7761
7762 2000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
7763
7764 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
7765 variables. If ALIST includes foreground-color or
7766 background-color, change also the colors of the default face for
7767 this frame.
7768
7769 2000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
7770
7771 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
7772 them extern (they are defined on xfaces.c).
7773 (syms_of_msdos): Don't intern and don't staticpro
7774 Qbackground_color and Qforeground_color.
7775
7776 2000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
7777
7778 * frame.c (Fframe_parameter): For non-windowed frames, if
7779 f->param_alist says foreground or background color is unspecified,
7780 call tty_color_name to return the color name computed from the
7781 frame's current colors.
7782
7783 2000-10-06 Dave Love <fx@gnu.org>
7784
7785 * terminfo.c (ospeed): Don't declare.
7786
7787 * sysdep.c: Don't include string.h.
7788 (h_errno): Declare conditional also on TRY_AGAIN.
7789
7790 * charset.c (Ffind_charset_string): Doc fix.
7791
7792 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
7793 (Fbase64_decode_region, Fbase64_decode_string): More explicit
7794 error messages.
7795
7796 2000-10-05 Dave Love <fx@gnu.org>
7797
7798 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
7799 position like menu-bar.
7800
7801 2000-10-05 Gerd Moellmann <gerd@gnu.org>
7802
7803 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
7804
7805 * xdisp.c (handle_single_display_prop): Use safe_call1.
7806 (safe_call): Renamed from call_function.
7807 (safe_call1): New function.
7808 (handle_fontified_prop): Use safe_call1 instead of call1.
7809 (safe_eval): Renamed from eval_form.
7810 (safe_eval_handler): Renamed from eval_handler.
7811 (handle_single_display_prop, display_mode_element): Use safe_eval
7812 instead of eval_form.
7813
7814 * xfaces.c (merge_face_heights): Use safe_call instead of
7815 call_function.
7816
7817 * keyboard.c (show_help_echo): Use safe_call instead of
7818 call_function; use safe_eval instead of eval_form.
7819
7820 * lisp.h (safe_call): Renamed from call_function.
7821 (safe_eval): Renamed from eval_form.
7822 (safe_call1): Add prototype.
7823
7824 2000-10-05 Miles Bader <miles@lsi.nec.co.jp>
7825
7826 * xfns.c (image_ascent): Rearrange ascent calculation for the
7827 has-a-font case.
7828
7829 2000-10-04 Stefan Monnier <monnier@cs.yale.edu>
7830
7831 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
7832 (where_is_internal_1): Don't bother ignoring menu-items any more.
7833
7834 2000-10-04 Gerd Moellmann <gerd@gnu.org>
7835
7836 * keyboard.c (update_menu_bindings): New variable.
7837 (parse_menu_item): Use AREF. If update_menu_bindings
7838 is 0, don't update menu bindings.
7839 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
7840
7841 2000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
7842
7843 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
7844 to `mark_object'.
7845
7846 2000-10-02 Stefan Monnier <monnier@cs.yale.edu>
7847
7848 * syntax.c (forw_comment): Match nestedness of ender/starter.
7849 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
7850 (prev_char_comstart_first): Remove.
7851 (back_comment): Check two-char comment markers more carefully
7852 to better handle overlapping cases like *//* or /* */* */ ...
7853 Match nestedness of ender/starter.
7854
7855 2000-10-02 Dave Love <fx@gnu.org>
7856
7857 * config.in (HAVE_GAI_STRERROR): Add undef.
7858
7859 * process.c (Fopen_network_stream): Use it.
7860
7861 * m/alpha.h (NO_REMAP): Don't define.
7862
7863 2000-10-02 Gerd Moellmann <gerd@gnu.org>
7864
7865 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
7866 return with a string converted to an integer or vice versa when
7867 Vmocklisp_arguments is t.
7868 (Fsignal): Likewise. The function can return for `quit'.
7869 (struct gcpro): Declare member `var' to point to a volatile
7870 Lisp_Object.
7871
7872 * eval.c (error): Prevent compiler warning.
7873
7874 2000-09-30 Stefan Monnier <monnier@cs.yale.edu>
7875
7876 * keymap.c (keymap_memberp): New function.
7877 (Fset_keymap_parent): Use it.
7878 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
7879 Use keymap_memberp to avoid creating cycles.
7880 (access_keymap): Use KEYMAPP.
7881
7882 2000-09-30 Gerd Moellmann <gerd@gnu.org>
7883
7884 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
7885 gai_strerror. Make sure xerrno is set if connect fails. Improve
7886 error recovery.
7887
7888 2000-09-29 Jason Rumney <jasonr@gnu.org>
7889
7890 * w32term.c (w32_char_font_type, w32_encode_char)
7891 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
7892 (w32_bdf_per_char_metric): New function.
7893 (w32_per_char_metric): Use it.
7894 (x_draw_glyph_string_background): Always draw background for BDF
7895 glyphs.
7896
7897 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
7898 GDI object which is a scarce resource.
7899
7900 * w32bdf.c (search_file_line): Fix skipping of whitespace.
7901 (get_quoted_string): Fix limit on memchr search.
7902 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
7903 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
7904 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
7905 (get_cached_font_char, cache_char_offset): Use macro
7906 BDF_CODEPOINT_RANGE_COVER_P.
7907 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
7908 (clear_cached_bitmap_slots): New function.
7909 (GET_HEX_VALUE): G-Z, g-z are not hex.
7910 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
7911 (get_bitmap_with_cache): Use new cache implementation.
7912 (create_offscreen_bitmap): New function.
7913 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
7914
7915 * w32term.c (x_produce_glyphs): If the distance from the current
7916 position to the next tab stop is less than a canonical character
7917 width, use the tab stop after that.
7918 (x_draw_glyphs): Handle case START and END are out of bounds more
7919 carefully.
7920 (x_clear_mouse_face): Block/unblock input.
7921 (x_display_and_set_cursor): Don't show a hollow box cursor for
7922 buffers whose cursor_type is nil.
7923
7924 2000-09-29 Gerd Moellmann <gerd@gnu.org>
7925
7926 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
7927
7928 * dispextern.h (updating_frame): Declare extern.
7929
7930 2000-09-29 Andreas Schwab <schwab@suse.de>
7931
7932 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
7933
7934 2000-09-29 Gerd Moellmann <gerd@gnu.org>
7935
7936 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
7937 use its function definition.
7938 (tool_bar_items): Likewise.
7939
7940 * lisp.h (fatal): Declare NO_RETURN.
7941
7942 2000-09-29 Kenichi Handa <handa@etl.go.jp>
7943
7944 * keymap.c: Remove the line "#undef NULL".
7945
7946 2000-09-28 Gerd Moellmann <gerd@gnu.org>
7947
7948 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
7949
7950 2000-09-28 Dave Love <fx@gnu.org>
7951
7952 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
7953
7954 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
7955
7956 * .gdbinit (xreload): Note its need on GNU/Linux.
7957
7958 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
7959 r_alloc, r_alloc_free.
7960
7961 2000-09-28 Kenichi Handa <handa@etl.go.jp>
7962
7963 * syntax.c (skip_chars): Handle negation correctly.
7964
7965 2000-09-27 Gerd Moellmann <gerd@gnu.org>
7966
7967 * xfaces.c (realize_default_face): Call set_lface_from_font_name
7968 with non-zero FORCE_P argument.
7969
7970 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
7971 Add assertions.
7972
7973 * xdisp.c (window_box_height): Add an assertion.
7974
7975 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
7976 tool-bar than is available.
7977 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
7978
7979 2000-09-27 Dave Love <fx@gnu.org>
7980
7981 * s/irix6-5.h: Now works 64-bit. Tidied.
7982
7983 2000-09-26 Gerd Moellmann <gerd@gnu.org>
7984
7985 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
7986 instead of BITS_PER_INT.
7987 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
7988 EMACS_UINT, respectively.
7989 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
7990
7991 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
7992
7993 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
7994
7995 * window.c (freeze_window_starts): Construct last argument for
7996 foreach_window differently.
7997
7998 * xfns.c (x_decode_color): Don't return a Lisp_Object.
7999
8000 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
8001 EMACS_UINT instead of `int' and `unsigned int'.
8002 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
8003
8004 * frame.h (struct frame): Make the `nothing' member of union
8005 output_data an EMACS_INT.
8006
8007 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
8008 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
8009 size in the sdata structure.
8010 (SDATA_NBYTES, SDATA_DATA): New macros.
8011 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
8012 differently for the different layout of the sdata structure.
8013 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
8014 in sdata.
8015 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
8016 Check that size recorded in the string size and size recorded in
8017 the sdata structure agree.
8018
8019 2000-09-25 Dave Love <fx@gnu.org>
8020
8021 * buffer.c: Include stdio.h.
8022
8023 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
8024
8025 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
8026
8027 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
8028 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
8029 (__malloc_extra_blocks): Declare as __malloc_size_t.
8030
8031 2000-09-25 Gerd Moellmann <gerd@gnu.org>
8032
8033 * alloc.c (mark_image): Use GC_NILP instead of NILP.
8034
8035 * keyboard.c (show_help_echo): Set help_echo_showing_p.
8036 (read_char): If help-echo is showing, preserve the echo area
8037 when redisplaying.
8038
8039 * xdisp.c (help_echo_showing_p): New variable.
8040 (set_message): Reset it to 0.
8041 (init_xdisp): Initialize help_echo_showing_p.
8042
8043 * dispextern.h (help_echo_showing_p): Declare extern.
8044
8045 * config.in: Fix typo in __GNUC_MINOR__.
8046
8047 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
8048
8049 * s/freebsd.h (POSIX_SIGNALS): Define.
8050
8051 * xterm.c (x_clear_mouse_face): Block/unblock input.
8052
8053 2000-09-24 Dave Love <fx@gnu.org>
8054
8055 * fns.c (base64_encode_1): Fix last change.
8056
8057 2000-09-22 Gerd Moellmann <gerd@gnu.org>
8058
8059 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
8060
8061 * xdisp.c (try_window_reusing_current_matrix): More fixes
8062 for the case window has a header-line.
8063
8064 2000-09-22 Dave Love <fx@gnu.org>
8065
8066 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
8067 a doc string.
8068
8069 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
8070
8071 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
8072
8073 2000-09-21 Gerd Moellmann <gerd@gnu.org>
8074
8075 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
8076 for GCC >= 2.5.
8077
8078 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
8079 Declare NO_RETURN.
8080
8081 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
8082 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
8083 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
8084 warnings.
8085
8086 * marker.c (byte_char_debug_check): Return void.
8087
8088 * xfns.c (Fx_create_frame): Set default frame parameter value
8089 for tool-bar-lines to 1.
8090
8091 * dispnew.c (scrolling_window): Compare y-positions of rows
8092 equal at the start. Some simplification.
8093
8094 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
8095 reused rows' y-position in the case window has a header-line, and
8096 new window start is greater than old window start.
8097
8098 * process.c (process_sent_to): New variable.
8099 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
8100 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
8101 Declare more parameters volatile.
8102
8103 * lread.c (Vrecursive_load_depth_limit): New variable.
8104 (Fload): Check recursive loads whose recursion depth exceeds
8105 Vrecursive_load_depth_limit.
8106 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
8107
8108 2000-09-20 Gerd Moellmann <gerd@gnu.org>
8109
8110 * fileio.c (Fread_file_name): Doc fix.
8111
8112 * editfns.c (Fmessage_or_box): Doc fix.
8113
8114 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
8115
8116 * xfns.c (xbm_scan): Allow C-style comments.
8117
8118 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
8119 symbols are specified, add color translations to the cache.
8120 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8121 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
8122 xpm_cache_color.
8123 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
8124 structures to xpm_init_color_cache.
8125
8126 2000-09-19 Gerd Moellmann <gerd@gnu.org>
8127
8128 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
8129
8130 2000-09-19 Andrew Innes <andrewi@gnu.org>
8131
8132 * makefile.nt (bootstrap-emacs): Don't change directory.
8133
8134 2000-09-19 Kenichi Handa <handa@etl.go.jp>
8135
8136 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
8137
8138 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
8139 If output buffer is too small, signal an appropriated error.
8140
8141 2000-09-18 Dave Love <fx@gnu.org>
8142
8143 * keyboard.c (menu_bar_items, tool_bar_items)
8144 (current_active_maps): Remove redundant get_local_map call.
8145
8146 2000-09-18 Gerd Moellmann <gerd@gnu.org>
8147
8148 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
8149 cursor for buffers whose cursor_type is nil.
8150
8151 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
8152 a feature to implement that is already implemented.
8153 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
8154 warnings.
8155
8156 * xfns.c (x_clear_image_1): New function.
8157 (x_clear_image): Use it.
8158 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
8159
8160 * dispnew.c (update_window): Move test for invisible lines
8161 at the top to update_window_line.
8162 (update_window_line): Handle invisible lines here.
8163
8164 * xfns.c (clear_image_cache): Clear current matrices of all
8165 frames sharing an image cache. Block input while freeing
8166 images. Fix timestamp comparison.
8167 (x_clear_image): Also free the mask.
8168
8169 * xfns.c (lookup_image): Block input while loading the image so
8170 that we won't get interrupted in a state where the image isn't yet
8171 set up completely.
8172 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
8173 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
8174 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
8175 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
8176
8177 2000-09-16 Gerd Moellmann <gerd@gnu.org>
8178
8179 * dispnew.c (update_window): Make sure to make desired rows
8180 current even if they are completely invisible at the top
8181 of a window.
8182
8183 2000-09-15 Gerd Moellmann <gerd@gnu.org>
8184
8185 * xfns.c (lookup_image): Build mask before applying an algorithm.
8186 Recognize algorithm `disabled'.
8187 (cross_disabled_images): New variable.
8188 (COLOR_INTENSITY): New macro.
8189 (x_detect_edges): Use COLOR_INTENSITY.
8190 (x_disable_image): New function.
8191 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
8192
8193 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
8194 disabled state, don't apply an image transformation algorithm if
8195 the user specified an image for the disabled state. Use
8196 `:algorithm disabled' for creating a disabled item's image if the
8197 user hasn't specified an image.
8198
8199 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
8200 allocation functions with the XPM lib.
8201 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
8202 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
8203 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
8204 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
8205 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
8206 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
8207 functions, if possible, because these handle color allocation
8208 failure more gracefully.
8209 (Fimage_mask_p): New function.
8210
8211 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
8212 (Qedge_detection, Qheuristic): New symbols.
8213 (syms_of_xfns): Initialize new symbols.
8214 (lookup_image): Handle `:mask X', `:algorithm emboss', and
8215 `algorithm (edge-detection ...)'.
8216 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
8217 (tiff_format, gif_format, gs_format): Add `:mask'.
8218 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
8219 (GIF_MASK, GS_MASK): New enumerators.
8220 (x_laplace_read_row, x_laplace_write_row): Functions removed.
8221 (emboss_matrix, laplace_matrix): New variables.
8222 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
8223 (x_edge_detection): New functions.
8224 (x_laplace): Rewritten in terms of x_detect_edges.
8225 (x_build_heuristic_mask): If image has a mask, free it.
8226
8227 2000-09-14 Andrew Innes <andrewi@gnu.org>
8228
8229 * makefile.w32-in: Revert to Unix line endings.
8230
8231 2000-09-14 Andrew Innes <andrewi@gnu.org>
8232
8233 * makefile.w32-in: Standardize indentation somewhat.
8234 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
8235 cater for differences between shells.
8236
8237 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
8238
8239 2000-09-14 Gerd Moellmann <gerd@gnu.org>
8240
8241 * xterm.c (x_produce_glyphs): If the distance from the current
8242 position to the next tab stop is less than a canonical character
8243 width, use the tab stop after that.
8244
8245 2000-09-14 Dave Love <fx@gnu.org>
8246
8247 * buffer.c (alloc_buffer_text): Fix xmalloc call.
8248
8249 2000-09-14 Gerd Moellmann <gerd@gnu.org>
8250
8251 * xdisp.c (handle_fontified_prop): While running fontification
8252 functions, bind `fontification-functions' and
8253 `after-change-functions' to nil.
8254
8255 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
8256 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
8257
8258 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
8259
8260 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
8261 USE_MMAP_FOR_BUFFERS.
8262
8263 * insdel.c (make_gap): Use enlarge_buffer_text.
8264
8265 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
8266 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
8267 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
8268 from former r_alloc_* functions in ralloc.c.
8269 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
8270 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
8271 (mmap_init) [REL_ALLOC_MMAP]: New function.
8272 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
8273 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
8274 BUFFER_FREE.
8275
8276 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
8277 (enlarge_buffer_text): Add prototype.
8278
8279 * ralloc.c: Remove everything having to do with the use of mmap.
8280
8281 2000-09-13 Gerd Moellmann <gerd@gnu.org>
8282
8283 * sound.c (Fplay_sound): Doc fix.
8284
8285 * keyboard.c: Avoid some more compiler warnings.
8286 (parse_tool_bar_item): Ignore cached key bindings.
8287
8288 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
8289 and allocation of Lisp data.
8290
8291 2000-09-12 Gerd Moellmann <gerd@gnu.org>
8292
8293 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
8294 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
8295 defaults first.
8296
8297 * lread.c (Fload): Put code checking for recursive loads in #if 0.
8298
8299 2000-09-12 Miyashita Hisashi <himi@meadowy.org>
8300
8301 * ccl.c: Comment fixed.
8302 (MAX_MAP_SET_LEVEL): Increased to 30.
8303 (PUSH_MAPPING_STACK): Enclose with do-while block.
8304 (POP_MAPPING_STACK): Likewise.
8305 (stack_idx_of_map_multiple): New variable.
8306 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
8307 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
8308 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
8309 (ccl_driver) <CCL_MapSingle>: Likewise.
8310 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
8311 with the case where looking up process reaches to the end of
8312 map-set, and call CCL programs as the above change.
8313
8314 2000-09-11 Gerd Moellmann <gerd@gnu.org>
8315
8316 * xfns.c (png_load, jpeg_load): Declare some variables volatile
8317 that might be clobbered by longjmp.
8318 (check_x_display_info, x_decode_color, create_frame_xic)
8319 (Fx_display_backing_store, Fx_display_visual_class)
8320 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8321
8322 * lread.c (init_lread): Set Vloads_in_progress to nil.
8323 (Fload): Show list of recursively loaded files, when signaling an
8324 error.
8325
8326 * lread.c (Vloads_in_progress): New variable.
8327 (record_load_unwind): New function.
8328 (Fload): Check for recursive loads.
8329 (syms_of_lread): Initialize Vloads_in_progress.
8330 (read_integer, read1): Avoid some compiler warnings.
8331
8332 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
8333 compiler warnings.
8334
8335 2000-09-11 Miles Bader <miles@gnu.org>
8336
8337 * editfns.c (Fbuffer_string): Doc fix.
8338
8339 2000-09-10 Gerd Moellmann <gerd@gnu.org>
8340
8341 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
8342
8343 2000-09-09 Ken Raeburn <raeburn@gnu.org>
8344
8345 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
8346 whether to include other header files.
8347
8348 2000-09-09 Gerd Moellmann <gerd@gnu.org>
8349
8350 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
8351 by Fmemq as a boolean.
8352
8353 2000-09-08 Stefan Monnier <monnier@cs.yale.edu>
8354
8355 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
8356
8357 2000-09-08 Gerd Moellmann <gerd@gnu.org>
8358
8359 * ralloc.c (mmap_fd): Remove initializer which can make it
8360 read-only in a dumped Emacs.
8361 (mmap_fd_1): New variable.
8362 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
8363 restore it from there.
8364 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
8365 unconditionally so that mmap_fd can be initialized there.
8366 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
8367 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
8368 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
8369
8370 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
8371
8372 * xdisp.c (dump_glyph_row): Fix printf format string.
8373 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
8374
8375 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
8376
8377 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
8378 inheritance.
8379
8380 * xdisp.c (try_window_id): When trying to locate cursor in
8381 unchanged rows at the top, handle the case that we can't find it.
8382
8383 * xterm.c (x_draw_glyphs): Handle case START and END are out
8384 of bounds more carefully.
8385
8386 2000-09-08 Dave Love <fx@gnu.org>
8387
8388 * s/sol2.h (REL_ALLOC_MMAP): Define.
8389 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
8390
8391 * ralloc.c: Don't include string.h (redundant).
8392 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
8393 [!MAP_ANON]: Include fcntl.h.
8394 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
8395 (r_alloc, r_re_alloc, r_alloc_free)
8396 (mmap_enlarge, mmap_set_vars): Use it.
8397 (r_alloc_init_fd): New function.
8398 (__morecore) [SYSTEM_MALLOC]: Don't declare.
8399 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
8400 malloc type.
8401
8402 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
8403 Remove vm-limit.o.
8404
8405 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
8406 change to __NetBSD__.
8407
8408 2000-09-08 Kenichi Handa <handa@etl.go.jp>
8409
8410 * search.c (compile_pattern): Check the multibyteness of cached
8411 string and PATTERN.
8412
8413 2000-09-08 Miles Bader <miles@gnu.org>
8414
8415 * xfaces.c (default_face_vector): Function removed.
8416 (Finternal_merge_in_global_face): Restore old global/local
8417 attribute override order. Use inline loop instead of calling
8418 default_face_vector.
8419
8420 2000-09-07 Gerd Moellmann <gerd@gnu.org>
8421
8422 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
8423 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
8424 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
8425 where necessary, in case POINTER_TYPE is `void'.
8426
8427 2000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
8428
8429 * frame.c (make_terminal_frame): Initialize frame foreground and
8430 background colors to unspecified, for the initial instance of an
8431 MSDOS frame.
8432
8433 2000-09-07 Gerd Moellmann <gerd@gnu.org>
8434
8435 * ralloc.c (mmap_find): Fix overlap computation.
8436 (mmap_enlarge): Compute nbytes before trying to find an
8437 overlapping region.
8438
8439 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
8440 instead of `!='.
8441
8442 * lread.c (syms_of_lread): Change value of regexp
8443 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
8444
8445 * xmenu.c (xdialog_show): When looking up the selection in
8446 menu_items, take `quote' boundaries into account; this corresponds
8447 to a nil ITEM in x-popup-dialog.
8448
8449 2000-09-07 Kenichi Handa <handa@etl.go.jp>
8450
8451 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
8452 not 0x81.
8453 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
8454
8455 * coding.c (encode_coding_sjis_big5): Use translation table for
8456 encoding, not decoding. Fix the handling of latin-jisx0201.
8457 Check for the charset katakana-jisx0201 too.
8458 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
8459 (detect_coding_sjis): Check the byte sequence more rigidly.
8460
8461 2000-09-07 Gerd Moellmann <gerd@gnu.org>
8462
8463 * xfaces.c (Vparam_value_alist): New variable.
8464 (syms_of_xfaces): Initialize it.
8465 (Finternal_set_lisp_face_attribute): Avoid more consing.
8466
8467 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
8468 specially.
8469 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
8470 (Qbackground_mode): New variable.
8471 (syms_of_frame_1): Initialize Qbackground_mode.
8472
8473 * lisp.h (Qdisplay): Declare extern.
8474
8475 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
8476 change face on all frames, and change the default for new frames.
8477
8478 2000-09-07 Dave Love <fx@gnu.org>
8479
8480 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
8481
8482 2000-09-07 Kenichi Handa <handa@etl.go.jp>
8483
8484 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
8485
8486 * charset.c: Include composite.h
8487 (lisp_string_width): New function.
8488 (Fstring_width): Call lisp_string_width instead of strwidth.
8489
8490 * Makefile.in (charset.o): Depends on composite.h.
8491
8492 * process.c (read_process_output): Before inserting the decoded
8493 text in the buffer, adjust the multibyteness.
8494
8495 2000-09-06 Gerd Moellmann <gerd@gnu.org>
8496
8497 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
8498 buffer's text buffer is null, map new memory.
8499
8500 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
8501 POINTER_TYPE and size_t.
8502 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
8503 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
8504 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
8505 [REL_ALLOC_MMAP]: New macros.
8506 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
8507 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
8508 [REL_ALLOC_MMAP]: New functions.
8509
8510 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
8511 before and after unexec.
8512
8513 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
8514 text buffers if necessary.
8515
8516 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
8517 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
8518 in prototypes.
8519
8520 * config.in (HAVE_MMAP): Add #undef.
8521
8522 2000-09-05 Gerd Moellmann <gerd@gnu.org>
8523
8524 * frame.c (Qdisplay_type): New variable.
8525 (syms_of_frame_1): Initialize it.
8526 (Fframe_parameter): New function that avoids consing.
8527 (syms_of_frame): Defsubr it.
8528
8529 * buffer.c (Fother_buffer): Consider buffers as invisible when
8530 they are displayed in a window on an invisible frame.
8531
8532 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
8533 get-largest-window always return nil.
8534
8535 2000-09-04 Gerd Moellmann <gerd@gnu.org>
8536
8537 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
8538 variable; recognize Emacs 19 elc files.
8539
8540 2000-09-04 Miles Bader <miles@gnu.org>
8541
8542 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
8543 before initially popping up the menu, so the menu doesn't flash
8544 when the face settings are significantly different from the defaults.
8545
8546 2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
8547
8548 * regex.c (WIDE_CHAR_SUPPORT): New macro.
8549 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
8550 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
8551 (BIT_UNIBYTE): Remove.
8552 (re_match_2_internal): Delete corresponding code and streamline the
8553 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
8554 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
8555 (re_wctype_t): New type.
8556 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
8557 (regex_compile): Use them and fix handling of overly long char classes.
8558
8559 2000-09-03 Andrew Innes <andrewi@gnu.org>
8560
8561 * makefile.w32-in: Change to DOS line endings.
8562
8563 * s/ms-w32.h (ORDINARY_LINK): New define.
8564
8565 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
8566 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
8567
8568 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
8569 (distclean): Delete them here instead.
8570
8571 * w32proc.c (compare_env): Convert to uppercase for comparison,
8572 not lowercase, to match how the native Windows shell works.
8573
8574 2000-09-03 Jason Rumney <jasonr@gnu.org>
8575
8576 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
8577 CVS changes the line-ends when checking in/out on DOS/Windows.
8578
8579 * makefile.nt (emacs): Do not change directory to run temacs, as
8580 the load-path is set relative to current directory.
8581
8582 2000-09-03 Miles Bader <miles@gnu.org>
8583
8584 * xterm.c (x_alloc_lighter_color_for_widget): New function.
8585
8586 2000-09-02 Gerd Moellmann <gerd@gnu.org>
8587
8588 * xdisp.c (redisplay_mode_lines): New function.
8589 (display_mode_lines): Return number of mode lines displayed.
8590 (echo_area_display): Use redisplay_mode_lines to draw garbaged
8591 mode lines. Don't temporarily bind redisplay-dont-pause to t.
8592
8593 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
8594 string.h and strings.h.
8595 (index) [HAVE_INDEX]: Add prototype.
8596
8597 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
8598 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
8599
8600 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
8601 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
8602
8603 2000-09-01 Gerd Moellmann <gerd@gnu.org>
8604
8605 * lread.c (read1): Accept `?' as symbol constituent, for
8606 compatiblity with XEmacs.
8607
8608 2000-08-31 Stefan Monnier <monnier@cs.yale.edu>
8609
8610 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
8611 (struct re_pattern_buffer): Remove newline_anchor.
8612 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
8613 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
8614 (re_max_failures, fail_stack): Use size_t rather than unsigned.
8615 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
8616 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
8617 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
8618 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
8619 Get rid of references to newline_anchor.
8620 (regcomp): Allocate and precompute a fastmap.
8621
8622 2000-08-31 Gerd Moellmann <gerd@gnu.org>
8623
8624 * lread.c (openp): GCPRO local variable `filename'.
8625
8626 2000-08-30 Stefan Monnier <monnier@cs.yale.edu>
8627
8628 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
8629
8630 * regex.c: Merge some changes from GNU libc. Add prototypes.
8631 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
8632 Use memcmp and memcpy instead of bcopy and bcmp.
8633 (init_syntax_once): Use ISALNUM.
8634 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
8635 (REG_UNSET_VALUE): Remove. Use NULL instead.
8636 (REG_UNSET, re_match_2_internal): Use NULL.
8637 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
8638 New macros.
8639 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
8640 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
8641 (regex_compile): In handle_interval, return an error rather than try to
8642 unfetch the interval if we can't find the closing brace.
8643 Obey the RE_NO_GNU_OPS syntax bit.
8644 (TOLOWER): New macro.
8645 (regcomp): Use it.
8646 (regexec): Allocate regs.start and regs.end as one block.
8647
8648 2000-08-30 Gerd Moellmann <gerd@gnu.org>
8649
8650 * xdisp.c (echo_area_display): Check display_completed instead
8651 of calling detect_input_pending.
8652
8653 * dispnew.c (update_frame): Only set display_completed here; move
8654 the update_begin and update_end calls here from update_frame_1.
8655 (update_frame_1): Don't set display_completed here, don't call
8656 update_begin/update_end.
8657
8658 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
8659 instead of store_frame_param.
8660
8661 2000-08-29 Gerd Moellmann <gerd@gnu.org>
8662
8663 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
8664 desired window matrix hasn't been displayed, use the current row
8665 instead. Make sure that only those frame rows are updated for
8666 which there exists a corresponding enabled desired row.
8667
8668 2000-08-29 Miles Bader <miles@gnu.org>
8669
8670 * xfaces.c (default_face_vector): New function.
8671 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
8672
8673 2000-08-29 Gerd Moellmann <gerd@gnu.org>
8674
8675 * lread.c (openp): Prevent temporary string passed to
8676 Ffile_readable_p from being garbage collected.
8677
8678 2000-08-28 Dave Love <fx@gnu.org>
8679
8680 * keymap.c (store_in_keymap): Add `static' to declaration.
8681
8682 2000-08-28 Gerd Moellmann <gerd@gnu.org>
8683
8684 * emacs.c, callint.c, doc.c, editfns.c
8685 (toplevel) [HAVE_STRING_H]: Include string.h.
8686 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
8687 (index): Remove prototypes which might conflict with non-standard
8688 definitions of index/strchr.
8689
8690 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
8691 (rindex): Define only if !HAVE_RINDEX.
8692
8693 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
8694
8695 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
8696
8697 2000-08-28 Miles Bader <miles@gnu.org>
8698
8699 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
8700 made inconsistent by a font-related attribute in FROM.
8701 (merge_face_inheritance): Add function comment.
8702
8703 2000-08-28 Kenichi Handa <handa@etl.go.jp>
8704
8705 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
8706 the 4th arg (PREV_EVENT) Qt to suppress input method.
8707
8708 2000-08-27 Stefan Monnier <monnier@cs.yale.edu>
8709
8710 * regex.c: Indent cpp directives and remove parens after `defined'.
8711 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
8712 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
8713 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
8714 (re_compile_pattern): Use size_t for length.
8715 (init_syntax_once): Move to a better place.
8716 * regex.h: Merge changes from GNU libc. Indent cpp directives.
8717 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
8718
8719 * syntax.c (back_comment): Detect cases where a comment-starter is
8720 actually inside another comment as in: /* a // b */ c // d \n.
8721 Make it clear that `comstart_pos' is unused for nested comments.
8722
8723 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
8724 (KEYMAPP): New macro.
8725 (Fkeymap_parent, Fset_keymap_parent): Use it.
8726 (fix_submap_inheritance): Mark it static.
8727 (define_as_prefix, describe_buffer_bindings, describe_command)
8728 (describe_translation, describe_map): Complete prototypes.
8729
8730 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
8731
8732 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
8733 to better match the key-lookup behavior.
8734
8735 2000-08-27 Gerd Moellmann <gerd@gnu.org>
8736
8737 * xfaces.c (lface_fully_specified_p): Handle :inherit.
8738 (Finternal_set_lisp_face_attribute): Fix typo in error message.
8739
8740 2000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
8741
8742 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
8743 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
8744 (xterm.o): Depend on coding.h
8745
8746 2000-08-26 Kenichi Handa <handa@etl.go.jp>
8747
8748 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
8749 the corresponding '#endif'.
8750
8751 2000-08-26 Miles Bader <miles@gnu.org>
8752
8753 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
8754 * xfaces.c (QCinherit): New variable.
8755 (syms_of_xfaces): Initialize it.
8756 (LFACE_INHERIT): New macro.
8757 (Finternal_get_lisp_face_attribute)
8758 (merge_face_vector_with_property)
8759 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
8760 (check_lface_attrs): Allow new types of face height. Check
8761 inherit attribute.
8762 (CYCLE_CHECK): New macro.
8763 (merge_face_inheritance): New function.
8764 (merge_face_vectors): Merge inherited faces too. Add F and
8765 CYCLE_CHECK arguments.
8766 (merge_face_vector_with_property, Finternal_merge_in_global_face)
8767 (lookup_named_face, lookup_derived_face, realize_named_face)
8768 (face_at_string_position, face_at_buffer_position): Supply
8769 new F and CYCLE_CHECK arguments to merge_face_vectors.
8770 (merge_face_heights): New function.
8771 (merge_face_vectors, merge_face_vector_with_property)
8772 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
8773 handle relative face heights.
8774 (lface_same_font_attributes_p): Compare heights using EQ.
8775
8776 2000-08-26 Kenichi Handa <handa@etl.go.jp>
8777
8778 * charset.c (char_to_string): Check the character validity.
8779 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
8780
8781 2000-08-25 Stefan Monnier <monnier@cs.yale.edu>
8782
8783 * regex.c (PUSH_FAILURE_COUNT): New macro.
8784 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
8785 Handle popping of a register's or a counter's data.
8786 (POP_FAILURE_POINT): Use the new name.
8787 (re_match_2_internal): Push counter data on the stack for succeed_n,
8788 jump_n and set_number_at and remove misleading dead code in succeed_n.
8789
8790 2000-08-25 Gerd Moellmann <gerd@gnu.org>
8791
8792 * xdisp.c (redisplay_internal): If considering all windows on all
8793 frames, update the display for each frame as soon as possible,
8794 instead of first building all desired matrices for all frames, and
8795 then updating them all.
8796 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
8797
8798 2000-08-24 Gerd Moellmann <gerd@gnu.org>
8799
8800 * bytecode.c (mark_byte_stack): Add a comment.
8801
8802 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
8803 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
8804 a graphical frame.
8805
8806 2000-08-24 Kenichi Handa <handa@etl.go.jp>
8807
8808 * minibuf.c (do_completion): Always use compare-string, not
8809 string-equal because the latter doesn't pay attention to
8810 multibyteness of strings.
8811
8812 * process.c (create_process): Don't setup raw-text coding here.
8813 (Fopen_network_stream): Don't set coding->src_multibyte and
8814 coding->dst_multibyte here.
8815 (read_process_output): For process filter, return unibyte string
8816 if default-enable-multibyte-characters is nil.
8817 (send_process): If OBJECT is multibyte text, be sure to encoded it
8818 by the specified coding system for the process. Otherwise, setup
8819 raw-text coding.
8820 (init_process): Don't initialize default-process-coding-system here.
8821
8822 2000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
8823
8824 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
8825 <scroll-down-aggressively>: Likewise.
8826
8827 2000-08-23 Kenichi Handa <handa@etl.go.jp>
8828
8829 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
8830 zero. Set coding->produced_char correctly.
8831
8832 2000-08-22 Andrew Innes <andrewi@gnu.org>
8833
8834 * makefile.w32-in: New file.
8835
8836 * unexw32.c (unexec): Ignore old_name, and use the actual location
8837 of the current executable instead. Base new_name on this.
8838
8839 * w32proc.c (create_child): Remove reference to security
8840 descriptor, which isn't needed and doesn't compile with mingw32.
8841
8842 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8843 up dllimport attributes.
8844 (x_update_window_end): Update prototype.
8845
8846 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
8847 extern, which screws up dllimport attributes.
8848
8849 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8850 up dllimport attributes.
8851
8852 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
8853 screws up dllimport attributes.
8854
8855 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8856 up dllimport attributes.
8857 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
8858 screws up dllimport attributes.
8859
8860 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8861 up dllimport attributes.
8862
8863 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
8864 screws up dllimport attributes.
8865
8866 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
8867 screws up dllimport attributes.
8868
8869 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8870 up dllimport attributes.
8871
8872 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
8873 unnecessary extern, which screws up dllimport attributes.
8874 (main): Ditto.
8875
8876 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8877 up dllimport attributes.
8878
8879 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
8880 unnecessary extern, which screws up dllimport attributes.
8881
8882 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
8883 screws up dllimport attributes.
8884
8885 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
8886 up dllimport attributes.
8887
8888 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
8889
8890 * w32bdf.c (search_file_line):
8891 (set_bdf_font_info):
8892 (seek_char):
8893 (w32_get_bdf_glyph):
8894 (w32_BDF_to_x_font): Fix compile warnings.
8895
8896 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
8897
8898 * w32select.c: Include keyboard.h before frame.h.
8899
8900 * w32fns.c (max): Define macro.
8901 (JOHAB_CHARSET): Define if not known.
8902 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
8903 (Fx_show_tip): Synch with X version.
8904
8905 * w32xfns.c: Include keyboard.h before frame.h.
8906
8907 * w32fns.c: Include keyboard.h before frame.h.
8908
8909 * w32term.c: Include keyboard.h before frame.h.
8910
8911 * fontset.c: Include keyboard.h before frame.h.
8912
8913 * w32inevt.c: Include keyboard.h before frame.h.
8914 (MOUSE_MOVED): Define if not known.
8915
8916 * minibuf.c: Include keyboard.h before frame.h.
8917
8918 * keyboard.c: Include keyboard.h before frame.h.
8919
8920 * indent.c: Include keyboard.h before frame.h.
8921
8922 * dispnew.c: Include keyboard.h before frame.h.
8923
8924 * buffer.c: Include keyboard.h before frame.h.
8925
8926 * alloc.c: Include keyboard.h before frame.h.
8927
8928 * print.c: Include keyboard.h before frame.h.
8929
8930 * process.c: Include keyboard.h before frame.h.
8931
8932 * scroll.c: Include keyboard.h before frame.h.
8933
8934 * sysdep.c: Include keyboard.h before frame.h.
8935
8936 * term.c: Include keyboard.h before frame.h.
8937
8938 * window.c: Include keyboard.h before frame.h.
8939
8940 * xdisp.c: Include keyboard.h before frame.h.
8941 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
8942
8943 * frame.c: Include keyboard.h before frame.h.
8944
8945 * w32heap.h: Undefine min, max.
8946
8947 * w32gui.h: Undefine min, max.
8948
8949 * unexw32.c: Change PUCHAR to PCHAR.
8950 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
8951 (relocate_offset):
8952 (get_section_info):
8953 (copy_executable_and_dump_data): Remove unnecessary static defs.
8954 (copy_executable_and_dump_data): Fix compile warnings.
8955
8956 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
8957
8958 * w32console.c (min): Define macro.
8959 (clear_frame, write_glyphs): Fix compile warning.
8960
8961 * w32proc.c (compare_env):
8962 (find_child_console): Fix compile warning.
8963
8964 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
8965 sys_errlist instead of _sys_errlist.
8966 (get_emacs_configuration_options): New function.
8967
8968 * s/ms-w32.h (sys_nerr): Provide default definition.
8969 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
8970 name with _ prepended.
8971 (NSIG): Define if not known.
8972 (get_emacs_configuration): Provide extern declaration.
8973 (get_emacs_configuration_options): Provide extern declaration.
8974 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
8975
8976 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
8977 (map_w32_filename):
8978 (read_unc_volume): Fix compile warning.
8979
8980 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
8981 definitions from being used.
8982
8983 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
8984
8985 * w32.c (unc_volume_file_attributes):
8986 (open_unc_volume): Make arg const.
8987
8988 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
8989 (read_input_waiting): Remove excess parameter.
8990
8991 * w32.c (init_environment): Call _access.
8992 (check_windows_init_file): Call _close.
8993 (init_user_info): Call _putenv.
8994 (init_environment): Call _putenv and _strdup.
8995 (init_ntproc): Reset volume info cache on startup.
8996
8997 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
8998 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
8999 cannot override the CRT malloc.
9000
9001 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
9002 (LINK_FLAGS): Append to original value of LINK_FLAGS.
9003
9004 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
9005 unless we are linking with a static CRT.
9006 (RVA_TO_PTR): Cast result to unsigned char*.
9007
9008 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
9009 (add_volume_info): Use xstrdup.
9010
9011 2000-08-22 Stefan Monnier <monnier@cs.yale.edu>
9012
9013 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
9014 (do_completion, Fminibuffer_complete_word): Use it.
9015 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
9016 var so it can take non-boolean values.
9017
9018 2000-08-21 Gerd Moellmann <gerd@gnu.org>
9019
9020 * editfns.c (find_field): Formatting changes.
9021 (toplevel): Some old-style function forward declarations
9022 changed to prototypes, some new protypes added, some functions
9023 made static.
9024
9025 * lisp.h (set_time_zone_rule): Add prototype.
9026 (use_dialog_box): External declaration.
9027
9028 * keyboard.c (gen_help_event): Add parameter SIZE.
9029 (kbd_buffer_events_waiting): Slightly rewritten.
9030 (clear_event): New function.
9031 (kbd_buffer_get_event): Use it, and clear the input_events of
9032 HELP_EVENTs.
9033 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
9034 don't fill the newly created array with nils.
9035 (toplevel): Convert some old-style function forward declarations
9036 to prototypes.
9037
9038 * keyboard.h (gen_help_event): Change prototype.
9039
9040 * xterm.c (XTread_socket): Change calls to gen_help_event.
9041
9042 * w32term.c (w32_read_socket): Change calls to gen_help_event.
9043
9044 * eval.c (Fmacroexpand): Doc fix.
9045
9046 2000-08-20 Jason Rumney <jasonr@gnu.org>
9047
9048 * w32term.h (x_display_info_for_display): Remove as this function
9049 does not exist on W32.
9050
9051 * w32term.c (help_echo_window): New variable.
9052 (syms_of_w32term): staticpro it.
9053 (note_mode_line_highlight): Set it.
9054 (XTextExtents16): Removed as there is no equivalent on W32.
9055 (x_compute_glyph_string_overhangs): Incomplete body removed, as
9056 the X way of doing this will not work for W32.
9057 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
9058 (x_draw_image_foreground): Avoid drawing outside of the clip area
9059 when image doesn't have a mask.
9060 (note_mouse_highlight): Process overlays in the right order of
9061 priority. Set help_echo_window.
9062 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
9063 because that's more visible for large images.
9064
9065 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
9066 name to single_keymap_panes.
9067 (w32_menu_show): Set wv->title when dealing with titles.
9068 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
9069
9070 2000-08-21 Miles Bader <miles@gnu.org>
9071
9072 * minibuf.c (do_completion): Try again if we rewrite the input
9073 string, but no completion was done, so that any completion message
9074 will be correct.
9075
9076 2000-08-20 Gerd Moellmann <gerd@gnu.org>
9077
9078 * xfaces.c (lface_equal_p): Compare strings differently.
9079 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
9080 (realize_tty_face): Use them.
9081 (syms_of_xfaces): Initialize new variables.
9082 (map_tty_color): New function, extracted from realize_tty_face.
9083 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
9084 foreground or background color, store the new color name in the
9085 realized face; previous code trying to do this had no effect.
9086 (realize_tty_face): Use map_tty_color.
9087 (Fclear_face_cache): Set face_change_count and ensure thorough
9088 redisplay.
9089
9090 2000-08-19 Gerd Moellmann <gerd@gnu.org>
9091
9092 * undo.c (record_first_change, record_marker_adjustment): Don't
9093 use XBUFFER on last_undo_buffer which might not be a buffer.
9094
9095 2000-08-18 Kenichi Handa <handa@etl.go.jp>
9096
9097 * coding.c (decode_coding_string): Set members consumed,
9098 consumed_char, produced, produced_char of *coding correctly. If
9099 decode_coding doesn't consume any byte, don't try anymore.
9100 (encode_coding_string): Likewise.
9101
9102 2000-08-18 Gerd Moellmann <gerd@gnu.org>
9103
9104 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
9105 conditional have void type, for Standard C compilers.
9106
9107 * xdisp.c (redisplay_internal): Compare windows for equality with
9108 EQ, instead of applying XWINDOW to something that might not
9109 be a window.
9110
9111 2000-08-18 Kenichi Handa <handa@etl.go.jp>
9112
9113 * fontset.c (Finternal_char_font): Search only the selected frame
9114 for a window of the current buffer.
9115
9116 2000-08-18 Gerd Moellmann <gerd@gnu.org>
9117
9118 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
9119 Lisp_Objects.
9120
9121 * keyboard.c (kbd_buffer_get_event): Handle the case that the
9122 second half of a HELP_EVENT is found at the start of kbd_buffer.
9123
9124 2000-08-18 Miles Bader <miles@gnu.org>
9125
9126 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
9127
9128 * editfns.c (save_restriction_save): Rewrite to use markers.
9129 (save_restriction_restore): Rewrite to understand new form of data
9130 saved by save_restriction_save.
9131 (Fsave_restriction): Remove cautionary note in doc-string.
9132
9133 2000-08-17 Gerd Moellmann <gerd@gnu.org>
9134
9135 * fileio.c (build_annotations): Add a comment explaining the
9136 return value of format-annotate-function. Replace a spurious call
9137 to Flength with a CONSP test. Call format-annotate-function with
9138 a fifth arg specifying how many times the function is been called
9139 in a row, to let it choose temporary buffers appropriately.
9140
9141 2000-08-17 Dave Love <fx@gnu.org>
9142
9143 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
9144 declare make_temp_name twice.
9145
9146 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
9147 (unreadpure): Give it an arg.
9148
9149 * unexalpha.c: Prototype fatal_unexec, mark_x,
9150 update_dynamic_symbols. Declare unexec as void.
9151
9152 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
9153 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
9154
9155 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
9156 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
9157
9158 * alloca.c: Use #error.
9159 [POINTER_TYPE]: Use it.
9160
9161 * eval.c (Fdefvar): Doc fix.
9162
9163 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
9164 INITIALIZE_INTERVAL.
9165
9166 * buffer.h: Avoid DECLARE_INTERVALS.
9167
9168 * config.in: Add size_t.
9169
9170 2000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
9171
9172 * w16select.c (set_clipboard_data): If there's not enough memory
9173 to put text into clipboard, return 1, as Fw16_set_clipboard_data
9174 expects. In case of other failures, return 3.
9175 (system_error_msg): New error message.
9176 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
9177 system_error_msg.
9178
9179 2000-08-16 Gerd Moellmann <gerd@gnu.org>
9180
9181 * term.c (write_glyphs): Also turn off inverse video after turning
9182 off other appearances in case TS_exit_attribute_mode is not equal
9183 to TS_end_standout_mode.
9184 (insert_glyphs): Turn inverse video on/off for each run of glyphs
9185 with the same face.
9186 (turn_off_face): Reset standout_mode only if
9187 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
9188 is equal to TS_end_standout_mode.
9189
9190 2000-08-16 Kenichi Handa <handa@etl.go.jp>
9191
9192 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
9193 sequence at the end of the source block.
9194
9195 * ccl.c (Fccl_program_p): Docstring modified.
9196 (Fccl_execute): Likewise.
9197 (Fccl_execute_on_string): Likewise.
9198
9199 2000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
9200
9201 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
9202
9203 2000-08-16 Kenichi Handa <handa@etl.go.jp>
9204
9205 The following changes are mainly to fix bugs of
9206 encode/decode-coding-string failing if encoding/decoding return
9207 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
9208 variable conversion_buffer.
9209
9210 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
9211 decrement dst_end to avoid buffer overflow in the later call of
9212 string_as_multibyte
9213
9214 * coding.h (conversion_buffer_size, conversion_buffer)
9215 (get_conversion_buffer): Extern deleted.
9216
9217 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
9218 (conversion_buffer, conversion_buffer_size): Variables deleted.
9219 (get_conversion_buffer): Function deleted.
9220 (struct conversion_buffer): New structure.
9221 (MAX_ALLOCA): New macro.
9222 (allocate_conversion_buffer): New macro.
9223 (extend_conversion_buffer, free_conversion_buffer): New functions.
9224 (ccl_coding_driver): Set coding->result.
9225 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
9226 this is the last block of source.
9227 (encode_coding): Likewise. Handle the source block as the last
9228 one only when the whole source text is consumed.
9229 (decode_coding_string): Handle the case that the output buffer is
9230 too small to decode the whole source text. Use
9231 allocate_conversion_buffer, extend_conversion_buffer and
9232 free_conversion_buffer, not get_conversion_buffer.
9233 (encode_coding_string): Likewise.
9234 (init_coding): Function deleted.
9235 (init_coding_once): Delete code to initialize conversion_buffer_size.
9236
9237 * emacs.c (main): Don't call init_coding.
9238
9239 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
9240
9241 * term.c (write_glyphs): Use a locally declared conversion_buffer.
9242 (insert_glyphs): Likewise.
9243
9244 * w32console.c (write_glyphs): Use a locally declared
9245 conversion_buffer.
9246
9247 2000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
9248
9249 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
9250 member of display_info is NULL.
9251
9252 2000-08-15 Gerd Moellmann <gerd@gnu.org>
9253
9254 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
9255
9256 * term.c (turn_off_face): Reset standout_mode when resetting
9257 appearances with capability `me'.
9258 (write_glyphs): Switch on inverse video before each face change.
9259
9260 2000-08-14 Dave Love <fx@gnu.org>
9261
9262 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
9263 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
9264 (lisp_free): Declare and make static.
9265
9266 * window.c: Fix embedded comment.
9267 (syms_of_window): Fix doc string.
9268
9269 2000-08-14 Gerd Moellmann <gerd@gnu.org>
9270
9271 * keymap.c (push_key_description): If C without modifiers is < 32,
9272 make sure to print `C-' before `M-', like in the manual.
9273
9274 2000-08-11 Gerd Moellmann <gerd@gnu.org>
9275
9276 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
9277 since they aren't relocated anymore.
9278 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
9279
9280 * xdisp.c (try_cursor_movement): Fix handling of cursor in
9281 partially visible line which is smaller than the window's height.
9282
9283 2000-08-11 Kenichi Handa <handa@etl.go.jp>
9284
9285 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
9286 the multibyte form of eight-bit-control characters.
9287 (Fccl_execute_on_string): Initialize ccl->multibyte.
9288
9289 * ccl.h (struct ccl_program): New member multibyte.
9290
9291 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
9292
9293 2000-08-11 Kenichi Handa <handa@etl.go.jp>
9294
9295 * regex.c (regex_compile) <normal_char>: Pay attention to
9296 multibyteness.
9297 (analyse_first) <exactn>: Setup fastmap correctly for
9298 eight-bit-control characters.
9299
9300 2000-08-11 Kenichi Handa <handa@etl.go.jp>
9301
9302 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
9303
9304 * keyboard.c (make_lispy_event): Handle the new event type
9305 multibyte_char_keystroke.
9306
9307 * xterm.c: Include coding.h.
9308 (XTread_socket): Work around a bug of XmbLookupString. If the
9309 input is from XIM, decode it according to the current locale. In
9310 that case, generate multibyte_char_keystroke events.
9311
9312 2000-08-11 Kenichi Handa <handa@etl.go.jp>
9313
9314 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
9315 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
9316
9317 2000-08-10 Gerd Moellmann <gerd@gnu.org>
9318
9319 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
9320 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
9321 (move_it_in_display_line_to): Record iterator's ascent and descent
9322 before producing glyphs, and restore them when we know the glyph
9323 doesn't fit on the line.
9324 (move_it_to): Restructured so that it's easier to debug. If
9325 moving to a vpos, and not moving to an x or character position,
9326 stop as soon as the specified vpos is reached; don't move further
9327 into that line because that might change the computed line height.
9328 (try_cursor_movement): New function, extracted from the cursor
9329 movement branch of redisplay_window. If ending on a partially
9330 visible line, don't try to scroll if the cursor line is taller
9331 than the window.
9332 (redisplay_window): Use try_cursor_movement.
9333
9334 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
9335 because that function doesn't cope with variable-height lines.
9336
9337 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
9338 box cursor because that's better visible for large images.
9339
9340 2000-08-10 Miles Bader <miles@gnu.org>
9341
9342 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
9343
9344 2000-08-10 Gerd Moellmann <gerd@gnu.org>
9345
9346 * xdisp.c (Vmessages_buffer_name): New variable.
9347 (message_dolog): Use it.
9348 (syms_of_xdisp): Initialize it.
9349
9350 2000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
9351
9352 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
9353 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
9354 redundant now that keyboard.h is included.
9355
9356 2000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
9357
9358 * keyboard.c (kbd_buffer_events_waiting): New function.
9359
9360 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
9361
9362 * msdos.c: Include keyboard.h.
9363 (XMenuActivate): Empty no_event events from the event buffer. If
9364 no events are left after that, call clear_input_pending.
9365 (mouse_clear_clicks): New function, code moved from mouse_init.
9366 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
9367 mouse driver to ``forget'' any past clicks.
9368
9369 * Makefile.in (msdos.o): Depend on keyboard.h.
9370
9371 2000-08-09 Gerd Moellmann <gerd@gnu.org>
9372
9373 * lisp.h (input_pending): External declaration.
9374
9375 * dispextern.h (Qredisplay_dont_pause): Declare extern.
9376
9377 * xdisp.c (echo_area_display): Display thoroughly if input is
9378 pending. Bind redisplay-dont-pause to t during the redisplay.
9379 in case input is pending.
9380
9381 * dispnew.c (Qredisplay_dont_pause): New variable.
9382 (syms_of_display): Initialize and staticpro it.
9383 (update_frame_1): Don't interrupt the display for pending input if
9384 redisplay_dont_pause is set.
9385
9386 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
9387
9388 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
9389
9390 2000-08-09 Miles Bader <miles@lsi.nec.co.jp>
9391
9392 * callproc.c (Fcall_process): Terminate the unwind-protect around
9393 the post-read-conversion of coding system.
9394
9395 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
9396 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
9397 * buffer.h (overlays_at): Update prototype.
9398 * xdisp.c (next_overlay_change): Update call to overlays_at.
9399 * xfaces.c (face_at_buffer_position): Likewise.
9400 * textprop.c (Fget_char_property): Likewise.
9401 * xterm.c (note_mouse_highlight): Likewise.
9402
9403 * minibuf.c (do_completion): Don't consider a simple change of
9404 case as `completion'.
9405
9406 2000-08-08 Ken Raeburn <raeburn@gnu.org>
9407
9408 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
9409 * undo.c (record_delete): Make sure last_point_position_buffer is
9410 a buffer before comparing pointers.
9411
9412 * coding.h (decode_coding_string): Declare.
9413
9414 * intervals.h (Fprevious_single_char_property_change): Declare.
9415
9416 * textprop.c (Fprevious_single_char_property_change): Don't do
9417 arithmetic directly on lisp objects.
9418
9419 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
9420
9421 * keyboard.h (menu_item_eval_property): Declare.
9422
9423 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
9424 reuse as buffer name, instead of recreating (and discarding) every
9425 time a message is logged.
9426 (with_echo_area_buffer): Make callback arg A2 a lisp object.
9427 (current_message_1, truncate_message_1, set_message_1)
9428 (display_echo_area_1, resize_mini_window_1): Signatures changed.
9429 (current_message, truncate_echo_area, display_echo_area)
9430 (resize_echo_area_axactly): Changed calls.
9431
9432 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
9433 Lisp object.
9434 (Ffind_coding_systems_region_internal): First argument to Fappend
9435 must be an integer, not a Lisp object.
9436
9437 2000-08-08 Kenichi Handa <handa@etl.go.jp>
9438
9439 * charset.c (Fchar_width): Doc fix.
9440
9441 2000-08-08 Gerd Moellmann <gerd@gnu.org>
9442
9443 * charset.c (Fstring_width): Doc fix.
9444
9445 2000-08-07 Gerd Moellmann <gerd@gnu.org>
9446
9447 * xdisp.c (start_display): When starting display on a continuation
9448 line, clear ascent and descent members of the iterator structure;
9449 the height of the continued line does not affect the height of the
9450 continuation line.
9451 (make_cursor_line_fully_visible): Do nothing if cursor is on a
9452 line taller than the window.
9453 (redisplay_window) <forced window start>: Handle case that the
9454 middle of the window is not found in any row.
9455 (dump_glyph_row): Show more information.
9456 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
9457 first text line in a glyph matrix.
9458
9459 * xterm.c (x_draw_image_foreground): Avoid drawing outside
9460 of the clip area when image doesn't have a mask.
9461
9462 * fns.c (sweep_weak_table): Fix survival conditions for
9463 key-or-value and key-and-value weakness.
9464
9465 * .gdbinit (xhashtable): New command.
9466
9467 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
9468 tables out of the list of all weak hash tables.
9469
9470 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
9471 a new buffer is created, make sure echo_area_buffer[] references
9472 the new buffer.
9473
9474 2000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
9475
9476 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
9477 the doc string.
9478
9479 2000-08-07 Kenichi Handa <handa@etl.go.jp>
9480
9481 * syntax.c (skip_chars): Fix previous change. Make the handling
9482 of unibyte string consistent with that of regex search.
9483
9484 2000-08-05 Gerd Moellmann <gerd@gnu.org>
9485
9486 * xmenu.c (popup_get_selection): Use xfree instead of free.
9487
9488 * fileio.c (Finsert_file_contents): Use xfree instead of free.
9489
9490 * editfns.c (Ftranspose_regions): Use xfree instead of free.
9491
9492 * callproc.c (child_setup): Use xfree instead of free.
9493
9494 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
9495 instead of malloc.
9496 (run_mac_command, closedir): Use `xfree' instead of `free'.
9497
9498 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
9499
9500 * eval.c (error): Use xfree instead of free.
9501
9502 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
9503
9504 * fns.c: Replace `illegal' with `invalid'.
9505 (Fmake_hash_table, make_hash_table): Allow table size of 0.
9506
9507 2000-08-05 Kenichi Handa <handa@etl.go.jp>
9508
9509 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
9510 conversion.
9511
9512 2000-08-04 Noah Friedman <friedman@splode.com>
9513
9514 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
9515 docstring.
9516
9517 2000-08-04 Gerd Moellmann <gerd@gnu.org>
9518
9519 * syntax.c (skip_chars): Fix typo in error message.
9520
9521 2000-08-04 Andreas Schwab <schwab@suse.de>
9522
9523 * m/ia64.h: Moved from s/ia64.h.
9524
9525 2000-08-04 Kenichi Handa <handa@etl.go.jp>
9526
9527 * process.c (read_process_output): Big simplification. Handle
9528 composition and post-read-conversion of coding system correctly.
9529 (send_process): Handle composition correctly.
9530
9531 * callproc.c (Fcall_process): Handle post-read-conversion of
9532 coding system if any.
9533
9534 * coding.c (decode_coding_iso2022): More strict check for handling
9535 single shifting.
9536 (coding_restore_composition): Pay attention to the case that
9537 cmp_data is not set properly (because of invalid code in the
9538 source text).
9539 (run_pre_post_conversion_on_str): Include text properties in the
9540 resulting string.
9541 (decode_coding_string): Set members of coding correctly.
9542
9543 2000-08-03 Gerd Moellmann <gerd@gnu.org>
9544
9545 * s/ia64.h: New file.
9546
9547 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
9548 Use NULL instead of 0 at the end of variable argument list of
9549 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
9550 sizeof (int) < sizeof (void *).
9551
9552 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
9553 of variable argument lists of XtVaGetValues and XtVaSetValues.
9554
9555 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
9556 variable argument lists of XtVaGetValues and XtVaSetValues.
9557
9558 2000-08-02 Gerd Moellmann <gerd@gnu.org>
9559
9560 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
9561 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
9562
9563 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
9564 prototype.
9565
9566 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
9567 in call to Fsingle_key_description.
9568
9569 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
9570 Callers changed.
9571
9572 2000-08-02 Colin Walters <walters@cis.ohio-state.edu>
9573
9574 * window.c (display_buffer_reuse_frames): New variable.
9575 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
9576 frames displaying BUFFER.
9577 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
9578
9579 2000-08-01 Miles Bader <miles@gnu.org>
9580
9581 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
9582 when to constrain NEW_POS (they were pretty screwed up before).
9583
9584 2000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
9585
9586 * msdos.c (run_msdos_command): Save and restore the master
9587 environment, for the case that child_setup signals an error.
9588 When mirroring slashes in DOS shell commands, don't fail when
9589 argv[2] has embedded blanks.
9590 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
9591 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
9592 (dos_ttraw): Call mouse_setup_buttons.
9593
9594 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
9595 using alloca; free it after run_msdos_command returns.
9596
9597 2000-07-27 Dave Love <fx@gnu.org>
9598
9599 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
9600 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
9601
9602 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
9603
9604 2000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
9605
9606 * editfns.c (lisp_time_argument): Fix last change.
9607
9608 2000-07-27 Gerd Moellmann <gerd@gnu.org>
9609
9610 * fns.c (Fdelete): Make it work on vectors and strings in addition
9611 to lists.
9612
9613 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
9614 (syms_of_fns): Initialize new variables.
9615 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
9616 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
9617 weakness, with t meaning the same as `key-and-value'.
9618
9619 2000-07-27 Kenichi Handa <handa@etl.go.jp>
9620
9621 * coding.h (struct coding_system): Member safe_charset deleted.
9622
9623 * coding.c (Qsafe_charsets): This variable deleted.
9624 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
9625 New variables.
9626 (coding_safe_chars): New function.
9627 (CODING_SAFE_CHAR_P): New macro.
9628 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
9629 checking safe_charsets member of the coding system. Caller changed.
9630 (detect_coding_iso2022): New local variable safe_chars.
9631 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
9632 safe_charsets member of the coding system.
9633 (decode_coding_iso2022): New local variable safe_chars.
9634 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
9635 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
9636 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
9637 (ENCODE_UNSAFE_CHARACTER): New macro.
9638 (encode_coding_iso2022): New local variable safe_chars. Check
9639 unsafe chars.
9640 (setup_coding_system): Delete the code to initialize
9641 coding->safe_charses
9642 (intersection, find_safe_codings): New functions.
9643 (Ffind_coding_systems_region_internal): New function.
9644 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
9645 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
9646 variable and initialize it.
9647
9648 * fns.c (char_table_ref_and_index): New function.
9649
9650 * lisp.h (char_table_ref_and_index): Add prototype.
9651
9652 2000-07-26 Sam Steingold <sds@gnu.org>
9653
9654 * editfns.c (lisp_time_argument): Added third argument `usec'.
9655 (Ffloat_time): New built-in Lisp function.
9656
9657 2000-07-26 Gerd Moellmann <gerd@gnu.org>
9658
9659 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
9660 for the character code.
9661
9662 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
9663 GNU/Linux.
9664
9665 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
9666 if called for a popup menu.
9667 (xmenu_show): Store help string in widget values.
9668
9669 2000-07-26 Dave Love <fx@gnu.org>
9670
9671 * syswait.h: Move some definitions.
9672 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
9673 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
9674 perspicuous definitions.
9675 (WTERMSIG): Fix bit pattern used.
9676
9677 2000-07-26 Kenichi Handa <handa@etl.go.jp>
9678
9679 * print.c (print_object): If vector printing is truncated, print
9680 "..." to indicate it as well as the case of list printing.
9681
9682 2000-07-25 Gerd Moellmann <gerd@gnu.org>
9683
9684 * xdisp.c (next_element_from_display_vector): Improve comments.
9685
9686 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
9687 for the character code, and the rest for the face id as in 20.x.
9688 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
9689
9690 * window.c (window_display_table): Cleaned up.
9691
9692 * syntax.c (Fforward_word): Add last arg nil in call of
9693 Fconstrain_to_field.
9694
9695 2000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
9696
9697 * fileio.c (Frename_file) [DOS_NT]: If the file names are
9698 identical but for the letter-case, don't call
9699 barf_or_query_if_file_exists.
9700
9701 2000-07-25 Miles Bader <miles@gnu.org>
9702
9703 * editfns.c (find_field): Honor special `boundary' fields.
9704 (Qboundary): New variables.
9705 (syms_of_editfns): Initialize Qboundary.
9706 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
9707 Use scan_buffer instead of find_before_next_newline, because it
9708 allows us to detect the boundary case where there's a newline at
9709 the search limit.
9710 * lisp.h (Fconstrain_to_field): Update external declaration.
9711
9712 2000-07-24 Gerd Moellmann <gerd@gnu.org>
9713
9714 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
9715 if that is nil.
9716
9717 2000-07-24 Dave Love <fx@gnu.org>
9718
9719 * s/sunos4-0.h, s/sol2.h:
9720 (LIBS_TERMCAP): Move from m/sparc.h.
9721
9722 * m/sparc.h (TERMINFO): Moved to system files (probably only
9723 relevant for sunos4 judging by its vintage).
9724 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
9725 __arch64__.
9726
9727 2000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
9728
9729 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
9730 name to single_keymap_panes.
9731
9732 2000-07-24 Andreas Schwab <schwab@suse.de>
9733
9734 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
9735
9736 2000-07-24 Gerd Moellmann <gerd@gnu.org>
9737
9738 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
9739 parameters instead of using int parameters. Expect FN to accept
9740 EMACS_INT parameters.
9741 (display_echo_area, resize_echo_area_axactly, current_message)
9742 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
9743 with new argument list.
9744 (resize_mini_window_1): New callback function.
9745 (current_message_1, truncate_message_1, set_message_1): Change
9746 parameter lists to the new format expected by with_echo_area_buffer.
9747
9748 2000-07-24 Kenichi Handa <handa@etl.go.jp>
9749
9750 * fontset.c (fontset_ref): Remove INLINE declaration.
9751 (fontset_ref_via_base): Likewise.
9752 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
9753 to downcase.
9754
9755 2000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
9756
9757 * msdos.c (IT_note_mouse_highlight): Process overlays in the
9758 correct order of priority. If help echo was found in an overlay,
9759 use that overlay as the object in which the help echo was found.
9760
9761 2000-07-22 Miles Bader <miles@gnu.org>
9762
9763 * textprop.c (Fprevious_single_char_property_change): The initial
9764 property value should be from the position preceding POSITION, not
9765 following it.
9766
9767 2000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
9768
9769 * coding.c (syms_of_coding): Doc fix for
9770 inhibit-iso-escape-detection.
9771
9772 2000-07-21 Gerd Moellmann <gerd@gnu.org>
9773
9774 * xterm.c (note_mouse_highlight): Process overlays in the right
9775 order of priority.
9776
9777 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
9778
9779 * xterm.c (note_mouse_highlight): If help-echo was found in an
9780 overlay, use that overlay as the object in which the help was found.
9781
9782 * window.c (foreach_window_1): Fix typo reversing an if-condition.
9783
9784 * window.c (foreach_window): Instead of a fake variable argument
9785 list, take one USER_DATA argument.
9786 (foreach_window_1): Likewise, and call callback functions with two
9787 args, the window and USER_DATA.
9788 (struct check_window_data): New struct.
9789 (check_window_containing): Use it.
9790 (window_from_coordinates): Set up a struct check_window_data for
9791 foreach_window.
9792 (add_window_to_list, freeze_window_start): Change parameters
9793 according to new calling convention.
9794
9795 * window.h (foreach_window): Change prototype.
9796
9797 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
9798
9799 2000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
9800
9801 * xmenu.c (menu_help_callback): Call show_help_echo with
9802 additional arguments OBJECT and POS.
9803
9804 2000-07-21 Kenichi Handa <handa@etl.go.jp>
9805
9806 * data.c (Faset): Allow storing any multibyte character in a
9807 string. Convert unibyte string to multibyte if necessary.
9808
9809 * xfns.c (x_encode_text): New function.
9810 (x_set_name): Use x_encode_text.
9811 (x_set_title): Likewise.
9812
9813 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
9814
9815 * xterm.h (x_encode_text): Add prototype.
9816
9817 2000-07-20 Dave Love <fx@gnu.org>
9818
9819 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
9820 xfree, not free.
9821
9822 2000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
9823
9824 * msdos.c (help_echo_window): New variable.
9825 (syms_of_msdos): Initialize and staticpro it.
9826 (IT_note_mode_line_highlight): Set help_echo_window.
9827 (IT_note_mouse_highlight): Ditto.
9828 (dos_rawgetc): Store help_echo_window in the second event produced
9829 for HELP_EVENTs.
9830
9831 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
9832 Record the object that generated the help echo and the position of
9833 that object in help_echo_object and help_echo_pos. Record that
9834 some glyphs in a row are displayed in mouse-face.
9835 (IT_update_begin): Don't clear mouse highlight unless one of the
9836 enabled glyph rows is marked as being displayed in mouse-face.
9837 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
9838 and position recorded in help_echo_object and help_echo_pos to the
9839 event queue.
9840 (IT_menu_display): Accept a new argument PN: the pane number of
9841 the current menu pane. Record the pane number and the item
9842 number of the item which has associated help string.
9843 (XMenuActivate): Update the prototype for help_callback in
9844 function declaration. Call IT_menu_display with the current menu
9845 pane number as an additional argument. Call help_callback with
9846 two additional arguments: the pane number and the item number of
9847 the menu item associated with the help text.
9848 (help_echo_object, help_echo_pos): New variables.
9849 (syms_of_msdos): Initialize them and staticpro help_echo_object.
9850
9851 * msdos.h (XMenuActivate): Update prototype.
9852
9853 2000-07-19 Gerd Moellmann <gerd@gnu.org>
9854
9855 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
9856 Add some more prototypes.
9857
9858 * xterm.c, xterm.h: Add some more prototypes.
9859
9860 * lisp.h (Fnext_single_char_property_change): Add prototype.
9861
9862 * dispnew.c (direct_output_for_insert): Remove confusing
9863 outer local variable mouse_face_overwritten_p.
9864 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
9865
9866 * alloc.c (allocate_string_data): Don't copy old string contents.
9867
9868 2000-07-19 Kenichi Handa <handa@etl.go.jp>
9869
9870 * coding.c (code_convert_region): Delete text properties before
9871 shrinking the conversion region.
9872
9873 2000-07-18 Gerd Moellmann <gerd@gnu.org>
9874
9875 * dispnew.c (update_text_area): Write the whole row if it
9876 has mouse-face in it.
9877
9878 * xfaces.c (face-alternative-font-family-alist): Remove
9879 DEFVAR_LISP; staticpro instead.
9880
9881 * xmenu.c (menu_help_callback): Call show_help_echo with
9882 new arguments.
9883
9884 * keyboard.c (show_help_echo): Add parameter WINDOW.
9885 (read_char): Call show_help_echo with window extracted from Lisp
9886 help event.
9887 (gen_help_event): Add parameter WINDOW.
9888
9889 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
9890
9891 * xterm.c (help_echo_window): New variable.
9892 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
9893 (XTread_socket): Pass help_echo_window to gen_help_event.
9894 (syms_of_xterm): Initialize and staticpro help_echo_window.
9895
9896 2000-07-18 Dave Love <fx@gnu.org>
9897
9898 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
9899
9900 2000-07-18 Gerd Moellmann <gerd@gnu.org>
9901
9902 * alloc.c (allocate_string_data): If string had already data
9903 assigned, copy old contents to new string data.
9904
9905 * coding.c (syms_of_coding): Fix typo in spelling of variable
9906 `inhibit-iso-escape-detection'.
9907
9908 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
9909
9910 * Makefile.in: Add dependencies on dispextern.h.
9911 (alloca.o): Don't define malloc and define EMACS_FREE instead of
9912 `free'; both can conflict with system header files.
9913
9914 2000-07-18 Kenichi Handa <handa@etl.go.jp>
9915
9916 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
9917 undefined.
9918
9919 2000-07-18 Dave Love <fx@gnu.org>
9920
9921 * window.c (Fwindow_list): Declare arg `window'.
9922
9923 2000-07-18 Kenichi Handa <handa@etl.go.jp>
9924
9925 * coding.c (setup_coding_system): Don't override the explicitly
9926 specified designations.
9927
9928 2000-07-15 Miles Bader <miles@gnu.org>
9929
9930 * editfns.c (char_property_eq, char_property_stickiness): Renamed
9931 from `text_property_eq' and `text_property_stickiness', respectively.
9932 (find_field, Fconstrain_to_field, char_property_eq)
9933 (char_property_stickiness): Changed to call char-property functions
9934 instead of text-property-only ones.
9935
9936 * textprop.c (Fnext_single_char_property_change): Made a subr (was
9937 `next_single_char_property_change'). Do more error checking, and
9938 cleanup limit behavior.
9939 (Fprevious_single_char_property_change): New function.
9940 (syms_of_textprop): Initialize new subrs.
9941
9942 * xdisp.c (display_prop_end, invisible_text_between_p):
9943 Call Fnext_single_char_property_change instead of
9944 next_single_char_property_change.
9945
9946 2000-07-15 Jason Rumney <jasonr@gnu.org>
9947
9948 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
9949 after menu is finished with.
9950 (add_menu_item): Only consider wv->title as a menu title.
9951 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
9952
9953 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
9954 null title.
9955 (FONT_REGEXP): Remove unused macro, and its sub-components.
9956 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
9957
9958 * w32term.c (help_echo_object, help_echo_pos): New variables.
9959 (note_mode_line_highlight): Store additional information about the
9960 help-echo in help_echo_object and help_echo_pos. Check both
9961 `local-map' and `keymap' properties for changing the cursor
9962 (note_mouse_highlight): Store additional information about the
9963 help-echo in help_echo_object and help_echo_pos.
9964 (note_tool_bar_highlight): Set help_echo_object to nil and
9965 help_echo_pos to -1.
9966 (w32_read_socket): Use gen_help_event instead of filling
9967 input_events manually.
9968 (syms_of_w32term): Staticpro help_echo_object.
9969 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
9970 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
9971 (x_clear_mouse_face): New function.
9972 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
9973 (x_update_window_begin): No need to turn off the mouse
9974 highlight here.
9975 (show_mouse_face): Set the mouse_face_p flag of glyph rows
9976 depending on whether they contain glyphs highlighted in mouse-face.
9977 (x_fill_stretch_glyph_string): Consume runs of stretch
9978 glyphs instead of a single one.
9979 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
9980 with new argument list.
9981 (x_set_glyph_string_gc): Make sure the face's GC is valid.
9982 (x_append_glyph, x_append_composite_glyph)
9983 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
9984 changes in struct glyph starting 1999-12-27. See comments for
9985 xterm.c on 2000-07-05.
9986
9987 2000-07-14 Sam Steingold <sds@gnu.org>
9988
9989 * xfaces.c (realize_x_face): Fix the last patch:
9990 check `default_face' before dereferencing.
9991
9992 2000-07-14 Dave Love <fx@gnu.org>
9993
9994 * syntax.c (back_comment): Add null default in switch (for pcc).
9995
9996 2000-07-14 Kenichi Handa <handa@etl.go.jp>
9997
9998 * xfaces.c (realize_x_face): Make fontset using the base of the
9999 default_face's fontset, not using the default fontset.
10000
10001 * coding.c (inhibit_iso_escape_detection): New variable.
10002 (syms_of_coding): Make it a Lisp variable.
10003 (detect_coding_iso2022): If inhibit_iso_escape_detection is
10004 nonzero, ignore ISO2022's escape sequence.
10005
10006 2000-07-14 Gerd Moellmann <gerd@gnu.org>
10007
10008 * alloca.c (malloc) [emacs]: Define as xmalloc.
10009
10010 * xfns.c (Fx_show_tip): If frame parameters contain a position,
10011 use that instead of the mouse position. Add parameters DX and DY.
10012
10013 * dispextern.h (Fx_show_tip): Adjust number of parameters
10014 in prototype.
10015
10016 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
10017 if HELP is a function, call it with OBJECT and POS as parameters
10018 to get the help to display.
10019 (gen_help_event, kbd_buffer_store_help_event): New functions.
10020 (kbd_buffer_get_event): Construct the Lisp help-event differently.
10021 (read_char): Call show_help_echo with new parameters.
10022
10023 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
10024 Add prototypes.
10025
10026 * xterm.c (help_echo_object, help_echo_pos): New variables.
10027 (note_mode_line_highlight): Store additional information about the
10028 help-echo in help_echo_object and help_echo_pos. Check both
10029 `local-map' and `keymap' properties for changing the cursor
10030 (note_mouse_highlight): Store additional information about the
10031 help-echo in help_echo_object and help_echo_pos.
10032 (note_tool_bar_highlight): Set help_echo_object to nil and
10033 help_echo_pos to -1.
10034 (XTread_socket): Use gen_help_event instead of filling
10035 input_events manually.
10036 (syms_of_xterm): Staticpro help_echo_object.
10037
10038 * xmenu.c (menu_highlight_callback): Use
10039 kbd_buffer_store_help_event instead of setting up and input_event
10040 structure manually.
10041
10042 * xdisp.c (eval_form): GCPRO argument sexpr.
10043 (call_function): New function.
10044 (handle_single_display_prop): Use call_function and FUNCTIONP
10045 instead of checking whether if font_height is a symbol and
10046 using eval_form.
10047
10048 * eval.c (internal_condition_case_2): New function.
10049
10050 * lisp.h (FUNCTIONP): New macro.
10051 (internal_condition_case_2, call_function): Add prototypes.
10052
10053 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
10054 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
10055 Always set `arg' member of input_events.
10056 (construct_menu_click): Unused function removed.
10057
10058 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
10059
10060 * w32term.c (construct_mouse_click, construct_mouse_wheel)
10061 (construct_drag_n_drop, x_scroll_bar_handle_click)
10062 (w32_read_socket): Always set `arg' member of input_events.
10063
10064 * keyboard.c (show_help_echo): Use eval_form. Add comment.
10065
10066 * lisp.h (eval_form): Add prototype.
10067
10068 * xdisp.c (eval_form): Make it externally visible.
10069
10070 2000-07-13 Gerd Moellmann <gerd@gnu.org>
10071
10072 * xterm.c (x_handle_tool_bar_click): Store the frame in the
10073 frame_or_window slot of TOOL_BAR_EVENT input events instead of
10074 consing. For prefix events, store the frame in the `arg' slot of
10075 the event, otherwise store the key there.
10076 (XTread_socket): Instead of consing, use the frame_or_window slot
10077 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
10078
10079 * xmenu.c (menu_highlight_callback): Store help string in the
10080 `arg' member of the input event; don't cons.
10081 (menubar_selection_callback): Use the `arg' slot of input events
10082 to queue additional information, instead of consing.
10083
10084 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
10085
10086 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
10087 TOOL_BAR_EVENTs.
10088 (w32_read_socket): Adapt to changes in HELP_EVENTs.
10089
10090 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
10091 input events to queue additional information, instead of consing.
10092
10093 * keyboard.c (kbd_buffer_gcpro): Renamed from
10094 kbd_buffer_frame_or_window. Now used for all Lisp objects
10095 referenced from the input queue.
10096 (kbd_buffer_store_event): Always use structure assignment for
10097 copying input events. Record all Lisp objects referenced from
10098 events in kbd_buffer_gcpro.
10099 (kbd_buffer_get_event): Construct Lisp `help-echo' events
10100 differently from input events. Test for prefix menu_bar_events
10101 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
10102 event in kbd_buffer_gcpro to nil.
10103 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
10104 frame_or_window is equal to its arg member as prefix events.
10105 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
10106 used by an input event to nil.
10107 (init_keyboard): Use two times the size of the input queue
10108 for kbd_buffer_gcpro.
10109 (syms_of_keyboard): Likewise.
10110
10111 * emacs.c (handle_USR2_signal, handle_USR1_signal):
10112 Use USER_SIGNAL_EVENT.
10113
10114 * termhooks.h (struct input_event): Add member `arg'.
10115 (MENU_BAR_EVENT): Renamed from menu_bar_event.
10116 (USER_SIGNAL_EVENT): Renamed from user_signal.
10117
10118 * xfaces.c (ASET): Remove definition.
10119
10120 * lisp.h (AREF, ASET, ASIZE): New macros.
10121
10122 * fontset.c (AREF, ASIZE): Remove definitions.
10123
10124 * fns.c (AREF): Remove definition.
10125
10126 * composite.c (AREF): Remove definition.
10127
10128 2000-07-12 Gerd Moellmann <gerd@gnu.org>
10129
10130 * dispnew.c (redraw_overlapped_rows): Add missing local.
10131 (scrolling_window): Remove debug code.
10132
10133 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
10134 Before scrolling, turn off a mouse-highlight in the window
10135 being scrolled.
10136
10137 * xterm.c (x_update_window_end): Add parameter
10138 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
10139 redisplay in XTframe_up_to_date.
10140 (x_clear_mouse_face): New function.
10141 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
10142
10143 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
10144 current glyph row.
10145 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
10146 it when any row is written to that contains glyphs highlighted in
10147 mouse-face.
10148 (update_window): Call the window update end hook with new
10149 parameter MOUSE_FACE_OVERWRITTEN_P.
10150 (direct_output_for_insert): Give up if row contains mouse-face.
10151
10152 * dispextern.h (struct redisplay_interface): Add parameter
10153 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
10154 (clear_mouse_face): New function pointer member.
10155
10156 2000-07-11 Stefan Monnier <monnier@cs.yale.edu>
10157
10158 * syntax.c (back_comment): Use one switch rather than a few `if's.
10159 Obey open_paren_in_column_0_is_defun_start.
10160 When reverting to the `slow' method, try to nicely handle the case
10161 of nested comments by checking that the comment-starter we found
10162 does indeed match the comment-ender.
10163 (scan_sexps_forward, scan_sexps_forward):
10164 Ignore excessive opening parenthesis rather than throwing an error.
10165
10166 2000-07-11 Gerd Moellmann <gerd@gnu.org>
10167
10168 * doc.c (Fsubstitute_command_keys): Handle case that a GC
10169 in Fwhere_is_internal or get_keymap_1 relocates string contents.
10170
10171 * dispnew.c (direct_output_forward_char): Give up if currently
10172 displaying a message instead of the minibuffer contents.
10173
10174 * xterm.c (x_update_window_begin): No need to turn off the mouse
10175 highlight here.
10176 (show_mouse_face): Set the mouse_face_p flag of glyph rows
10177 depending on whether they contain glyphs highlighted in mouse-face.
10178
10179 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
10180 compare the mouse_face_p flags of both rows.
10181
10182 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
10183
10184 2000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
10185
10186 * keyboard.c (show_help_echo): Accept additional parameter
10187 ok_to_overwrite_keystroke_echo.
10188 (read_char): Call show_help_echo with a zero
10189 ok_to_overwrite_keystroke_echo argument.
10190 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
10191 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
10192 ok_to_overwrite_keystroke_echo argument.
10193 * w32menu.c (w32_menu_display_help): Call show_help_echo with
10194 non-zero ok_to_overwrite_keystroke_echo argument.
10195
10196 2000-07-10 Gerd Moellmann <gerd@gnu.org>
10197
10198 * xdisp.c (try_window_id): If changes are all below what is
10199 displayed in the window, and point is in the window, we still
10200 might have to find point on the display.
10201
10202 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
10203 glyphs instead of a single one.
10204 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
10205 with new argument list.
10206 (x_set_glyph_string_gc): Make sure the face's GC is valid.
10207
10208 * keymap.c (get_keymap_1): Add comment that this function can GC.
10209 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
10210 comment that functions can GC.
10211 (Fset_keymap_parent): GCPRO arg KEYMAP.
10212
10213 2000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
10214
10215 * msdos.c (XMenuActivate): After exiting the menu, restore the
10216 echo area message and erase it.
10217
10218 2000-07-10 Kenichi Handa <handa@etl.go.jp>
10219
10220 * fontset.c (Ffontset_info): Make the return value more compatible
10221 with that of Emacs 20.
10222
10223 2000-07-07 Gerd Moellmann <gerd@gnu.org>
10224
10225 * eval.c (Fsignal): Handle case that backtrace_list is null.
10226
10227 2000-07-07 Kenichi Handa <handa@etl.go.jp>
10228
10229 * ccl.c (Fccl_execute): Typo fixed.
10230
10231 2000-07-06 Gerd Moellmann <gerd@gnu.org>
10232
10233 * window.c (window_loop): Add missing gcpro1 local variable.
10234
10235 * window.c (Fwindow_list): Reverse list at the end.
10236 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
10237 means allow windows on OWINDOW's frame, only.
10238 (window_loop): Simplified; use Fwindow_list.
10239
10240 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
10241
10242 2000-07-05 Gerd Moellmann <gerd@gnu.org>
10243
10244 * xterm.c (XTread_socket): Increment handling_signal at the start,
10245 decrement it at the end.
10246
10247 * eval.c (handling_signal): New variable.
10248 (Fsignal): Abort if handling_signal is non-zero.
10249
10250 * lisp.h (handling_signal): External declaration.
10251
10252 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
10253
10254 2000-07-05 Ken Raeburn <raeburn@gnu.org>
10255
10256 Sound support for NetBSD through "Linux emulation" support:
10257 * config.in (HAVE_SOUNDCARD_H): Undef.
10258 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
10259 * Makefile.in (LIBSOUND): New variable.
10260 (LIBES): Include it.
10261 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
10262 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
10263 (vox_open): Use DEFAULT_SOUND_DEVICE.
10264 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
10265
10266 2000-07-05 Gerd Moellmann <gerd@gnu.org>
10267
10268 * print.c (print_error_message): If Vsignaling_function is set,
10269 show it in *Messages*.
10270
10271 * lisp.h (Vsignaling_function): External declaration.
10272
10273 * eval.c (Vsignaling_function): New variable.
10274 (Fsignal): Compute it.
10275 (syms_of_eval): Staticpro it.
10276
10277 2000-07-05 Dave Love <fx@gnu.org>
10278
10279 * syswait.h: Use the autoconf recommended approach. Old code
10280 #if'd out in case we need to revert.
10281
10282 * config.in (HAVE_SYS_WAIT_H): Added.
10283
10284 2000-07-05 Andrew Innes <andrewi@gnu.org>
10285
10286 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
10287 when non-NULL instead of __morecore, to take account of buffer
10288 memory. This also solves a problem with spurious memory warnings
10289 on Windows.
10290
10291 * ralloc.c: Make real_morecore non-static.
10292
10293 * eval.c (internal_condition_case): Comment out abort if
10294 interrupt_input_blocked is not zero.
10295
10296 * makefile.nt: Add support for `bootstrap' and related targets.
10297 Include minimal debug info in emacs.exe in release build.
10298 Remove all dependencies on lisp.h, and fixup some others.
10299
10300 * w32.c (init_environment): Install code from 20.7 for providing
10301 default values for environment variables, based on the
10302 executable's own location.
10303 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
10304 (sys_socket): Install socket inheritance bug fix from 20.7.
10305
10306 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
10307 here via blockinput.h).
10308
10309 2000-07-05 Stefan Monnier <monnier@cs.yale.edu>
10310
10311 * w32menu.c (w32_menu_display_help):
10312 * xmenu.c (menu_help_callback): Use show_help_echo.
10313
10314 * keyboard.h (show_help_echo): Declare.
10315
10316 * keyboard.c (show_help_echo): New function, extracted from read_char.
10317 Feval its `msg' argument if it's a cons cell.
10318 (read_char): Use it.
10319 (follow_key): Pass `autoload' to get_keyelt.
10320
10321 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
10322 (note_tool_bar_highlight, XTread_socket):
10323 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
10324 (dos_rawgetc):
10325 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
10326 (note_tool_bar_highlight, w32_read_socket):
10327 Do not gratuitously ignore non-string `help-echo' properties.
10328
10329 2000-07-05 Gerd Moellmann <gerd@gnu.org>
10330
10331 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
10332
10333 * window.c (delete_all_subwindows): Reset Vwindow_list.
10334
10335 * xterm.c (x_append_glyph, x_append_composite_glyph)
10336 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
10337 changes in struct glyph starting 1999-12-27. Some bit-fields of
10338 struct glyph were not set, which made glyphs unequal when compared
10339 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
10340 effects were the result. This also depended on the contents of
10341 memory returned by xmalloc. If flickering happens again, activate
10342 the code in clear_glyph_row that's in #if 0. If the flickering is
10343 gone with that, chances are that it is caused by something similar.
10344
10345 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
10346
10347 * dispextern.h: Add some comments.
10348
10349 * window.c (add_window_to_list): Add parameter LIST.
10350 (window_list): Order list so that, for each frame, windows are
10351 in canonical order, and so that frames appear in the list in
10352 the order given by Vframe_list.
10353 (next_window): Reverse the handling of NEXT_P.
10354
10355 2000-07-04 Gerd Moellmann <gerd@gnu.org>
10356
10357 * window.c (Vwindow_list): New variable.
10358 (make_window, delete_window): Set Vwindow_list to nil.
10359 (check_window_containing): New function.
10360 (window_from_coordinates): Rewritten.
10361 (add_window_to_list, window_list, candidate_window_p)
10362 (decode_next_window_args, next_window): New functions.
10363 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
10364 (Fwindow_list): New function.
10365 (Fother_window): Cleaned up.
10366 (foreach_window): Add a longer "variable argument list". Let
10367 callback function return 0 to indicate that cycling over windows
10368 should stop.
10369 (foreach_window_1): Likewise.
10370 (freeze_window_start): Return int.
10371 (init_window): New function.
10372 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
10373
10374 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
10375 input_event with bzero.
10376 (main): Call init_window.
10377
10378 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
10379 a menu filter.
10380
10381 2000-07-04 Kenichi Handa <handa@etl.go.jp>
10382
10383 * composite.h (make_composition_value_copy): Extern it.
10384
10385 * composite.c (make_composition_value_copy): New function.
10386
10387 * editfns.c (Fformat): While copying text properties, make each
10388 composition property value a copy.
10389
10390 * fns.c (concat): While copying text properties, make each
10391 composition property value a copy.
10392
10393 2000-07-03 Gerd Moellmann <gerd@gnu.org>
10394
10395 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
10396
10397 * fns.c (sweep_weak_table): Mark only objects that are not
10398 marked already.
10399
10400 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
10401 include those frames as candidates which have their focus
10402 redirected to the minibuffer frame.
10403
10404 2000-07-03 Stefan Monnier <monnier@cs.yale.edu>
10405
10406 * fns.c (Fputhash): Return `value' rather than nil.
10407
10408 2000-06-30 Gerd Moellmann <gerd@gnu.org>
10409
10410 * frame.c (next_frame): Don't check focus redirection in case
10411 MINIBUF is a window. Doing so excludes frames using MINIBUF
10412 unless their focus is redirected, which contradicts the
10413 specification of next-frame, and leads to infinite loops in
10414 certain situations when cycling through windows with next-window.
10415
10416 2000-06-30 Kenichi Handa <handa@etl.go.jp>
10417
10418 * coding.c (code_convert_region): Even if the length of text is
10419 zero, try to convert it if coding->type is coding_type_ccl.
10420 (decode_coding_string, encode_coding_string): Likewise.
10421
10422 2000-06-28 Gerd Moellmann <gerd@gnu.org>
10423
10424 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
10425 the display if windows_or_buffers_changed.
10426
10427 * dispnew.c (struct row_entry): New structure.
10428 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
10429 (row_table_size, old_lines, new_lines, old_lines_size)
10430 (new_lines_size, run_pool, runs_size, runs): New variables.
10431 (add_row_entry): New function.
10432 (scrolling_window): Use data structures allocated with xmalloc and
10433 held in global variables, instead of allocating them with alloca and
10434 holding them in local variables. Use a larger hash table whose
10435 size depends on glyph matrix sizes. Don't use bzero to clear the
10436 hash table; instead, clear used slots only.
10437
10438 * fns.c (next_almost_prime): Make it externally visible.
10439
10440 * lisp.h (next_almost_prime): Add prototype.
10441
10442 * s/isc4-0.h (sigunblock): Define.
10443
10444 * s/sco5.h (sigunblock): Define.
10445
10446 2000-06-27 Dave Love <fx@gnu.org>
10447
10448 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
10449 (moved to osf5-0.h).
10450 [!NOT_C_CODE]: Protect string.h stuff.
10451
10452 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
10453 (sys_siglist, NSIG): Definitions moved here from osf1.h.
10454
10455 2000-06-27 Gerd Moellmann <gerd@gnu.org>
10456
10457 * xdisp.c (resize_mini_window): Subtract the extra line spacing
10458 below the last line from the needed window height.
10459
10460 2000-06-26 Stefan Monnier <monnier@cs.yale.edu>
10461
10462 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
10463 (Fwidget_get): Use it.
10464 (syms_of_fns): Defsubr it.
10465
10466 2000-06-26 Gerd Moellmann <gerd@gnu.org>
10467
10468 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
10469 display info for XIM.
10470 (xim_open_dpy): Likewise.
10471 (xim_close_dpy): Don't free the display info's XIM.
10472
10473 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
10474
10475 * config.in (USE_XIM): New define.
10476
10477 * keymap.c (get_keyelt): For menu-items containing a `:filter
10478 FILTER', apply FILTER to the menu-item's definition to get the
10479 real definition to use.
10480
10481 * lisp.h (QCfilter): External declaration.
10482
10483 * xfns.c (Fimage_size): New function.
10484 (syms_of_xfns): Defsubr it.
10485
10486 2000-06-26 Andreas Schwab <schwab@suse.de>
10487
10488 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
10489 Fstring_as_unibyte.
10490
10491 2000-06-25 Dave Love <fx@gnu.org>
10492
10493 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
10494
10495 * Makefile.in (blockinput.h): Depend on atimer.h.
10496 (atimer.h): Depend on systime.h.
10497
10498 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
10499
10500 * atimer.h: Protect against multiple inclusion. Include systime.h.
10501
10502 * lisp.h (swap_in_global_binding): Declare.
10503
10504 2000-06-24 Ken Raeburn <raeburn@gnu.org>
10505
10506 * process.c (Fopen_network_stream): Turn off atimers for duration
10507 of call to connect. (Patch from Gerd.)
10508
10509 2000-06-23 Dave Love <fx@gnu.org>
10510
10511 * ralloc.c: Maybe include unistd.h
10512
10513 * emacs.c (setgrp): Undefine before defining.
10514 (malloc_warning, set_time_zone_rule, index): Prototype.
10515
10516 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
10517 HAVE_STRUCT_TIMEZONE.
10518
10519 * s/osf1.h: Move string.h hack here from alpha.h and make it
10520 conditional.
10521 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
10522 _XOPEN_SOURCE.
10523 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
10524 (SOCKLEN_TYPE): Don't define.
10525
10526 * m/alpha.h: Remove string.h hack.
10527
10528 * s/osf5-0.h: New file.
10529
10530 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
10531 include time.h, done by systime.h.
10532 [__FreeBSD__]: Remove redundant includes.
10533
10534 * callproc.c (setpgrp): Undefine before defining.
10535 (delete_temp_file): Return Qnil to avoid warning.
10536
10537 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
10538
10539 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
10540 HAVE_X_WINDOWS.
10541
10542 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
10543
10544 * composite.h (compose_text): Declare.
10545
10546 * xterm.c: Don't include sys/types.h unconditionally. Don't
10547 protect its inclusion with !USG (following xmenu.c).
10548
10549 2000-06-23 Gerd Moellmann <gerd@gnu.org>
10550
10551 * xfns.c (x_create_tip_frame): Initialize frame's colors like
10552 in x_create_frame.
10553
10554 2000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
10555
10556 * coding.c (decode_eol_post_ccl): Special handling for undecided
10557 and inconsistent EOL types.
10558
10559 2000-06-22 Gerd Moellmann <gerd@gnu.org>
10560
10561 * xrdb.c (x_load_resources): Add default resource for scroll bar's
10562 trough color and main window's background color.
10563
10564 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
10565
10566 * xterm.h (Xt_app_con): External declaration.
10567
10568 * widget.c (EmacsFrameRealize): Fix typo.
10569
10570 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
10571
10572 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
10573 (handle_invisible_prop): Record the start of invisible text in
10574 it->add_overlay_start.
10575 (struct overlay_entry): Add member `overlay'.
10576 (handle_overlay_change): Simplify.
10577 (next_overlay_string): After having processed overlay strings at the
10578 end of the buffer, record that fact in
10579 it->overlay_strings_at_end_processed_p.
10580 (compare_overlay_entries): If before- and after-strings come
10581 from the same overlay, let before-strings come first.
10582 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
10583 (load_overlay_strings): Take it->add_overlay_start into account
10584 when adding overlay strings.
10585
10586 * dispextern.h (struct it): Add member add_overlay_start.
10587
10588 2000-06-22 Dave Love <fx@gnu.org>
10589
10590 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
10591
10592 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
10593
10594 2000-06-22 Kenichi Handa <handa@etl.go.jp>
10595
10596 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
10597 is greater than 0.
10598
10599 2000-06-21 Dave Love <fx@gnu.org>
10600
10601 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
10602
10603 2000-06-21 Stefan Monnier <monnier@cs.yale.edu>
10604
10605 * syntax.c (back_comment): Simplify string-parity counting (with
10606 the added benefit of handling multiple string-styles as long as
10607 they are not intertwined).
10608 Jump to the slow code as soon as a comment starter is found in
10609 a "string_lossage" position. Fixes the case: " /* " /* " */.
10610
10611 2000-06-21 Dave Love <fx@gnu.org>
10612
10613 * Makefile.in: Use GETLOADAVG_LIBS.
10614
10615 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
10616 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
10617
10618 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10619
10620 * syntax.c (describe_syntax): Recognize the `n'estable bit.
10621 (Fforward_comment, scan_lists):
10622 Check the comstyle of single-char comment-starters.
10623 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
10624 we're just at the beginning of the comment (f.ex with (*) ... (*)).
10625 Check the comstyle of single-char comment-starters.
10626 Clarify control-flow around the Scomment case.
10627
10628 2000-06-20 Dave Love <fx@gnu.org>
10629
10630 * fns.c (make_hash_table, maybe_resize_hash_table):
10631 Cast arg of next_almost_prime.
10632
10633 * tparam.c [emacs]: Include lisp.h.
10634
10635 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
10636 and unistd.h.
10637
10638 2000-06-20 Gerd Moellmann <gerd@gnu.org>
10639
10640 * keyboard.c (adjust_point_for_property): Check if display
10641 property should be treated as intangible by looking at its value.
10642
10643 * xdisp.c (single_display_prop_intangible_p)
10644 (display_prop_intangible_p): New functions.
10645
10646 * dispextern.h (display_prop_intangible_p): Add prototype.
10647
10648 * xdisp.c (dump_glyph_row): Show type of glyph->object.
10649
10650 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
10651 argument to sigprocmask.
10652
10653 * s/sco5.h (sigblock): Redefined to pass a pointer as second
10654 argument to sigprocmask.
10655
10656 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
10657 sigprocmask_set, and pass a pointer to it to sigprocmask.
10658
10659 * sysdep.c (sigprocmask_set): New variable.
10660
10661 * fileio.c (make_temp_name): Don't use `%s' in string passed to
10662 report_file_error.
10663
10664 2000-06-20 Sam Steingold <sds@gnu.org>
10665
10666 * xrdb.c: Don't declare xmalloc, xrealloc.
10667
10668 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
10669
10670 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
10671 (re_comp): Cast gettext return value to avoid complaints when
10672 !HAVE_LIBINTL.
10673
10674 2000-06-20 Dave Love <fx@gnu.org>
10675
10676 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
10677
10678 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
10679
10680 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
10681
10682 * m/alpha.h: Don't declare xmalloc, xrealloc.
10683
10684 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
10685
10686 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
10687
10688 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
10689
10690 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
10691 HAVE_GETWD.
10692
10693 * keyboard.h (poll_for_input_1): Declare.
10694
10695 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
10696
10697 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
10698
10699 * doprnt.c: Don't declare xmalloc, xrealloc.
10700
10701 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
10702 (getenv, ctime, getwd): Removed.
10703 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
10704
10705 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
10706 x_set_tool_bar_lines.
10707
10708 * config.in: Add HAVE_GETWD. Move some definitions above
10709 machine/system includes.
10710
10711 2000-06-20 Kenichi Handa <handa@etl.go.jp>
10712
10713 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
10714
10715 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
10716 contain information about ENCODING.
10717
10718 * fontset.c (FONTSET_ASCII): Use the first element of char table
10719 for an ASCII font, not defalt slot.
10720 (fontset_ref_via_base): If FONTSET doesn't contain information for
10721 C, try the default fontset.
10722 (make_fontset): Don't copy the default fontset.
10723 (fontset_font_pattern): Likewise.
10724 (accumulate_font_info): If ELT is nil, use the corresponding
10725 element in the default fontset.
10726
10727 2000-06-19 Dave Love <fx@gnu.org>
10728
10729 * syntax.c (Fparse_partial_sexp): Doc fix.
10730
10731 * regex.h: Test PROTOTYPES as well as __STDC__.
10732
10733 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
10734 errno, strerror. Put text after #endif in comment.
10735
10736 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
10737
10738 * xterm.c (x_frame_of_widget): Likewise.
10739
10740 2000-06-19 Gerd Moellmann <gerd@gnu.org>
10741
10742 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
10743 to Vfundamental_mode_abbrev_table.
10744
10745 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
10746 bogus objects are marked. This slows down GC by ~80 percent, but
10747 it might be worth trying when debugging GC-related problems.
10748 This feature requires conservative stack marking to be enabled.
10749
10750 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
10751 returns XLookupChars, reset `modifiers' to zero.
10752
10753 2000-06-19 Dave Love <fx@gnu.org>
10754
10755 * mktime.c: Unprotoized.
10756
10757 2000-06-19 Richard Stallman <rms@gnu.org>
10758
10759 * data.c (set_internal): If variable is frame-local,
10760 store the new value immediately into the frame parameter alist.
10761
10762 2000-06-19 Ken Raeburn <raeburn@gnu.org>
10763
10764 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
10765 in the custom handler pointer.
10766
10767 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
10768 value, or checks for CHAR_META can fail when Lisp_Object is a
10769 union type.
10770 * keymap.c (get_keyelt): Likewise.
10771
10772 2000-06-19 Kenichi Handa <handa@etl.go.jp>
10773
10774 * ccl.h (struct ccl_program): New member eol_type.
10775 (struct ccl_spec): New member cr_carryover.
10776
10777 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
10778 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
10779
10780 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
10781 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
10782 (decode_eol_post_ccl): New function.
10783 (decode_coding): Don't detect EOL format here for CCL based coding
10784 systems.
10785 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
10786 decode_eol_post_ccl after running the CCL program.
10787 (code_convert_region): Don't detect EOL format here for CCL based
10788 coding systems.
10789 (decode_coding_string): Likewise.
10790
10791 2000-06-18 Ken Raeburn <raeburn@gnu.org>
10792
10793 * charset.c (update_charset_table): Use XINT on "iso_final_char"
10794 when treating it as an integer.
10795
10796 * coding.h (encode_coding_string): Declare.
10797
10798 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
10799 it as an integer.
10800
10801 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
10802 "xkeymap" to avoid shadowing the "enum map_type" value that needs
10803 to be passed to get_local_map.
10804
10805 * sound.c (Fplay_sound): Don't call make_number on
10806 Frun_hook_with_args count argument.
10807
10808 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
10809 for lisp objects in X event structure data field, when lisp
10810 objects are represented with unions.
10811 (x_scroll_bar_to_input_event): Ditto.
10812
10813 2000-06-16 Ken Raeburn <raeburn@gnu.org>
10814
10815 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
10816 termination of string. Fix sense of test whether
10817 Vline_number_display_limit is an integer.
10818
10819 2000-06-16 Gerd Moellmann <gerd@gnu.org>
10820
10821 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
10822 only if HAVE_X_WINDOWS.
10823
10824 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
10825 of titles.
10826
10827 * dispnew.c (update_frame_1): Handle case that cursor vpos is
10828 out of bounds.
10829
10830 2000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
10831
10832 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
10833 of its headers.
10834
10835 2000-06-15 Kenichi Handa <handa@etl.go.jp>
10836
10837 * coding.c (decode_coding_emacs_mule): Always set src_base at the
10838 start of the while loop.
10839
10840 2000-06-15 Gerd Moellmann <gerd@gnu.org>
10841
10842 * atimer.c (alarm_signal_handler): Add forward declaration.
10843
10844 * data.c (set_internal): Remove debug code.
10845
10846 2000-06-14 Gerd Moellmann <gerd@gnu.org>
10847
10848 * Makefile.in (bootstrap-temacs): Add `-I../src'.
10849
10850 * unexec.c (toplevel) [COFF]: Include coff.h.
10851
10852 * s/lynxos.h: New file.
10853
10854 * keymap.c (Fsingle_key_description): Enclose function key and
10855 event symbol names in angle brackets.
10856
10857 * xdisp.c (setup_echo_area_for_printing): Call
10858 message_log_maybe_newline if message_buf_print is not set.
10859
10860 * print.c (printchar, strout): Don't check message_buf_print
10861 before calling setup_echo_area_for_printing because that
10862 function does something useful even when message_buf_print is
10863 already set.
10864
10865 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
10866 New variables.
10867 (ensure_echo_area_buffers): Initialize echo buffer's
10868 truncate lines setting to nil.
10869 (with_echo_area_buffer): Don't set the echo buffer's truncate
10870 lines setting here.
10871 (set_message_1): Set it here instead, based on the value
10872 of message_truncate_lines.
10873 (resize_mini_window): Handle case that lines are truncated.
10874 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
10875 DEFVAR_BOOL message-truncate-lines.
10876
10877 * keyboard.c (read_char): Bind message-truncate-lines to t
10878 while displaying a help-echo.
10879
10880 * lisp.h (Qmessage_truncate_lines): External declaration.
10881
10882 2000-06-13 Gerd Moellmann <gerd@gnu.org>
10883
10884 * xdisp.c (Vline_number_display_limit): Renamed from
10885 line_number_display_limit.
10886 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
10887 Extend documentation string. Initialize
10888 Vline_number_display_limit to nil meaning no limit.
10889 (decode_mode_spec): Use Vline_number_display_limit with its new
10890 meaning.
10891
10892 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
10893
10894 2000-06-13 Richard Stallman <rms@gnu.org>
10895
10896 * frame.c (Fmodify_frame_parameters): Doc fix.
10897
10898 * xfns.c (x_set_frame_parameters): Comment fix.
10899
10900 * frame.c (store_frame_param): Call swap_in_global_binding if the
10901 variable's current binding was chosen based on this frame.
10902
10903 * data.c (swap_in_global_binding): New function.
10904
10905 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10906
10907 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
10908 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
10909
10910 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
10911
10912 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
10913
10914 2000-06-12 Jason Rumney <jasonr@gnu.org>
10915
10916 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
10917
10918 * w32.h (EMACS_W32_H): Renamed from _NT_H_
10919
10920 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
10921
10922 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
10923
10924 2000-06-12 Gerd Moellmann <gerd@gnu.org>
10925
10926 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
10927 (syms_of_xfaces): Defsubr Sdump_colors.
10928 (x_free_colors): Don't treat b&w specially on default visual.
10929 (x_free_dpy_colors): New function.
10930 (free_face_colors): Don't check visual class; it's done
10931 in x_free_colors.
10932
10933 * xterm.c (x_frame_of_widget): New function.
10934 (x_alloc_nearest_color_for_widget): Use it.
10935 (x_copy_dpy_color): New function.
10936 (x_destroy_window): Free various colors.
10937
10938 2000-06-12 Kenichi Handa <handa@etl.go.jp>
10939
10940 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
10941
10942 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
10943
10944 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
10945
10946 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
10947
10948 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
10949
10950 2000-06-11 Dave Love <fx@gnu.org>
10951
10952 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
10953
10954 2000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
10955
10956 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
10957
10958 2000-06-11 Gerd Moellmann <gerd@gnu.org>
10959
10960 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
10961 to `XEvent *'.
10962
10963 2000-06-10 Kenichi Handa <handa@etl.go.jp>
10964
10965 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
10966 (regex_compile): Fix the code for handling the case of single byte
10967 char and multibyte char being mixed in a range within [...].
10968
10969 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
10970 and dst_multibyte members of coding.
10971
10972 * charset.c (update_charset_table): Update the table
10973 bytes_by_char_head.
10974 (init_charset_once): Initialize elements of bytes_by_char_head to
10975 1 except for leading codes for private charases.
10976
10977 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
10978 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
10979
10980 2000-06-09 Ken Raeburn <raeburn@gnu.org>
10981
10982 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
10983 access the data it doesn't point to.
10984
10985 2000-06-08 Gerd Moellmann <gerd@gnu.org>
10986
10987 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
10988 will be translated to a switch-frame event when reading the
10989 event queue. This is necessary because Emacs otherwise won't
10990 perform a switch-frame to a new frame until some other event, for
10991 example a keystroke event, forces it to do so. This has various
10992 effects, one visible being that the cursor of a frame created with
10993 C-x 5 2 or switched to with a window manager key binding like
10994 A-TAB stays hollow because selected_window isn't on the newly
10995 focused frame until the switch-frame is performed.
10996
10997 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
10998 generating a switch-frame event if necessary.
10999
11000 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
11001
11002 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
11003 it's an integer.
11004
11005 2000-06-08 Kenichi Handa <handa@etl.go.jp>
11006
11007 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
11008
11009 2000-06-07 Gerd Moellmann <gerd@gnu.org>
11010
11011 * window.c (displayed_window_lines): Take empty lines at
11012 the bottom of a window into account.
11013
11014 * window.c (displayed_window_lines): New function.
11015 (Fmove_to_window_line): Use displayed_window_lines to determine
11016 the number of lines to move, instead of using the window's height.
11017
11018 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
11019 to stop reading, even if the form read sets point to a different
11020 value when evaluated.
11021
11022 * xdisp.c (display_line): Fix code deciding in which line to
11023 put the cursor.
11024
11025 2000-06-07 Kenichi Handa <handa@etl.go.jp>
11026
11027 * fileio.c (e_write): Free composition data if stored in
11028 coding->cmp_data.
11029
11030 2000-06-06 Gerd Moellmann <gerd@gnu.org>
11031
11032 * xdisp.c (display_line): Set row's and iterator's
11033 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
11034 Set cursor even if row ends in the middle of a character.
11035 (dump_glyph_row): Print values of new flags.
11036 (redisplay_window) <cursor movement in unchanged window>: When
11037 point has been moved forward, and PT is at the end of the cursor
11038 row, don't place the cursor in the next row if the cursor row ends
11039 in the middle of a character or at ZV.
11040
11041 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
11042 (struct glyph_row): Add starts_in_middle_of_char_p and
11043 ends_in_middle_of_char_p.
11044 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
11045 ends_in_middle_of_char_p flag.
11046 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
11047
11048 * term.c (append_glyph): Revert change of 2000-06-06.
11049
11050 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
11051 padding glyph not fitting on line as whole character not
11052 fitting on line.
11053
11054 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
11055 this isn't true for images with `:ascent 100'.
11056
11057 2000-06-06 Kenichi Handa <handa@etl.go.jp>
11058
11059 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
11060 as modified if it is originally unmodified.
11061
11062 * term.c (encode_terminal_code): Change the way to check if
11063 terminal coding does any conversion.
11064 (append_glyph): Set glyph->pixel_width correctly.
11065
11066 * xdisp.c (display_line): While checking line continuation, pay
11067 attention to a padding glyph.
11068
11069 2000-06-05 Gerd Moellmann <gerd@gnu.org>
11070
11071 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
11072
11073 2000-06-05 Dave Love <fx@gnu.org>
11074
11075 * xdisp.c: Include fontset.h.
11076
11077 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
11078
11079 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11080
11081 * dispnew.c: Conditionally include term.h.
11082
11083 * coding.h: Declare code_convert_string_norecord.
11084
11085 * frame.h (struct frame): Use volatile unconditionally.
11086
11087 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
11088
11089 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
11090
11091 * systime.h: Protect against multiple inclusion.
11092 (timezone) [USG5_4]: Define as time_t.
11093
11094 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11095 (Foptimize_char_table, make_temp_name): Declare.
11096
11097 * Makefile.in (xdisp.o): Depend on fontset.h.
11098
11099 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
11100
11101 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
11102 (Foptimize_char_table, make_temp_name): Declare.
11103
11104 * s/irix4-0.h:
11105 * s/irix5-0.h:
11106 * s/netbsd.h: Don't define autoconfiscated MATHERR.
11107
11108 2000-06-02 Dave Love <fx@gnu.org>
11109
11110 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
11111
11112 2000-06-02 Gerd Moellmann <gerd@gnu.org>
11113
11114 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
11115 result face, set flags in that face indicating that colors may not
11116 be freed.
11117
11118 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
11119 glyph, use the ASCII NUL character to determine the face.
11120
11121 2000-06-02 Dave Love <fx@gnu.org>
11122
11123 * sysdep.c: Conditionally include stdlib.h, unistd.h.
11124 (VFORK_RETURN_TYPE): Remove.
11125
11126 * config.in: Add NO_MATHERR.
11127
11128 2000-06-01 Dave Love <fx@gnu.org>
11129
11130 * cmds.c (internal_self_insert): Don't check
11131 Vbefore_change_function, Vafter_change_function.
11132
11133 * insdel.c (signal_before_change, signal_after_change): Likewise.
11134
11135 * buffer.c (Vbefore_change_function, Vafter_change_function):
11136 Variables and their initializations deleted.
11137
11138 * callint.c (Fcall_interactively): Doc fix.
11139
11140 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
11141
11142 2000-05-31 Dave Love <fx@gnu.org>
11143
11144 * textprop.c: Revert last change -- duplicated.
11145
11146 2000-05-31 Gerd Moellmann <gerd@gnu.org>
11147
11148 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
11149 in #if 0.
11150
11151 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
11152
11153 2000-05-31 Jason Rumney <jasonr@gnu.org>
11154
11155 * search.c (Fre_search_forward, Fre_search_backward)
11156 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
11157
11158 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
11159
11160 2000-05-30 Jason Rumney <jasonr@gnu.org>
11161
11162 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
11163 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
11164
11165 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
11166
11167 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
11168 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
11169 expand a nil default_filename.
11170
11171 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
11172 pointer to glyph_to_pixel_coords, not a frame.
11173
11174 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
11175 coding.h to dependencies.
11176
11177 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
11178
11179 * w32console.c (glyph_to_pixel_coords): Change first parameter to
11180 window pointer to be consistent with w32term.c and xterm.c.
11181
11182 * w32fns.c: Format and doc changes to bring closer to xfns.c.
11183 (VIETNAMESE_CHARSET): Define if not defined in system headers.
11184 (Qline_spacing, Qcenter): New variables.
11185 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
11186 (x_set_line_spacing): New function.
11187 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
11188 (x_specified_cursor_type): New function.
11189 (x_set_cursor_type): Use it.
11190 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
11191 and icon strings.
11192 (validate_x_resource_name, x_get_resource_string): Measure lengths
11193 of external strings in bytes.
11194 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
11195 GetTextExtentPoint32 with NULL title.
11196 (Fx_create_frame): Initialize Qline_spacing.
11197 (w32_load_system_font): Initialize font->double_byte_p.
11198 (x_to_w32_charset): Use Vw32_charset_info_alist.
11199 (Image, busy cursor, tooltip functions): Merged changes from
11200 xfns.c. Not yet functional on Windows.
11201
11202 * w32gui.h (W32FontStruct): Add double_byte_p member.
11203
11204 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
11205 (emacs_button_translation): Use it.
11206 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
11207 in `mask' to be set.
11208
11209 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
11210 menu strings.
11211
11212 * w32term.c: Format and doc changes to bring closer to xterm.c.
11213 (w32_char_font_type): New enum.
11214 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
11215 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
11216 (w32_encode_char): New function.
11217 (x_encode_char): Removed.
11218 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
11219 x_encode_char and w32_font_is_double_byte.
11220 (x_produce_image_glyph): Use image_ascent.
11221 (x_produce_glyphs): Use new version of w32_per_char_metric and
11222 handle NULL return value. Allow extra line spacing.
11223 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
11224 (w32_get_glyph_overhangs): Remove unicode_p param. Use
11225 w32_font_type member of glyph instead.
11226 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
11227 (fast_find_position): Make sure not to consider rows not visible
11228 in the window.
11229 (w32_read_socket) [WM_MENUSELECT]: Cannot call
11230 w32_menu_display_help with input blocked, as it can abort.
11231 (x_display_and_set_cursor): Choose cursor depending
11232 on buffer-local value of cursor_type.
11233 (x_draw_bar_cursor): Add parameter WIDTH.
11234
11235 * w32term.h (CP_DEFAULT): Define.
11236 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
11237
11238 2000-05-30 Gerd Moellmann <gerd@gnu.org>
11239
11240 * search.c (Fre_search_forward, Fre_search_backward)
11241 (Fposix_search_backward, Fposix_search_forward): Doc fix.
11242
11243 2000-05-30 Kenichi Handa <handa@etl.go.jp>
11244
11245 * coding.c (detect_coding_iso2022): Fix code for checking
11246 CODING_CATEGORY_MASK_ISO_8_2.
11247
11248 2000-05-29 Stefan Monnier <monnier@cs.yale.edu>
11249
11250 * regex.c (PREFETCH_NOLIMIT): New function.
11251 (re_match_2_internal): Use it and adjust the end_match_2 logic.
11252
11253 2000-05-29 Gerd Moellmann <gerd@gnu.org>
11254
11255 * syntax.c (find_defun_start): Move test for
11256 open_paren_in_column_0_is_defun_start outside of the loop.
11257
11258 * xdisp.c (redisplay_window): Really switch buffers when
11259 displaying mode lines, and temporarily set selected_frame to the
11260 frame of the window that's redisplayed.
11261
11262 * xfaces.c (free_realized_faces): Block/unblock input.
11263 (free_realized_multibyte_face): Ditto.
11264
11265 2000-05-29 Dave Love <fx@gnu.org>
11266
11267 * textprop.c (Qkeymap): New variable.
11268 (syms_of_textprop): Intern it.
11269
11270 * keymap.c: Include intervals.h.
11271 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
11272
11273 * Makefile.in (keymap.o): Depend on intervals.h.
11274
11275 * keyboard.c (menu_bar_items, tool_bar_items)
11276 (Fexecute_extended_command): Deal with `keymap' property.
11277 (read_key_sequence): Track map from `keymap' property as well as
11278 `local_map'.
11279
11280 * intervals.c (get_local_map): Extra arg to allow looking for
11281 `keymap' too.
11282
11283 * intervals.h (map_property): New enum.
11284 (get_local_map): Extra arg using it.
11285 (Qkeymap): Declare.
11286
11287 * lisp.h (get_local_map): Don't declare here.
11288
11289 2000-05-29 Kenichi Handa <handa@etl.go.jp>
11290
11291 * Makefile.in (callproc.o): Depend on composite.h.
11292
11293 * callproc.c: Include composite.h.
11294 (Fcall_process): Handle composition correctly.
11295
11296 * coding.h (coding_allocate_composition_data): Extern it.
11297 (coding_restore_composition): Likewise.
11298
11299 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
11300 yet allocated, finish decoding with result
11301 CODING_FINISH_INSUFFICIENT_CMP.
11302 (coding_allocate_composition_data): Make it non-static.
11303 (coding_restore_composition): Likewise.
11304
11305 2000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
11306
11307 * charset.c (syms_of_charset): Revert last change.
11308
11309 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11310
11311 * term.c (produce_glyphs): Treat characters from the eight-bit-*
11312 charsets as unibyte, with 1-column screen width. Sent by Kenichi
11313 Handa.
11314
11315 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
11316
11317 * charset.c (syms_of_charset): Set width of character sets
11318 eight-bit-control and eight-bit-graphic to 1 column.
11319
11320 2000-05-26 Gerd Moellmann <gerd@gnu.org>
11321
11322 * config.in (HAVE_SPEED_T): New define.
11323
11324 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
11325 `extern speed_t'.
11326
11327 2000-05-26 Dave Love <fx@gnu.org>
11328
11329 * coding.c (shrink_decoding_region): Initialize eol_conversion.
11330
11331 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
11332 (Fsubr_arity): New function.
11333 (syms_of_data): Install them.
11334
11335 2000-05-26 Kenichi Handa <handa@etl.go.jp>
11336
11337 * charset.c (init_charset_once): Set the table bytes_by_char_head
11338 correctly.
11339
11340 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
11341 the default fontset to what Emacs uses by default.
11342 (check_registry_encoding): This function deleted.
11343 (Fset_fontset_font): Remove the adhoc condition for the default
11344 fontset. Allow cons in FONTNAME.
11345
11346 * fns.c (map_char_table): Ignore char-table entries for
11347 charsets eight-bit-control and eight-bit-graphic.
11348
11349 2000-05-25 Ken Raeburn <raeburn@gnu.org>
11350
11351 * emacs.c (main): Initialize keyboard syms before initializing
11352 window code, so face names are available.
11353
11354 2000-05-25 Stefan Monnier <monnier@cs.yale.edu>
11355
11356 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
11357 of an anchor at the beginning of a shy-group.
11358
11359 2000-05-25 Gerd Moellmann <gerd@gnu.org>
11360
11361 * xdisp.c (handle_invisible_prop): Don't try to skip over
11362 invisible text if end of text is already reached.
11363
11364 2000-05-25 Dave Love <fx@gnu.org>
11365
11366 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
11367
11368 * coding.c (encode_eol): Add null statement after label.
11369
11370 2000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
11371
11372 * w16select.c (Fw16_set_clipboard_data): Fix the change from
11373 2000-05-20.
11374
11375 2000-05-25 Kenichi Handa <handa@etl.go.jp>
11376
11377 * ccl.c (ccl_driver): Fix previous change.
11378
11379 2000-05-25 Kenichi Handa <handa@etl.go.jp>
11380
11381 * coding.c (run_pre_post_conversion_on_str): Set point to the
11382 beginning of buffer before calling coding->post_read_conversion.
11383 (decode_coding_string): Give correct args to
11384 run_pre_post_conversion_on_str.
11385 (encode_coding_string): Likewise.
11386
11387 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
11388 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
11389 eight-bit-graphic correctly.
11390
11391 2000-05-24 Kenichi HANDA <handa@etl.go.jp>
11392
11393 * fileio.c (Finsert_file_contents): Even if a file is not found,
11394 execute codes for setting up coding system. Call
11395 after-insert-file-functions unconditionally.
11396
11397 2000-05-24 Gerd Moellmann <gerd@gnu.org>
11398
11399 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
11400 BSD_PGRPS are not defined.
11401
11402 2000-05-24 Kenichi Handa <handa@etl.go.jp>
11403
11404 * charset.c (update_charset_table): Accept nil in LONG_NAME and
11405 DESCRIPTION.
11406 (syms_of_charset): Avoid building same strings.
11407
11408 2000-05-23 Gerd Moellmann <gerd@gnu.org>
11409
11410 * lread.c (Fload): Add a comment about the meaning of
11411 Vuser_init_file being t.
11412
11413 * puresize.h (BASE_PURESIZE): Increase to 675000.
11414
11415 * s/gnu-linux.h (setpgrp): Don't define it here because this
11416 prevents compilation on GNU/Linux systems with glib 2.2.
11417
11418 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
11419 as setpgid.
11420
11421 2000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
11422
11423 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
11424 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
11425 version.
11426 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
11427
11428 2000-05-23 Kenichi Handa <handa@etl.go.jp>
11429
11430 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11431
11432 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
11433
11434 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
11435
11436 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
11437
11438 2000-05-22 Kenichi Handa <handa@etl.go.jp>
11439
11440 * keyboard.c (read_char): Allow character codes 128..255 to be
11441 handled by input-method-function.
11442
11443 * insdel.c (adjust_markers_for_replace): Fix previous change.
11444 (adjust_after_replace): If PREV_TEXT is nil, call
11445 adjust_markers_for_insert, not adjust_markers_for_replace.
11446
11447 2000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
11448
11449 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
11450 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
11451 [HAVE_GRANDPT]: Define.
11452 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
11453
11454 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
11455 like SYSV_PTYS.
11456
11457 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
11458
11459 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
11460
11461 2000-05-20 Kenichi Handa <handa@etl.go.jp>
11462
11463 The following changes are to handle 8-bit characters in a
11464 multibyte buffer/string without facing with byte combining
11465 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
11466 eight-bit-graphic (for 0xA0..0xFF) are introduced.
11467
11468 * Makefile.in (fns.o): Depend on charset.h.
11469
11470 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
11471 convert it to unibyte.
11472 (make_string): Use parse_str_as_multibyte, not chars_in_text.
11473
11474 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
11475 apparent char boundary.
11476 (Fset_buffer_multibyte): Convert 8-bit characters in the range
11477 0x80..0x9F to/from multibyte form.
11478
11479 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
11480 to unibyte.
11481
11482 * callproc.c (Fcall_process): Always encode an argument string if
11483 it is multibyte. Setup src_multibyte and dst_multibyte members of
11484 process_coding properly.
11485
11486 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
11487 SPLIT_NON_ASCII_CHAR.
11488
11489 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
11490 as is.
11491 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
11492
11493 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
11494 (SPLIT_CHARACTER_SEQ): This macro deleted.
11495 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
11496 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
11497 and eight-bit-graphic.
11498 (char_to_string): Likewise. Signal an error for too large
11499 character code.
11500 (char_printable_p): Return 0 for 8-bit characters.
11501 (update_charset_table): Update iso_charset_table only when a final
11502 character is non-negative.
11503 (find_charset_in_text): Renamed from find_charset_in_str.
11504 Arguments and return value changed. Callers changed.
11505 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
11506 be -1 if CHARSET is used only internally.
11507 (Fmake_char_internal): Handle new charsets; eight-bit-control and
11508 eight-bit-graphic.
11509 (Fcharset_after): Simplified.
11510 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
11511 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
11512 (multibyte_chars_in_text): Simplified by assuming there's no
11513 invalid multibyte sequence.
11514 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11515 (str_as_unibyte): New functions.
11516 (Fstring): Simpified by assuming that byte combining never happens.
11517 (init_charset_once): Initialization for
11518 LEADING_CODE_8_BIT_CONTROL.
11519 (syms_of_charset): Intern and staticpro Qeight_bit_control and
11520 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
11521 eight-bit-control and eight-bit-graphic.
11522
11523 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
11524 (CHARSET_8_BIT_GRAPHIC): New macros.
11525 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
11526 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
11527 (CHARSET_REVERSE_CHARSET): Likewise.
11528 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
11529 eight-bit-graphic.
11530 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
11531 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
11532 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
11533 encounter an invalid multibyte sequence.
11534 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
11535 sequence is always valid.
11536 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
11537 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
11538 (CHAR_STRING): For 8-bit characters, call char_to_string.
11539 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
11540 multibyte sequence is always valid.
11541 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
11542 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
11543 (str_as_unibyte): Extern them.
11544 (BCOPY_SHORT): Fix a bug.
11545 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
11546 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
11547 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
11548 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
11549
11550 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
11551 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
11552 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
11553 (EMIT_BYTES): New macros.
11554 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
11555 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
11556 macros deleted.
11557 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
11558 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
11559 check the validity of multibyte sequence.
11560 (decode_coding_emacs_mule): New function.
11561 (encode_coding_emacs_mule): New macro.
11562 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
11563 the source.
11564 (DECODE_ISO_CHARACTER): Just return a character code.
11565 (DECODE_COMPOSITION_START): Set coding->result instead of result.
11566 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
11567 EMIT_CHAR to produced decoded characters. Exit the loop only by
11568 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
11569 block here.
11570 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
11571 only position codes for an invalid character.
11572 (encode_designation_at_bol): Return new destination pointer. 5th
11573 arg DSTP is changed to DST.
11574 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
11575 from the source by ONE_MORE_CHAR. Don't handle the case of last
11576 block here.
11577 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
11578 macros deleted.
11579 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
11580 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
11581 TWO_MORE_BYTES to fetch a byte from the source.
11582 (encode_eol): Pay attention to coding->src_multibyte.
11583 (detect_coding, detect_eol): Preserve members src_multibyte and
11584 dst_multibyte.
11585 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
11586 (encoding_buffer_size): Set magnification to 3 for all coding
11587 systems that require encoding.
11588 (ccl_coding_driver): For decoding, be sure that the result is
11589 valid multibyte sequence.
11590 (decode_coding): Initialize coding->errors and coding->result.
11591 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
11592 and raw-text, always call decode_eol. Handle the case of last
11593 block here. If not coding->dst_multibyte, convert the resulting
11594 sequence to unibyte.
11595 (encode_coding): Initialize coding->errors and coding->result.
11596 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
11597 and raw-text, always call encode_eol. Handle the case of last
11598 block here.
11599 (shrink_decoding_region, shrink_encoding_region): Detect cases
11600 that we can't skip data more rigidly.
11601 (code_convert_region): Setup src_multibyte and dst_multibyte
11602 members of coding. For decoding, if the buffer is multibyte,
11603 convert the source sequence to unibyte in advance. For encoding,
11604 if the buffer is multibyte, convert the resulting sequence to
11605 multibyte afterward.
11606 (run_pre_post_conversion_on_str): New function.
11607 (code_convert_string): Deleted and divided into the following two.
11608 (decode_coding_string, encode_coding_string): New functions.
11609 (code_convert_string1, code_convert_string_norecord): Call one of
11610 above.
11611 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
11612 MAKE_NON_ASCII_CHAR.
11613 (Fset_terminal_coding_system_internal)
11614 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
11615 and dst_multibyte members.
11616 (init_coding_once): Initialize iso_code_class with new enum
11617 ISO_control_0 and ISO_control_1.
11618
11619 * coding.h (enum iso_code_class_type): Member ISO_control_code is
11620 devided into ISO_control_0 and ISO_control_1.
11621 (struct coding_system): New members src_multibyte, dst_multibyte,
11622 errors, and result. Delete member fake_multibyte.
11623 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
11624 nonzero.
11625 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
11626 nonzero.
11627
11628 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11629 (Faset): Likewise.
11630
11631 * editfns.c (Fformat): Be sure to convert 8-bit characters to
11632 multibyte form.
11633 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
11634 combining occurs.
11635 (Ftranspose_region): Delete codes for handling byte combining.
11636
11637 * fileio.c (Finsert_file_contents): Setup src_multibyte and
11638 dst_multibyte members of coding. On handling REPLACE on unibyte
11639 buffer, convert the result of decode_coding to unibyte. On
11640 inserting into a mutibyte buffer, always call code_convert_region.
11641 (e_write): Setup coding->src_multibyte according to the
11642 multibyteness of the source (buffer or string).
11643
11644 * fns.c (concat): Handle 8-bit characters correctly.
11645 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
11646 unibyte in the result.
11647 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
11648 valid multibyte form in the result.
11649 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11650 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
11651 return -1, signal an error.
11652 (base64_encode_1): New arg MULTIBYTE. Get each character by
11653 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
11654 character is found, return -1.
11655 (Fbase64_decode_region): Delete codes for handling byte-combining.
11656 Treat each decoded byte as a unibyte character.
11657 (Fbase64_decode_string): Return unibyte string.
11658 (Fcompare_strings, concat, string_byte_to_char): Use
11659 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
11660 FETCH_STRING_CHAR_ADVANCE.
11661 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11662 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
11663
11664 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
11665 SPLIT_NON_ASCII_CHAR.
11666 (fontset_ref_via_base, fontset_set): Likewise
11667
11668 * insdel.c (adjust_markers_for_record_delete): Deleted.
11669 (adjust_markers_for_insert): Argument changed. Caller changed.
11670 (adjust_markers_for_replace): Likewise.
11671 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
11672 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
11673 (copy_text): Delete unused local varialbe c_save. For converting
11674 to multibyte, be sure to make all 8-bit characters in valid
11675 multibyte form.
11676 (count_size_as_multibyte): Handle 8-bit characters correctly.
11677 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11678 (adjust_after_replace, replace_range, del_range_2)
11679 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
11680 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
11681 (adjust_after_replace, replace_range, del_range_2) Delete codes for
11682 handling byte combining.
11683 (adjust_before_replace): Deleted.
11684
11685 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
11686 SPLIT_NON_ASCII_CHAR.
11687 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
11688 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11689 (Fkey_description): Likewise.
11690
11691 * lread.c (read1): On reading multibyte string, be sure to make
11692 all 8-bit chararacters in valid multibyte form.
11693 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11694
11695 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
11696 unconditionally.
11697
11698 * process.c (Fstart_process): GCPRO current_dir before calling
11699 Ffind_operation_coding_system. Encode arguments here.
11700 (create_process): Don't encode arguments here. Setup
11701 src_multibyte and dst_multibyte members of struct coding.
11702 (read_process_output): Setup src_multibyte and dst_multibyte
11703 members of struct coding. If the output is to multibyte buffer,
11704 always decode the output of the process. Adjust the
11705 representation of 8-bit characters to the multibyteness of the output.
11706 (send_process): Setup coding->src_multibyte according to the
11707 multibyteness of the source.
11708
11709 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
11710 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
11711 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
11712
11713 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
11714
11715 * w16select.c (Fw16_set_clipboard_data): Setup members
11716 src_multibyte and dst_multibyte of coding. Adjusted for the
11717 change for find_charset_in_str.
11718 (Fw16_get_clipboard_data): Likewise.
11719
11720 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
11721 dst_multibyte of coding.
11722 (x_to_w32_font): Likewise.
11723
11724 * w32select.c (Fw32_set_clipboard_data): Setup members
11725 src_multibyte and dst_multibyte of coding. Adjusted for the
11726 change for find_charset_in_str.
11727 (Fw32_get_clipboard_data): Likewise.
11728
11729 * xdisp.c (get_next_display_element): Handle 8-bit characters
11730 correctly.
11731 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
11732 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
11733
11734 * xselect.c (selection_data_to_lisp_data): Setup members
11735 src_multibyte and dst_multibyte of coding. Adjusted for the
11736 change for find_charset_in_str.
11737 (lisp_data_to_selection_data): Likewise.
11738
11739 2000-05-19 Gerd Moellmann <gerd@gnu.org>
11740
11741 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
11742
11743 * dispextern.h (Vimage_types): Add extern declaration.
11744
11745 * xdisp.c (Vimage_types): Moved here from xfns.c.
11746 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
11747
11748 * xfns.c (Vimages_types): Moved to xdisp.c.
11749 (syms_of_xfns): Move `image-types' to xdisp.c.
11750
11751 * w32fns.c (Vimage_types): Removed.
11752 (syms_of_w32fns): Remove `image-types'.
11753
11754 2000-05-18 Kenichi Handa <handa@etl.go.jp>
11755
11756 * fns.c (map_char_table): Pay attention to character number of
11757 charset. Check the validity of charset at the first level. For
11758 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
11759 the default value.
11760
11761 * fontset.c: Include "buffer.h".
11762 (fs_load_font): If the face has fontset, record the face ID in
11763 that fontset.
11764 (Finternal_char_font): New function.
11765 (accumulate_font_info): New function.
11766 (Ffontset_info): Rewritten for the new fontset implementation.
11767 (syms_of_fontset): Register Vdefault_fontset in the first element
11768 of Vfontset_table. Include Vdefault_fontset in
11769 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
11770 function.
11771
11772 2000-05-16 Dave Love <fx@gnu.org>
11773
11774 * m/iris5d.h: Deleted -- unused.
11775
11776 2000-05-16 Gerd Moellmann <gerd@gnu.org>
11777
11778 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
11779 `invalid' instead of `illegal'.
11780
11781 * indent.c (Fmove_to_column): When ending within a tab, insert
11782 spaces first so that markers at the end of the tab get adjusted.
11783
11784 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
11785 buffer list that wasn't selected in that frame.
11786
11787 * filelock.c (get_boot_time): To obtain an 8 char file name, which
11788 is needed on mescaline, use a 2 char prefix, and call
11789 make_temp_name with second arg non-zero.
11790
11791 * fileio.c (make_temp_name): New function, extracted from
11792 Fmake_temp_name.
11793 (Fmake_temp_name): Use it.
11794
11795 2000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
11796
11797 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
11798
11799 2000-05-15 Gerd Moellmann <gerd@gnu.org>
11800
11801 * Makefile.in (lisp): Add env.elc.
11802
11803 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
11804
11805 2000-05-12 Gerd Moellmann <gerd@gnu.org>
11806
11807 * search.c (Freplace_match): Handle case of `\N' in the
11808 replacement when there's no group N.
11809
11810 2000-05-11 Gerd Moellmann <gerd@gnu.org>
11811
11812 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
11813 of the message to message_dolog.
11814
11815 * keyboard.c (read_char): Don't clear current message for help
11816 events; let the code handling help events handle this. Change
11817 code detecting help events that should be ignored.
11818
11819 * xdisp.c (handle_single_display_prop): Don't try to set PT if
11820 we're interating over a string.
11821
11822 2000-05-09 Dave Love <fx@gnu.org>
11823
11824 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
11825 that offset before writing. Move gcpro region past call of
11826 Ffile_regular_p.
11827
11828 2000-05-04 Dave Love <fx@gnu.org>
11829
11830 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
11831
11832 2000-05-04 Gerd Moellmann <gerd@gnu.org>
11833
11834 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
11835 of inserted characters when BUF equals the current buffer, and PT
11836 is in front of or equal to FROM.
11837
11838 2000-05-03 Gerd Moellmann <gerd@gnu.org>
11839
11840 * xdisp.c (handle_single_display_prop): If display property value
11841 is invalid, or something not supported on the frame, restore
11842 iterator's position to what it was initially. Make sure to return
11843 0 for invalid and unsupported property values.
11844
11845 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
11846 that x_per_char_metric returns null.
11847
11848 2000-05-02 Gerd Moellmann <gerd@gnu.org>
11849
11850 * xterm.h (struct face): Add forward declaration.
11851 (struct image): Ditto.
11852 (image_ascent): Add prototype.
11853
11854 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
11855 (x_draw_image_relief, x_draw_image_foreground_1): Call function
11856 image_ascent instead of using IMAGE_ASCENT.
11857
11858 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
11859 (IMAGE_ASCENT): Removed.
11860
11861 * xfns.c (Qcenter): New variable.
11862 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
11863 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
11864 (image_ascent): New function.
11865 (lookup_image): Recognize `:ascent center'.
11866 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
11867 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
11868 (xbm_load): Don't set image's ascent here.
11869 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
11870 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
11871 check ascent values here.
11872 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
11873 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
11874 (syms_of_xfns): Initialize Qcenter.
11875
11876 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
11877 to the limits, increase the limits.
11878
11879 2000-05-01 Kenichi Handa <handa@etl.go.jp>
11880
11881 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
11882 Check Vfont_encoding_alist against the full name of the opened font.
11883
11884 2000-04-28 Gerd Moellmann <gerd@gnu.org>
11885
11886 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
11887 taller than the window.
11888
11889 2000-04-28 Kenichi Handa <handa@etl.go.jp>
11890
11891 * xfaces.c (realize_x_face): Fix the argument of the second
11892 xassert. BASE_FACE may not be a face for ASCII.
11893
11894 2000-04-27 Gerd Moellmann <gerd@gnu.org>
11895
11896 * print.c (print_object): Treat print-length < 0 as nil.
11897
11898 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
11899
11900 * s/freebsd.h (TERMCAP_OBJ): Removed.
11901 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
11902
11903 * lread.c (read1): Don't treat period followed by certain
11904 characters as symbol start.
11905
11906 * xfns.c (slurp_file): New function.
11907 (xbm_image_p): Handle case of in-memory XBM files.
11908 (xbm_scan): Rewritten to work on memory buffers instead of files.
11909 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
11910 Work on memory buffers instead of files. If DATA is null test
11911 if buffer looks like an in-memory XBM file.
11912 (xbm_load_image): Renamed from xbm_load_image_file. Work on
11913 memory buffers instead of files.
11914 (xbm_file_p): New function.
11915 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
11916
11917 * lread.c (end_of_file_error): New function.
11918 (read1): Call it instead of signaling `end-of-file' directly.
11919
11920 * print.c (print_error_message): Print data of `end-of-file'
11921 with Fprinc instead of Fprin1.
11922
11923 2000-04-26 Ken Raeburn <raeburn@gnu.org>
11924
11925 * window.c (freeze_window_start): Check that minibuffer scroll
11926 window isn't nil before extracting the window structure pointer
11927 from it.
11928
11929 * undo.c (record_delete): If we hit the end of the undo list, stop
11930 picking elements apart.
11931
11932 2000-04-26 Gerd Moellmann <gerd@gnu.org>
11933
11934 * xdisp.c (display_line): If lines are continued, restore
11935 iterator's ascent/descent information to the values before the
11936 first glyph not fitting on the line.
11937
11938 2000-04-25 Gerd Moellmann <gerd@gnu.org>
11939
11940 * xdisp.c (try_window_id) <all changes above window start>: Adjust
11941 positions in glyph matrix. Don't compute new window end positions.
11942
11943 * dispnew.c (increment_matrix_positions): Renamed from
11944 increment_glyph_matrix_buffer_positions.
11945 (increment_row_positions): Renamed from
11946 increment_glyph_row_buffer_positions.
11947
11948 * dispextern.h: Change names of renamed functions from dispnew.c
11949 in prototypes.
11950
11951 2000-04-24 Gerd Moellmann <gerd@gnu.org>
11952
11953 * fileio.c (Fdo_auto_save): Create directories for auto-save
11954 list file if necessary.
11955
11956 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
11957 from buffer or frame.
11958 (automatic_hscrolling_p): New variable.
11959 (hscroll_windows): Scroll windows horizontally only if automatic
11960 hscrolling is allowed.
11961 (syms_of_xdisp): New variable `automatic-hscrolling'.
11962
11963 * frame.h (struct frame): Add member extra_line_spacing.
11964
11965 * xfns.c (x_set_line_spacing): New function.
11966 (Fx_create_frame): Set line spacing from resources.
11967 (Qline_spacing): New variable.
11968 (syms_of_xfns): Initialize Qline_spacing.
11969
11970 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
11971
11972 * buffer.c (init_buffer_once): Handle extra_line_spacing.
11973 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
11974 (reset_buffer): Don't initialize extra2 and extra3. Initialize
11975 extra_line_spacing from default value.
11976 (init_buffer_once): Initialize default value of extra_line_spacing.
11977
11978 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
11979 and extra3.
11980
11981 * xterm.c (x_produce_glyphs): Remove reference to struct it's
11982 prompt_width. Add extra line spacing.
11983
11984 * term.c (produce_glyphs): Remove reference to struct it's
11985 prompt_width.
11986
11987 * dispextern.h (struct it): Remove member prompt_width, add
11988 extra_line_spacing.
11989
11990 2000-04-22 Gerd Moellmann <gerd@gnu.org>
11991
11992 * dispnew.c (update_frame_line): When writing a whole line, make
11993 sure cursor is in the right row afterwards, otherwise a use of
11994 capability `ch' in cmgoto might leave the cursor in the row below.
11995
11996 2000-04-21 Gerd Moellmann <gerd@gnu.org>
11997
11998 * lisp.h (struct Lisp_Buffer_Cons): Remove.
11999
12000 * keyboard.c (timer_check): Fix typo in comment.
12001
12002 2000-04-21 Kenichi Handa <handa@etl.go.jp>
12003
12004 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
12005 name change: ch -> character.
12006
12007 2000-04-20 Gerd Moellmann <gerd@gnu.org>
12008
12009 * keyboard.c (echo_message_buffer): New variable.
12010 (echo_now): Set echo_message_buffer to the echo area buffer used
12011 to display the echo.
12012 (cancel_echoing): Reset echo_message_buffer to nil.
12013 (read_char): Code rewritten that handles canceling an echo or
12014 echoing a dash, respectively.
12015
12016 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
12017 directory doesn't exist.
12018
12019 2000-04-19 Dave Love <fx@gnu.org>
12020
12021 * fns.c (syms_of_fns): Defsubr mapc.
12022 (concat): Don't allow numeric args.
12023 (Fconcat): Doc change.
12024
12025 2000-04-19 Stefan Monnier <monnier@cs.yale.edu>
12026
12027 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
12028 instead define end_match(1|2) more carefully.
12029 Use GET_CHAR_BEFORE_2 for `begline'.
12030
12031 2000-04-19 Gerd Moellmann <gerd@gnu.org>
12032
12033 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
12034 on 64-bit systems where NULL is defined as `0'.
12035
12036 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
12037 the `variable argument list' to make it work on Alpha.
12038
12039 * m/alpha.h (_LP64) [!_LP64]: Define.
12040 (ORDINARY_LINK): Define for NetBSD.
12041
12042 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
12043
12044 2000-04-19 Dave Love <fx@gnu.org>
12045
12046 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
12047 change.
12048
12049 * Makefile.in (LIBS): Don't use.
12050 (GETLOADAVG_OBJ): Define again.
12051 (otherobj): Add GETLOADAVG_OBJ.
12052
12053 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
12054
12055 2000-04-18 Gerd Moellmann <gerd@gnu.org>
12056
12057 * lread.c (read_filtered_event): Cancel and start busy cursor.
12058
12059 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
12060 that the per-character metrics may be null.
12061
12062 2000-04-17 Gerd Moellmann <gerd@gnu.org>
12063
12064 * buffer.c (clone_per_buffer_values): New function.
12065 (Fmake_indirect_buffer): Add optional argument CLONE. Call
12066 clone_per_buffer_values if CLONE is not nil.
12067
12068 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
12069
12070 2000-04-16 Dave Love <fx@gnu.org>
12071
12072 * Makefile.in: Remove obsolete localcpp stuff.
12073 (GETLOADAVG_OBJ): Don't define.
12074 (obj): Move LIBOBJS...
12075 (otherobj): ... to here.
12076 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
12077 whitespace-only lines after the continuation (Irix).
12078
12079 2000-04-14 Gerd Moellmann <gerd@gnu.org>
12080
12081 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
12082
12083 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
12084
12085 2000-04-14 Dave Love <fx@gnu.org>
12086
12087 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
12088 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
12089 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
12090 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
12091 NLIST_STRUCT.
12092
12093 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
12094 autoconfiscated HAVE_GETLOADAVG.
12095
12096 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
12097 BROKEN_MKTIME.
12098
12099 2000-04-14 Gerd Moellmann <gerd@gnu.org>
12100
12101 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
12102 (fill_in_lock_file_name): Avoid existing files that aren't links.
12103
12104 2000-04-14 Dave Love <fx@gnu.org>
12105
12106 * Makefile.in (LIBS, LIBOBJS): New variable.
12107 (INTERVAL_SRC): Convert to make variable.
12108 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
12109 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
12110 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
12111 add LIBOBJS.
12112 (SOME_MACHINE_OBJECTS): Remove interval stuff.
12113 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
12114 (shortlisp): Add facemenu, float-sup, frame.
12115 (SOME_MACHINE_LISP): Remove them from here.
12116 (LIBES): Change unused LDLIBS to autoconf LIBS.
12117
12118 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
12119
12120 2000-04-14 Kenichi Handa <handa@etl.go.jp>
12121
12122 * composite.c (update_compositions): If FROM and TO are not in a
12123 valid range, do nothing.
12124
12125 2000-04-13 Gerd Moellmann <gerd@gnu.org>
12126
12127 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
12128
12129 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
12130
12131 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
12132 as TERMCAP_OBJ.
12133
12134 2000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
12135
12136 * fileio.c (a_write): Remove redundant semi-colons.
12137 (e_write): Return -1 if failed to write all the data.
12138 This fixes the changes made at 1999-12-15.
12139
12140 2000-04-12 Dave Love <fx@gnu.org>
12141
12142 * fns.c (mapcar1): Test for null vals to support mapc.
12143 (Fmapc): New function.
12144
12145 2000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
12146
12147 * msdos.c (NUM_MOUSE_BUTTONS): Define.
12148 (IT_frame_up_to_date): Support the buffer local value of
12149 cursor-type, if defined.
12150
12151 2000-04-10 Dave Love <fx@gnu.org>
12152
12153 * editfns.c (preceding-char, following-char): Doc fix.
12154
12155 2000-04-10 Ken Raeburn <raeburn@gnu.org>
12156
12157 * Makefile.in (temacs): Revert 2000-03-12 change.
12158
12159 2000-04-10 Jason Rumney <jasonr@gnu.org>
12160
12161 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
12162
12163 2000-04-10 Gerd Moellmann <gerd@gnu.org>
12164
12165 * xdisp.c (setup_echo_area_for_printing): Choose an echo
12166 area buffer, if it's not set up yet.
12167
12168 * indent.c (compute_motion): Set immediate_quit.
12169
12170 2000-04-09 Gerd Moellmann <gerd@gnu.org>
12171
12172 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
12173 (realize_tty_face): Suppress boldness if colors are the inverse of
12174 the default colors, and tty_suppress_bold_inverse_default_colors_p
12175 is set.
12176 (Ftty_suppress_bold_inverse_default_colors): New function.
12177 (syms_of_xfaces): Defsubr it.
12178
12179 * buffer.c (Frestore_buffer_modified_p): New function.
12180 (syms_of_buffer): Defsubr it.
12181
12182 2000-04-08 Ken Raeburn <raeburn@gnu.org>
12183
12184 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
12185 charset id (int) argument, not a charset (Lisp_Object).
12186
12187 * coding.h (code_convert_string): Declare.
12188 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
12189 object, as the fourth argument to code_convert_string.
12190
12191 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
12192 (Fset_fontset_font): Use EQ to compare lisp objects.
12193
12194 2000-04-05 Ken Raeburn <raeburn@gnu.org>
12195
12196 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
12197 a pointer that looks like a lisp object.
12198 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
12199 zero, instead see whether it's an integer object, since they can't
12200 have intervals.
12201 (GET_INTERVAL_OBJECT): Simply assign to the destination.
12202
12203 * dispnew.c (allocate_matrices_for_frame_redisplay)
12204 (direct_output_forward_char): Use X(U)INT and make_number as needed
12205 to convert between (unsigned) int values and lisp integers.
12206 * keyboard.c (read_key_sequence): Likewise.
12207 * lread.c (substitute_object_recurse): Likewise.
12208 * fns.c (concat, hash_lookup, hash_remove): Likewise.
12209 * minibuf.c (do_completion, Fminibuffer_complete_word)
12210 (Fminibuffer_completion_help): Likewise.
12211 * term.c (produce_special_glyphs): Likewise.
12212
12213 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
12214 * print.c (print_preprocess, print_object): Likewise.
12215
12216 * search.c (compile_pattern): Use NILP when checking for nil.
12217
12218 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
12219 __OPTIMIZE__]: Provide a GNU C macro version that handles
12220 lisp-object unions.
12221 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
12222 field, to better cope with ENABLE_CHECKING and calls that modify a
12223 Lisp_Object using its old value.
12224
12225 2000-04-04 Gerd Moellmann <gerd@gnu.org>
12226
12227 * window.c (compare_window_configurations): Signal an error
12228 if parameters C1 or C2 aren't window configurations.
12229
12230 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
12231 AFTER_POTENTIAL_GC calls around calls to functions that can
12232 signal an error and thus invoke the debugger.
12233
12234 2000-04-03 Gerd Moellmann <gerd@gnu.org>
12235
12236 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
12237 an error if decoding fails.
12238
12239 * keyboard.c (lispy_mouse_names): Variable removed.
12240 (Vlispy_mouse_stem): New variable.
12241 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
12242 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
12243 for any mouse button number. Increase size of mouse_syms and
12244 button_down_location as needed. Call modify_event_symbol with
12245 different arguments.
12246 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
12247 Call modify_event_symbol with different arguments.
12248 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
12249 for any button number. Call modify_event_symbol with different
12250 arguments.
12251 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
12252 Accept a string for NAME_ALIST_OR_STEM.
12253
12254 * lisp.h (larger_vector): Add prototype.
12255
12256 * fns.c (larger_vector): Make externally visible.
12257
12258 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
12259
12260 2000-04-02 Stefan Monnier <monnier@cs.yale.edu>
12261
12262 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
12263 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
12264 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
12265 we are between str1 and str2.
12266 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
12267 (PATFETCH): Use `TRANSLATE'.
12268 (PATFETCH_RAW): Fetch multibyte char if applicable.
12269 (PATUNFETCH): Remove.
12270 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
12271 When writing a char, write it directly into the pattern buffer rather
12272 than going needlessly through a temp char-array.
12273 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
12274 multibyte magic and remove the useless `#ifdef emacs'.
12275 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
12276 buffer.
12277
12278 * regex.h (struct re_pattern_buffer): Make field `multibyte'
12279 conditional on `emacs'.
12280
12281 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
12282
12283 2000-04-01 Ken Raeburn <raeburn@gnu.org>
12284
12285 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
12286 non-union-type versions of XMARK and friends here, because XMARK
12287 and friends won't work on an integer field if NO_UNION_TYPE is not
12288 defined.
12289 (make_number): Define as a function if it's not defined as a macro.
12290
12291 * composite.c (run_composite_function): Use NILP when checking for nil.
12292 (syms_of_composite): Delete local var NARGS, pass an int as first
12293 argument to Fmake_hash_table.
12294
12295 * editfns.c (text_property_stickiness): Use NILP to test
12296 Lisp_Object boolean value.
12297 (Fmessage_or_box): Don't use NILP to test int variable.
12298 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
12299 problems reading from and changing the same lisp value in an
12300 XSETSTRING call.
12301
12302 2000-04-01 Gerd Moellmann <gerd@gnu.org>
12303
12304 * term.c (TN_no_color_video): New variable.
12305 (term_init): Intitialize TN_no_color_video.
12306 (enum no_color_bit): New enumeration.
12307 (MAY_USE_WITH_COLORS_P): New macro.
12308 (turn_on_face): Use it to determine if attributes may be used
12309 combined with colors.
12310
12311 2000-04-01 Ken Raeburn <raeburn@gnu.org>
12312
12313 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
12314 with int lvalues via casts; instead, just yield lisp object lvalues.
12315 (enlarge_window): Variable sizep now points to Lisp_Object. Use
12316 proper accessor macros.
12317 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
12318 (grow_mini_window): Fix typo getting int value of root->height.
12319
12320 * xdisp.c (compute_string_pos): Fix order of arguments to
12321 string_pos_nchars_ahead.
12322 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
12323 count arg to variable-arg routines like Frun_hook_with_args and
12324 Fformat.
12325 (back_to_previous_visible_line_start)
12326 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
12327 fixed-arg routines like Fget_char_property and Fmake_string.
12328 (reconsider_clip_changes): Use XINT when comparing integer lisp
12329 objects, or passing them as int arguments.
12330 (mark_window_display_accurate, insert_left_trunc_glyphs)
12331 (append_space, extend_face_to_end_of_line): Use make_number when
12332 storing or passing integer values as lisp objects.
12333 (set_cursor_from_row, highlight_trailing_whitespace): Use
12334 INTEGERP, not implicit test against zero, for glyph object.
12335 (try_window_id): Don't use make_number when we want an int value.
12336
12337 * xfaces.c (xlfd_symbolic_value): Make last argument a
12338 Lisp_Object, to be consistent with callers.
12339 (Fbitmap_spec_p): Use XINT to get numeric value of height.
12340 (lface_hash): Apply XFASTINT to lisp values before folding in.
12341
12342 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
12343 fill in window width and height. Pass an int, not a lisp object,
12344 as first arg to Finsert.
12345
12346 2000-04-01 Gerd Moellmann <gerd@gnu.org>
12347
12348 * xfaces.c (realize_basic_faces): Block input while realizing
12349 the faces.
12350
12351 * keyboard.c (lispy_mouse_names): Add additional mouse names.
12352
12353 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
12354
12355 2000-03-31 Gerd Moellmann <gerd@gnu.org>
12356
12357 * xterm.c (x_produce_glyphs): When displaying unibyte text
12358 or ASCII, handle case that per-char metric is null.
12359
12360 2000-03-30 Ken Raeburn <raeburn@gnu.org>
12361
12362 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
12363
12364 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
12365 (XSUBR, XBUFFER): Verify correct object type before returning
12366 pointer, using eassert.
12367 * frame.h (XFRAME): Likewise.
12368
12369 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
12370 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
12371 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
12372 * data.c (set_internal): Likewise.
12373 * dispextern.h (WINDOW_WANTS_MODELINE_P)
12374 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
12375 * fileio.c (auto_save_1): Likewise.
12376 * insdel.c (check_markers): Likewise.
12377 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
12378 * undo.c (record_insert): Likewise.
12379 * vmsproc.c (child_sig): Likewise.
12380 * window.c (unshow_buffer, window_loop): Likewise.
12381 * xterm.c (x_erase_phys_cursor): Likewise.
12382
12383 2000-03-30 Gerd Moellmann <gerd@gnu.org>
12384
12385 * xfns.c (free_image_cache): Free the cache structure itself
12386 last, after all its members have been freed.
12387
12388 * lisp.h (xstrdup): Add prototype.
12389
12390 * alloc.c (xstrdup): Moved here from xfaces.c.
12391 (allocating_for_lisp): Variable removed.
12392 (lisp_malloc): Block input around the calls to malloc and mem_insert.
12393
12394 * xfaces.c (realize_tty_face): Use find_symbol_value instead
12395 of Fsymbol_value.
12396 (xstrdup): Moved to alloc.c.
12397
12398 2000-03-29 Ken Raeburn <raeburn@gnu.org>
12399
12400 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
12401
12402 * emacs.c (main): Fix sense of no-loadup test.
12403
12404 * config.in (ENABLE_CHECKING): Undef.
12405
12406 * lisp.h (struct interval): Replace "parent" field with a union of
12407 interval pointer and Lisp_Object; add new bitfield to use as
12408 discriminant. Change other flag fields to bitfields.
12409 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
12410 is defined and the supplied test fails, print a message and abort.
12411 (eassert): New macro. Use CHECK to provide an assert-like facility.
12412
12413 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
12414 pointers; abort if the value looks like a lisp object.
12415 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
12416 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
12417 Modify for new interval parent definition.
12418
12419 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
12420 (UNMARK_BALANCE_INTERVALS): Update references that need an
12421 addressable lisp object in the interval structure.
12422 (die): New function.
12423 (suppress_checking): New variable.
12424
12425 * intervals.c (interval_start_pos): Just return 0 if there's no
12426 parent object.
12427
12428 2000-03-29 Gerd Moellmann <gerd@gnu.org>
12429
12430 * lread.c (read1): Accept `.' (period) as symbol start like in CL
12431 and earlier Emacs versions.
12432
12433 * keyboard.c (Ftop_level): Cancel busy-cursor.
12434
12435 * eval.c (call_debugger): Cancel busy-cursor.
12436
12437 2000-03-29 Kenichi Handa <handa@etl.go.jp>
12438
12439 * search.c (Freplace_match): Adjust multibyteness of the current
12440 buffer and NEWTEXT. Free allocated memory before signaling an error.
12441
12442 2000-03-28 Stefan Monnier <monnier@cs.yale.edu>
12443
12444 * regex.c (analyse_first): New function obtained by ripping out most
12445 of re_compile_fastmap and generalizing it a little bit so that it
12446 can also just return whether a given (sub)pattern can match the empty
12447 string or not.
12448 (regex_compile): Use `analyse_first' to decide whether the loop-check
12449 needs to be done or not for *, +, *? and +? (the loop check is costly
12450 for non-greedy repetition).
12451 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
12452
12453 2000-03-28 Dave Love <fx@gnu.org>
12454
12455 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
12456
12457 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
12458
12459 2000-03-27 Stefan Monnier <monnier@cs.yale.edu>
12460
12461 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
12462 an expression.
12463 (enum re_opcode_t): Update description of succeed_n.
12464 (PATFETCH): Always define.
12465 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
12466 operators, char classes, shy-groups and intervals).
12467 Optimize special cases of intervals so as to only use succeed_n and
12468 jump_n when really needed.
12469 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
12470 that we don't have to handle the special cases any more.
12471 Simplify on_failure_jump handling as well.
12472
12473 2000-03-28 Jason Rumney <jasonr@gnu.org>
12474
12475 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
12476
12477 2000-03-27 Gerd Moellmann <gerd@gnu.org>
12478
12479 * s/freebsd.h (GC_SETJMP_WORKS): Define.
12480
12481 * s/msdos.h (GC_SETJMP_WORKS): Define.
12482
12483 * alloc.c (mark_maybe_object): New function.
12484 (mark_memory): Use it.
12485 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
12486 (setjmp_tested_p, longjmp_done): New variables.
12487 (test_setjmp): New function.
12488 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
12489 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
12490
12491 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
12492 to DEC_TEXT_POS and INC_TEXT_POS.
12493
12494 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
12495 with parameter MULTIBYTE_P.
12496
12497 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
12498
12499 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
12500 buffers because it looks for multibyte character byte sequences
12501 which don't exist in unibyte text.
12502
12503 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
12504
12505 * xfaces.c (register_color, unregister_color, unregister_colors)
12506 [DEBUG_X_COLORS]: New functions.
12507 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
12508
12509 * xfns.c (x_set_cursor_color): Get color reference counts right.
12510
12511 * xterm.c (x_copy_color): New function.
12512 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
12513
12514 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
12515 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
12516 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
12517 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
12518 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
12519 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
12520 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
12521 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
12522 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
12523 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
12524
12525 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
12526 names for handling per-buffer variables.
12527
12528 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
12529 instead of MAX_BUFFER_LOCAL_VARS.
12530 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
12531
12532 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
12533
12534 * xfns.c (x_specified_cursor_type): New function.
12535 (x_set_cursor_type): Use it.
12536
12537 * buffer.h (struct buffer): Add cursor_type.
12538
12539 2000-03-26 Stefan Monnier <monnier@cs.yale.edu>
12540
12541 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
12542 (print_partial_compiled_pattern, re_compile_fastmap):
12543 Handle new opcode.
12544 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
12545 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
12546 executing it as well as when popping it off the stack to find infinite
12547 loops in non-greedy repetition operators.
12548
12549 2000-03-26 Gerd Moellmann <gerd@gnu.org>
12550
12551 * doc.c (Qfunction_documentation): New variable.
12552 (syms_of_doc): Initialize Qfunction_documentation.
12553 (Fdocumentation): If FUNCTION is a symbol with non-nil
12554 `function-documentation' property, return a documentation derived
12555 from that.
12556
12557 * buffer.c (syms_of_buffer): Add default-cursor-type.
12558 (init_buffer_once): Don't let cursor_type have a local value
12559 in every buffer.
12560
12561 * xterm.c (x_display_and_set_cursor): Choose cursor depending
12562 on buffer-local value of cursor_type.
12563 (x_draw_bar_cursor): Add parameter WIDTH.
12564
12565 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
12566 (init_buffer_once): Set default cursor_type value to t.
12567 Mark cursor_type as local everywhere.
12568 (syms_of_buffer): New per-buffer variable cursor-type.
12569
12570 * buffer.h (struct buffer): Remove member local_var_flags,
12571 add local_flags.
12572 (MAX_BUFFER_LOCAL_VARS): New macro.
12573 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
12574 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
12575 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
12576 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
12577
12578 * print.c (print_object): Use new macros for per-buffer variables.
12579
12580 * category.c (Fset_category_table): Use new macros for per-buffer
12581 variables.
12582
12583 * buffer.c (buffer_permanent_local_flags): Make a char array.
12584 (max_buffer_local_idx): New variable.
12585 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
12586 for new handling of per-buffer variables.
12587 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
12588 (init_buffer_once): Initialize per-buffer vars differently.
12589 Set max_buffer_local_idx.
12590
12591 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
12592 variables.
12593
12594 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
12595
12596 * data.c (do_symval_forwarding, store_symval_forwarding)
12597 (find_symbol_value, set_internal, default_value, Fset_default)
12598 (Fkill_local_variable, Flocal_variable_p): Use new macros for
12599 per-buffer variables.
12600
12601 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
12602
12603 2000-03-24 Gerd Moellmann <gerd@gnu.org>
12604
12605 * xterm.c (x_term_init): Unblock input around call1 of
12606 Qvendor_specific_keysyms.
12607
12608 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
12609 (find_defun_start): Consider an open parenthesis in column 0
12610 a defun start only if open_paren_in_column_0_is_defun_start is set.
12611 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
12612
12613 2000-03-24 Stefan Monnier <monnier@cs.yale.edu>
12614
12615 * eval.c (Fautoload): Add entry in load-history (if after dump).
12616 * lread.c (load-history): Update docstring.
12617
12618 2000-03-24 Gerd Moellmann <gerd@gnu.org>
12619
12620 * indent.c (Fvertical_motion): Always use the current buffer.
12621 Temporarily change the window's buffer, if necessary.
12622
12623 2000-03-23 Gerd Moellmann <gerd@gnu.org>
12624
12625 * xterm.c (fast_find_position): Make sure not to consider rows
12626 not visible in the window.
12627
12628 2000-03-22 Stefan Monnier <monnier@cs.yale.edu>
12629
12630 * regex.c (enum syntaxcode): Provide default for non-Emacs.
12631 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
12632
12633 2000-03-22 Jason Rumney <jasonr@gnu.org>
12634
12635 * w32menu.c (single_submenu): Set help string to NULL if none.
12636 (w32_menu_show): Set help string correctly.
12637 (add-menu-item): Set help string in MIIM_DATA for menu item.
12638 Load SetMenuItemInfoA explicitly.
12639 (w32_menu_display_help): New function.
12640
12641 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
12642 (QCdata): Moved to xdisp.c.
12643
12644 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
12645 (Vw32_charset_to_codepage_alist): Removed.
12646 (Vw32_charset_info_alist): New variable.
12647 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
12648 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
12649 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
12650 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
12651 with TODO comment.
12652 (w32_codepage_for_font): Use Vw32_charset_info_alist.
12653 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
12654 Define Vw32_charset_info_alist and w32_charset symbols.
12655
12656 2000-03-22 Jason Rumney <jasonr@gnu.org>
12657
12658 * makefile.nt (w32bdf.obj): Update dependencies.
12659
12660 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
12661
12662 * w32fns.c: Include fontset.h after dispextern.h.
12663 (Fx_create_frame): Do not create fontset.
12664 (w32_load_system_font): Doc fix.
12665 (Fx_close_connection): Free full_name if it is not shared.
12666
12667 * w32term.c: Include fontset.h after dispextern.h.
12668 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
12669 Callers updated.
12670 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
12671 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
12672 (w32_font_is_double_byte): New function, needs body.
12673 (x_append_glyph): Set glyph->glyph_not_available_p.
12674 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12675 it->charset. If it->multibyte_p is zero and it->c is a multibyte
12676 character, convert it to a unibyte character.
12677 (struct glyph_string): Delete member `charset'.
12678 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
12679 calculating it is found.
12680 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12681 the case that per char metric is not available correctly.
12682 (x_fill_glyph_string): Handle the case that the specific glyph is
12683 not available correctly.
12684 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12685 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12686 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12687 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12688 fontset. Don't call FS_LOAD_FONT.
12689
12690 2000-03-22 Ken Raeburn <raeburn@gnu.org>
12691
12692 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
12693 (INT_LISPLIKE): New macro.
12694 (NULL_INTERVAL_P): Use it.
12695 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
12696 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
12697 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
12698
12699 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
12700 explicit references to "parent" field of struct interval and
12701 associated unclean type conversions.
12702 * intervals.c (create_root_interval, root_interval, rotate_right)
12703 (rotate_left, balance_possible_root_interval, split_interval_right)
12704 (split_interval_left, interval_start_pos, find_interval)
12705 (next_interval, previous_interval, update_interval)
12706 (adjust_intervals_for_insertion, delete_node, delete_interval)
12707 (adjust_intervals_for_deletion, merge_interval_right)
12708 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
12709 (copy_intervals_to_string): Likewise.
12710 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
12711 Likewise.
12712 * syntax.c (update_syntax_table): Likewise.
12713
12714 * intervals.c (reproduce_tree_obj): New function, like
12715 reproduce_tree but takes a Lisp_Object for the parent. Declare
12716 with prototype.
12717 (graft_intervals_into_buffer): Use it when appropriate.
12718 (reproduce_tree): Declare with prototype.
12719 (balance_possible_root_interval): Check that the parent is a lisp
12720 object before trying to examine its type.
12721
12722 2000-03-22 Gerd Moellmann <gerd@gnu.org>
12723
12724 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
12725 as strings only if both are known to be strings.
12726
12727 * s/openbsd.h (LIBS_TERMCAP): Undef.
12728
12729 2000-03-21 Stefan Monnier <monnier@cs.yale.edu>
12730
12731 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
12732 definitions for non-Emacs compilation.
12733 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
12734 outside of `#ifdef emacs'.
12735 (print_partial_compiled_pattern): Update.
12736 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
12737 (re_compile_fastmap): Merge handling of charset and charset_not (for
12738 emacs and non-emacs compilation as well).
12739 Similarly for (not)categoryspec and (not)syntaxspec.
12740 Don't use the fastmap when reaching `anychar' since the added
12741 complexity is not justified.
12742 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
12743 and (not)syntaxspec. Merge (not)categoryspec.
12744
12745 2000-03-22 Kenichi Handa <handa@etl.go.jp>
12746
12747 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
12748 (FACE_FOR_CHAR): Define them differently for the configuration of
12749 --without-x.
12750
12751 2000-03-21 Dave Love <fx@gnu.org>
12752
12753 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
12754 doc string.
12755
12756 2000-03-21 Gerd Moellmann <gerd@gnu.org>
12757
12758 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
12759 (lface_fully_specified_p): Don't check contents of
12760 LFACE_FONT_INDEX because that attribute is optional.
12761 (realize_x_face): Remove now unwarranted xassert.
12762
12763 2000-03-21 Kenichi HANDA <handa@etl.go.jp>
12764
12765 The following changes are to make font selection based on
12766 characters, not charset. In addition, they recover fontset
12767 facilities while utilizing the new font selection mechanism.
12768
12769 * Makefile.in (fontset.o): Depend on dispextern.h.
12770
12771 * alloc.c (mark_face_cache): Don't mark face->registry.
12772
12773 * dispextern.h (struct glyph): New member glyph_not_available_p.
12774 Use 22 bits for face_id.
12775 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
12776 (struct face): Delete member registry, new member ascii_face.
12777 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
12778 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
12779 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
12780 (struct it): Delete member charset, new member glyph_not_available_p.
12781
12782 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
12783 (struct fontset_info, struct fontset_data): Structs removed.
12784 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
12785 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
12786 (fs_load_font, fs_query_fontset): Adjusted for new argument.
12787 (fs_free_face_fontset, fontset_font_pattern)
12788 (face_suitable_for_char_p, face_for_char)
12789 (make_fontset_for_ascii_face): Extern them.
12790 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
12791 (FS_LOAD_FACE_FONT): New macro.
12792
12793 * fontset.c: All codes rewritten or adjusted for the change of
12794 fontset implementation. Now fontset is represented by char table.
12795 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
12796 Variables removed.
12797 (my_strcasecmp): Function removed.
12798 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
12799 (AREF, ASIZE): New macros.
12800 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
12801 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
12802 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
12803 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
12804 (fontset_id_valid_p, font_family_registry, fontset_name)
12805 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
12806 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
12807 New functions.
12808 (fs_load_font): New arg FACE. Caller changed.
12809 (fs_query_fontset): Argument changed. Caller changed.
12810 (Fquery_fontset): call fs_query_fontset.
12811 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
12812 Functions removed.
12813 (clear_fontset_elements, check_registry_encoding)
12814 (check_fontset_name): New functions.
12815 (syms_of_fontset): Set char-table-extra-slots property of fontset
12816 to 3. Staticpro and initialize Vfontset_table and
12817 Vdefault_fontset. Defsubr fontset_font and fontset_list.
12818
12819 * frame.h (struct frame): Member `fontset_data' removed.
12820 (FRAME_FONTSET_DATA): Macro removed.
12821
12822 * frame.c (make_frame): Don't allocate f->fontset_data.
12823 (Fdelete_frame): Don't free f->fontset_data.
12824
12825 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
12826
12827 * xdisp.c (charset_at_position): Function removed.
12828 (init_iterator): Don't set member charset of struct `it'.
12829 (handle_face_prop, reseat_to_string, set_iterator_to_next)
12830 (next_element_from_display_vector, insert_left_trunc_glyphs):
12831 Likewise.
12832 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
12833 FACE_FOR_CHARSET.
12834 (get_next_display_element, append_space)
12835 (extend_face_to_end_of_line): Likewise.
12836
12837 * xfaces.c (Qx_charset_registry, Vface_default_registry):
12838 Variables removed.
12839 (clear_font_table, frame_update_line_height, load_face_font):
12840 Adjusted for the change of fontset implementation.
12841 (load_face_fontset_font): Function removed.
12842 (pixel_point_size): New function.
12843 (font_list): Argument type changed. Caller changed.
12844 (LFACE_FONT): New macro.
12845 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
12846 (set_lface_from_font_name): Type of arg FONTNAME is changed to
12847 Lisp_Object. Determine the font name by actually loading a font
12848 by the specified pattern. Set LFACE_FONT (lface) to the specified
12849 pattern. Even if a font is not found, don't try alternatives.
12850 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
12851 (set_font_frame_param): If `font' is specified in lface, use it.
12852 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
12853 (lface_same_font_attributes_p): Likewise.
12854 (make_realized_face): Arguent changed. Caller changed. Set
12855 face->ascii_face to face itself.
12856 (free_realized_face): Free face->fontset if face is for ASCII.
12857 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
12858 (deduce_unibyte_registry, x_charset_registry): Functions removed.
12859 (free_realized_multibyte_face): New function.
12860 (lookup_face, lookup_named_face, lookup_derived_face): Argument
12861 changed. Caller changed.
12862 (try_font_list): Argument type changed.
12863 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
12864 (choose_face_font): Argument changed. Handle fontset properly.
12865 (choose_face_fontset_font): Function removed.
12866 (realize_default_face, realize_named_face): Don't remove the
12867 former face here.
12868 (realize_face): Argument changed. Caller changed. Remove face
12869 with the arg former_face_id in advance. Load font for the new face.
12870 (realize_x_face): Argument changed. Caller changed. For a
12871 multibyte character, share fontset with base_face. For a single
12872 byte character, make a new realized fontset. Don't load a font here.
12873 (realize_tty_face): Argument changed. Caller changed.
12874 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
12875 (face_at_buffer_position): Don't check multibyte_p for returning
12876 DEFAULT_FACE_ID.
12877 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
12878 FACE_SUITABLE_FOR_CHARSET_P.
12879 (syms_of_xfaces): Remove code for Qx_charset_registry and
12880 Vface_default_registry.
12881
12882 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
12883 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
12884 (x_per_char_metric): Don't try FONT->default_char. Even if
12885 pcm->width is zero, glyph bits may exist.
12886 (x_encode_char): Always initialize char2b->byte1.
12887 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
12888 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
12889 (x_append_glyph): Set glyph->glyph_not_available_p.
12890 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
12891 it->charset. Handle the case that per char metric is not
12892 available. If it->multibyte_p is zero and it->c is a multibyte
12893 character, convert it to a unibyte character.
12894 (struct glyph_string): Delete member `charset'.
12895 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
12896 the case that per char metric is not available correctly.
12897 (x_fill_glyph_string): Handle the case that the specific glyph is
12898 not available correctly.
12899 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
12900 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
12901 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
12902 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
12903 fontset. Don't call FS_LOAD_FONT.
12904
12905 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
12906 (x_create_tip_frame): Likewise.
12907 (Fx_close_connection): Free full_name of font_info.
12908
12909 * fns.c (optimize_sub_char_table): New function.
12910 (Foptimize_char_table): New function.
12911 (syms_of_fns): Defsubr Soptimize_char_table.
12912
12913 2000-03-20 Gerd Moellmann <gerd@gnu.org>
12914
12915 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
12916 only if buffer is displayed in some window.
12917
12918 * xdisp.c (handle_single_display_prop): Initialize local `value'.
12919 (try_window_reusing_current_matrix): Don't call scroll run
12920 function if run's current and desired position are the same;
12921 this prevents cursor flickering.
12922
12923 2000-03-19 Stefan Monnier <monnier@cs.yale.edu>
12924
12925 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
12926
12927 * regex.c (RE_STRING_CHAR): New macro.
12928 (GET_CHAR_AFER_2): Remove.
12929 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
12930 (enum re_opcode_t): Remove on_failure_jump_exclusive.
12931 (print_partial_compiled_pattern, re_compile_fastmap)
12932 (re_match_2_internal): Remove on_failure_jump_exclusive.
12933 (regex_compile): Turn optimizable P+ loops into PP*, so that the
12934 optimization only need to work for * (ie. can use of_keep_string_jump).
12935 Remove the special case for .*\n since it is now covered by the general
12936 optimization.
12937 (re_search_2): Don't bother with `room'.
12938 (skip_one_char): New function.
12939 (skip_noops): Simplify since `memory' is not needed any more.
12940 (mutually_exclusive_p): Restructure slightly to use `switch' and
12941 add handling for "all" remaining cases.
12942 (re_match_2_internal): Change on_failure_jump_smart to use
12943 on_failure_keep_string_jump (and redirect the end-of-loop jump)
12944 rather than on_failure_jump_exclusive.
12945
12946 2000-03-19 Gerd Moellmann <gerd@gnu.org>
12947
12948 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
12949 number of bits per RGB because it's everywhere used as the depth
12950 of the visual.
12951
12952 * term.c (calculate_costs): Remove code dealing with X frames.
12953
12954 2000-03-19 Richard M. Stallman <rms@gnu.org>
12955
12956 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
12957
12958 2000-03-18 Gerd Moellmann <gerd@gnu.org>
12959
12960 * lread.c (read_integer): Unread the last char not consumed.
12961
12962 2000-03-17 Gerd Moellmann <gerd@gnu.org>
12963
12964 * xterm.c (x_update_window_cursor): Don't update in frames
12965 which are in the process of being deleted.
12966
12967 2000-03-16 Gerd Moellmann <gerd@gnu.org>
12968
12969 * Makefile.in (mostlyclean): Add `*.core'.
12970 (clean): Add `bootstrap-emacs'.
12971
12972 * lread.c (read_integer): New function.
12973 (read1): Support read syntax #o, #x, #b, #r.
12974
12975 2000-03-15 Stefan Monnier <monnier@cs.yale.edu>
12976
12977 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
12978 make sure POINTER_TO_OFFSET gives the same value before and after
12979 PREFETCH. Use `dfail' to guarantee "atomic" matching.
12980 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
12981 (debug): Now only active if > 0 rather than if != 0.
12982 (DEBUG_*): Update for the new meaning of `debug'.
12983 (print_partial_compiled_pattern): Add missing `succeed' case. Use
12984 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
12985 in `succeed_n', `jump_n' and `set_number_at'.
12986 (store_op1, store_op2, insert_op1, insert_op2)
12987 (at_begline_loc_p, at_endline_loc_p): Add prototype.
12988 (group_in_compile_stack): Move to after its arg's types are
12989 declared and add a prototype.
12990 (PATFETCH): Define in terms of PATFETCH_RAW.
12991 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
12992 (QUIT): Redefine as a nop except for NTemacs.
12993 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
12994 indentation of the greedy-op and shy-group code.
12995 (at_(beg|end)line_loc_p): Fix argument's types.
12996 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
12997 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
12998 (MATCHING_IN_FIRST_STRING): Remove.
12999 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
13000 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
13001 QUIT unconditionally.
13002
13003 2000-03-15 Gerd Moellmann <gerd@gnu.org>
13004
13005 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
13006 a sole completion.
13007
13008 * process.c (send_process): Add a hint that the function
13009 can call Lisp code to its comment.
13010
13011 * lread.c (load_dangerous_libraries): New variable.
13012 (Vbytecomp_version_regexp): New variable.
13013 (safe_to_load_p): New function.
13014 (Fload): Handle files not compiled with Emacs specially.
13015 (syms_of_lread): New Lisp variable load-dangerous-libraries.
13016
13017 2000-03-14 Gerd Moellmann <gerd@gnu.org>
13018
13019 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
13020
13021 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
13022 support functions only if HAVE_X11R6_XIM is defined.
13023 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
13024
13025 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
13026
13027 * xfns.c (X_I18N_INHIBITED): Don't define.
13028 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
13029 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
13030
13031 * config.in (HAVE_X_I18N): Moved here from xterm.h.
13032 (HAVE_X11R6_XIM): Define.
13033
13034 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
13035
13036 * xterm.c (x_term_init): Add support for X resource `synchronous'.
13037 If set, call XSynchronize.
13038
13039 2000-03-13 Stefan Monnier <monnier@cs.yale.edu>
13040
13041 * regex.c: Declare a new type `re_char' used throughout the code
13042 for the string char type. It's `const unsigned char' to match the
13043 rest of Emacs. Consistently make sure all pointers to strings use
13044 it and make sure all pointers into the pattern use `unsigned char'.
13045 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
13046 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
13047 code duplication.
13048
13049 * charset.h (GET_CHAR_AFTER_2): Remove.
13050 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
13051
13052 2000-03-12 Ken Raeburn <raeburn@gnu.org>
13053
13054 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
13055 variable before the invocation of YMF_PASS_LDFLAGS, in case both
13056 of them try to use backquotes.
13057
13058 2000-03-12 Dave Love <fx@gnu.org>
13059
13060 * unexelf.c: Restore changes of 1999-10-19.
13061 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
13062 fix its type and alignment; copy it from current process.
13063
13064 2000-03-12 Gerd Moellmann <gerd@gnu.org>
13065
13066 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
13067 has been found. Fix bug not computing timer's predecessor.
13068
13069 * fileio.c (Fread_file_name): Handle case that DIR contains a
13070 file name.
13071
13072 * window.c (Fsave_window_excursion): Doc fix.
13073
13074 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
13075
13076 2000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
13077
13078 * msdos.c (vga_installed): New function, code moved from
13079 dos_set_window_size.
13080 (Qbar, Qcursor_type, outside_cursor): New variables.
13081 (syms_of_msdos): Intern and staticpro them.
13082 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
13083 shape used outside Emacs when called for the first time.
13084 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
13085 cursor shape used outside Emacs.
13086 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
13087 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
13088 type has changed.
13089 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
13090 parameters specify the cursor. Make qreverse a global
13091 variable (renamed to Qreverse).
13092
13093 2000-03-09 Gerd Moellmann <gerd@gnu.org>
13094
13095 * fns.c (Fy_or_n_p): Cancel busy-cursor.
13096
13097 2000-03-08 Stefan Monnier <monnier@cs.yale.edu>
13098
13099 This is a big redesign of failure-stack and register handling, prompted
13100 by bugs revealed when trying to add shy-groups. Overall, what happened
13101 is that loops are now structured a little differently, groups can be
13102 shy and the code is a little simpler.
13103
13104 * regex.h: Update the copyright.
13105 (RE_SHY_GROUPS): New value.
13106 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
13107 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
13108
13109 * regex.c (enum re_opcode_t): Remove jump_past_alt,
13110 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
13111 on_failure_jump_(exclusive, loop and smart). Also fix the comment
13112 for (start|stop)_memory since they now only take one argument (the
13113 second has becomes unnecessary).
13114 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
13115 (print_compiled_pattern): Use %ld to printf long ints and flush to
13116 make debugging a little easier.
13117 (union fail_stack_elt): Make the integer unsigned.
13118 (struct fail_stack_type): Add a `frame' element.
13119 (INIT_FAIL_STACK): Init `frame' as well.
13120 (POP_PATTERN_OP): New macro for re_compile_fastmap.
13121 (DEBUG_PUSH, DEBUG_POP): Remove.
13122 (NUM_REG_ITEMS): Remove.
13123 (NUM_NONREG_ITEMS): Adjust.
13124 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
13125 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
13126 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
13127 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
13128 New macros.
13129 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
13130 address pushed is not the destination of the jump but the source
13131 of it instead.
13132 (NUM_FAILURE_ITEMS): Remove.
13133 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
13134 registers before the actual failure point). Don't hardcode any
13135 meaning for str==NULL anymore.
13136 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
13137 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
13138 Remove.
13139 (REG_UNSET_VALUE): Use NULL (why not?).
13140 (compile_range): Remove declaration since it doesn't exist.
13141 (struct compile_stack_elt_t): Remove inner_group_offset.
13142 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
13143 (regex_grow_registers): Remove dead code.
13144 (FIXUP_ALT_JUMP): New macro.
13145 (regex_compile): Add shy-groups Change loops to use
13146 on_failure_jump_smart&jump instead of
13147 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
13148 initial (dummy_failure_)jump. Remove c1_base (looks like unused
13149 variable to me). Use `jump' instead of `jump_past_alt' and don't
13150 bother with push_dummy_failure in alternatives since it is now
13151 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
13152 emacs' for (re)allocating the stack.
13153 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
13154 from loop when bufp->can_be_null rather than jumping to `done'.
13155 Avoid jumping backwards so as to ensure termination. Use
13156 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
13157 backreferences. Remove dead code in handling of `anychar'.
13158 (skip_noops, mutually_exclusive_p): New functions taken from the
13159 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
13160 improve mutually_exclusive_p to handle ".+\n".
13161 (lowest_active_reg, highest_active_reg)
13162 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
13163 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
13164 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
13165 variables. Push register (in `start_memory') on the stack rather
13166 than storing it in old_reg(start|end). Remove the cycle detection
13167 from `stop_memory', replaced by the use of on_failure_jump_loop
13168 for greedy loops. Add code for the new on_failure_jump_<foo>.
13169 Remove ad-hoc code in `on_failure_jump' to push more registers in
13170 the case of a loop. Take out code from `maybe_pop_jump' into
13171 separate functions and adapt it to the semantics of
13172 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
13173 and push_dummy_failure. Remove dummy_failure handling and
13174 handling of `failures to jump to on_failure_jump' (this last one
13175 was already dead code, it seems).
13176 (group_match_null_string_p, alt_match_null_string_p)
13177 (common_op_match_null_string_p): Remove.
13178
13179 2000-03-08 Dave Love <fx@gnu.org>
13180
13181 * config.in: Don't depend on __STDC__ for volatile.
13182 Add POINTER_TYPE, PTR, PROTOTYPES.
13183
13184 * hftctl.c, strftime.c: Use PROTOTYPES.
13185 * eval.c (find_handler_clause): Likewise.
13186
13187 * mem-limits.h: Use POINTER_TYPE.
13188
13189 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
13190 (memory_warnings): Declare using POINTER_TYPE.
13191
13192 2000-03-08 Gerd Moellmann <gerd@gnu.org>
13193
13194 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
13195
13196 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
13197
13198 * xfns.c: Remove obsolete code in #if 0.
13199 (Fx_focus_frame): New function.
13200
13201 2000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13202
13203 * coding.c (coding_category_name): Add coding-category-utf-8,
13204 coding-category-utf-16-be, coding-category-utf-16-le.
13205 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
13206 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
13207 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
13208 (detect_coding_utf_8): New function.
13209 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
13210 UTF_16_LOW_SURROGATE_P): New macros.
13211 (detect_coding_utf_16): New function
13212 (detect_coding_mask): When priorities are specified, skip any
13213 categories that have `nil' coding-system. Fix bug of returning
13214 wrong mask when PRIORITIES is specified and detect_coding_XXX()
13215 returns a mask not set in PRIORITIES.
13216 (detect_eol_type_in_2_octet_form): New function.
13217 (detect_eol): selects detect_eol_type_XXX to call according to
13218 cooding->category_idx.
13219 (detect_coding_system): Remove `nil' coding-system in the result.
13220 (Fupdate_coding_systems_internal): Update all coding-categories.
13221
13222 * coding.h (CODING_CATEGORY_IDX_UTF_8)
13223 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
13224 New macros.
13225 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
13226 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
13227 (CODING_CATEGORY_IDX_UTF_16_LE)
13228 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
13229 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
13230 (CODING_CATEGORY_MASK_ANY): Include the above macros.
13231 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
13232
13233 2000-03-07 Gerd Moellmann <gerd@gnu.org>
13234
13235 * doc.c (Fdocumentation_property): If value is not a string,
13236 and doesn't refer to etc/DOC, evaluate it to obtain a string.
13237
13238 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
13239 close the display with XtCloseDisplay. This caused a bus error
13240 on OpenWindows.
13241
13242 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
13243 complete but not unique.
13244
13245 2000-03-06 Gerd Moellmann <gerd@gnu.org>
13246
13247 * process.c (send_process): Remove local variable `procname' that
13248 might become invalid when a GC happens. Instead, access the
13249 process name slot directly.
13250
13251 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
13252 orig_height if set.
13253
13254 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
13255 orig_height if set.
13256
13257 2000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
13258
13259 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
13260 glyph matrices have been freed.
13261
13262 2000-03-05 Gerd Moellmann <gerd@gnu.org>
13263
13264 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
13265 (bootstrap-temacs): Set LC_ALL to C like for temacs.
13266
13267 * xfns.c (QCdata): Moved to xdisp.c.
13268
13269 * xdisp.c (QCdata): Moved here from xfns.c.
13270 (syms_of_xdisp): Initialize QCdata.
13271
13272 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
13273
13274 * window.c (coordinates_in_window): Use
13275 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
13276 FRAME_INTERNAL_BORDER_WIDTH.
13277
13278 * xdisp.c (try_window_id): Recompute unchanged information if
13279 it is obviously invalid.
13280
13281 * xterm.c (x_term_init): Create a colormap if not using the
13282 default visual.
13283
13284 * xterm.h (select_visual): Change prototype.
13285
13286 * xfns.c (select_visual): Rewritten. Recognize user-specified
13287 visual classes.
13288 (visual_classes): New variable.
13289
13290 2000-03-04 Gerd Moellmann <gerd@gnu.org>
13291
13292 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
13293 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
13294 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
13295 (x_decode_color): Don't handle allocation of white and black specially.
13296 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
13297 XtNcolormap resources.
13298 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
13299 (Fx_create_frame): Initialize color members of x_output structure.
13300 (xpm_load): Pass colormap to XPM lib.
13301
13302 * xfaces.c (x_free_colors): Access colormap of frame using
13303 FRAME_X_COLORMAP. Be paranoid about freeing black and white
13304 when default colormap is used.
13305
13306 * xterm.c (x_term_init): Set Colormap member of x_display_info
13307 structure. Copy colormap if resource `privateColormap' is
13308 specified (PseudoColor only).
13309 (x_setup_relief_color): Access colormap of frame using
13310 FRAME_X_COLORMAP.
13311
13312 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
13313 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
13314
13315 2000-03-04 Jason Rumney <jasonr@gnu.org>
13316
13317 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
13318 other non-platform-specific equivalents.
13319 [WINDOWSNT]: Include w32term.h, fontset.h and define X
13320 specific functions and macros as their w32 equivalents where
13321 non-platform-specifics are not available.
13322 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
13323 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
13324 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
13325 (frame_update_line_height): Use macros to access f->output_data.
13326 (defined_color): Remove FIXME comments; fixed.
13327 (x_face_list_fonts, prepare_face_for_display): Put X specifics
13328 into #ifdef blocks. Add WINDOWSNT blocks.
13329 (Fx_list_fonts): Use macros for accessing font data.
13330 (set_lface_from_font_name): Different default fonts for X and
13331 WINDOWSNT.
13332 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
13333 scalable for backward compatibility.
13334 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
13335 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
13336
13337 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
13338 syms_of_w32faces.
13339
13340 * makefile.nt (w32faces.obj): Remove.
13341 (xfaces.obj): Add.
13342
13343 2000-03-03 Jason Rumney <jasonr@gnu.org>
13344
13345 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
13346 correct parameters.
13347
13348 2000-03-03 Ken Raeburn <raeburn@gnu.org>
13349
13350 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
13351 standard ELF definitions here if the system header does not.
13352
13353 2000-03-03 Gerd Moellmann <gerd@gnu.org>
13354
13355 * xterm.c (PER_CHAR_METRIC): Removed.
13356 (x_per_char_metric_1, x_default_char): New functions.
13357 (x_per_char_metric): If font's default char is invalid, return
13358 metrics of a suitably chosen usable default char.
13359 (x_draw_glyph_string_foreground): If font has an invalid default
13360 char, replace occurrences of unprintable chars with a suitably
13361 chosen usable default char.
13362
13363 2000-03-02 Gerd Moellmann <gerd@gnu.org>
13364
13365 * xterm.c (note_mouse_highlight): Return quickly if frame's
13366 glyph matrices have been freed.
13367
13368 * dispnew.c (free_glyphs): Block input while freeing matrices.
13369
13370 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
13371
13372 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
13373 Use x_free_colors.
13374
13375 * dispextern.h (x_free_colors): Add prototype.
13376
13377 * xfaces.c (x_free_colors): New function.
13378 (unload_color, free_face_colors): Use it.
13379
13380 2000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
13381
13382 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
13383
13384 * window.c [MSDOS]: Include msdos.h.
13385
13386 2000-03-02 Dave Love <fx@gnu.org>
13387
13388 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
13389
13390 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
13391 set C_OPTIMIZE_SWITCH for gcc.
13392
13393 2000-03-02 Kenichi Handa <handa@etl.go.jp>
13394
13395 * coding.c (coding_save_composition): Be sure to allocate
13396 composition data area in coding even if there's no composition in
13397 the current run.
13398
13399 2000-03-01 Jason Rumney <jasonr@gnu.org>
13400
13401 * w32term.c: Equivalent changes to those made to xterm.c on
13402 2000-02-25 and 2000-02-24.
13403
13404 * w32fns.c: Equivalent changes to those made to xfns.c on
13405 2000-02-25 and 2000-02-21.
13406
13407 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
13408 correct line-end convention is followed.
13409
13410 * w32menu.c [HAVE_BOXES]: Remove #undef.
13411 (single_keymap_panes): Remove code for simulating checkmarks.
13412 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
13413 Remove code for drawing simulated checkmarks.
13414 (w32_menu_show): make unibyte help string correctly.
13415 (add_menu_item): draw standard Windows checkmarks. Draw radio
13416 buttons as radio buttons if possible.
13417
13418 2000-03-01 Gerd Moellmann <gerd@gnu.org>
13419
13420 * sysdep.c (start_of_text): Don't define this function for NetBSD
13421 with ELF.
13422
13423 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
13424 Don't define.
13425 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
13426 (LINKER): Don't undef if __NetBSD__ is defined.
13427
13428 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
13429
13430 * fileio.c [__NetBSD__]: Define `unix'.
13431
13432 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
13433
13434 2000-02-29 Gerd Moellmann <gerd@gnu.org>
13435
13436 * atimer.c (start_atimer): Don't abort when timers are stopped.
13437 (append_atimer_lists): New function.
13438 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
13439 arbitrary lists of stopped and running atimers.
13440
13441 * atimer.c (cancel_atimer): Handle canceling an atimer when
13442 some timers are stopped.
13443
13444 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
13445 after canceling it.
13446
13447 * fns.c (maybe_resize_hash_table): Handle case of new size
13448 coming out as being the same as old size.
13449
13450 2000-02-27 Jason Rumney <jasonr@gnu.org>
13451
13452 * makefile.nt: Add atimer.h to dependencies.
13453 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
13454 * w32console.c: Only disable window system features for dispextern.h
13455 (initialize_w32_display): Build a display info for the console.
13456 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
13457 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
13458 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
13459 as 2 button mice.
13460 * w32gui.h (struct W32FontStruct): Revert last change after change
13461 to xdisp.c.
13462 * w32menu.c (single_submenu): Set up help string.
13463 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
13464 (w32_dialog_show): Set up help string.
13465 * w32term.c (w32_display_info_for_display): Remove unused function.
13466 (w32_draw_bitmap): Use pre-built bitmaps.
13467 (w32_initialize_display_info): New function to initialize parts of
13468 display info that are common to both GUI and console frames.
13469 (w32_term_init): Use w32_initialize_display_info. Do not set
13470 Vw32_num_mouse_buttons here, as it is not called for console
13471 frames. Build bitmaps for indicating truncated lines etc.
13472 (x_delete_display): Destroy pre-built bitmaps.
13473 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
13474 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
13475
13476 2000-02-27 Dave Love <fx@gnu.org>
13477
13478 * lisp.h: Add a bunch of prototypes.
13479
13480 2000-02-26 Kenichi Handa <handa@etl.go.jp>
13481
13482 * keyboard.c (read_char): Set `usec' correctly.
13483
13484 2000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
13485
13486 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
13487 `lambda', set reg[RRR] to the map index.
13488 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
13489 reg[RRR] to 0. Otherwise, set it to -1.
13490
13491 2000-02-25 Gerd Moellmann <gerd@gnu.org>
13492
13493 * emacs.c (main): Remove code snippet commented out with `//'.
13494
13495 2000-02-25 Richard M. Stallman <rms@gnu.org>
13496
13497 * fileio.c (Ffile_symlink_p): If result starts with a `/'
13498 and contains a `:', prepend `/:'.
13499
13500 * window.c (select_window_1): If selected_window is nil,
13501 don't "swap out" the buffer's point.
13502 (Fset_window_configuration): Set selected_window to nil
13503 before calling Fselect_window.
13504 (unshow_buffer): Don't set point in buffer from window's point
13505 if another more recently selected window also shows the buffer.
13506
13507 2000-02-25 Gerd Moellmann <gerd@gnu.org>
13508
13509 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
13510
13511 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
13512 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
13513 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
13514 New variables.
13515 (DEFAULT_BUSY_CURSOR_DELAY): New define.
13516 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
13517 (hide_busy_cursor): New functions.
13518 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
13519
13520 * minibuf.c (read_minibuf): Cancel busy-cursor.
13521
13522 * keyboard.c (command_loop_1): Call start_busy_cursor before
13523 Fcommand_execute and cancel_busy_cursor after it.
13524 (timer_check): Remove busy-cursor code.
13525 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
13526 cursor timer.
13527
13528 * process.c (wait_reading_process_input): Remove busy-cursor code.
13529
13530 * eval.c (Fsignal): Call cancel_busy_cursor instead of
13531 Fx_hide_busy_cursor.
13532
13533 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
13534 Remove prototyoes.
13535 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
13536
13537 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
13538
13539 * xterm.c (XTread_socket): Remove busy-cursor code.
13540
13541 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
13542 (build_frame_matrix_from_leaf_window): Put code handling
13543 glyph row's not being a slice of a frame row in #if 0.
13544 (sync_window_with_frame_matrix_rows): New function.
13545 (frame_row_to_window): New function.
13546 (mirror_line_dance): Handle copies between windows.
13547
13548 * lread.c (Fload): Use `xfree' instead of `free'.
13549 (init_obarray): Use `xmalloc' instead of `malloc'.
13550
13551 * window.c (Fset_window_buffer): Set WINDOW to the window
13552 after decoding.
13553 (coordinates_in_window): Take frame's internal border width
13554 into account.
13555
13556 2000-02-24 Gerd Moellmann <gerd@gnu.org>
13557
13558 * xterm.c (x_display_and_set_cursor): Display cursor of
13559 non-selected windows depending on the setting of
13560 cursor_in_non_selected_windows.
13561
13562 * xdisp.c (cursor_in_non_selected_windows): New variable.
13563 (syms_of_xdisp): DEFVAR_BOOL it.
13564
13565 2000-02-23 Gerd Moellmann <gerd@gnu.org>
13566
13567 * data.c (Fstring_to_number): If number is greater than what
13568 fits into an integer, return a float.
13569
13570 * eval.c (specbind): Remove references to
13571 keyword_symbols_constant_flag.
13572
13573 * data.c (keyword_symbols_constant_flag): Removed.
13574 (Fmakunbound, set_internal, syms_of_data): Remove references to
13575 keyword_symbols_constant_flag.
13576
13577 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
13578
13579 2000-02-23 Kenichi Handa <handa@etl.go.jp>
13580
13581 * syntax.c (multibyte_syntax_as_symbol): New variable.
13582 (syms_of_syntax): Declare it as a Lisp variable.
13583 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
13584 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
13585 nonzero, treat all multibyte characters as symbol.
13586 (init_syntax_once): Give syntax `word' to all multibyte characters.
13587
13588 2000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
13589
13590 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
13591 a deleted frame.
13592
13593 2000-02-21 Gerd Moellmann <gerd@gnu.org>
13594
13595 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
13596
13597 * xfns.c (x_window_to_frame, x_any_window_to_frame)
13598 (x_non_menubar_window_to_frame): Check the busy-cursor window.
13599
13600 2000-02-21 Dave Love <fx@gnu.org>
13601
13602 * frame.c (Vmouse_position_function): New variable.
13603 (Fmouse_position): Use it.
13604 (syms_of_frame): Install it.
13605
13606 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
13607
13608 2000-02-20 Gerd Moellmann <gerd@gnu.org>
13609
13610 * fileio.c (Finsert_file_contents): Unbind the binding of
13611 standard-output done by temp_output_buffer_setup.
13612
13613 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
13614 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
13615 (specbind, unbind_to): Handle most common case of non-constant
13616 symbol with trivial value specially.
13617
13618 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
13619
13620 2000-02-20 Richard M. Stallman <rms@gnu.org>
13621
13622 * data.c (Fmake_variable_buffer_local): Doc fix.
13623 Init found_for_buffer to 0.
13624 (Fmake_variable_frame_local): If the variable has already
13625 been buffer-local, set the check_frame field.
13626
13627 2000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
13628
13629 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
13630 produced for CODING_MODE_LAST_BLOCK requires.
13631
13632 2000-02-18 Dave Love <fx@gnu.org>
13633
13634 * keyboard.c (echo_keystrokes): Remove declaration.
13635 (Vecho_keystrokes) New variable.
13636 (read_char, record_menu_key, read_key_sequence): Use it to allow
13637 use of float value.
13638 (syms_of_keyboard): Change Vecho_keystrokes declaration.
13639
13640 * lread.c: Undef feature selection macros before defining.
13641
13642 2000-02-18 Gerd Moellmann <gerd@gnu.org>
13643
13644 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
13645 for symbols other than the symbol in question.
13646
13647 2000-02-17 Dave Love <fx@gnu.org>
13648
13649 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
13650
13651 2000-02-17 Gerd Moellmann <gerd@gnu.org>
13652
13653 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
13654
13655 * alloc.c (enum mem_type): Compile unconditionally.
13656
13657 2000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
13658
13659 * xfaces.c (tty_defined_color): Don't return faulire indication
13660 for unspecified-fg and unspecified-bg pseudo-colors.
13661
13662 2000-02-17 Gerd Moellmann <gerd@gnu.org>
13663
13664 * alloc.c (mark_object): Don't mark symbol names in pure space.
13665 (gc_sweep): Don't unmark symbol names in pure space.
13666
13667 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
13668 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
13669 [GC_MARK_STACK]: New defines.
13670 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
13671 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
13672
13673 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
13674
13675 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
13676 allocate_buffer instead of xmalloc.
13677
13678 * alloc.c (toplevel): Include setjmp.h.
13679 (PURE_POINTER_P): New define.
13680 (enum mem_type) [GC_MARK_STACK]: New enumeration.
13681 (Vdead) [GC_MARK_STACK]: New variable.
13682 (lisp_malloc): Add parameter TYPE, call mem_insert if
13683 GC_MARK_STACK is defined.
13684 (allocate_buffer): New function.
13685 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
13686 (free_float) [GC_MARK_STACK]: Set type to Vdead.
13687 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
13688 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
13689 (MEM_NIL) [GC_MARK_STACK]: New define.
13690 (struct mem_node) [GC_MARK_STACK]: New structure.
13691 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
13692 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
13693 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
13694 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
13695 (mark_stack) [GC_MARK_STACK]: New functions.
13696 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
13697 (clear_marks): Removed.
13698 (gc_sweep): Set free conses' car, free floats' type, free
13699 symbols' function to Vdead. Use lisp_free to free buffers.
13700 (init_alloc_once): Initialize Vdead.
13701 (survives_gc_p): Return non-zero for pure objects.
13702
13703 * alloc.c: Add comments throughout the file.
13704
13705 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
13706 that unblocks alarms.
13707
13708 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
13709 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
13710 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
13711
13712 * frame.c (make_frame): Set frame initiallly to `garbaged'.
13713
13714 2000-02-17 Kenichi Handa <handa@etl.go.jp>
13715
13716 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
13717 avoid infinite error signaling. Allocate sufficient memory for
13718 eol_str in the case that eoltype is Lisp_Int.
13719
13720 2000-02-17 Stefan Monnier <monnier@cs.yale.edu>
13721
13722 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
13723 depends on the previous behavior.
13724
13725 2000-02-16 Gerd Moellmann <gerd@gnu.org>
13726
13727 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
13728
13729 2000-02-15 Gerd Moellmann <gerd@gnu.org>
13730
13731 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
13732
13733 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
13734 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
13735 write(2).
13736
13737 2000-02-15 Richard M. Stallman <rms@gnu.org>
13738
13739 * data.c (set_internal): Don't make variable buffer-local
13740 if within a let-binding for the same buffer.
13741 (let_shadows_buffer_binding_p): New function.
13742
13743 * eval.c (specbind): For buffer-local value,
13744 record the current buffer also.
13745 (unbind_to): Cope with that change.
13746
13747 2000-02-15 Gerd Moellmann <gerd@gnu.org>
13748
13749 * window.c (Fsave_window_excursion): Doc fix.
13750
13751 2000-02-15 Stefan Monnier <monnier@cs.yale.edu>
13752
13753 * syntax.c (back_comment): Make sure we only consider comment-starters
13754 of the relevant style and return -1 in case of a failure to find the
13755 beginning of the comment.
13756 (Fforward_comment): If back_comment fails, go back to the position just
13757 after the comment-end.
13758 (scan_lists): Add comment describing a very minor bug.
13759
13760 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13761
13762 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
13763 `completion-regexp-list' in the docstring.
13764
13765 2000-02-14 Dave Love <fx@gnu.org>
13766
13767 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
13768
13769 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
13770
13771 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
13772 to Emacs' syntax. Also fix the comment about set/not-set meanings
13773 since Emacs syntax is not the value 0 any more.
13774 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
13775 since it's now part of RE_SYNTAX_EMACS.
13776
13777 2000-02-12 Dave Love <fx@gnu.org>
13778
13779 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
13780
13781 2000-02-12 Gerd Moellmann <gerd@gnu.org>
13782
13783 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
13784
13785 2000-02-12 Dave Love <fx@gnu.org>
13786
13787 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
13788
13789 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
13790 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
13791 * s/hpux.h: Don't define HAVE_VFORK.
13792
13793 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
13794
13795 * s/nextstep.h: Don't define HAVE_ALLOCA.
13796
13797 * config.in: Add vfork bits.
13798
13799 2000-02-12 Gerd Moellmann <gerd@gnu.org>
13800
13801 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
13802 unwind function to undo the effect of stopping atimers.
13803
13804 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
13805
13806 * atimer.c (stopped_atimers): New variable.
13807 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
13808 New functions.
13809
13810 * atimer.h (stop_other_atimers, run_all_atimers)
13811 (unwind_stop_other_atimers): Add function prototypes.
13812
13813 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
13814
13815 2000-02-11 Ken Raeburn <raeburn@gnu.org>
13816
13817 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
13818 library may depend on jpeg.
13819 (atimer.o): Depends on atimer.c.
13820
13821 2000-02-11 Kenichi Handa <handa@etl.go.jp>
13822
13823 * insdel.c (del_range_1): Call update_compositions.
13824 (del_range_both): Call update_compositions just once..
13825
13826 2000-02-10 Dave Love <fx@gnu.org>
13827
13828 * xfns.c (create_frame_xic): Fix initialization of automatic
13829 aggregates for pcc.
13830
13831 2000-02-09 Kenichi Handa <handa@etl.go.jp>
13832
13833 * ccl.c (CCL_MAKE_CHAR): New macro.
13834 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
13835 registers by CCL_MAKE_CHAR before calling translate_char.
13836 <CCL_TranslateCharacterConstTbl> Likewise.
13837
13838 2000-02-08 Dave Love <fx@gnu.org>
13839
13840 * lread.c (__EXTENSIONS__): Define.
13841
13842 2000-02-08 Gerd Moellmann <gerd@gnu.org>
13843
13844 * puresize.h (BASE_PURESIZE): Increase to 650000.
13845
13846 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13847
13848 * msdos.c (XMenuActivate): Turn off the cursor after displaying
13849 the help message.
13850
13851 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
13852
13853 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
13854 md, mh, mb, mr, and me to the fake termcap entry.
13855
13856 2000-02-06 Ken Raeburn <raeburn@gnu.org>
13857
13858 * sound.c (sound_cleanup): Don't call device close routine if the
13859 function pointer is null.
13860
13861 2000-02-06 Andrew Innes <andrewi@gnu.org>
13862
13863 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
13864 around image definitions and prototypes.
13865 (gamma_correct) [WINDOWSNT]: New prototype.
13866
13867 * w32term.c (x_make_frame_visible): Replace call to
13868 input_poll_signal with poll_for_input.
13869
13870 * window.c [WINDOWSNT]: Include w32term.h.
13871
13872 * xdisp.c [WINDOWSNT]: Include w32term.h.
13873
13874 * makefile.nt: Add dependencies on w32gui.h.
13875 (OBJ1): Include atimer.obj.
13876 ($(BLD)\atimer.obj): New dependency rule.
13877
13878 * w32.c (sigmask): New function (does nothing).
13879 (sigunblock): Ditto.
13880
13881 * frame.c [WINDOWSNT]: Include w32term.h.
13882
13883 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
13884
13885 * lread.c (syms_of_lread): Fix literal newlines.
13886
13887 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
13888 the string constant limit (2048 bytes) in MSVC.
13889 (main): Ditto.
13890
13891 2000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
13892
13893 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
13894 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
13895 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
13896 dispatch the event.
13897
13898 2000-02-04 Dave Love <fx@gnu.org>
13899
13900 * fileio.c: Remove some unused vars.
13901 (_GNU_SOURCE): Define (for euidaccess).
13902
13903 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
13904
13905 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
13906 gcpro1, gcpro2.
13907 (read_minibuf): Deal with allow_props correctly.
13908
13909 2000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
13910
13911 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
13912
13913 2000-02-03 Ken Raeburn <raeburn@gnu.org>
13914
13915 * search.c (compile_pattern): If a cache entry has a nil regexp,
13916 fill in that entry instead of clobbering a previously cached
13917 string regexp.
13918
13919 2000-02-02 Ken Raeburn <raeburn@gnu.org>
13920
13921 * puresize.h (BASE_PURESIZE): Increase to 610000.
13922
13923 2000-02-02 Gerd Moellmann <gerd@gnu.org>
13924
13925 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
13926 can GC.
13927
13928 2000-02-02 Kenichi Handa <handa@etl.go.jp>
13929
13930 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
13931 instead of incrementing ic directly.
13932 <CCL_WriteExprConst> Likewise.
13933 <ccl_set_expr>: Set ic to jump_address.
13934
13935 * fileio.c (e_write): Fix the handling of
13936 CODING_FINISH_INSUFFICIENT_SRC.
13937
13938 2000-02-01 Dave Love <fx@gnu.org>
13939
13940 * editfns.c (Fpropertize): Doc fix.
13941
13942 * process.c (Fstart_process): Doc fix.
13943
13944 * eval.c: Fix various doc strings not to duplicate information
13945 from help-manyarg-func-alist.
13946
13947 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
13948
13949 * doc.c (Vhelp_manyarg_func_alist): New variable.
13950 (Fdocumentation): Use it.
13951 (syms_of_doc): Define it.
13952
13953 2000-01-31 Gerd Moellmann <gerd@gnu.org>
13954
13955 * xterm.c (xim_open_dpy): Remove unused local variable.
13956
13957 * emacs.c (USAGE): Use term `display options' instead of `X options'.
13958
13959 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
13960 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
13961
13962 * fns.c (sweep_weak_table): New function.
13963 (sweep_weak_hash_tables): Use it. Keep on marking until there
13964 is no more change.
13965
13966 2000-01-30 Gerd Moellmann <gerd@gnu.org>
13967
13968 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
13969 that XTread_socket does not crash by trying to call XNoOp on a
13970 closed display.
13971
13972 2000-01-30 Jason Rumney <jasonr@gnu.org>
13973
13974 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
13975 Change selected_frame to SELECTED_FRAME ().
13976 (w32_console_mouse_position): Remove #ifndef MULE from around
13977 `insist' parameter.
13978
13979 * makefile.nt: Remove dosfns.obj.
13980
13981 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
13982
13983 * w32fns.c (w32_defined_color): Check for valid frame before
13984 applying gamma correction. Eliminate dependency on frame elsewhere.
13985 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
13986 (w32_to_x_font): Use resx and resy not height_in and width_in.
13987 (x_to_w32_font): Doc fix.
13988 (xlfd_strip_height): New function to strip and return font height.
13989 (w32_font_match): Compare height separately from rest of xlfd
13990 spec, using xlfd_strip_height.
13991
13992 * w32term.c (w32_term_init): Swap resx and height_in, resy and
13993 width_in. Use w32_defined_color in place of defined_color.
13994
13995 * w32faces.c: Merge more of DOS and X specifics in preparation for
13996 merge with xfaces.c.
13997 (defined_color): Remove FIXME comment.
13998 (tty_color_name): Provide w32-specific function.
13999 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
14000
14001 * w32console.c (turn_on_face, turn_off_face): Removed.
14002 (w32_face_attributes): New function.
14003 (Global_variables): Reduce scope where possible.
14004 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
14005 fill attribute.
14006 (hl_mode): Don't modify text attributes.
14007 (write_glyphs): Don't do anything if len <= 0. Use
14008 w32_face_attributes to get attributes for drawing. Write
14009 terminating codes using char_attr_normal.
14010 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
14011 (update_begin, update_end): Likewise.
14012 (vga_stdcolor_name): New function.
14013 (initialize_w32_display): Remove char_attr_reverse and char_attr.
14014 (Fset_screen_color): Remove char_attr_reverse.
14015
14016 2000-01-29 Gerd Moellmann <gerd@gnu.org>
14017
14018 * xfns.c (xic_set_preeditarea): Take window parameter and
14019 window-relative pixel-positions.
14020
14021 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
14022 is its frame's selected window.
14023 (xim_instantiate_callback): Likewise.
14024
14025 * xfns.c (x_create_im): Removed.
14026 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
14027 (supported_xim_styles): Renamed from supported_styles.
14028 (best_xim_style): Renamed from best_style.
14029 (create_frame_xic): Renamed from xic_create_frame.
14030 (free_frame_xic): Renamed from xic_destroy_frame.
14031
14032 2000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
14033
14034 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
14035 our frames, call XFilterEvent with 2nd parameter `None'.
14036 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
14037 returning XBufferOverflow.
14038 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
14039 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
14040 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
14041 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
14042 (xim_initialize, xim_close)
14043 [HAVE_X_I18N && HAVE_X11R6]: New functions.
14044 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
14045 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
14046 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
14047
14048 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
14049 and `xim_styles'.
14050 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
14051 `xic_style' and `xic_xfs'.
14052 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
14053 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
14054 (FRAME_XIM): Removed.
14055
14056 * xfns.c (supported_styles): New variable.
14057 (DEFAULT_STYLE, DEFAULT_FONT): New macros
14058 (xic_create_xfontset, best_style, xic_create_frame)
14059 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
14060 (xic_set_xfontset): New functions.
14061
14062 2000-01-28 Dave Love <fx@gnu.org>
14063
14064 * s/irix6-5.h: Revert last change after change to irix5-0.h.
14065
14066 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
14067
14068 2000-01-28 Gerd Moellmann <gerd@gnu.org>
14069
14070 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
14071 for *scratch* if it already existed.
14072
14073 * emacs.c (USAGE): New macro.
14074 (main): Use it to display usage information.
14075
14076 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14077
14078 Support for the menu-help feature:
14079
14080 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
14081
14082 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
14083 part of the line to the termscript file.
14084 (IT_clear_to_end): Clear the entire line, not just its beginning.
14085 (menu_help_message, prev_menu_help_message): New variables.
14086 (IT_menu_make_room): Make room for the help_text member.
14087 (IT_menu_display): New argument disp_help; all callers changed.
14088 If disp_help is non-zero, store the help text of the active menu
14089 item in menu_help_message.
14090 (XMenuAddPane): Initialize the help_text member to NULL.
14091 (XMenuAddSelection): New argument help_text. Store it in the
14092 XMenu structure.
14093 (XMenuActivate): New argument help_callback. If the value of
14094 menu_help_message has changed since the last time, display the
14095 menu help message text while waiting for the mouse to move. Clear
14096 the echo area before exiting.
14097 (XMenuDestroy): Free the help_text member.
14098
14099 2000-01-27 Gerd Moellmann <gerd@gnu.org>
14100
14101 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
14102 XMenuAddSelection. Pass help callback to XMenuActivate.
14103 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
14104
14105 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
14106
14107 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
14108 and EMACS_SET_USECS.
14109
14110 2000-01-26 Dave Love <fx@gnu.org>
14111
14112 * editfns.c (Fchar_after, Fchar_before): Doc fix.
14113
14114 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
14115 an error may be signalled.
14116
14117 2000-01-26 Gerd Moellmann <gerd@gnu.org>
14118
14119 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
14120 LD_SWITCH_SYSTEM inherited from irix5-0.h.
14121
14122 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
14123
14124 2000-01-25 Gerd Moellmann <gerd@gnu.org>
14125
14126 * charset.c (Fstring): If there is a multibyte char among
14127 the args, always return a multibyte string.
14128
14129 2000-01-25 Gerd Moellmann <gerd@gnu.org>
14130
14131 * sysdep.c (sys_select): Turn atimers off and on instead of
14132 recording and restoring old alarm handler
14133
14134 * process.c (toplevel): Include atimer.h.
14135 (create_process_1): Rewritten.
14136 (create_process): Use atimers instead of alarm.
14137 (wait_reading_process_input) [hpux]: Turn atimers off instead
14138 of turning off SIGALRM.
14139 (wait_reading_process_input): Turn off atimers instead off
14140 calling stop_polling.
14141
14142 * emacs.c (main): Call init_atimer.
14143
14144 * keyboard.c (toplevel): Include systime.h and atimer.h.
14145 (polling_for_input): Removed because unused.
14146 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
14147 (poll_timer): New variable.
14148 (poll_for_input, poll_for_input_1): New functions.
14149 (start_polling, stop_polling): Rewritten.
14150
14151 * keyboard.h (polling_for_input): Removed.
14152
14153 * atimer.h, atimer.c: New files.
14154
14155 * Makefile.in (obj): Add atimer.o.
14156 (atimer.o): New target.
14157
14158 * blockinput.h (pending_atimers): Add extern declaration.
14159 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
14160
14161 * lisp.h (popup_activated_flag): Add extern declaration.
14162
14163 * xmenu.c (popup_activated_flag): Make externally visible.
14164 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
14165 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
14166
14167 * xterm.c (toplevel): Include atimer.h.
14168 (toolkit_scroll_bar_interaction): New variable.
14169 (Fxt_process_timeouts): Removed.
14170 (x_process_timeouts): New function.
14171 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
14172 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
14173 (x_make_frame_visible): Call poll_for_input_1 instead of
14174 input_poll_signal. Don't call alarm.
14175 (x_initialize): Install timer calling x_process_timeouts.
14176
14177 2000-01-24 Dave Love <fx@gnu.org>
14178
14179 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
14180 Don't use -cckr -- apparently not now necessary.
14181
14182 2000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
14183
14184 * msdos.c (IT_menu_display): Truncate long menu lines at the right
14185 screen boundary.
14186
14187 2000-01-23 Jason Rumney <jasonr@gnu.org>
14188
14189 * w32fns.c (w32_defined_color): Apply gamma correction before
14190 trying to map to the palette.
14191 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
14192 to w32_clear_rect.
14193
14194 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
14195 here. Callers changed to always pass real device context.
14196 (w32_draw_bitmap): Likewise.
14197 (w32_get_glyph_overhangs): Likewise.
14198 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
14199 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
14200 pfnSetScrollInfo and SetScrollRange.
14201 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
14202 back into MULE characters after decoding them.
14203 (x_get_glyph_face_and_encoding): Likewise.
14204 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
14205 GetCharABCWidthsW fails, since this is defined on Windows 9x.
14206 (x_produce_glyphs): Calculate per char metrics for a character
14207 that we know exists in default font when font_not_found_p is true.
14208
14209 2000-01-22 Jason Rumney <jasonr@gnu.org>
14210
14211 * makefile.nt (intervals.obj, composite.obj): New modules.
14212 (composite.h): Added as dependency where appropriate.
14213
14214 * w32gui.h (XGCValue): New struct for emulating X GCs.
14215
14216 * w32term.h (XCharStruct): New struct for emulating X.
14217
14218 * w32console.c (turn_on_face, turn_off_face): New functions.
14219 (change_line_highlight): New prototype for new redisplay.
14220 (write_glyphs): Support multibyte text. Support faces.
14221
14222 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
14223
14224 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
14225 throughout. struct frame * in place of FRAME_PTR.
14226 Skeleton support for images, toolbars, tooltips from xfns.c.
14227 (Fx_create_frame): Use system default for default scroll bar width.
14228 (w32_get_arg): Renamed from x_get_arg.
14229 (Fx_file_dialog): New function.
14230 (w32_list_fonts): Check cache before asking system.
14231 (Vw32_enable_synthesized_fonts): New variable.
14232 (Vw32_enable_italics): Obsolete, removed.
14233
14234 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
14235 Use SELECTED_FRAME macro.
14236
14237 * w32menu.c: Add skeleton support for help strings on menus.
14238 (add_menu_item): Native checkbox and radio support added, but not
14239 yet enabled due to bugs.
14240 (push_menu_item): Add parameters type, selection and help.
14241 Callers updated.
14242 Formatting changes to reduce unnecessary diffs with xmenu.c.
14243
14244 * w32select.c (Fw32_set_clipboard_data): Update call to
14245 find_charset_in_str.
14246
14247 * w32term.c: Complete rewrite for new redisplay based on new
14248 xterm.c with necessary sections merged back in from old w32term.c.
14249
14250 2000-01-21 Richard M. Stallman <rms@gnu.org>
14251
14252 * data.c (set_internal): Further fix in same criterion.
14253
14254 2000-01-20 Richard M. Stallman <rms@gnu.org>
14255
14256 * data.c (set_internal): Fix the criteria for whether
14257 to swap out the old cached binding.
14258
14259 2000-01-19 Dave Love <fx@gnu.org>
14260
14261 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
14262
14263 2000-01-18 Kenichi Handa <handa@etl.go.jp>
14264
14265 * regex.c (re_compile_fastmap): While checking a range table for
14266 `charset', skip flag bits for a character class correctly.
14267
14268 2000-01-17 Gerd Moellmann <gerd@gnu.org>
14269
14270 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
14271
14272 * xfns.c (x_window): Call lw_create_widget with new parameter list.
14273
14274 * widget.c (EmacsFrameSetCharSize): Change size of children first
14275 because of problems with main window geometry management under Lesstif.
14276
14277 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
14278 MENU_ITEMS_ITEM_.*.
14279 (MENU_ITEMS_ITEM_HELP): New enumerator.
14280 (push_menu_item): Add parameter HELP. Record help in menu_items.
14281 (single_menu_item, single_submenu, list_of_items): Call
14282 push_menu_item with new parameter.
14283 (single_submenu): Set help string in widget value.
14284 (menu_highlight_callback): New function.
14285 (set_frame_menubar): Call lw_create_widget with new
14286 parameter list.
14287 (xmenu_show, xdialog_show): Ditto.
14288
14289 2000-01-13 Gerd Moellmann <gerd@gnu.org>
14290
14291 * sound.c (Fplay_sound): Improve doc string.
14292
14293 2000-01-11 Richard M. Stallman <rms@gnu.org>
14294
14295 * lisp.h (set_internal): Enter the new arg.
14296
14297 * eval.c (specbind): Record buffer-local variables specially,
14298 indicating which buffer's binding was saved.
14299 (unbind_to): Restore buffer-local variables specially
14300 in the proper buffer.
14301
14302 * data.c (set_internal): New arg BUF.
14303
14304 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
14305 * data.c (Fset): Pass new arg to set_internal.
14306 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
14307
14308 2000-01-11 Gerd Moellmann <gerd@gnu.org>
14309
14310 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
14311
14312 2000-01-11 Richard M. Stallman <rms@gnu.org>
14313
14314 * minibuf.c (Ftry_completion): Doc fix.
14315
14316 2000-01-11 Gerd Moellmann <gerd@gnu.org>
14317
14318 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
14319 vector, too.
14320
14321 2000-01-11 Andreas Schwab <schwab@suse.de>
14322
14323 * coding.c (code_convert_region): Initialize total_skip.
14324
14325 2000-01-08 Dave Love <fx@gnu.org>
14326
14327 * eval.c (Fuser_variable_p): Check customizability too.
14328
14329 2000-01-07 Gerd Moellmann <gerd@gnu.org>
14330
14331 * minibuf.c (Fcompleting_read): Doc fix.
14332
14333 2000-01-05 Gerd Moellmann <gerd@gnu.org>
14334
14335 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
14336 -L /usr/local/lib.
14337
14338 * xfns.c (x_create_im): New function to set IM and IC of a frame.
14339 Check that input style is supported before trying to create an
14340 IC for it.
14341 (x_window): Call x_create_im.
14342
14343 2000-01-04 Gerd Moellmann <gerd@gnu.org>
14344
14345 * xfns.c (current_gif_memory_src): New variable.
14346 (gif_load): Record the address of the current memory source
14347 in current_gif_memory_src.
14348 (gif_read_from_memory): Use current_gif_memory_src.
14349
14350 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
14351 macros statement form.
14352
14353 * sound.c (struct sound): Renamed from struct sound_file.
14354 (struct sound): Add members `data' and `header_size'.
14355 (enum sound_attr): Add SOUND_DATA.
14356 (current_sound, current_sound_device): Variables renamed from
14357 sound_file and sound_device.
14358 (parse_sound): Parse :data.
14359 (parse_sound): Handle sound data in strings.
14360 (find_sound_type): Function renamed from find_sound_file_type.
14361 (wav_init, au_init): Fail if sound's header_size is smaller than
14362 needed header size.
14363 (wav_play, au_play): Play sounds from string data.
14364
14365 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
14366
14367 * lisp.h: Add prototype for allocate_string_data.
14368
14369 * alloc.c (Fgarbage_collect): Return number of live and free strings.
14370
14371 * alloc.c (mark_buffer): Remove code in #if 0.
14372 (gc_sweep): Ditto.
14373 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
14374 (strings_consed): New variable.
14375 (allocate_string): Set it.
14376 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
14377 (Fmemory_use_counts): Return strings_consed. Use Flist.
14378
14379 * alloc.c: General cleanup in comments etc. Remove conditional
14380 compilation for `standalone'.
14381
14382 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
14383
14384 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
14385 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
14386 (DONT_COPY_FLAG): Removed.
14387 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
14388 (struct sdata, struct sblock): New
14389 (struct string_block): Rewritten.
14390 (STRINGS_IN_STRING_BLOCK): New macro.
14391 (oldest_sblock, current_sblock, total_strings, total_free_strings)
14392 (large_sblocks, string_blocks, string_free_list): New variables.
14393 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
14394 (init_strings): Rewritten.
14395 (allocate_string, allocate_string_data, compact_small_strings)
14396 (free_large_strings, sweep_strings): New functions.
14397 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
14398 (struct string_block_head, current_string_block)
14399 (first_string_block, large_string_blocks, STRING_FULLSIZE)
14400 (STRING_PAD): Removed.
14401 (make_uninit_multibyte_string, make_pure_string): Rewritten.
14402 (Fgarbage_collect): Don't set mark bit in large strings.
14403 (mark_object): Mark strings differently. Mark symbol names
14404 differently.
14405 (survives_gc_p): Test marked strings differently.
14406 (gc_sweep): Sweep strings differently, unmark strings in
14407 symbol names.
14408 (compact_strings): Removed.
14409
14410 2000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
14411
14412 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
14413 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
14414
14415 2000-01-04 Kenichi Handa <handa@etl.go.jp>
14416
14417 * fileio.c (Finsert_file_contents): Signal error if visiting file
14418 in a non-empty buffer.
14419
14420 * term.c (encode_terminal_code): Fix the previous change.
14421
14422 2000-01-03 Gerd Moellmann <gerd@gnu.org>
14423
14424 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
14425 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
14426
14427 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
14428
14429 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14430
14431 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
14432 need to test for MSDOS frames.
14433
14434 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14435
14436 * dosfns.c (unspecified_colors): Remove.
14437 (msdos_stdcolor_idx): Use global variables unspecified_fg and
14438 unspecified_bg.
14439 (msdos_stdcolor_name): Return strings for unspecified fore- and
14440 back-ground colors.
14441
14442 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
14443 (syms_of_xfaces): Remove their staticpro's.
14444 (tty_color_name): Return Lisp strings for unspecified fore- and
14445 back-ground colors.
14446 (Finternal_set_lisp_face_attribute): Remove the special treatment
14447 for Qunspecified_{f,b}g.
14448 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
14449
14450 2000-01-03 Gerd Moellmann <gerd@gnu.org>
14451
14452 * xdisp.c (reseat_at_next_visible_line_start): Position before
14453 newline only if ending up on a newline.
14454 (next_element_from_ellipsis): Return success. Handle case of
14455 displaying no ellipsis. Fix case of ellipsis defined in display table.
14456 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
14457 returns 0.
14458
14459 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
14460
14461 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
14462 (Fcolor_supported_p): Renamed from face-color-supported-p.
14463
14464 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14465
14466 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
14467 list of colors renamed to tty-defined-color-alist.
14468 (tty_color_name): Pass the frame to tty-color-by-index.
14469 (realize_tty_face): tty-color-alist is now a function which
14470 accepts the frame as argument.
14471
14472 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
14473
14474 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14475
14476 * term.c (insert_glyphs): Pass glyph, not &glyph, to
14477 encode_terminal_code.
14478
14479 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
14480
14481 * dispnew.c (mode_line_string): Support termcap frames as well.
14482
14483 2000-01-01 Gerd Moellmann <gerd@gnu.org>
14484
14485 * syntax.c (Fforward_word): Undo previous change.
14486
14487 * editfns.c (Fconstrain_to_field): Don't constrain if
14488 inhibit-field-text-motion is non-nil.
14489 (Fline_beginning_position): Undo previous change.
14490 (Fline_end_position): Ditto.
14491
14492 * syntax.c (Fforward_word): Notice field boundaries only if
14493 inhibit-field-text-motion is nil.
14494
14495 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
14496
14497 * editfns.c (Vinhibit_field_text_motion): New variable.
14498 (inhibit-field-text-motion): New DEFVAR_LISP.
14499 (Fline_beginning_position, Fline_end_position): Notice field
14500 boundaries only if inhibit-field-text-motion is nil.
14501
14502 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
14503 All calls adjusted.
14504 (x_build_heuristic_mask): Likewise.
14505 (xbm_load_image_from_file): Change error output.
14506 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
14507 (gif_load, gs_load, x_kill_gs_process): Ditto.
14508
14509 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
14510 color indices when accessing raster pixels.
14511 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
14512 one of :file or :data.
14513 (enum pbm_keyword_index): Add PBM_DATA.
14514 (pbm_format): Add :data.
14515 (pbm_image_p): Allow either :file or :data.
14516 (pbm_read_file): New function.
14517 (pbm_scan_number): Rewritten to read from string.
14518 (pbm_load): Support :data.
14519
14520 See ChangeLog.8 for earlier changes.
14521
14522 ;; Local Variables:
14523 ;; coding: iso-2022-7bit
14524 ;; End:
14525
14526 Copyright (C) 2001 Free Software Foundation, Inc.
14527 Copying and distribution of this file, with or without modification,
14528 are permitted provided the copyright notice and this notice are preserved.