*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
1 2001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
3 * xfaces.c (free_frame_menubar): Add prototype.
4
5 * lisp.h (init_window): Add prototype.
6
7 * editfns.c: Include ctype.h.
8
9 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
10 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable
11 `percent'.
12 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
13 variable `sb'.
14
15 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
16 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
17 `popup_activated_flag' and `title'.
18
19 * doc.c (Fdocumentation_property): Fix typo in a doc string.
20
21 * emacs.c (main): Remove extra `;'.
22
23 * atimer.h (struct atimer): Fix typos in a comment.
24
25 * atimer.c: Fix typo.
26
27 * Makefile.in: Fix typo.
28
29 * README: Remove obsolete part mentioning removed VMS file.
30
31 2001-10-07 Miles Bader <miles@gnu.org>
32
33 * Makefile.in (lisp, shortlisp): Add `button.elc'.
34
35 2001-10-07 Ken Raeburn <raeburn@gnu.org>
36
37 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
38 Lisp_Object.
39
40 * lisp.h (Ffield_end): Declare.
41
42 2001-10-07 Gerd Moellmann <gerd@gnu.org>
43
44 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
45
46 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
47
48 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
49
50 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
51
52 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
53 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
54
55 * alloc.c (inhibit_garbage_collection): Simplify.
56 (Fmemory_use_counts): Ditto.
57
58 * data.c (most_positive_fixnum, most_negative_fixnum): New
59 variables.
60 (syms_of_data): DEFVAR_INT most-positive-fixnum and
61 most-negative-fixnum.
62
63 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
64 (FIXNUM_OVERFLOW_P): New macros.
65
66 2001-10-06 Miles Bader <miles@gnu.org>
67
68 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
69 scroll_bar_bottom_shadow_pixel fields.
70 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
71 for the shadows, and tell the toolkit about them if we succeed.
72 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
73 Free scroll-bar shadow colors.
74 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
75 Free scroll-bar shadow colors when the background color changes.
76 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
77 Initialize scroll-bar shadow-color fields.
78
79 2001-10-05 Gerd Moellmann <gerd@gnu.org>
80
81 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
82
83 2001-10-05 Miles Bader <miles@gnu.org>
84
85 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
86 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
87 New functions (were in simple.el).
88 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
89 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
90 (syms_of_minibuf): Initialize them.
91
92 2001-10-05 Gerd Moellmann <gerd@gnu.org>
93
94 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
95 (tiff_load): Install them as error and warning handler.
96
97 2001-10-04 Andrew Innes <andrewi@gnu.org>
98
99 * w32fns.c (x_to_w32_color): Fix argument to alloca.
100 (w32_load_system_font): Don't believe what GetLanguageFontInfo
101 says; query codepage info directly to determine if font is double
102 byte.
103 (x_to_w32_charset): Handle private format for unknown charsets.
104 Handle wildcards in charset spec, by ignoring them.
105 (w32_codepage_for_font): Fix argument to alloca. Don't remove
106 "*-" prefix from charset.
107 (x_to_w32_font): Enlarge remainder array for safety. Specifically
108 handle the truncated font spec form constructed by font_list_1, so
109 that we correctly identify the charset fields. Don't remove "*-"
110 prefix from charset.
111 (w32_list_synthesized_fonts): Fix argument to alloca.
112
113 2001-10-04 Stefan Monnier <monnier@cs.yale.edu>
114
115 * window.h (MINI_WINDOW_P): Use NILP.
116
117 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
118
119 * termhooks.h (struct input_event): Use proper type for `kind'.
120
121 2001-10-04 Gerd Moellmann <gerd@gnu.org>
122
123 This handles unknown keysyms better than before. For example,
124 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
125 Emacs formerly completely ignored F5. With the change, it derives
126 a key symbol from the name of the X keysym, `ccaron' in this case.
127 Reported by Martin Buchholz.
128
129 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
130 unknown keysyms.
131
132 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
133 that EVENT->code isn't a function key, use the keysym's name.
134
135 2001-10-04 Gerd Moellmann <gerd@gnu.org>
136
137 FOREACH is a macro that should make it easier to loop over Lisp
138 lists with checks for cycles and proper lists.
139
140 * lisp.h (LIST_END_P, FOREACH): New macros.
141
142 2001-10-04 Gerd Moellmann <gerd@gnu.org>
143
144 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
145 called for a lost connection. Prevent dumping core in this case.
146 Instead print the X error, and exit. On user request.
147
148 * xterm.c (error_msg): New variable.
149 (x_fatal_error_signal): New function.
150 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
151 as fatal_error_signal_hook around the call to XtCloseDisplay.
152
153 * emacs.c (fatal_error_signal_hook): New variable.
154 (fatal_error_signal): Call that function.
155
156 2001-10-04 Gerd Moellmann <gerd@gnu.org>
157
158 With this, Emacs prints how much pure storage it will
159 approximately need in case pure storage overflows while dumping.
160
161 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
162 New variables.
163 (init_alloc_once): Initialize new variables.
164 (PURE_POINTER_P): Use new variables.
165 (pure_alloc): If pure storage overflows, allocate from the heap.
166 (check_pure_size): New function.
167 (Fgarbage_collect): Don't GC if pure storage has overflowed.
168
169 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
170 (check_pure_size): Add prototype.
171
172 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
173
174 2001-10-04 Gerd Moellmann <gerd@gnu.org>
175
176 This adds a post-gc-hook that's run with GC inhibited.
177 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
178
179 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
180 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
181 (Fgarbage_collect): Run post-gc-hook.
182
183 2001-10-04 Gerd Moellmann <gerd@gnu.org>
184
185 This adds `defvaralias' and `indirect-variable'. Changes not
186 directly related to this feature are there to gain the same
187 performance again as before variable aliases.
188
189 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
190 code to get and set symbol values, to take defvaralias into account.
191
192 (Note: the new `constant' bit-flag in symbols would make it
193 possible to define arbitrary read-only variables, e.g. with
194 `defconst'.)
195
196 Documentation is in lispref/variables.texi. Added to NEWS.
197
198 * lisp.h (enum symbol_interned): New enumeration.
199 (struct Lisp_Symbol): Remove member `obarray', add
200 `indirect_variable', `constant', and `interned'.
201 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
202 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
203 (indirect_variable): Add prototype.
204
205 * print.c (print_preprocess, print_object): Test internedness of
206 symbols differently.
207
208 * lread.c (Fintern, Funintern): Set symbol's interned and constant
209 bit-fields.
210 (init_obarray): Likewise for t and nil.
211
212 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
213 (Fdefvaralias): New function.
214 (specbind): Simplify the test if symbol is a constant.
215 (syms_of_eval): Defsubr Fdefvaralias.
216
217 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
218 (Qcyclic_variable_indirection): New variable.
219 (Fkeywordp): Check for internedness differently.
220 (Fmakunbound): Simplify the test if symbol is a constant.
221 (indirect_variable, Findirect_variable): New functions.
222 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
223 aliased symbol.
224 (let_shadows_buffer_binding_p): Check for variable aliases.
225 (set_internal): Simplify the test if SYMBOL is a constant.
226 If SYMBOL has a buffer-local value and is an alias, use the aliased
227 symbol instead.
228 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
229 Sindirect_variable.
230
231 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
232 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
233 set directly.
234
235 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
236
237 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
238 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
239 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
240
241 2001-10-03 Miles Bader <miles@gnu.org>
242
243 * callproc.c (syms_of_callproc): Explicitly state in the
244 documentation for `process-environment' that earlier entries take
245 precedence over later ones.
246
247 2001-10-02 Miles Bader <miles@gnu.org>
248
249 * textprop.c (Fnext_char_property_change)
250 (Fprevious_char_property_change): Remove reference to non-existant
251 argument OBJECT from doc-string.
252
253 2001-10-01 Gerd Moellmann <gerd@gnu.org>
254
255 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
256 (try_window_id): Skip back over lines ending in a newline from a
257 string.
258
259 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
260 New bit flag
261
262 2001-10-01 Richard M. Stallman <rms@gnu.org>
263
264 * search.c (Freplace_match): Doc fix.
265
266 2001-09-28 Andrew Innes <andrewi@gnu.org>
267
268 * w32menu.c (set_frame_menubar): Take into account that
269 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
270 <raeburn@gnu.org>.
271
272 2001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
273
274 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
275
276 2001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
277
278 * s/gnu-linux.h: Fix a typo in comment.
279
280 2001-09-28 Andreas Schwab <schwab@suse.de>
281
282 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
283 nocombreloc, in case -z combreloc is the default.
284
285 2001-09-28 Gerd Moellmann <gerd@gnu.org>
286
287 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
288 really going on here.
289
290 2001-09-27 Stefan Monnier <monnier@cs.yale.edu>
291
292 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
293
294 2001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
295
296 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
297 utf-8, menu-bar, and latin-N.
298 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
299 unconditionally now.
300 (lisp): Add latin-N, since they are preloaded.
301
302 2001-09-27 Gerd Moellmann <gerd@gnu.org>
303
304 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
305 to the left. Some cleanup.
306
307 * xdisp.c (display_mode_element): One more case where a string's
308 multibyteness should be used for display.
309
310 2001-09-26 Gerd Moellmann <gerd@gnu.org>
311
312 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
313 reading at EOF.
314
315 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
316 of the only temporarily set echoing flag for deciding when
317 the cancel echoing.
318
319 * keyboard.c (echo_kboard): Make externally visible.
320
321 * lisp.h (echo_kboard): Declare extern.
322
323 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
324 fonts_changed_p if we need larger matrices due to vscrolling.
325 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
326 this round of redisplay if make_cursor_line_fully_visible fails.
327 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
328 (try_cursor_movement, try_scrolling): Use them instead of integers.
329
330 * dispextern.h (required_matrix_width, required_matrix_height):
331 Add prototypes.
332
333 * dispnew.c (required_matrix_width, required_matrix_height):
334 New functions.
335 (allocate_matrices_for_window_redisplay)
336 (allocate_matrices_for_frame_redisplay: Use them.
337 Remove parameters CH_DIM.
338
339 * xdisp.c (display_mode_lines): Temporarily set selected_frame
340 and selected_window to the frame of the window whose mode-lines
341 are displayed, and to the window itself.
342 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
343 here.
344
345 2001-09-25 Gerd Moellmann <gerd@gnu.org>
346
347 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
348 the image cache under us.
349
350 * xdisp.c (display_mode_element): If the mode element is a symbol
351 with a string value, use that string's multibyteness for displaying.
352
353 * keyboard.c (read_char): Don't clear a message for a switch-frame
354 event. From Stefan Monnier <monnier@cs.yale.edu>.
355
356 * xterm.c (fast_find_position) [0]: Add a presumably more correct
357 version for after 21.1.
358
359 * xdisp.c (row_containing_pos): Make externally visible.
360
361 * dispextern.h (row_containing_pos): Add prototype.
362
363 * process.c (send_process): Disable composition if from_byte < 0.
364 From Kenichi Handa <handa@etl.go.jp>.
365
366 2001-09-24 Gerd Moellmann <gerd@gnu.org>
367
368 * xterm.c (refreshicon): Function removed.
369
370 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
371
372 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
373
374 * xterm.c (toplevel): Remove includes in #if 0.
375
376 * process.c (sigchld_handler) [LINUX]: Don't return from
377 the signal handler at the end of the loop.
378
379 2001-09-21 Gerd Moellmann <gerd@gnu.org>
380
381 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
382 Terminate only if kill returns -1, and errno is ESRCH.
383
384 2001-09-21 Markus Rost <rost@math.ohio-state.edu>
385
386 * Makefile.in (shortlisp): Add ../lisp/env.elc.
387
388 2001-09-20 Gerd Moellmann <gerd@gnu.org>
389
390 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
391 since this function can be called during GC.
392
393 * callproc.c (Fcall_process): Handle errors from pipe(2).
394 (child_setup): Delete code in #ifdef vipc.
395
396 2001-09-19 Gerd Moellmann <gerd@gnu.org>
397
398 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
399 (display_mode_element): Display the string from decode_mode_spec
400 depending on its multibyteness.
401
402 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
403
404 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
405
406 2001-09-18 Gerd Moellmann <gerd@gnu.org>
407
408 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
409 recursive_edit_unwind.
410 (recursive_edit_unwind): Set kboard state according to
411 SINGLE-KBOARD.
412
413 * buffer.c (modify_overlay): Don't do nothing if START == END;
414 This can still be a modification, for example when an overlay has
415 a before-string or after-string.
416 (Fdelete_overlay): Prevent redisplay optimizations when deleting
417 an overlay with before-string or after-string.
418
419 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
420 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
421
422 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
423 first_unchanged_at_end_row is in front of
424 last_unchanged_at_beg_row. This code should be removed after the
425 release of 21.1.
426
427 2001-09-17 Gerd Moellmann <gerd@gnu.org>
428
429 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
430 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
431
432 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
433 versions >= 2.95.
434
435 2001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
436
437 * dired.c (Ffile_attributes): Doc fix.
438
439 2001-09-14 Gerd Moellmann <gerd@gnu.org>
440
441 * fileio.c (Ffile_symlink_p): Fix last change.
442
443 * filelock.c (current_lock_owner): Fix last change.
444
445 2001-09-13 Gerd Moellmann <gerd@gnu.org>
446
447 * filelock.c (current_lock_owner): If readlink returns ERANGE,
448 take that to mean that the buffer is too small.
449
450 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
451 that to mean that the buffer is too small.
452
453 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
454 current buffer's multibyteness when discarding the iterator's
455 stack.
456
457 * xfns.c (Fx_window_property): Handle case that property gets
458 deleted between the two calls to XGetWindowProperty.
459
460 2001-09-11 Gerd Moellmann <gerd@gnu.org>
461
462 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
463
464 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
465 in addition to read-only.
466
467 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
468 to t in addition to read-only.
469
470 * lisp.h (Qinhibit_modification_hooks): Declare.
471
472 * insdel.c (Qinhibit_modification_hooks): New variable.
473 (syms_of_insdel): Initialize and staticpro it.
474
475 * textprop.c (verify_interval_modification): Don't run
476 modification-hooks if inhibit_modification_hooks.
477
478 * dispnew.c (set_window_cursor_after_update): Fix code
479 finding glyph row containing cursor when cursor_in_echo_area
480 is >= 0.
481
482 * xdisp.c (init_from_display_pos): Put some code in #if 0.
483 (add_to_log): Use bcopy instead of strcpy.
484 (init_from_display_pos): Use an explicit loop over bytes in
485 overlay strings instead of calling index.
486
487 2001-09-10 Gerd Moellmann <gerd@gnu.org>
488
489 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
490
491 * dispnew.c (direct_output_for_insert): Don't change IT's
492 stop_charpos to something in front of its current position.
493
494 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
495 `format'.
496
497 2001-09-10 Richard M. Stallman <rms@gnu.org>
498
499 * frame.c (Fmouse_position): Doc fix.
500
501 2001-09-07 Gerd Moellmann <gerd@gnu.org>
502
503 * xdisp.c (init_from_display_pos): Don't compare the result
504 of calling index with NULL.
505
506 2001-09-06 Gerd Moellmann <gerd@gnu.org>
507
508 * xfns.c (x_set_background_color): Don't change the colors
509 of the X window of scroll bar widgets.
510
511 2001-09-05 Andrew Innes <andrewi@gnu.org>
512
513 * w32fns.c (w32_createwindow): Undo last change.
514
515 2001-09-05 Gerd Moellmann <gerd@gnu.org>
516
517 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
518
519 * xdisp.c (string_buffer_position): Use *single_char_property*
520 functions instead of the *single_property* functions.
521
522 2001-09-04 Andrew Innes <andrewi@gnu.org>
523
524 * w32term.c (w32_read_socket): Add more information to debugging
525 output.
526
527 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
528 from Emacs frames, so that calls to GetClipBox in w32term.c
529 correctly report when part of a frame is visible (including
530 scrollbars, etc). This prevents repeated redrawing of frames when
531 only a scrollbar is visible.
532 (w32_wnd_proc): Add more frame information to debugging output.
533
534 2001-09-03 Stefan Monnier <monnier@cs.yale.edu>
535
536 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
537
538 2001-09-03 Gerd Moellmann <gerd@gnu.org>
539
540 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
541 help-echo for a string which doesn't have help-echo itself, use
542 get-char-property to obtain the help-echo from the string's buffer
543 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
544 have mouse-face, look ``under'' the string for mouse-face from an
545 overlay.
546 (fast_find_position): Add parameter STOP. In the final row, stop
547 before glyphs having STOP as object. Don't consider glyphs that
548 are not from a buffer.
549
550 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
551
552 2001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
553
554 * fns.c (Fmd5): Doc fix.
555
556 2001-08-31 Gerd Moellmann <gerd@gnu.org>
557
558 * composite.c (update_compositions): Do nothing if
559 inhibit-modification-hooks is set.
560
561 2001-08-30 Gerd Moellmann <gerd@gnu.org>
562
563 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
564 and check_message_stack if terminating abnormally. We want
565 glyph matrices etc. in a core dump.
566
567 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
568 (syms_of_xdisp): Initialize them.
569 (handle_single_display_prop): Don't change point, bind `object',
570 `position', and `buffer-position' instead to the object having the
571 `display' property, position in the object and position in the buffer.
572
573 * fileio.c (Finsert_file_contents): Don't change the multibyteness
574 of the buffer if REPLACE is non-nil.
575
576 2001-08-29 Gerd Moellmann <gerd@gnu.org>
577
578 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
579
580 2001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
581
582 * w32term.c (x_set_glyph_string_background_width)
583 (show_mouse_face): Track the last changes in xterm.c.
584
585 2001-08-28 Gerd Moellmann <gerd@gnu.org>
586
587 * xterm.c (x_set_glyph_string_background_width): Set the glyph
588 string's background width so that multi-line mouse-face is drawn
589 to the right edge of the window.
590 (show_mouse_face): Set the row's mouse_face_p flag after drawing
591 glyphs.
592
593 * dispnew.c (direct_output_for_insert): Set updated_area
594 before inserting/writing glyphs.
595
596 * xdisp.c (display_mode_element): Use string_byte_to_char to
597 determine character positions in strings, use chars_in_text
598 instead of strwidth.
599 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
600 a matrix as parameter; this is easier to use from GDB.
601
602 2001-08-28 Miles Bader <miles@gnu.org>
603
604 * textprop.c (Fprevious_single_char_property_change)
605 (Fnext_single_char_property_change): Doc fixes.
606
607 2001-08-27 Gerd Moellmann <gerd@gnu.org>
608
609 * fileio.c (Finsert_file_contents): Allocate, restore, and
610 free composition data in the case of REPLACE not being nil.
611
612 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
613 there exist overlay strings with newlines at POS.
614 (text_outside_line_unchanged_p): Return 0 if changes start at
615 START and overlays exist at START. Likewise for END.
616 (try_window_id): Give up if init_to_row_end returns 0.
617
618 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
619 unconditionally.
620
621 2001-08-24 Gerd Moellmann <gerd@gnu.org>
622
623 * keymap.c (access_keymap): Return the cdr of the binding of
624 a generic character instead of its definition (KEY . BINDING).
625
626 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
627 to 0 also in the REPLACE case.
628
629 2001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
630
631 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
632 open to determine whether file is readable (as for DOS_NT).
633
634 2001-08-23 Gerd Moellmann <gerd@gnu.org>
635
636 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
637 coding.type is coding_type_no_conversion or coding_type_raw_text,
638 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
639 non-nil instead of just setting enable_multibyte_characters in the
640 buffer to nil.
641
642 2001-08-22 Gerd Moellmann <gerd@gnu.org>
643
644 * dispextern.h (struct face_cache): Add member
645 menu_face_changed_p.
646
647 * xfaces.c (menu_face_changed_default): New variable.
648 (menu_face_changed_count): Variable removed.
649 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
650 the menu_face_changed_default flag, otherwise set the FRAME's
651 menu_face_changed_p flag if the `menu' face has been changed.
652 Prevent calling set_font_frame_param if FRAME is t.
653 (make_face_cache): Initialize cache's menu_face_changed_p
654 from menu_face_changed_default.
655 (realize_basic_faces): Look into the frame's face cache to
656 determine if the menu appearance needs updating.
657
658 * keymap.c (access_keymap): Fix last change to not consider
659 IDX when it has modifiers.
660
661 2001-08-21 Gerd Moellmann <gerd@gnu.org>
662
663 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
664 . BINDING) exists, where GENERIC-CHAR is the generic character of
665 the charset of IDX, return BINDING unless there exists a binding
666 for IDX itself.
667
668 2001-08-16 Gerd Moellmann <gerd@gnu.org>
669
670 * xrdb.c (SYSV): Don't define on Solaris 2.
671 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
672
673 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
674 of the screen line, not text line, containing IT's current position.
675
676 2001-08-15 Gerd Moellmann <gerd@gnu.org>
677
678 * window.c (window_scroll_pixel_based): Don't recenter if
679 PT is partially visible in the window.
680
681 * xterm.c (expose_window_tree, expose_window, expose_line):
682 Return 1 when overwriting mouse-face.
683 (expose_frame): If mouse-face was overwritten, redo it.
684
685 * xfaces.c (x_update_menu_appearance): Don't call
686 set_frame_menubar, let the next redisplay do it.
687
688 2001-08-14 Andrew Innes <andrewi@gnu.org>
689
690 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
691 drawing glyph string.
692
693 2001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
694
695 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
696 running HI-UX/MPP.
697
698 2001-08-14 Gerd Moellmann <gerd@gnu.org>
699
700 * xfaces.c (x_update_menu_appearance): Save and restore value of
701 interrupt_input_blocked.
702
703 2001-08-13 Gerd Moellmann <gerd@gnu.org>
704
705 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
706 a line start, move back to the line start.
707
708 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
709 exactly when a mini-buffer is active.
710
711 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
712 in units of 1/8 character on non window-system frames.
713 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
714
715 2001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
716
717 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
718 a doc string.
719
720 2001-08-09 Gerd Moellmann <gerd@gnu.org>
721
722 * keyboard.c (Vpre_help_message): New variable.
723 (syms_of_keyboard): Initialize and staticpro it.
724 (show_help_echo): Record current message before displaying a
725 help-echo, and restore that message when clearing the help.
726
727 * xfns.c (x_create_im): Remove prototype.
728
729 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
730
731 * dispnew.c (adjust_glyph_matrix): Undo last change.
732
733 2001-08-08 Gerd Moellmann <gerd@gnu.org>
734
735 * dispnew.c (adjust_glyph_matrix): In the optimization for
736 windows whose height has changed, disable partially visible lines.
737
738 2001-08-07 Gerd Moellmann <gerd@gnu.org>
739
740 * window.c (Frecenter): If ARG < 0, and on a window system
741 frame, count in some empty lines when we can't move -ARG lines down.
742
743 * xdisp.c (start_display): Don't try to determine the continuation
744 lines width if lines are truncated. It's superfluous and leads to
745 incorrect results if POS is not visible in the window after
746 reseating the iterator at the previous line start.
747
748 2001-08-06 Gerd Moellmann <gerd@gnu.org>
749
750 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
751
752 2001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
753
754 * alloc.c (init_stack): Remove declaration.
755
756 2001-08-03 Gerd Moellmann <gerd@gnu.org>
757
758 * keyboard.c (read_key_sequence): Check that key is an integer
759 before comparing it with quit_char.
760 (add_command_key): Use larger_vector.
761 (read_char_x_menu_prompt): Instead of converting symbol and
762 integer events into conses (EVENT . nil), use (EVENT . disabled)
763 which cannot be confused with valid events.
764 (read_char): When reading from Vunread_command_events, check for
765 events of the form (EVENT . disabled) instead of
766 (EVENT . nil).
767
768 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
769 a float, determine the max height from the frame's height.
770
771 2001-08-02 Gerd Moellmann <gerd@gnu.org>
772
773 * xdisp.c (redisplay_internal): Take message_cleared_p into
774 account only if minibuf_level == 0.
775
776 2001-08-01 Gerd Moellmann <gerd@gnu.org>
777
778 * xdisp.c (redisplay_internal): Add a check for the last
779 displayed message.
780
781 * xdisp.c (message_cleared_p): New variable.
782 (clear_message): Set message_cleared_p when clearing the current
783 message.
784 (redisplay_internal): Look at message_cleared_p to capture
785 the case that the echo area should be cleared.
786
787 * keyboard.c (command_loop_1): Fix spelling of
788 resize_echo_area_exactly.
789
790 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
791
792 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
793
794 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
795 current matrix when the window gets smaller.
796
797 2001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
798
799 * print.c (strout): Cast the character passed to insert_char to
800 unsigned char, to avoid sign extension when it is promoted to int.
801
802 2001-07-31 Gerd Moellmann <gerd@gnu.org>
803
804 * fileio.c (Finsert_file_contents): Don't treat a return value
805 of 0 from emacs_read as an IO error.
806
807 2001-07-30 Gerd Moellmann <gerd@gnu.org>
808
809 * keyboard.c (abs): New macro.
810 (double_click_fuzz): New variable.
811 (make_lispy_event): Use it to determine what makes a double-click.
812 (syms_of_keyboard): DEFVAR_INT it.
813
814 * xmenu.c (set_frame_menubar): Take into account that
815 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
816 <raeburn@gnu.org>.
817
818 2001-07-27 Gerd Moellmann <gerd@gnu.org>
819
820 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
821
822 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
823 of row's visible height.
824
825 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
826 deal with the first overlay string having an image `display' property.
827 (try_window_reusing_current_matrix, compute_line_metrics):
828 Fix computation of row's visible height for the case that part of the
829 row is invisible above and part of the row is at the same time
830 invisible below the window.
831
832 2001-07-26 Gerd Moellmann <gerd@gnu.org>
833
834 * xfns.c (x-show-tip): Doc fix.
835
836 * xfns.c (Vx_max_tooltip_size): New variable.
837 (syms_of_xfns): DEFVAR_LISP it.
838 (Fx_show_tip): Set frame's window_width to the width of the
839 window. Use a maximum tooltip size specified by
840 Vx_max_tooltip_size, if that has valid contents.
841 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
842
843 2001-07-26 Andrew Innes <andrewi@gnu.org>
844
845 * w32term.c (x_display_list): New variable.
846 (w32_term_init): Set it.
847
848 * w32term.h (x_display_list): New extern.
849
850 2001-07-26 Gerd Moellmann <gerd@gnu.org>
851
852 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
853 is non-nil, instead of when redisplaying_p is non-zero.
854 See comment there.
855 (mark_window_display_accurate_1): Add an assertion.
856
857 2001-07-25 Gerd Moellmann <gerd@gnu.org>
858
859 * dispextern.h (struct it): Increase size of ctl_chars to 16.
860
861 * xfns.c (Fx_file_dialog): Block/unblock input while processing
862 events so that we get a chance of processing expose events.
863
864 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
865
866 2001-07-24 Gerd Moellmann <gerd@gnu.org>
867
868 * xfns.c (valid_image_p): Protect better against invalid image
869 specifications. Previous code could signal an error.
870
871 2001-07-23 Gerd Moellmann <gerd@gnu.org>
872
873 * indent.c (current_column): Fix column computation in the
874 presence of display table entries.
875 (current_column_1, Fmove_to_column, compute_motion): Likewise.
876
877 * dispnew.c (adjust_glyph_matrix): In the optimization for
878 windows whose height has changed, use the new window height
879 to compute which rows to invalidate.
880
881 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
882 (MAX_10_EXP): New macro.
883 (Fformat): Use it.
884
885 * coding.c (code_convert_region): Handle the multibyte case if
886 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
887
888 2001-07-20 Gerd Moellmann <gerd@gnu.org>
889
890 * dispextern.h (struct face): Change type of `stipple' to
891 int; it's an ID.
892
893 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
894
895 2001-07-19 Gerd Moellmann <gerd@gnu.org>
896
897 * dispnew.c (update_window): Don't set the cursor at the end
898 of the update if display update has been paused.
899
900 * composite.h (syms_of_composite): Renamed from syms_of_composition.
901
902 2001-07-18 Ken Raeburn <raeburn@gnu.org>
903
904 * fns.c (Fset_char_table_default): Check that a charset is defined
905 before checking its dimension.
906
907 2001-07-17 Ken Raeburn <raeburn@gnu.org>
908
909 * coding.c (setup_coding_system): Don't do any designation based
910 on reg_bits if charset is not yet defined.
911
912 * lisp.h (XVECTOR): Verify correct object type before returning a
913 pointer, using eassert.
914
915 2001-07-17 Gerd Moellmann <gerd@gnu.org>
916
917 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
918 Increase to 4096 because of paste problems reported on GNU/Linux.
919
920 2001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
921
922 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
923
924 2001-07-16 Gerd Moellmann <gerd@gnu.org>
925
926 * fileio.c (unwind_read): Function removed.
927 (read_non_regular, read_non_regular_quit): New functions.
928 (Finsert_file_contents): When reading from non-regular files,
929 arrange to catch a `quit' and terminate the loop. Rearrange
930 code so that a `quit' when reading from a regular file doesn't
931 insert text in the buffer.
932
933 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
934 Clear faces afterwards.
935 (clear_font_table): Take a x_display_info parameter. Don't free
936 fonts being the default font of any frame on the given display.
937
938 2001-07-13 Gerd Moellmann <gerd@gnu.org>
939
940 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
941 instead of CHAR_STRING which can signal an error.
942
943 * charset.c (char_to_string_1): Extracted from char_to_string.
944 Return -1 instead of signaling an error.
945 (char_to_string): Use it.
946
947 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
948
949 2001-07-12 Stefan Monnier <monnier@cs.yale.edu>
950
951 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
952 is t, don't try to append anything to it.
953
954 2001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
955
956 * dired.c (file_name_completion): Pass dp->d_name to
957 Fstring_match, not elt, which is always nil here.
958
959 2001-07-12 Gerd Moellmann <gerd@gnu.org>
960
961 * xselect.c (x_decline_selection_request): Handle errors
962 caused by receivers that have vanished.
963
964 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
965 ignoring events on foreign windows in #if 0. Always dispatch
966 the event after checking it with x_handle_property_notify.
967
968 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
969 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
970 TRACE macros to facilitate debugging. Add additional trace statements.
971 (toplevel): Add prototypes for file-local functions.
972 (x_atom_to_symbol): Remove DPYINFO parameter.
973
974 2001-07-11 Stefan Monnier <monnier@cs.yale.edu>
975
976 * w32menu.c (menubar_selection_callback, w32_menu_show):
977 Initialize `entry' to nil.
978 (w32_dialog_show): Remove unused `save_wv' variable.
979 (name_is_separator): Recognize "--:foo" and "--foo-bar".
980
981 2001-07-11 Gerd Moellmann <gerd@gnu.org>
982
983 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
984
985 * fileio.c (unwind_read): Print a message when discarding inserted
986 text or switching the buffer to unibyte. Change parameter.
987 (Finsert_file_contents): Don't pass VISIT to unwind_read.
988
989 * fileio.c (unwind_read): New function.
990 (Finsert_file_contents): Record it as unwind-function for
991 the case that reading is interrupted by C-g.
992
993 2001-07-10 Gerd Moellmann <gerd@gnu.org>
994
995 * dispnew.c (update_window): Don't skip the header-line
996 update when scrolling_window returns 0.
997
998 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
999
1000 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
1001 for the case that x_decode_color signals an error.
1002
1003 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1004
1005 2001-07-09 Gerd Moellmann <gerd@gnu.org>
1006
1007 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1008 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1009 around ioctls.
1010
1011 2001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1012
1013 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1014 doc string line for dos-timezone-offset.
1015
1016 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1017 inline assembly, to avoid compiler warnings.
1018 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1019 line for dos-unsupported-char-glyph.
1020
1021 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1022
1023 2001-07-05 Gerd Moellmann <gerd@gnu.org>
1024
1025 * sound.c: Include Emacs' header files with #include "...".
1026
1027 * eval.c (specbind): Additionally record the buffer that was
1028 current when a buffer-local or frame-local variable was bound.
1029
1030 2001-07-04 Gerd Moellmann <gerd@gnu.org>
1031
1032 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1033 to unibyte characters in unibyte buffers.
1034
1035 2001-07-03 Gerd Moellmann <gerd@gnu.org>
1036
1037 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1038 the frame on the binding stack. Change format of entries for
1039 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1040 (unbind_to): Handle unbinding a frame-local variable.
1041
1042 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
1043 glyphs and truncation glyphs at the end of a row from its pixel width.
1044 (dump_glyph_row): Print row's continuation_lines_width.
1045 (try_window_id): Take the shortcut if ZV is visible in the
1046 window, but there are actually no changes at ZV.
1047
1048 2001-07-02 Gerd Moellmann <gerd@gnu.org>
1049
1050 * xterm.h (x_free_dpy_colors): Add prototype.
1051
1052 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1053 right number of arguments.
1054
1055 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1056 ($(lwlibdir)TAGS): New target.
1057 (TAGS): Fix dependency list.
1058
1059 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1060 with input blocked.
1061
1062 2001-06-30 Gerd Moellmann <gerd@gnu.org>
1063
1064 * emacs.c (main): Remove extern declaration for sys_nerr, which
1065 isn't used and causes a compilation error with GCC 3.0 on
1066 FreeBSD 4.3.
1067
1068 2001-06-27 Gerd Moellmann <gerd@gnu.org>
1069
1070 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
1071 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
1072 (toplevel): Include <signal.h> and syssignal.h.
1073
1074 * sound.c (vox_configure, vox_close): Turn off atimers
1075 around ioctls.
1076
1077 2001-06-26 Gerd Moellmann <gerd@gnu.org>
1078
1079 * keyboard.c (read_char) <non_reread>: Record the previous idle
1080 start time before calling timer_stop_idle.
1081 (read_char) <reread_first>: After processing a help-echo event,
1082 restore the previous idle start time.
1083
1084 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1085 the start of invisible text.
1086 (setup_for_ellipsis): New function.
1087 (next_overlay_string): After all overlay strings have been
1088 processed, display an ellipsis if necessary.
1089 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1090 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1091
1092 * dispextern.h (struct iterator_stack_entry): Add member
1093 display_ellipsis_p.
1094
1095 2001-06-25 Gerd Moellmann <gerd@gnu.org>
1096
1097 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1098 on the value of the wait-for-wm frame parameter.
1099
1100 * xterm.h (struct x_output): Add member wait_for_wm.
1101
1102 * xfns.c (Qwait_for_wm): New variable.
1103 (x_frame_parms): Add entry for `wait-for-wm".
1104 (x_set_wait_for_wm): New function.
1105 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1106 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1107
1108 * xdisp.c (try_window_id) <all changes below window end>: Don't
1109 take this shortcut if ZV is visible in the window.
1110 (try_window_id): When checking for window start being in changed
1111 text, don't check that the buffer's size has changed.
1112
1113 2001-06-23 Richard M. Stallman <rms@gnu.org>
1114
1115 * minibuf.c (Fcompleting_read): Doc fix.
1116
1117 2001-06-19 Gerd Moellmann <gerd@gnu.org>
1118
1119 * composite.c (Ffind_composition_internal): Accept ZV
1120 and a string's end position as POS.
1121
1122 2001-06-18 Gerd Moellmann <gerd@gnu.org>
1123
1124 * composite.c (Ffind_composition_internal): Check POS
1125 for validity.
1126
1127 2001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1128
1129 * editfns.c (Fmessage_box): If the frame is not under a window
1130 system, output the message in the echo area.
1131
1132 2001-06-14 Richard M. Stallman <rms@gnu.org>
1133
1134 * xdisp.c (try_window_id): When EOB is visible, don't treat
1135 insertion at EOB as if it were "off the bottom of the screen."
1136
1137 2001-06-11 Andrew Innes <andrewi@gnu.org>
1138
1139 * w32proc.c (create_child): Add new parameter is_gui_app.
1140 (w32_executable_type): Add new parameter is_gui_app.
1141 (sys_spawnve): Use it.
1142 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1143 SIGQUIT. This matches better how the signals are interpreted by
1144 MSVC compiled programs.
1145 (syms_of_ntproc): Update docstring.
1146
1147 2001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1148
1149 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1150 well otherwise note_mouse_highlight might optimize away highlighting
1151 if we pass over that same overlay again.
1152
1153 2001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1154
1155 * lread.c (Fload): Document that the argument is run via
1156 substitute-in-file-name.
1157
1158 2001-05-31 Gerd Moellmann <gerd@gnu.org>
1159
1160 * Makefile.in (bootstrap-doc): New target.
1161 (bootstrap-emacs): Depend on it.
1162
1163 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1164 auto-save-list-file-name when shutting down Emacs, because
1165 creating the directory might signal an error, and leaves
1166 Emacs in a strange state.
1167
1168 * term.c: (tty_cursor_hidden): New variable.
1169 (update_begin): Don't call tty_hide_cursor. Clean up.
1170 (update_end, set_terminal_window, set_scroll_region): Clean up.
1171 (ring_bell, reset_terminal_modes): Clean up.
1172 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1173 on tty_cursor_hidden.
1174 (write_glyphs): Call tty_hide_cursor.
1175
1176 2001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1177
1178 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1179
1180 2001-05-30 Gerd Moellmann <gerd@gnu.org>
1181
1182 * xfns.c (enum image_value_type): New enumerator
1183 IMAGE_STRING_OR_NIL_VALUE.
1184 (parse_image_spec): Handle it.
1185 (xbm_format, pbm_format): Use it for :foreground and :background.
1186 (xbm_load, pbm_load): Check for nil color names.
1187
1188 * xterm.c (note_mouse_highlight): If an overlapping overlay
1189 exists, but we find that we highlight the same overlay as before,
1190 don't do the highlighting again.
1191
1192 2001-05-29 Gerd Moellmann <gerd@gnu.org>
1193
1194 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1195 Protect unibyte strings created by replacing their multibyte
1196 equivalents in menu_items.
1197
1198 * keymap.c (Fsingle_key_description): NUL-terminate the string
1199 buffer before calling build_string.
1200
1201 * callproc.c (Fcall_process): Deal with decode_coding returning
1202 CODING_FINISH_INCONSISTENT_EOL.
1203
1204 2001-05-28 Gerd Moellmann <gerd@gnu.org>
1205
1206 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
1207 an item's name with its key description in case the description
1208 is a multibyte string.
1209
1210 * keymap.c (Fsingle_key_description): Create a multibyte string
1211 only if necessary.
1212
1213 * macros.c (Fstart_kbd_macro): Doc fix.
1214
1215 * xterm.c (cursor_in_mouse_face_p): New function.
1216 (x_draw_stretch_glyph_string): Use it to choose a different GC
1217 when drawing a cursor within highlighted text.
1218
1219 * editfns.c (char_property_eq): Put in #if 0.
1220
1221 * indent.c (string_display_width): Put in #if 0.
1222
1223 * lread.c (Fload): Remove unused label.
1224
1225 * termcap.c (speeds): Put in #if 0.
1226
1227 2001-05-18 Gerd Moellmann <gerd@gnu.org>
1228
1229 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1230
1231 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1232 transformation matrix by 10.
1233
1234 2001-05-16 Gerd Moellmann <gerd@gnu.org>
1235
1236 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1237 only if it's equal to the former foreground pixel color.
1238 (x_set_foreground_color, x_set_background_color)
1239 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1240
1241 2001-05-16 Dave Love <fx@gnu.org>
1242
1243 * insdel.c (signal_before_change, signal_after_change): Consider a
1244 local change hook which changes the buffer.
1245
1246 * process.c (read_process_output): Don't call signal_after_change
1247 and update_compositions after insert_from_string_before_markers.
1248
1249 2001-05-16 Gerd Moellmann <gerd@gnu.org>
1250
1251 * xfaces.c (split_font_name): Use the right field when
1252 checking for `[...]' syntax.
1253
1254 * buffer.c (copy_overlays): New function.
1255 (clone_per_buffer_values): Use it.
1256
1257 * buffer.h (OVERLAY_PLIST): New macro.
1258
1259 * keymap.c (Fsingle_key_description): Replace a build_string with
1260 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1261
1262 * fontset.c (Ffontset_info): Check that face is non-null
1263 before accessing its fields.
1264
1265 2001-05-15 Gerd Moellmann <gerd@gnu.org>
1266
1267 * keyboard.c (read_key_sequence): Prevent generating a fake
1268 prefix key twice.
1269
1270 * xfaces.c (split_font_name): Handle `[...]' for the right
1271 font name fields.
1272
1273 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1274 of CCL_STAT_INVALID_CMD.
1275
1276 2001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1277
1278 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1279 in <var> has no default value yet.
1280
1281 * xfaces.c (try_alternative_families): First try the FAMILY.
1282 And if nothing is found in the end, try again with scalable fonts.
1283 (try_font_list): Let try_alternative_families do a bit more of
1284 the work. Only use FAMILY if it is not nil.
1285 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1286
1287 2001-05-14 Gerd Moellmann <gerd@gnu.org>
1288
1289 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1290 pointer shape when show_mouse_face has already done it.
1291
1292 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
1293 full-width rows.
1294
1295 * xfaces.c (split_font_name): Make sure to leave the loop
1296 with the right value of `i'.
1297
1298 * xfaces.c (split_font_name): Handle matrix transformations
1299 in the pixel and point size fields of XLFD font names.
1300 (xlfd_point_size): Likewise.
1301
1302 2001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1303
1304 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
1305 (x_to_w32_font): Add prototype.
1306
1307 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1308 redefining, to avoid compiler warnings.
1309
1310 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1311
1312 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1313 (w32_get_bdf_glyph): Cast between unsigned char and char when
1314 passing arguments to subroutines, to shut up compiler warnings.
1315 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1316 GET_HEX_VAL.
1317
1318 * xfaces.c: Include keyboard.h before frame.h, not after it.
1319
1320 * widget.c: Include keyboard.h before frame.h.
1321
1322 * w32term.h (struct image, struct face): Forward declaration, to
1323 avoid compiler warnings.
1324
1325 2001-05-11 Gerd Moellmann <gerd@gnu.org>
1326
1327 * keyboard.c (read_key_sequence): Don't modify events when
1328 generating fake prefix keys (mode-line, scroll-bar, ...) since
1329 this prevents proper processing of such events when pushed back
1330 into unread-command-events.
1331
1332 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1333 actually redrawn. Make the function static.
1334 (note_mouse_highlight): Fix a case where the mouse cursor
1335 was changed back to the text cursor.
1336
1337 * xterm.h (clear_mouse_face): Remove prototype.
1338
1339 * xdisp.c (try_window_id): Fix the fix and set the right
1340 window_end_vpos.
1341
1342 * xdisp.c (try_window_id): Fix computation of window end in the
1343 case that lines were deleted at the end of the window. Add some
1344 more debug_method_adds.
1345
1346 * xfaces.c (try_alternative_families): New function.
1347 (try_font_list): Use it. If ATTRS specifies a family, check
1348 fonts from that family first.
1349 (choose_face_font): Remove code setting the family part of
1350 the pattern to nil.
1351
1352 2001-05-10 Gerd Moellmann <gerd@gnu.org>
1353
1354 * xdisp.c (try_window_id): Fix case of all changes before
1355 the window start.
1356
1357 * xdisp.c (try_window_id): Add some xasserts.
1358
1359 2001-05-09 Gerd Moellmann <gerd@gnu.org>
1360
1361 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1362
1363 2001-05-09 Dave Love <fx@gnu.org>
1364
1365 * xdisp.c (GIVE_UP): Fix for K&R C.
1366
1367 2001-05-09 Gerd Moellmann <gerd@gnu.org>
1368
1369 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1370
1371 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1372 back to the text cursor shape without need.
1373
1374 2001-05-07 Gerd Moellmann <gerd@gnu.org>
1375
1376 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1377
1378 * dispextern.h (inverse_video): Declare extern.
1379
1380 * keyboard.c (delete_kboard): Handle the case that selected_frame
1381 has been deleted in the course of x_connection_closed.
1382
1383 2001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1384
1385 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1386 Fix the change from 2001-04-30.
1387
1388 2001-05-03 Gerd Moellmann <gerd@gnu.org>
1389
1390 * xfns.c (file_dialog_unmap_cb): New function.
1391 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1392 where a dialog is closed via the window manager.
1393
1394 * xdisp.c (try_window_id): Cases of changes all in front of
1395 the window start or all below the window end mostly rewritten.
1396 (redisplay_window): Move the tests if try_window_id is
1397 applicable to try_window_id.
1398 (GIVE_UP): New macro.
1399
1400 2001-05-02 Gerd Moellmann <gerd@gnu.org>
1401
1402 * xterm.c (expose_window): Return int. If W is the window
1403 currently being updated, mark the frame garbaged.
1404 Fix computation of rows intersecting the exposed rectangle.
1405 (expose_window_tree): Stop when expose_window returns 0.
1406
1407 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1408 again if it has already been drawn.
1409
1410 2001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1411
1412 * syntax.c (update_syntax_table): Check that oldi has the same
1413 properties as old_prop before deciding not to invalidate.
1414
1415 2001-04-30 Gerd Moellmann <gerd@gnu.org>
1416
1417 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1418 read-only text that is so because of text properties.
1419
1420 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
1421 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
1422 windows that are components of a Lucid menu bar.
1423
1424 2001-04-27 Gerd Moellmann <gerd@gnu.org>
1425
1426 * term.c (turn_on_face): Fix reverse video handling on terminals
1427 that don't support colors.
1428
1429 2001-04-26 Gerd Moellmann <gerd@gnu.org>
1430
1431 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1432 a non-buffer.
1433
1434 2001-04-25 Gerd Moellmann <gerd@gnu.org>
1435
1436 * term.c (toggle_highlight): New function.
1437 (turn_on_face): Change handling of reverse video.
1438
1439 * process.c (wait_reading_process_input):
1440 Call record_asynch_buffer_change only if a timer really changed buffers.
1441
1442 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1443 of the number of overlays to check.
1444
1445 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1446
1447 * xdisp.c (try_window_id): Fix a case where window_end_pos
1448 and window_end_bytepos were not adjusted.
1449
1450 2001-04-23 Gerd Moellmann <gerd@gnu.org>
1451
1452 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1453 zero instead of -1.
1454
1455 2001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1456
1457 * process.c (wait_reading_process_input) [!subprocesses]:
1458 Don't reference waiting_for_user_input_p, it's not defined in the
1459 branch without async subprocesses support.
1460
1461 2001-04-19 Gerd Moellmann <gerd@gnu.org>
1462
1463 * keyboard.c (delete_kboard): Prevent a dangling reference
1464 from current_kboard to KB, which is freed.
1465
1466 * process.c (wait_reading_process_input):
1467 Call record_asynch_buffer_change after running timers, to make
1468 read_key_sequence aware of buffer changes from under it.
1469
1470 2001-04-18 Gerd Moellmann <gerd@gnu.org>
1471
1472 * xfaces.c (Qscalable_fonts_allowed): New variable.
1473 (realizing_basic_faces_p): Removed.
1474 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1475 removed.
1476 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
1477 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1478 for scalable-fonts-allowed to t.
1479
1480 * fileio.c (Finsert_file_contents): If the file size returned from
1481 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
1482 read from files on a procfs whose contents are generated dynamically.
1483
1484 2001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1485
1486 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1487 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1488 (__memalign_hook): Make the two prototypes consistent.
1489
1490 2001-04-17 Gerd Moellmann <gerd@gnu.org>
1491
1492 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1493 matrix of mini-windows.
1494
1495 2001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1496
1497 * intervals.c (find_interval): Don't rebalance during signal handling.
1498
1499 2001-04-11 Gerd Moellmann <gerd@gnu.org>
1500
1501 * fns.c: Include blockinput.h.
1502
1503 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1504
1505 2001-04-10 Gerd Moellmann <gerd@gnu.org>
1506
1507 * fns.c (Fcompare_strings): Fix return values.
1508
1509 * window.c (window_scroll): Change the meaning of N to mean
1510 N screen-fulls or N lines.
1511 (window_scroll_pixel_based, window_scroll_line_based)
1512 (scroll_command, Fscroll_other_window): Change accordingly.
1513
1514 * window.c (window_scroll_pixel_based, Frecenter):
1515 Call window_box_height instead of using it.last_visible_y for the
1516 height of the window.
1517
1518 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1519 instead of using it.last_visible_y for the height of the window.
1520
1521 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
1522 From Dan Holmsand <dan@eyebee.com>.
1523
1524 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
1525 able to write to hidden and system files. From Dan Holmsand
1526 <dan@eyebee.com>.
1527
1528 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1529 Holmsand <dan@eyebee.com>.
1530
1531 2001-04-09 Gerd Moellmann <gerd@gnu.org>
1532
1533 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1534
1535 * window.c (window_internal_height): Return 1 less if the
1536 window has a header line.
1537
1538 * xdisp.c (try_window_id): When scrolling on a terminal, take
1539 the change of window_internal_height into account.
1540
1541 2001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1542
1543 * gmalloc.c (align): If the argument SIZE would overflow
1544 __malloc_ptrdiff_t, fail right away.
1545
1546 2001-04-06 Gerd Moellmann <gerd@gnu.org>
1547
1548 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1549 Make sure the tooltip is completely visible.
1550 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1551
1552 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1553
1554 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1555
1556 2001-04-06 Dave Love <fx@gnu.org>
1557
1558 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1559 Fix test of `from'.
1560
1561 2001-04-06 Gerd Moellmann <gerd@gnu.org>
1562
1563 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
1564
1565 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1566
1567 2001-04-05 Gerd Moellmann <gerd@gnu.org>
1568
1569 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1570
1571 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
1572
1573 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1574 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1575
1576 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1577 shell widget's position only if it is non-null.
1578
1579 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1580 Set f->output_data.x->widget to null after destroying it.
1581
1582 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1583 FILENAME to bring it in synch with the documentation.
1584
1585 * xfaces.c (realizing_basic_faces_p): Renamed from
1586 realize_default_face_p.
1587 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1588 (realize_default_face): Don't set the flag.
1589
1590 2001-04-04 Gerd Moellmann <gerd@gnu.org>
1591
1592 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1593
1594 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1595
1596 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1597 the buffer that was used for echoing.
1598
1599 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1600 (first_font_matching): Removed unused function.
1601 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1602 (may_use_scalable_font_p): Remove parameter FONT; rename
1603 parameter NAME to FONT.
1604 (x_face_list_fonts): Fix missing bounds check.
1605 (realizing_default_face_p): New variable.
1606 (realize_default_face): Set and clear that flag.
1607 (x_face_list_fonts): When called during the realization of the
1608 default face, and no matching fonts are found when ignoring
1609 scalable fonts and fonts matching a regexp from
1610 face-ignored-fonts, try without ignoring fonts.
1611
1612 2001-04-03 Gerd Moellmann <gerd@gnu.org>
1613
1614 * xfns.c (postprocess_image): New function.
1615 (lookup_image): Call it for all image types except PostScript.
1616 (x_kill_gs_process): Call postprocess_image.
1617
1618 * xterm.c (x_use_underline_position_properties): New variable.
1619 (x_draw_glyph_string): Use it.
1620 (syms_of_xterm): DEFVAR_BOOL it.
1621
1622 2001-04-02 Gerd Moellmann <gerd@gnu.org>
1623
1624 * xterm.c (x_alloc_nearest_color_1): New function.
1625 (x_alloc_nearest_color): Use it.
1626 (x_color_cells): Take a Display as argument, instead of a frame.
1627 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1628 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1629 (x_initialize): Register cvt_string_to_pixel as resource converter
1630 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1631
1632 2001-03-30 Gerd Moellmann <gerd@gnu.org>
1633
1634 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1635 (set_iterator_to_next): If a string from a display property ends,
1636 consider the case that this might also be the end of an
1637 overlay string having the display property.
1638
1639 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
1640
1641 * xdisp.c (reseat_to_string): Undo last change.
1642
1643 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1644 matrix of a window when the header line changes, when
1645 new rows are allocated, or when the width changes.
1646
1647 2001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1648
1649 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
1650
1651 2001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1652
1653 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1654 deprecated.
1655
1656 2001-03-29 Gerd Moellmann <gerd@gnu.org>
1657
1658 * data.c (Fsubr_interactive_form): New function.
1659 (syms_of_data): Defsubr it.
1660
1661 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1662 (live_float_p, live_misc_p): Return 1 only if the offset of the
1663 pointer in its block is >= 0.
1664
1665 2001-03-28 Paul Eggert <eggert@twinsun.com>
1666
1667 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1668 microseconds calcuation. Avoid double-rounding problem.
1669 In doc string, warn that the result is approximate.
1670
1671 2001-03-28 Gerd Moellmann <gerd@gnu.org>
1672
1673 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1674 bind `inhibit-eval-during-redisplay' to t.
1675
1676 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1677
1678 * xdisp.c (inhibit_eval_during_redisplay)
1679 (Qinhibit_eval_during_redisplay): New variables.
1680 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1681 don't eval, return nil instead.
1682 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1683 Initialize Qinhibit_eval_during_redisplay.
1684
1685 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1686 the iterator's multibyte_p flag.
1687
1688 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1689 instead of setting it to zero; it's incremented for each frame
1690 where the menu face is changed.
1691
1692 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1693 change bottom shadow accordingly.
1694
1695 * xterm.c (expose_window_tree, expose_frame): Don't compute
1696 intersections here.
1697 (expose_window): Do it here instead.
1698 (x_draw_glyph_string): Fix a computation of the underline position.
1699
1700 * bytecode.c (BYTE_CODE_QUIT): New macro.
1701 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1702
1703 2001-03-27 Gerd Moellmann <gerd@gnu.org>
1704
1705 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1706 Give up if matrix starts in an ellipsis.
1707 (init_from_display_pos): Do nothing if POS doesn't specify
1708 a dpvec_index but the iterator has such a position.
1709
1710 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1711
1712 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1713 x/y position is (0, 0) after destroying the menu bar, restore
1714 its original position.
1715
1716 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1717 (init_from_display_pos): Use it.
1718 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1719
1720 2001-03-26 Gerd Moellmann <gerd@gnu.org>
1721
1722 * xdisp.c (try_window_id): Undo last change.
1723
1724 2001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1725
1726 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1727
1728 * buffer.c (syms_of_buffer): Doc fix.
1729
1730 2001-03-26 Gerd Moellmann <gerd@gnu.org>
1731
1732 * xfaces.c (x_update_menu_appearance): Use local variable
1733 popup_path for setting font resources.
1734
1735 2001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1736
1737 * frame.c (Fframe_list): Don't reference tip_frame if
1738 HAVE_WINDOW_SYSTEM is not defined.
1739
1740 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1741 <wl@gnu.org>.
1742
1743 2001-03-25 Gerd Moellmann <gerd@gnu.org>
1744
1745 * xdisp.c (init_from_display_pos): Test invisible property
1746 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
1747
1748 * xdisp.c (redisplay_internal) <update one window>: Make sure
1749 last_arrow_position and last_arrow_string are set.
1750
1751 * frame.c (Fframe_list): Don't return a tooltip frame.
1752
1753 2001-03-23 Gerd Moellmann <gerd@gnu.org>
1754
1755 * xdisp.c (mark_window_display_accurate_1): New function,
1756 extracted from mark_window_display_accurate.
1757 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
1758 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1759 (mark_window_display_accurate): Use it.
1760 (redisplay_internal): Use it for the selected window.
1761 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1762 for the selected frame.
1763
1764 * xdisp.c Use make_number, for readability.
1765 (try_window_id): Disable rows below the window end.
1766 (try_window_reusing_current_matrix): Use cursor_row_p.
1767 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1768 of rows.
1769 (init_from_display_pos): If POS specifies a position in a display
1770 vector, maybe get the iterator set up for that ellipsis.
1771
1772 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1773
1774 2001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1775
1776 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1777
1778 2001-03-23 Gerd Moellmann <gerd@gnu.org>
1779
1780 * xfaces.c (x_update_menu_appearance): Use a different path
1781 for Lucid popup menus.
1782
1783 2001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1784
1785 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1786
1787 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1788 (string_buffer_position): Use `make_number'.
1789
1790 2001-03-22 Gerd Moellmann <gerd@gnu.org>
1791
1792 * xfaces.c (x_update_menu_appearance): Renamed from
1793 x_set_menu_face_resources. Use different resources for popups.
1794
1795 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1796 (GC_CHECK_STRING_BYTES): Don't define.
1797
1798 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1799 Removed, together with subroutines.
1800 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
1801 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
1802
1803 * dispextern.h (x_set_menu_resources_from_menu_face):
1804 Remove prototype.
1805
1806 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
1807 Remove calls to x_set_menu_resources_from_menu_face.
1808
1809 * xfaces.c (xm_set_menu_resources_from_menu_face):
1810 Remove #ifndef LESSTIF_VERSION.
1811
1812 * xmenu.c: Include widget.h.
1813 (single_submenu): Return int. Some cleanup.
1814 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1815
1816 2001-03-21 Gerd Moellmann <gerd@gnu.org>
1817
1818 * xterm.c (x_update_window_end): Handle overwritten mouse face
1819 also for tool bar windows.
1820 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1821 DRAW is DRAW_IMAGE_RAISED.
1822
1823 2001-03-20 Gerd Moellmann <gerd@gnu.org>
1824
1825 * print.c (syms_of_print): Doc fixes.
1826
1827 * fns.c (Fmd5): Doc fix.
1828
1829 2001-03-19 Gerd Moellmann <gerd@gnu.org>
1830
1831 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1832 Clear area of the frame not occupied by the scroll bar.
1833
1834 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1835 tip frame's root window buffer to *tip* right after creating
1836 the frame.
1837
1838 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1839 is an integer don't have to be for space characters.
1840
1841 2001-03-16 Gerd Moellmann <gerd@gnu.org>
1842
1843 * indent.c (current_column, current_column_1, Fmove_to_column)
1844 (compute_motion): Handle characters from display vectors differently.
1845
1846 2001-03-15 Kenichi Handa <handa@etl.go.jp>
1847
1848 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1849 drawing glyph string.
1850
1851 2001-03-15 Gerd Moellmann <gerd@gnu.org>
1852
1853 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1854 (command_loop_1): Undo last change.
1855
1856 * xterm.c (fast_find_position): Return the correct vpos.
1857
1858 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
1859 non-null, set a per-buffer value in BUF instead of the current buffer.
1860 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1861 Call store_symval_forwarding with BUF null.
1862 (set_internal): Call store_symval_forwarding with the BUF
1863 parameter passed to set_internal. Formerly, the value was always
1864 set in the current buffer; the buffer recorded in specbind for
1865 this case wasn't used.
1866 (arith_driver): Reindent.
1867
1868 * buffer.c (swap_out_buffer_local_variables):
1869 Call store_symval_forwarding with BUF null.
1870
1871 * lisp.h (store_symval_forwarding): Change prototype.
1872
1873 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1874
1875 2001-03-14 Gerd Moellmann <gerd@gnu.org>
1876
1877 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1878 FOR_DELETION. Avoid resizing the mini-window of the selected
1879 frame if FOR_DELETION is set.
1880 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1881 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1882 signature.
1883
1884 * window.c (Fset_window_configuration): Change call to
1885 do_switch_frame to new format.
1886
1887 * keyboard.c (quit_throw_to_read_char): Change call to
1888 do_switch_frame to new format.
1889
1890 * lisp.h (do_switch_frame): Change prototype.
1891
1892 * frame.c (Fframe_parameters): In the `buffer-list' frame
1893 parameter, store the buffer list of FRAME, not the list of the
1894 selected frame.
1895
1896 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1897 box just because the glyph row's full_width_p flag is set.
1898
1899 2001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1900
1901 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1902 skip the padding blanks inserted in extend_face_to_end_of_line,
1903 before checking for trailing whitespace.
1904
1905 2001-03-13 Gerd Moellmann <gerd@gnu.org>
1906
1907 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
1908 Remove special handling for LessTif/Motif.
1909 (toplevel): Don't include Xm/Xm.h.
1910
1911 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1912 Remove workaround code for LessTif; it doesn't work anymore.
1913
1914 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
1915 Xm/ScrollBarP.h.
1916
1917 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1918 Don't access private scroll bar data; it's no longer necessary with
1919 contemporary LessTif.
1920
1921 * xfaces.c (xm_set_menu_resources_from_menu_face):
1922 Change #if 0 to #ifndef LESSTIF_VERSION.
1923
1924 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1925 removing button grabs.
1926
1927 2001-03-13 Kenichi Handa <handa@etl.go.jp>
1928
1929 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1930 and clip-large-size-font as obsolete.
1931
1932 * lread.c (read_multibyte): Check the validity of multibyte
1933 sequence. If invalid, return the first byte.
1934
1935 2001-03-12 Gerd Moellmann <gerd@gnu.org>
1936
1937 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1938 before running the command; timer functions or process
1939 filters may have set it.
1940
1941 2001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1942
1943 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1944 Doc fix.
1945
1946 2001-03-12 Gerd Moellmann <gerd@gnu.org>
1947
1948 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1949 to sprintf.
1950
1951 2001-03-09 Gerd Moellmann <gerd@gnu.org>
1952
1953 * dispextern.h (string_buffer_position): Add prototype.
1954
1955 * xdisp.c (string_buffer_position, display_prop_string_p)
1956 (single_display_prop_string_p): New functions.
1957
1958 * xterm.c (note_mouse_highlight): If there's no help-echo on
1959 a string, look at the buffer text ``under'' it.
1960
1961 * keyboard.c (make_lispy_event): Add string info to the event,
1962 analogous to what's done on mode lines.
1963 (read_key_sequence): For a click on a string, consider `local-map'
1964 and `keymap' of that string.
1965
1966 * keyboard.c (make_lispy_event, make_lispy_movement):
1967 Adjust calls to buffer_posn_from_coords to new format.
1968
1969 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1970
1971 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1972 POS; return void.
1973
1974 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1975 flags argument to emacs_open; it seems to conflict with O_EXCL.
1976
1977 2001-03-09 Kenichi Handa <handa@etl.go.jp>
1978
1979 * composite.h (struct composition): Change types of members;
1980 glyph_len to unsigned, width to unsigned short.
1981
1982 2001-03-08 Andrew Innes <andrewi@gnu.org>
1983
1984 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1985 menu titles.
1986
1987 2001-03-08 Gerd Moellmann <gerd@gnu.org>
1988
1989 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1990 instead of nil.
1991
1992 * xterm.c (note_mouse_highlight): Handle mouse-face and
1993 help-echo in strings.
1994 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1995 (fast_find_string_pos): New function.
1996
1997 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1998 (display_string): Call face_at_string_position with new parameter.
1999
2000 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2001 Handle `mouse-face'.
2002
2003 * dispextern.h (face_at_string_position): Change prototype.
2004
2005 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
2006
2007 * keyboard.c (make_lispy_event): Avoid generating drag events
2008 if the mouse hasn't actually moved to another buffer position.
2009
2010 2001-03-08 Dave Love <fx@gnu.org>
2011
2012 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
2013
2014 2001-03-08 Gerd Moellmann <gerd@gnu.org>
2015
2016 * process.c (Fset_process_window_size): Fix a typo.
2017
2018 2001-03-08 Kenichi Handa <handa@etl.go.jp>
2019
2020 * coding.c (detect_coding_sjis): Do more rigid check.
2021 (detect_coding_big5): Likewise.
2022 (decode_coding_sjis_big5): Likewise.
2023 (Fdetect_coding_region): Call detect_coding_system with tailing
2024 anchor byte `\0' for more rigid detection.
2025 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
2026 (Fdetect_coding_string): Likewise.
2027
2028 2001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2029
2030 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2031 a string before extracting its data.
2032
2033 2001-03-07 Gerd Moellmann <gerd@gnu.org>
2034
2035 * window.c (Frecenter): Rewrite code handling negative values
2036 of ARG on graphical frames.
2037
2038 2001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2039
2040 * window.c (displayed_window_lines): If W->start is outside the
2041 accessible portion of the buffer, call start_display with BEGV or
2042 ZV instead of W->start.
2043
2044 2001-03-07 Gerd Moellmann <gerd@gnu.org>
2045
2046 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2047
2048 * process.c (Fset_process_filter): Don't crash if the input
2049 file descriptor of PROCESS is closed.
2050 (Fset_process_window_size): Likewise.
2051
2052 2001-03-06 Kenichi Handa <handa@etl.go.jp>
2053
2054 * xterm.c (XTflash): Make the timeout of select shorter, and call
2055 select repeatedly until the desired time expires.
2056
2057 2001-03-06 Gerd Moellmann <gerd@gnu.org>
2058
2059 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2060
2061 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2062
2063 * lisp.h (Vwindow_list): Declare extern.
2064
2065 2001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2066
2067 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2068
2069 2001-03-06 Gerd Moellmann <gerd@gnu.org>
2070
2071 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2072 to detect a case where we have to highlight a different region
2073 despite not having left the currently highlighted region.
2074 Set mouse_face_overlay in the x_display_info.
2075 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
2076
2077 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2078
2079 * buffer.c (mouse_face_overlay_overlaps): New function.
2080
2081 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2082 (Qmouse_face): Declare extern.
2083
2084 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2085 if face_change_count is non-zero.
2086
2087 2001-03-06 Kenichi Handa <handa@etl.go.jp>
2088
2089 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2090 that the source is unibyte.
2091
2092 2001-03-05 Dave Love <fx@gnu.org>
2093
2094 * xterm.c (XTmouse_position): Fix typo.
2095
2096 2001-03-05 Gerd Moellmann <gerd@gnu.org>
2097
2098 * minibuf.c (read_minibuf): Clean up the binding stack if
2099 called noninteractively.
2100
2101 2001-03-05 Kenichi Handa <handa@etl.go.jp>
2102
2103 * coding.c (syms_of_coding): Docstring modified.
2104
2105 2001-03-05 Kenichi Handa <handa@etl.go.jp>
2106
2107 * charset.c (char_to_string): If a single byte char has modifier
2108 bits that can't be reflected to the character code, ignore them
2109 instead of signaling an error.
2110
2111 2001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2112
2113 * s/msdos.h: Update copyright notice.
2114
2115 * dosfns.h: Update copyright notice.
2116
2117 * dosfns.c: Update copyright notice.
2118
2119 * msdos.c: Update copyright notice.
2120
2121 2001-03-02 Gerd Moellmann <gerd@gnu.org>
2122
2123 * xterm.c (glyph_rect): New function.
2124 (XTmouse_position): Use it to raise the threshold for mouse
2125 movement event generation.
2126
2127 2001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2128
2129 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2130 specifies (reverse . t), reverse the initial screen colors.
2131 (IT_set_frame_parameters): If the property is foreground-color,
2132 but we are reversing the colors, set bg_set, not fg_set.
2133 Likewise for setting background-color and reversing: set fg_set.
2134 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
2135 in effect.
2136
2137 * xfaces.c (Finternal_set_lisp_face_attribute)
2138 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2139 parameters alist.
2140
2141 2001-03-02 Gerd Moellmann <gerd@gnu.org>
2142
2143 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2144 to a single slash in the middle of file names.
2145
2146 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
2147 Accept only alphanumeric time zone names.
2148
2149 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2150 or width area.
2151 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2152 a widget to zero height.
2153
2154 2001-03-01 Gerd Moellmann <gerd@gnu.org>
2155
2156 * window.c (Fwindow_end): Call move_it_past_eol only if
2157 ending up on a partially visible line.
2158
2159 2001-03-01 Dave Love <fx@gnu.org>
2160
2161 * ccl.c (Fccl_execute): Doc fix.
2162
2163 2001-03-01 Gerd Moellmann <gerd@gnu.org>
2164
2165 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2166 of the tool bar before calling x_figure_window_size.
2167
2168 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2169 NULL after destroying it, otherwise XTread_socket can access a
2170 destroyed widget when input is unblocked.
2171
2172 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
2173
2174 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2175 same name as before, although there was a change in fontsets.
2176
2177 2001-02-28 Ken Raeburn <raeburn@gnu.org>
2178
2179 * lisp.h (Fframe_parameter): Declare.
2180
2181 * window.c (set_window_buffer): Field vscroll is an int, not a
2182 Lisp_Object.
2183
2184 2001-02-28 Gerd Moellmann <gerd@gnu.org>
2185
2186 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2187 NULL instead.
2188
2189 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2190 NULL instead.
2191
2192 * alloc.c (toplevel): Include process.h.
2193 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2194 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2195 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
2196 (allocate_vector, allocate_hash_table, allocate_window)
2197 (allocate_frame, allocate_process, allocate_other_vector):
2198 New functions.
2199 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2200 (mark_maybe_pointer): New function.
2201 (mark_memory): Also mark Lisp data to which only pointers
2202 remain and not Lisp_Objects.
2203 (min_heap_address, max_heap_address): New variables.
2204 (mem_find): Return MEM_NIL if START is below min_heap_address or
2205 above max_heap_address.
2206 (mem_insert): Compute min_heap_address and max_heap_address.
2207
2208 * process.c (make_process): Use allocate_process.
2209
2210 * frame.c (make_frame): Use allocate_frame.
2211
2212 * window.c (make_window, make_dummy_parent): Use allocate_window.
2213 (Fcurrent_window_configuration): Use allocate_other_vector.
2214
2215 * lisp.h (allocate_vectorlike): Remove prototype.
2216 (allocate_vector, allocate_other_vector, allocate_frame)
2217 (allocate_window, allocate_process, allocate_hash_table):
2218 Add prototypes.
2219
2220 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2221 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2222
2223 2001-02-27 Kenichi Handa <handa@etl.go.jp>
2224
2225 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2226 treat the produced bytes as a valid multibyte sequence.
2227
2228 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
2229 (ccl_driver) <CCL_WriteMultibyteChar2>:
2230 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
2231 <ccl_finish>: Set ccl->eight_bit_control properly.
2232
2233 * ccl.h (struct ccl_program): New member eight_bit_control.
2234
2235 2001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2236
2237 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2238 accessible_keymaps_char_table.
2239 (accessible_keymaps_char_table): Obey `is_metized'.
2240 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2241 Lisp_Object.
2242
2243 2001-02-26 Gerd Moellmann <gerd@gnu.org>
2244
2245 * dispnew.c: Check HAVE_TERM_H before including term.h.
2246
2247 2001-02-24 Andrew Innes <andrewi@gnu.org>
2248
2249 * makefile.w32-in: Update copyright notice.
2250
2251 2001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2252
2253 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2254
2255 2001-02-24 Kenichi Handa <handa@etl.go.jp>
2256
2257 * Makefile.in (lisp): Add international/utf-8.elc.
2258
2259 * fontset.c (Fnew_fontset): Fix handling of the case that an
2260 element of FONTLIST is a cons of family and registry.
2261
2262 2001-02-23 Jason Rumney <jasonr@gnu.org>
2263
2264 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2265 to height unconditionally.
2266
2267 * w32term.c (x_set_glyph_string_background_width): Extend the
2268 background face to the end of the drawing area in the text area, only.
2269 (x_insert_glyphs): Call window_box_left to obtain the left
2270 x-coordinate of the area to shift.
2271
2272 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2273 safe_run_hooks.
2274
2275 2001-02-22 Andrew Innes <andrewi@gnu.org>
2276
2277 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
2278 ($(BLD)\dispnew.obj):
2279 ($(BLD)\editfns.obj):
2280 ($(BLD)\fileio.obj):
2281 ($(BLD)\filelock.obj):
2282 ($(BLD)\keyboard.obj):
2283 ($(BLD)\w32proc.obj):
2284 ($(BLD)\process.obj):
2285 ($(BLD)\sysdep.obj): Ditto.
2286
2287 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2288 header files.
2289 ($(BLD)/dispnew.$(O)):
2290 ($(BLD)/editfns.$(O)):
2291 ($(BLD)/fileio.$(O)):
2292 ($(BLD)/filelock.$(O)):
2293 ($(BLD)/keyboard.$(O)):
2294 ($(BLD)/w32proc.$(O)):
2295 ($(BLD)/process.$(O)):
2296 ($(BLD)/sysdep.$(O)): Ditto.
2297
2298 2001-02-22 Gerd Moellmann <gerd@gnu.org>
2299
2300 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2301 at the start of the function, check that the \n in it->c is
2302 from the iterator's current position.
2303
2304 * xdisp.c (handle_single_display_prop): Add parameter
2305 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2306 properties which replace the display of text with something else.
2307 (handle_display_prop): Call handle_single_display_prop with
2308 additional argument saying if we already replaced text display
2309 with something else. Use AREF.
2310 (with_echo_area_buffer_unwind_data, display_menu_bar)
2311 (decode_mode_spec_coding): Use AREF and ASIZE.
2312
2313 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2314 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2315 * vmstime.h: Files removed.
2316
2317 * unexencap.c, unexfx2800.c: Files removed.
2318
2319 * dispnew.c (direct_output_for_insert): Give up if we are showing
2320 a message or just cleared the message because we might need to
2321 resize the echo area window or display an empty echo area.
2322
2323 2001-02-21 Gerd Moellmann <gerd@gnu.org>
2324
2325 * xdisp.c (redisplay_internal): Do the
2326 mark_window_display_accurate after all windows have been
2327 redisplayed because this call resets flags in buffers which are
2328 needed for proper redisplay.
2329
2330 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2331 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
2332 the old names.
2333
2334 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2335 busy_window to hourglass_window, busy_p to hourglass_p.
2336
2337 * msdos.h (struct x_output): Rename busy_window to
2338 hourglass_window, busy_p to hourglass_p.
2339
2340 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2341 busy_window to hourglass_window, busy_p to hourglass_p.
2342
2343 * xfns.c: Rename everything containing *busy_cursor* and similar
2344 to *hourglass*.
2345 (syms_of_w32fns): Rename x-busy-pointer-shape to
2346 x-hourglass-pointer-shape, display-busy-cursor to
2347 display-hourglass, busy-cursor-delay to hourglass-delay.
2348
2349 * w32fns.c: Rename everything containing *busy_cursor* and similar
2350 to *hourglass*.
2351 (syms_of_w32fns): Rename x-busy-pointer-shape to
2352 x-hourglass-pointer-shape, display-busy-cursor to
2353 display-hourglass, busy-cursor-delay to hourglass-delay.
2354
2355 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2356 of its busy_p flag.
2357
2358 * dispextern.h (start_hourglass, cancel_hourglass)
2359 (display_hourglass_p): Renamed from *busy_cursor*.
2360
2361 2001-02-20 Gerd Moellmann <gerd@gnu.org>
2362
2363 * keyboard.c (read_char): When an event from unread-command-events
2364 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2365
2366 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2367 equal to the current buffer.
2368
2369 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2370 nil, otherwise we're left with truncate_lines t when a message
2371 is printed with message-truncate-lines bound to t.
2372
2373 2001-02-19 Gerd Moellmann <gerd@gnu.org>
2374
2375 * window.c (Fmove_to_window_line): Undo last change.
2376 (displayed_window_lines): Call line_bottom_y to determine
2377 the line's bottom position.
2378
2379 * dispextern.h (line_bottom_y): Add prototype.
2380
2381 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
2382 (pos_visible_p): Use it.
2383
2384 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2385 set redisplaying_p to 0 here instead of in Frecursive_edit.
2386 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2387 set redisplaying_p.
2388
2389 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
2390 New variables.
2391 (syms_of_xdisp): Initialize new variables.
2392 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2393 Specbind `inhibit-menubar-update' when updating the menu bar.
2394
2395 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2396 safe_run_hooks.
2397
2398 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2399 safe_run_hooks.
2400
2401 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2402 is null.
2403
2404 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2405 to the start of the file.
2406
2407 2001-02-16 Gerd Moellmann <gerd@gnu.org>
2408
2409 * window.c (set_window_buffer): Fix last change.
2410
2411 * window.c (set_window_buffer): Set window's vscroll to 0.
2412
2413 * window.c (coordinates_in_window): Increase width of area
2414 where the vertical line can be dragged.
2415
2416 * xterm.c (x_set_glyph_string_background_width): Extend the
2417 background face to the end of the drawing area in the text
2418 area, only.
2419
2420 * xdisp.c (handle_single_display_prop): Set iterator's position
2421 to where the `display' property starts, like for images.
2422 (dump_glyph): New function.
2423 (dump_glyph_row): Use it. Dump info about marginal areas.
2424
2425 * dispnew.c (direct_output_for_insert): Recognize more cases where
2426 glyphs can be written instead of being inserted.
2427
2428 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2429 the left x-coordinate of the area to shift.
2430
2431 * dired.c (directory_files_internal): Set result list to nil
2432 before retrying.
2433
2434 2001-02-15 Kenichi Handa <handa@etl.go.jp>
2435
2436 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2437 invalid multibyte sequence, treat *SRC as a character of
2438 eight-bit-graphic.
2439
2440 2001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2441
2442 * textprop.c (Fset_text_properties): Doc fix.
2443
2444 2001-02-15 Gerd Moellmann <gerd@gnu.org>
2445
2446 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2447
2448 2001-02-14 Dave Love <fx@gnu.org>
2449
2450 * coding.c: Doc and message fixes.
2451
2452 2001-02-14 Andrew Innes <andrewi@gnu.org>
2453
2454 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2455 Emacs frame above the screen size.
2456
2457 2001-02-14 Gerd Moellmann <gerd@gnu.org>
2458
2459 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2460
2461 2001-02-13 Gerd Moellmann <gerd@gnu.org>
2462
2463 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2464 case that TO ends up beyond ZV after running before-change-functions.
2465
2466 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2467 the selected window if it is showing the buffer in question.
2468
2469 * dired.c (directory_files_internal): Initialize errno.
2470 (toplevel): Include errno.h.
2471
2472 2001-02-13 Kenichi Handa <handa@etl.go.jp>
2473
2474 * xfaces.c (best_matching_font): New parameter width_ratio.
2475 Multiply avgwidth by width_ratio.
2476 (choose_face_font): Call best_matching_font with width_ratio
2477 calculated from the column width of C.
2478
2479 2001-02-12 Andrew Innes <andrewi@gnu.org>
2480
2481 The following changes are to draw box lines inside characters area
2482 if line-width is negative.
2483
2484 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2485 face->box_line_width is negative.
2486 (x_produce_stretch_glyph): Likewise.
2487 (x_produce_glyphs): Likewise.
2488 (x_estimate_mode_line_height): Likewise.
2489 (x_draw_glyph_string_background): Likewise.
2490 (x_draw_glyph_string_foreground): Likewise.
2491 (x_draw_composite_glyph_string_foreground): Likewise.
2492 (x_draw_glyph_string_box): Likewise.
2493 (x_draw_image_foreground): Likewise.
2494 (x_draw_image_relief): Likewise.
2495 (x_draw_image_foreground_1): Likewise.
2496 (x_draw_image_glyph_string): Likewise.
2497
2498 2001-02-09 Kenichi Handa <handa@etl.go.jp>
2499
2500 The following changes are to draw box lines inside characters area
2501 if line-width is negative.
2502
2503 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2504 face->box_line_width is negative.
2505 (x_produce_stretch_glyph): Likewise.
2506 (x_produce_glyphs): Likewise.
2507 (x_estimate_mode_line_height): Likewise.
2508 (x_draw_glyph_string_background): Likewise.
2509 (x_draw_glyph_string_foreground): Likewise.
2510 (x_draw_composite_glyph_string_foreground): Likewise.
2511 (x_draw_glyph_string_box): Likewise.
2512 (x_draw_image_foreground): Likewise.
2513 (x_draw_image_relief): Likewise.
2514 (x_draw_image_foreground_1): Likewise.
2515 (x_draw_image_glyph_string): Likewise.
2516
2517 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2518 and :line-width can be negative.
2519 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
2520
2521 2001-02-09 Jason Rumney <jasonr@gnu.org>
2522
2523 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2524 characters the same as ASCII and latin-1.
2525 (x_display_and_set_cursor): Check for the focus frame's selected
2526 window instead of selected_window.
2527 (x_after_update_window_line): Don't clear if frame's internal
2528 border width is zero.
2529 (x_new_font): Don't change a tooltip's size.
2530 (w32_initialize): Set char_ins_del_ok to 1.
2531
2532 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2533 (x_set_font): If font hasn't changed, avoid recomputing
2534 faces and other things.
2535 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2536 (Fx_create_frame): Add the tool bar height to the frame height.
2537 (x_create_tip_frame): Prevent changing the tooltip's
2538 background color by specifying a color for the default font
2539 in .Xdefaults.
2540 (Qcancel_timer): New variable.
2541 (syms_of_w32fns): Initialize and staticpro it.
2542 (Fx_hide_tip, Fx_show_tip): Use it.
2543 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2544 the timer.
2545 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2546
2547 * w32.c (init_environment): Duplicate local string before putenv.
2548
2549 2001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2550
2551 * charset.c (Fstring): A typo.
2552
2553 2001-02-09 Kenichi Handa <handa@etl.go.jp>
2554
2555 * charset.c (Fstring): If all arguments are less than 256, return
2556 a unibyte string.
2557
2558 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2559 return a unibyte string.
2560
2561 * coding.c (code_convert_region): After detecting a coding, if
2562 nothing found, set coding->composing to COMPOSITION_NO.
2563 (decode_coding_string): Likewise.
2564
2565 2001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2566
2567 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2568 to avoid overflow.
2569
2570 2001-02-07 Kenichi Handa <handa@etl.go.jp>
2571
2572 * charset.c (parse_str_to_multibyte): New function.
2573
2574 * charset.h (parse_str_to_multibyte): Extern it.
2575
2576 * print.c (print_string): If we are going to print a unibyte
2577 string into a multibyte buffer, convert the string to multibyte by
2578 str_to_multibyte.
2579
2580 2001-02-06 Andrew Innes <andrewi@gnu.org>
2581
2582 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2583 been created. It seems we can get sent window messages such as
2584 WM_ERASEBKGND before we properly update a frame.
2585
2586 2001-02-06 Gerd Moellmann <gerd@gnu.org>
2587
2588 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2589 Avoid some unnecessary cursor positioning.
2590
2591 2001-02-05 Gerd Moellmann <gerd@gnu.org>
2592
2593 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
2594 (LFACE_AVGWIDTH): New macro.
2595 (LFACEP): Use AREF.
2596 (check_lface_attrs): Check LFACE_AVGWIDTH.
2597 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2598 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2599 (merge_face_vectors): Check LFACE_AVGWIDTH.
2600 (Finternal_make_lisp_face): Use AREF.
2601 (xm_set_menu_resources_from_menu_face)
2602 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2603 (Finternal_lisp_face_empty_p): Use AREF.
2604 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2605 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2606 Compare average widths..
2607 (best_matching_font): Arrange for comparing average widths.
2608
2609 * dispextern.h (enum lface_attribute_index):
2610 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2611
2612 2001-02-05 Dave Love <fx@gnu.org>
2613
2614 * puresize.h: Revert last change following loadup.el change.
2615
2616 2001-02-05 Andrew Innes <andrewi@gnu.org>
2617
2618 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2619 invocation of temacs, to work with Windows 2000.
2620 (bootstrap-emacs): Ditto.
2621
2622 2001-02-05 Gerd Moellmann <gerd@gnu.org>
2623
2624 * xterm.c (x_display_and_set_cursor): Check for the focus
2625 frame's selected window instead of selected_window.
2626
2627 * xdisp.c (try_scrolling): If point is in the line below the
2628 window, make sure to move the iterator at least a canonical
2629 char height down.
2630
2631 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
2632
2633 2001-02-05 Kenichi Handa <handa@etl.go.jp>
2634
2635 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2636 If invalid, execute CCL_INVALID_CMD.
2637 (ccl_driver): If the CCL program is terminated because of
2638 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2639 destination instead of throwing them away.
2640
2641 2001-02-02 Gerd Moellmann <gerd@gnu.org>
2642
2643 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2644 faces and other things.
2645
2646 * xdisp.c (get_next_display_element): Fix case of empty
2647 display table entry.
2648
2649 2001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2650
2651 * editfns.c (Fconstrain_to_field): Doc fix.
2652
2653 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2654 into `thoroughly', to make it consistent with the doc string.
2655
2656 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2657
2658 2001-02-01 Gerd Moellmann <gerd@gnu.org>
2659
2660 * search.c (search_buffer): Call set_search_regs with a byte
2661 position, not a character position.
2662
2663 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2664 minibuffer-only,
2665
2666 2001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2667
2668 * frame.c (Fmodify_frame_parameters): Doc fix.
2669
2670 2001-01-31 Gerd Moellmann <gerd@gnu.org>
2671
2672 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2673 identifier which is not reserved by Standard C.
2674
2675 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2676
2677 * window.c (enum window_part): New enumeration.
2678 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2679 Qright_bitmap_area.
2680 (coordinates_in_window): Return an enumerator from enum
2681 window_part. Fix handling of right scroll bar.
2682 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2683 `right-fringe' instead of `left-bitmap-area' and
2684 `right-bitmap-area'. Use enumerators from enum window_part
2685 instead of hard-coded integers.
2686 (check_window_containing, window_from_coordinates):
2687 Use enumerators from enum window_part instead of hard-coded integers.
2688 (syms_of_window): Replace Qleft_bitmap_area and
2689 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2690
2691 2001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2692
2693 * editfns.c (Fformat_time_string): Doc fix.
2694
2695 2001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2696
2697 * keymap.c (Fwhere_is_internal): Use the first valid binding
2698 if no ascii binding is found (when firstonly is t).
2699
2700 2001-01-31 Gerd Moellmann <gerd@gnu.org>
2701
2702 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2703 instead of Finteractive_p.
2704
2705 * lisp.h (interactive_p): Add prototype.
2706
2707 * eval.c (interactive_p): New function.
2708 (Finteractive_p): Use it.
2709
2710 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2711
2712 2001-01-31 Dave Love <fx@gnu.org>
2713
2714 * .gdbinit (hook-run): Define to run xreload.
2715
2716 * textprop.c (Fset_text_properties): Fix newline in doc string.
2717
2718 2001-01-30 Gerd Moellmann <gerd@gnu.org>
2719
2720 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2721 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
2722
2723 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
2724 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
2725 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2726
2727 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2728 height.
2729
2730 2001-01-30 Dave Love <fx@gnu.org>
2731
2732 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2733 AFTER_POTENTIAL_GC.
2734
2735 2001-01-29 Gerd Moellmann <gerd@gnu.org>
2736
2737 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2738 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
2739
2740 2001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2741
2742 * textprop.c (Fset_text_properties): Doc fix.
2743
2744 2001-01-29 Gerd Moellmann <gerd@gnu.org>
2745
2746 * xdisp.c (forward_to_next_line_start): Remove xassert.
2747
2748 2001-01-29 Jason Rumney <jasonr@gnu.org>
2749
2750 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
2751 returning without releasing it.
2752
2753 2001-01-29 Kenichi Handa <handa@etl.go.jp>
2754
2755 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2756 for '^', '$', and '\0'.
2757
2758 2001-01-28 Andrew Choi <akochoi@i-cable.com>
2759
2760 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2761 regex for '^', '$', and '\0'.
2762
2763 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2764 only if current_sblock has been initialized.
2765
2766 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2767 terminal frame even if it is the only visible frame.
2768
2769 2001-01-28 Kenichi Handa <handa@etl.go.jp>
2770
2771 * fontset.c (font_family_registry): Even if FONTNAME conform to
2772 XLFD, if it specifies other fields than family and registry,
2773 return FONTANME. New argument FORCE if nonzero cancel that feature.
2774 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
2775 a signle byte character. Don't set FAMILY part to nil here.
2776 It is handled by the caller choose_face_font.
2777 (Fnew_fontset): Call font_family_registry with FORCE 0.
2778 (Fset_fontset_font): Likewise.
2779
2780 2001-01-27 Gerd Moellmann <gerd@gnu.org>
2781
2782 * xdisp.c (display_line): Don't treat a newline as fitting
2783 on the line.
2784
2785 2001-01-26 Gerd Moellmann <gerd@gnu.org>
2786
2787 * window.c (size_window): Set the window's orig_top to nil when
2788 changing heights, so that a future shrink_mini_window won't
2789 restore a bogus height.
2790
2791 * frame.c (do_switch_frame): If selected frame has a mini-window,
2792 resize that to exact size.
2793
2794 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2795
2796 * xdisp.c (display_line): Simplify check for glyphs fitting
2797 entirely in the line.
2798
2799 * xfns.c (xic_style): New variable.
2800 (create_frame_xic): Move static variable to global scope for
2801 the case that `static' gets defined away.
2802
2803 2001-01-26 Kenichi Handa <handa@etl.go.jp>
2804
2805 * coding.c (decode_coding): Set a flag for inhibiting
2806 inconsistent eol.
2807 (code_convert_region): Always set saved_coding_symbol.
2808 (decode_coding_string): Likewise. Update coding->symbol when we
2809 encounter a inconsistent eol by the same way as code_convert_region.
2810
2811 2001-01-25 Gerd Moellmann <gerd@gnu.org>
2812
2813 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2814 XClearArea.
2815
2816 * xterm.c (x_after_update_window_line): Don't clear if frame's
2817 internal border width is zero.
2818 (x_clear_area): New function.
2819 (x_after_update_window_line, x_clear_end_of_line)
2820 (x_scroll_bar_create, x_scroll_bar_set_handle)
2821 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2822 instead of XClearArea.
2823
2824 * xterm.h (x_clear_area): Add prototype.
2825
2826 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2827 which doesn't seem necessary anymore with Lesstif 0.92.
2828
2829 2001-01-25 Dave Love <fx@gnu.org>
2830
2831 * puresize.h (BASE_PURESIZE): Up to 720000.
2832
2833 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2834
2835 2001-01-25 Gerd Moellmann <gerd@gnu.org>
2836
2837 * xdisp.c (echo_area_display): Don't call redisplay_internal
2838 when Emacs is shutting down. We can't run hooks etc. that
2839 would be necessary to do a redisplay.
2840
2841 * lread.c (read_integer): Use type EMACS_INT instead of int.
2842
2843 2001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2844
2845 * ccl.c (ccl_driver): Fix last change.
2846
2847 2001-01-25 Kenichi Handa <handa@etl.go.jp>
2848
2849 * ccl.h (sturct ccl_program): New member suppress_error.
2850
2851 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
2852 insert error message to the output.
2853 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2854
2855 * coding.h (struct coding_system): New member suppress_error.
2856
2857 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2858 (Fset_terminal_coding_system_internal): Set the member
2859 suppress_error to 1.
2860 (Fset_safe_terminal_coding_system_internal): Likewise.
2861
2862 2001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2863
2864 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2865 as if it was a `charset'.
2866
2867 2001-01-24 Gerd Moellmann <gerd@gnu.org>
2868
2869 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2870 value in where_is_cache; the next lookup in the cache returns
2871 something bogus if we do.
2872
2873 2001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2874
2875 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2876 if HAVE_WINDOW_SYSTEM isn't defined.
2877
2878 2001-01-24 Gerd Moellmann <gerd@gnu.org>
2879
2880 * fns.c (sweep_weak_table): Fix code taking items out of
2881 the hash collision chain. Some cleanup.
2882
2883 * xterm.c (x_new_font): Don't change a tooltip's size.
2884
2885 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2886 background color by specifying a color for the default font
2887 in .Xdefaults.
2888
2889 2001-01-24 Kenichi Handa <handa@etl.go.jp>
2890
2891 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2892 a workaround for SunOS 4's cc.
2893 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2894 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2895 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2896 statement.
2897
2898 2001-01-23 Gerd Moellmann <gerd@gnu.org>
2899
2900 * xterm.c (x_set_window_size_1): New function extracted from
2901 x_set_window_size.
2902 (x_set_window_size): Use it.
2903 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2904 doesn't have a widget, like tooltips.
2905
2906 2001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2907
2908 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
2909
2910 2001-01-23 Kenichi Handa <handa@etl.go.jp>
2911
2912 * fns.c (Fset_char_table_default): Fix to make sub char-table
2913 correctly.
2914
2915 2001-01-22 Gerd Moellmann <gerd@gnu.org>
2916
2917 * xdisp.c (build_desired_tool_bar_string): Make sure we have
2918 a desired tool bar string, even if there are no tool bar items.
2919
2920 * xdisp.c (Ftool_bar_lines_needed): New function.
2921 (syms_of_xdisp): Defsubr it.
2922
2923 * editfns.c (Fformat): Don't extend text properties from arguments
2924 to padding chars in the result.
2925
2926 2001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2927
2928 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2929
2930 2001-01-20 Andrew Innes <andrewi@gnu.org>
2931
2932 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
2933 (w32_initialize): Don't set term hooks that aren't actually needed
2934 in windowed mode.
2935
2936 * xfaces.c (realize_default_face):
2937 (realize_face):
2938 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2939
2940 * xdisp.c (handle_single_display_prop): Remove references to
2941 FRAME_W32_CONSOLE_P.
2942
2943 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
2944
2945 * frame.h (output_method): Remove output_w32_console method.
2946 (FRAME_W32_CONSOLE_P): Remove macro.
2947
2948 * frame.c (Qw32_console): Remove variable.
2949 (Fframep): Remove references to it.
2950 (syms_of_frame): Ditto.
2951 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2952
2953 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2954 redefinition.
2955
2956 2001-01-20 Kenichi Handa <handa@etl.go.jp>
2957
2958 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2959
2960 2001-01-19 Andrew Innes <andrewi@gnu.org>
2961
2962 * w32.c (init_environment): Add a version-independent site-lisp
2963 directory to EMACSLOADPATH, after the version dependent one.
2964
2965 2001-01-19 Gerd Moellmann <gerd@gnu.org>
2966
2967 * editfns.c (Fbuffer_substring): Doc fix.
2968
2969 * xdisp.c (message_dolog, message2, message2_nolog):
2970 Rename parameter LEN to NBYTES.
2971
2972 2001-01-19 Kenichi Handa <handa@etl.go.jp>
2973
2974 * charset.c (strwidth): Use c_string_width.
2975 (c_string_width): New function.
2976 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2977 Caller changed.
2978
2979 * charset.h (c_string_width, lisp_string_width): Extern them.
2980
2981 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
2982
2983 * indent.c (check_composition): Check validity of composition.
2984
2985 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2986 characters by calling c_string_width.
2987 (x_consider_frame_title): Get byte length of frame tile string
2988 correctly.
2989 (display_mode_element): Pay attention to width of non-ASCII
2990 characters by calling strwidth.
2991
2992 2001-01-18 Gerd Moellmann <gerd@gnu.org>
2993
2994 * xfns.c (Qcancel_timer): New variable.
2995 (syms_of_xfns): Initialize and staticpro it.
2996 (Fx_hide_tip, Fx_show_tip): Use it.
2997 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2998 the timer.
2999 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3000
3001 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3002
3003 * window.h (WINDOW_LIVE_P): New macro.
3004
3005 * window.c (window_size_fixed): New variable.
3006 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3007 the doc string.
3008
3009 * eval.c (specbind): If binding a per-buffer variable which
3010 doesn't have a buffer-local value in the current buffer, change
3011 the global value by changing the value of the symbol bound in all
3012 buffers not having their own value, to make it consistent with
3013 what happens with other buffer-local variables.
3014
3015 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3016
3017 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3018 when searching for a newline.
3019
3020 2001-01-18 Kenichi Handa <handa@etl.go.jp>
3021
3022 * xdisp.c (display_string): Fix previous change.
3023
3024 2001-01-18 Jason Rumney <jasonr@gnu.org>
3025
3026 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3027 GLYPH_DEBUG is defined.
3028 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3029 true for images with `:ascent 100'.
3030 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3031 meantime, use face MOUSE_FACE_ID.
3032 If first glyph isn't a character glyph, use the ASCII NUL
3033 character to determine the face.
3034 (expose_area): Do not treat left margin specially.
3035 (note_mode_line_highlight): If no local_map, check global keymap.
3036 (note_mouse_highlight): Initialize overlay.
3037 (clear_mouse_face): Don't return if tip_frame is non-nil.
3038 (show_scroll_bars): Remove unused function.
3039 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3040 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3041 Clip to row.
3042 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
3043 (x_free_frame_resources): Unload relief colors.
3044
3045 2001-01-17 Gerd Moellmann <gerd@gnu.org>
3046
3047 * xdisp.c (forward_to_next_line_start): Avoid calling
3048 get_next_display_element when the newline is already found.
3049 This may change the iterator's position, when its current position is
3050 equal to the iterator's stop_charpos.
3051
3052 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3053 zero, use this method only at the end of a line.
3054
3055 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
3056 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3057 if SCALABLE_FONTS_P is set.
3058
3059 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3060 so that scalable fonts are included.
3061
3062 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3063 In the cache, use a key containing the information if scalable
3064 fonts are included.
3065 (x_load_font): Adapt to change of keys in the font cache.
3066
3067 2001-01-17 Kim F. Storm <storm@filanet.dk>
3068
3069 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3070 XListFonts to take advantage of font caching.
3071
3072 * xterm.c (x_list_fonts): Ensure caching font information when
3073 called for a null frame, which is the case frequently when Emacs
3074 starts.
3075
3076 2001-01-17 Gerd Moellmann <gerd@gnu.org>
3077
3078 * xfns.c (QCconversion): Replaces QCalgorithm.
3079
3080 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3081
3082 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3083 of :algorithm.
3084
3085 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3086 not everything could be displayed.
3087
3088 * line.h, x-list-font.c: Files removed because unused.
3089
3090 2001-01-17 Andrew Innes <andrewi@gnu.org>
3091
3092 * dired.c (directory_files_internal): Convert result from readdir
3093 to a unibyte string initially, to avoid possible misinterpretation
3094 of some bytes as the internal form of Emacs characters.
3095
3096 2001-01-17 Kenichi Handa <handa@etl.go.jp>
3097
3098 * fns.c (concat): Be sure to avoid putting the same `composition'
3099 property on the adjacent regions.
3100
3101 2001-01-16 Gerd Moellmann <gerd@gnu.org>
3102
3103 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
3104 (Fscroll_right, Fscroll_left): Set it here instead, if called
3105 interactively.
3106
3107 * buffer.c (Fset_buffer_modified_p): Set buffer's
3108 prevent_redisplay_optimizations_p flag.
3109
3110 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
3111 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3112 with additional arg.
3113
3114 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3115 Change prototype.
3116
3117 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3118 FROM_WHERE, for debugging.
3119
3120 2001-01-16 Kenichi Handa <handa@etl.go.jp>
3121
3122 * ccl.c (Fregister_ccl_program): Handle the return value of
3123 resolve_symbol_ccl_program correctly.
3124 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
3125
3126 2001-01-15 Gerd Moellmann <gerd@gnu.org>
3127
3128 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3129 has gone in the meantime, use face MOUSE_FACE_ID.
3130
3131 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3132 If x_display_info_for_display returns null, don't try to close
3133 the display; we didn't open it.
3134
3135 * dispnew.c (save_or_restore_current_matrices): Function removed.
3136 (save_current_matrix, restore_current_matrix): New functions.
3137 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3138 restore the frame's current matrix. Due to the glyph pointer
3139 setup done in adjust_glyph_matrix, there is no easy way to make
3140 saving the current matrix in the desired matrix generally correct,
3141 so don't try it.
3142
3143 2001-01-15 Kenichi Handa <handa@etl.go.jp>
3144
3145 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3146 truncation glyphs.
3147 (display_line): Optimize for wide characters.
3148 (display_string): Don't try to display a multi-column character
3149 partially. On ttys, produce more than one truncation glyph for
3150 multi-column characters that don't fit on the line.
3151
3152 2001-01-13 Kenichi Handa <handa@etl.go.jp>
3153
3154 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3155 Define it instead of WORDS_BIGENDIAN. Caller changed.
3156
3157 2001-01-13 Jason Rumney <jasonr@gnu.org>
3158
3159 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3160 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
3161 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3162 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
3163
3164 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3165 (x_draw_image_relief, x_draw_image_foreground_1)
3166 (x_draw_image_glyph_string): Adapt to change of image margins.
3167
3168 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3169 variables.
3170
3171 * w32bdf.c (search_file_line, get_cached_font_char)
3172 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3173
3174 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3175
3176 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3177 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3178 (Fw32_send_sys_command): Remove unused variables.
3179 (w32_msg_pump): Add parentheses.
3180
3181 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3182 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3183 Add parentheses.
3184
3185 2001-01-12 Gerd Moellmann <gerd@gnu.org>
3186
3187 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3188 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3189 being a pair of margins.
3190 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3191 to DEFVAR_LISP. Extend doc.
3192
3193 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3194 margins.
3195 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3196 pair of integers `(X . Y)', use X for the horizontal and Y for the
3197 vertical margin.
3198 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3199 (parse_image_spec): Check it.
3200 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3201 (tiff_format, gif_format, gs_format):
3202 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
3203
3204 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3205 (x_draw_image_relief, x_draw_image_foreground_1)
3206 (x_draw_image_glyph_string): Adapt to the change of image margins.
3207
3208 * dispextern.h (struct image): Replace member `margin' with
3209 `hmargin' and `vmargin'.
3210
3211 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3212 and GLYPHS.
3213
3214 * dispnew.c (update_text_area): Put code which decrements the
3215 stop position when the row's face extends to the end of the
3216 line in #if 0.
3217
3218 * xfns.c (x_set_mouse_color): Fix color allocation.
3219
3220 * keyboard.c: Call get_local_map with new argument list.
3221
3222 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3223
3224 * intervals.h (enum map_property): Removed.
3225 (get_local_map): Change prototype.
3226
3227 * keymap.c: Call get_local_map with new argument list.
3228 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3229
3230 2001-01-11 Gerd Moellmann <gerd@gnu.org>
3231
3232 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3233 of the size needed for the tool bar string. For the last image,
3234 use a `display' property that reaches to the end of the string.
3235
3236 * xselect.c (selection_request_dpyinfo): New variable.
3237 (x_handle_selection_request): Set it.
3238 (x_selection_request_lisp_error): Don't call
3239 x_decline_selection_request if selection request's display has
3240 been closed.
3241
3242 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3243 Do the unregister_colors before calling XFreeColors.
3244
3245 2001-01-10 Dave Love <fx@gnu.org>
3246
3247 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3248 ${SOME_MACHINE_LISP}, not ${lisp}.
3249
3250 2001-01-10 Gerd Moellmann <gerd@gnu.org>
3251
3252 * xdisp.c (display_line): On ttys, produce more than one truncation
3253 glyph for multi-column characters that don't fit on the line.
3254
3255 * xselect.c (x_reply_selection_request): Add a comment.
3256
3257 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3258 XkbGetNames instead of XkbGetKeyboard.
3259
3260 2001-01-10 Dave Love <fx@gnu.org>
3261
3262 * sysdep.c (random): Revert the declaration.
3263
3264 2001-01-09 Gerd Moellmann <gerd@gnu.org>
3265
3266 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3267 Call function string_bytes.
3268 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3269
3270 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3271 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3272 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3273 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3274 the current sblock.
3275 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3276 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3277 after sweeping strings, and at the end.
3278 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3279
3280 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3281 ensure that pop_message is called.
3282
3283 * keyboard.c (Fexecute_extended_command): Use a
3284 record_unwind_protect to ensure that pop_message is called.
3285
3286 * lisp.h (push_message_unwind): Add prototype.
3287
3288 * xdisp.c (push_message_unwind): New function.
3289
3290 * fileio.c (do_auto_save_unwind): Do the pop_message here
3291 instead of in Fdo_auto_save.
3292 (Fdo_auto_save): Don't call pop_message.
3293
3294 2001-01-08 Ken Raeburn <raeburn@gnu.org>
3295
3296 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3297 in inner block.
3298
3299 2001-01-08 Gerd Moellmann <gerd@gnu.org>
3300
3301 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3302 when increasing window's vscroll.
3303
3304 * macros.c (Qkbd_macro_termination_hook): New variable.
3305 (syms_of_macros): Initialize and staticpro it.
3306 (pop_kbd_macro): Run kbd-macro-termination-hook.
3307
3308 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3309
3310 2001-01-07 Dave Love <fx@gnu.org>
3311
3312 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3313 arglist, for documentation's sake.
3314
3315 2001-01-06 Andrew Innes <andrewi@gnu.org>
3316
3317 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3318 of *.pdb.
3319
3320 2001-01-05 Andrew Innes <andrewi@gnu.org>
3321
3322 * term.c (update_end): Don't check updating_frame; for some reason
3323 this can be 0 sometimes, such as after dismissing a popup menu,
3324 and isn't necessary given the explicit frame argument.
3325
3326 2001-01-05 Gerd Moellmann <gerd@gnu.org>
3327
3328 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3329 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3330
3331 2001-01-04 Gerd Moellmann <gerd@gnu.org>
3332
3333 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
3334
3335 * xfns.c (x_create_tip_frame): Preserve the value of
3336 face_change_count around the creation of the tip frame.
3337
3338 * xfns.c (last_show_tip_args): New variable.
3339 (compute_tip_xy): New function.
3340 (Fx_show_tip): Reuse an existing tip frame, if possible.
3341 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3342
3343 2001-01-04 Dave Love <fx@gnu.org>
3344
3345 * editfns.c (Fformat): Doc fix.
3346
3347 * systime.h (set_file_times): Prototype.
3348
3349 * widget.h (EmacsFrameSetCharSize_): Prototype.
3350
3351 * sysdep.c (random, srandom): Declare explicitly.
3352
3353 * dispextern.h (move_it_vertically_backward): Declare.
3354
3355 2001-01-04 Gerd Moellmann <gerd@gnu.org>
3356
3357 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3358 like in Fx_create_frame.
3359
3360 * xfaces.c (set_font_frame_param): Don't do anything for
3361 non-graphical frames.
3362
3363 * window.c (Fdelete_other_windows): Set window's window_end_valid
3364 to nil when changing the window's start. Don't change the
3365 window's start when its top position hasn't changed. If we do,
3366 this will set the window's optional_new_start, which act's like a
3367 force_start during redisplay with C-x 1 M-> under particular
3368 circumstances (see report from Per Starback to emacs-pretest-bug
3369 from 2000-12-13.).
3370
3371 2001-01-03 Gerd Moellmann <gerd@gnu.org>
3372
3373 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3374 short cut at the start of the function. Add an assertion.
3375 (reseat_at_next_visible_line_start): Add an assertion.
3376
3377 * window.c (Frecenter): When changing the window start, set the
3378 window's window_end_valid to nil.
3379 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3380
3381 * dispextern.h (move_it_past_eol): Add prototype.
3382
3383 * xdisp.c (move_it_past_eol): New function.
3384
3385 * window.c (Fwindow_end): Doc fix.
3386
3387 2001-01-03 Dave Love <fx@gnu.org>
3388
3389 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3390
3391 2001-01-03 Gerd Moellmann <gerd@gnu.org>
3392
3393 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3394 the enabled_p flag of the glyph row at window_end_vpos to 0.
3395 (handle_single_display_prop): Fix last change.
3396
3397 2001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3398
3399 * window.c (Frecenter): Doc fix.
3400
3401 2001-01-02 Andrew Innes <andrewi@gnu.org>
3402
3403 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3404
3405 * frame.h (output_method): Add output_w32_console method.
3406 (FRAME_W32_CONSOLE_P): New macro.
3407
3408 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3409 use output_w32_console method.
3410 (Qw32_console): New Lisp_Object.
3411 (Fframep): Return it.
3412 (syms_of_frame): Init it.
3413 (Fframe_parameters): Report w32console as font for w32_console frames.
3414
3415 * xfaces.c (realize_default_face): Set face foreground and
3416 background to unspecified for w32_console frames.
3417 (realize_face): Realize face cache for w32_console frames.
3418 (realize_tty_face): Accept w32_console frames.
3419
3420 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
3421 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3422 necessary, even if running interactively.
3423
3424 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3425 w32_console frames.
3426
3427 * w32term.c (x_update_begin):
3428 (x_update_end):
3429 (x_clear_frame):
3430 (x_ins_del_lines):
3431 (x_change_line_highlight):
3432 (x_delete_glyphs):
3433 (w32_ring_bell):
3434 (x_update_begin):
3435 (x_update_end):
3436 (w32_reassert_line_highlight):
3437 (w32_frame_rehighlight):
3438 (w32_frame_raise_lower): Do nothing if not w32 frame.
3439
3440 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3441
3442 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3443 system doesn't tell us directly.
3444 (Fx_display_visual_class): Implement properly.
3445
3446 2001-01-02 Gerd Moellmann <gerd@gnu.org>
3447
3448 * window.c (Frecenter): Handle centering in graphical frames
3449 specially. Centering on the basis of line counts doesn't work
3450 reliably with variable-height lines.
3451
3452 2001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3453
3454 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3455 and al[].
3456
3457 * composite.c (run_composition_function): Remove unused var `val'.
3458 (update_compositions): Remove unused variable `hook'.
3459
3460 * intervals.c (get_local_map): Remove unused variable `tem'.
3461
3462 * doprnt.c (doprnt1): Remove unused variable `size'.
3463
3464 * fns.c (Flength): Remove unused variable `tail'.
3465 (Fdelete): Remove unused variable `size'.
3466
3467 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3468 and `gcpro2'.
3469
3470 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
3471
3472 * data.c (find_symbol_value): Remove extra 3rd argument in the
3473 call to swap_in_symval_forwarding.
3474
3475 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
3476
3477 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3478 (trivial_regexp_p): Remove unused variable `c'.
3479 (boyer_moore): Remove unused variable `k'.
3480
3481 * indent.c (current_column): Remove unused variable `stopchar'.
3482 (Fcompute_motion): Remove unused variable `contin'.
3483
3484 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3485
3486 * dired.c (directory_files_internal): Fix a typo in a comment.
3487 Remove an unused variable `handler'.
3488 (file_name_completion): Remove unused function-scope variable `dp'.
3489 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3490 on BSD4_2.
3491
3492 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
3493
3494 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3495 and `buf'.
3496 (Fmarker_insertion_type): Remove unused variable `buf'.
3497
3498 * insdel.c (make_gap): Remove unused variable `result'.
3499
3500 * keyboard.c (record_char): Remove unused function-scope var `help'.
3501 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3502 (menu_bar_items): Remove unused function-scope variable `tem'.
3503
3504 * fontset.c (fontset_ref): Remove unused variable `i'.
3505 (fontset_set): Remove unused variables `j' and `tmp'.
3506 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
3507 (make_fontset_for_ascii_face): Remove unused variable `name'.
3508 (fs_load_font): Remove unused variable `font_idx'.
3509 (fs_query_fontset): Remove unused function-local variable `fontset'.
3510 (list_fontsets): Remove unused variable `tail'.
3511 (Fnew_fontset): Remove unused variables `family' and `registry'.
3512 (accumulate_font_info): Remove unused variable `tmp'.
3513 (Ffontset_font): Remove unused variable `id'.
3514 (syms_of_fontset): Remove unused variable `i'.
3515
3516 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3517 to x_term_init.
3518 (lookup_image): Remove unused variable `file'.
3519 (xbm_load): Remove unused variables `bitmap_data', `height', and
3520 `width'. Remove function-local variable `i', leave the
3521 block-local one.
3522 (gif_load): Remove unused variable `inc'.
3523
3524 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
3525 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3526 leave only the one in the inner block.
3527
3528 * xfaces.c (face_fontset, realize_default_face): Remove unused
3529 variable `fontset'.
3530 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3531
3532 * term.c (encode_terminal_code): Remove unused variable `c'.
3533
3534 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3535 char *' instead of `char *'.
3536
3537 * category.c (Fcategory_docstring): Remove unused variable `doc'.
3538 (Fget_unused_category): Remove unused variable `docstring_vector'.
3539 (Fchar_category_set): Remove unused variables `val', `charset',
3540 `c1' and `c2'.
3541
3542 * coding.c (detect_coding_iso2022, setup_coding_system):
3543 Remove unused variable `i'.
3544 (detect_coding_mask): Remove unused variable `idx'.
3545 (detect_coding): Remove unused variable `i'.
3546 (ccl_coding_driver): Remove unused variable `result'.
3547 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
3548 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
3549 (encode_coding_string): Remove unused variables `gcpro1' and
3550 `saved_coding_symbol'.
3551 (Ffind_coding_systems_region_internal): Remove function-local
3552 variable args[], leave only the block-local one.
3553 (code_convert_region1): Remove unused variable `len'.
3554
3555 * charset.c (char_printable_p): Remove unused variable `chars'.
3556 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3557 (str_to_multibyte): Remove unused variable `c'.
3558
3559 * window.c (size_window): Remove block-local variable `min_size'.
3560
3561 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3562 `header_line_height'.
3563 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3564 enum display_element_type.
3565
3566 2001-01-02 Gerd Moellmann <gerd@gnu.org>
3567
3568 * xterm.c (x_connection_closed): Catch X errors around all
3569 statements that call X. Save away the error message in a local copy.
3570
3571 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3572 the start.
3573
3574 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3575 in or at the start of invisible text.
3576
3577 * dispnew.c (update_window): Don't check_current_matrix_flags.
3578
3579 2001-01-01 Jason Rumney <jasonr@gnu.org>
3580
3581 * w32fns.c (x_figure_window_size): Do not allow new_height and
3582 new_width of frame to override specified values.
3583
3584 2000-12-30 Kenichi Handa <handa@etl.go.jp>
3585
3586 * composite.c (find_composition): Fix a code for searching backward.
3587
3588 2000-12-29 Gerd Moellmann <gerd@gnu.org>
3589
3590 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
3591 (update_window) [GLYPH_DEBUG]: Call it.
3592 (scrolling_window): Prevent including current rows which are below
3593 what's displayed in the window.
3594
3595 * xdisp.c (try_window_reusing_current_matrix)
3596 <new start <= old start>: Disable rows in the current matrix
3597 which are below the window after scrolling.
3598
3599 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3600 is zero. It's not worth the complexity.
3601 (invisible_text_between_p): Put in #if 0 because unused.
3602
3603 2000-12-28 Gerd Moellmann <gerd@gnu.org>
3604
3605 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3606 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3607
3608 * keyboard.c (echo_char): If C is an integer, always call
3609 push_key_description. Former code could signal an invalid
3610 character error.
3611
3612 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3613 If set, print multibyte text.
3614 (Fsingle_key_description): Call push_key_description with
3615 FORCE_MULTIBYTE set.
3616 (describe_buffer_bindings): Likewise.
3617
3618 * lisp.h (push_key_description): Add prototype.
3619
3620 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3621 around the call to redisplay_internal.
3622
3623 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3624
3625 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3626
3627 2000-12-28 Kenichi Handa <handa@etl.go.jp>
3628
3629 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3630 (ccl_driver): New local variable `extra_bytes'.
3631
3632 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3633
3634 * coding.c (setup_coding_system):
3635 Initialize coding->spec.ccl.eight_bit_carryover.
3636 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3637
3638 2000-12-28 Kenichi Handa <handa@etl.go.jp>
3639
3640 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3641 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3642 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3643 (decode_composition_emacs_mule): New function.
3644 (decode_coding_emacs_mule): Decode composition sequence by calling
3645 decode_composition_emacs_mule.
3646 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
3647 (encode_coding_emacs_mule): Changed from macro to function.
3648 If a text contains compositions, encode them correctly.
3649 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3650 that decoding and encoding are required.
3651
3652 2000-12-27 Gerd Moellmann <gerd@gnu.org>
3653
3654 * xfaces.c (PT_PER_INCH): New macro.
3655 (xlfd_point_size): Compute real point size from font's pixel size.
3656 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3657 instead of 72.
3658
3659 * .gdbinit: Comment out the line pointing to the Lesstif source
3660 directory.
3661
3662 * window.c (Frecenter): Use displayed_window_lines instead
3663 of window_internal_height.
3664
3665 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3666 instead of x-toolkit-scroll-bars-p.
3667 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3668
3669 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3670 instead of x-toolkit-scroll-bars-p.
3671 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3672
3673 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3674 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
3675 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3676 New variables.
3677 (add_window_display_history, add_frame_display_history)
3678 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3679 (build_frame_matrix_from_leaf_window): Remove unused code.
3680 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3681 redisplay history.
3682 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3683 (update_window) [GLYPH_DEBUG]: Likewise.
3684 (syms_of_display): Defsubr dump-redisplay-history.
3685
3686 2000-12-23 Gerd Moellmann <gerd@gnu.org>
3687
3688 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3689 the end of the prompt. Set echo_after_prompt to the offset
3690 of echoptr in echobuf.
3691
3692 * xdisp.c (init_from_display_pos): Pop until the iterator's
3693 stack is empty; there may be frames for stretch or images
3694 on the stack.
3695
3696 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3697 (save_or_restore_current_matrix): New function for the same
3698 purpose, but more efficient.
3699 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3700
3701 2000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3702
3703 * xdisp.c (syms_of_xdisp): Fix last change.
3704
3705 2000-12-23 Gerd Moellmann <gerd@gnu.org>
3706
3707 * xdisp.c (syms_of_xdisp): Doc fix.
3708
3709 * xdisp.c (redisplay_window): Remove label restore_buffers;
3710 use finish_scroll_bars instead to make sure that scroll bars
3711 are redeemed. If we don't do this, flickering can result from
3712 scroll bars being destroyed and recreated.
3713
3714 2000-12-22 Jason Rumney <jasonr@gnu.org>
3715
3716 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3717 in the wrong colors when the foreground is not black.
3718 (expose_window): Don't redraw the window that's currently being
3719 updated.
3720
3721 2000-12-22 Gerd Moellmann <gerd@gnu.org>
3722
3723 * window.c (size_window): When setting the window's too_small_ok
3724 flag, compare old size with minimum size depending on WIDTH_P,
3725 don't compare with window_min_width.
3726
3727 * window.c (delete_window): Simplify somewhat.
3728 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3729 freeing window matrices. The flag windows_or_buffers_changed is
3730 set, so the next redisplay will consider all windows; this should
3731 suffice.
3732
3733 2000-12-22 Kenichi Handa <handa@etl.go.jp>
3734
3735 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3736
3737 * ccl.h (struct ccl_program): New member cr_consumed.
3738
3739 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3740 (CCL_READ_CHAR): Handle EOL conversion here.
3741 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3742
3743 2000-12-21 Gerd Moellmann <gerd@gnu.org>
3744
3745 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
3746
3747 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3748 otherwise tabs of different size compare equal.
3749
3750 * callint.c (Fcall_interactively): Prevent a compiler warning.
3751
3752 * print.c (print_unwind): Return nil.
3753 (PRINTDECLARE): Initialize all local variables.
3754 (print_preprocess): Add a default case.
3755
3756 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3757
3758 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3759
3760 * window.c (delete_window, Fsplit_window)
3761 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3762
3763 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3764
3765 * dispnew.c (ensure_frame_matrix): Removed.
3766 (save_frame_matrix, restore_frame_matrix): New functions.
3767 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3768
3769 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3770 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3771
3772 2000-12-21 Andrew Innes <andrewi@gnu.org>
3773
3774 * w32term.c (x_update_begin): Regenerate the palette here, rather
3775 than for each window.
3776
3777 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3778 palette is NULL, since this corrupts memory! Also get
3779 display_info reference from frame.
3780
3781 2000-12-21 Jason Rumney <jasonr@gnu.org>
3782
3783 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3784
3785 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3786 to avoid returning without releasing it.
3787
3788 2000-12-21 Kenichi Handa <handa@etl.go.jp>
3789
3790 * keymap.c (push_key_description): Don't convert eight-bit-control
3791 and eight-bit-graphic to multibyte character.
3792
3793 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3794 generic character and CODE1 is nil, return the smallest character
3795 in CHARSET.
3796
3797 2000-12-20 Dave Love <fx@gnu.org>
3798
3799 * s/osf5-0.h (NSIG): Don't redefine.
3800
3801 2000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3802
3803 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3804 excluding menu-bar and tool-bar.
3805 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3806 (menu_item_p): Remove.
3807 (where_is_internal_1): Don't ignore menu-items.
3808
3809 2000-12-20 Gerd Moellmann <gerd@gnu.org>
3810
3811 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3812 into account.
3813
3814 * window.c (make_window): Initialize window's min_hscroll.
3815 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3816 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3817 to zero.
3818 (struct saved_window): New member min_hscroll.
3819 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3820 (Fset_window_configuration): Set window's min_hscroll.
3821 (save_window_save): Save window's min_hscroll.
3822 (compare_window_configurations): Compare min_hscroll values.
3823
3824 * window.h (struct window): New member min_hscroll.
3825
3826 * keyboard.c (echo_prompt): Prevent a compiler warning.
3827
3828 * xdisp.c (try_cursor_movement): Fix last change. The real
3829 condition is that PT is at the end of the row, and should
3830 be displayed at the start of the next row.
3831
3832 * xdisp.c (try_cursor_movement): If we end on a partially
3833 visible line, end we already decided to scroll, return -1.
3834
3835 * dispextern.h (ensure_frame_matrix): Add prototype.
3836
3837 * window.c (delete_window, Fsplit_window)
3838 (Fset_window_configuration): Call ensure_frame_matrix.
3839
3840 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3841 New functions.
3842 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3843 completed, call fake_current_matrices instead of marking frame
3844 garbaged.
3845
3846 2000-12-20 Jason Rumney <jasonr@gnu.org>
3847
3848 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3849
3850 2000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3851
3852 * fns.c (Frequire): Doc fix.
3853
3854 2000-12-19 Gerd Moellmann <gerd@gnu.org>
3855
3856 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
3857
3858 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3859 currently displaying a message.
3860
3861 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3862 xterm.h.
3863 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3864
3865 2000-12-18 Andrew Innes <andrewi@gnu.org>
3866
3867 * w32.c (w32_strerror): New function.
3868
3869 * w32.h (w32_strerror): New extern.
3870
3871 * w32fns.c (Fw32_shell_execute): Use it.
3872
3873 2000-12-18 Gerd Moellmann <gerd@gnu.org>
3874
3875 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3876
3877 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3878
3879 * msdos.c (IT_set_face): Obey inverse_video.
3880
3881 2000-12-18 Kenichi Handa <handa@etl.go.jp>
3882
3883 * dired.c (directory_files_internal): Always return decoded filenames.
3884
3885 2000-12-18 Gerd Moellmann <gerd@gnu.org>
3886
3887 * xterm.c (x_connection_closed): Prevent being called recursively
3888 because of an error condition in XtCloseDisplay.
3889
3890 * xdisp.c (init_iterator): If noninteractive, and the frame's
3891 face cache is null, make one.
3892
3893 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
3894
3895 * process.c (wait_reading_process_input): Check for pending
3896 input when running timers.
3897
3898 2000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3899
3900 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
3901
3902 2000-12-18 Kenichi Handa <handa@etl.go.jp>
3903
3904 * process.c (read_process_output): Don't run a filter if the code
3905 decoder produces nothing but carryover.
3906
3907 2000-12-17 Andrew Innes <andrewi@gnu.org>
3908
3909 * w32.c (sys_rename): Only check errno against EEXIST, and not
3910 EACCES, when determining whether rename failed because the target
3911 exists. This was resulting in indefinite looping on Windows 9x if
3912 the source file was locked by another process.
3913
3914 * w32fns.c (Ffile_system_info): New function.
3915 (syms_of_w32fns): Defsubr it.
3916
3917 2000-12-17 Gerd Moellmann <gerd@gnu.org>
3918
3919 * window.c (coordinates_in_window): Fix computation for
3920 position on vertical line between mode lines.
3921
3922 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3923 Don't alter tip_frame or tip_window.
3924 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3925 was deleted.
3926
3927 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3928 Don't alter tip_frame or tip_window.
3929 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3930 was deleted.
3931
3932 2000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3933
3934 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3935 be consistent with the doc string. Reported by NAKAJIMA Mikio
3936 <minakaji@osaka.email.ne.jp>.
3937
3938 2000-12-16 Kenichi Handa <handa@etl.go.jp>
3939
3940 * xfaces.c (Vface_ignored_fonts): New variable.
3941 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3942 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3943
3944 2000-12-15 Gerd Moellmann <gerd@gnu.org>
3945
3946 * dispnew.c (update_window): Detect pending input every nth line
3947 updated, i.e. do it depending on real work done, and not on the
3948 vpos of the line.
3949
3950 * xterm.c (expose_window): Don't redraw the window that's
3951 currently being updated.
3952
3953 * window.c (Fset_window_point): Remove test for
3954 cursor_in_non_selected_windows.
3955
3956 * lread.c (read1): Recognize end of file after `\\'.
3957
3958 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3959 not unwind_create_frame.
3960
3961 2000-12-15 Dave Love <fx@gnu.org>
3962
3963 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3964 bcopy & al.
3965
3966 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3967
3968 2000-12-15 Kenichi Handa <handa@etl.go.jp>
3969
3970 * coding.c (setup_coding_system): Clear all members of the struct
3971 coding_system at first.
3972 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3973 argument.
3974 (code_convert_region): Don't override coding->src_multibyte and
3975 coding->dst_multibyte.
3976
3977 * fns.c (Fmd5): Docstring improved.
3978
3979 2000-12-15 Miles Bader <miles@gnu.org>
3980
3981 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3982 are actually marked as mode-lines; otherwise use
3983 estimate_mode_line_height.
3984
3985 2000-12-14 Gerd Moellmann <gerd@gnu.org>
3986
3987 * editfns.c (Fformat): Prevent a buffer overrun when the format
3988 specifies a precision.
3989
3990 2000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3991
3992 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3993 argument is outside the range [2..3].
3994
3995 2000-12-14 Andrew Innes <andrewi@gnu.org>
3996
3997 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3998 nothing to do. Bind inhibit-quit.
3999 (tip_frame): Make it a Lisp_Object.
4000 (x_create_tip_frame): Set tip_frame after it has been added to
4001 Vframe_list.
4002 (Fx_show_tip): Don't set tip_frame here.
4003 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
4004 (unwind_create_frame, unwind_create_tip_frame): New functions.
4005 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4006 while a frame is only partially constructed.
4007
4008 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4009 (x_free_frame_resources): New function.
4010 (x_destroy_window): Use it.
4011
4012 2000-12-14 Gerd Moellmann <gerd@gnu.org>
4013
4014 * xfns.c (Fx_backspace_delete_keys_p): New function.
4015 (syms_of_xfns): Defsubr it.
4016
4017 * config.in (HAVE_XKBGETKEYBOARD): Add.
4018
4019 2000-12-14 Kenichi Handa <handa@etl.go.jp>
4020
4021 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4022 Always store string in multibyte representation in echobuf.
4023 (echo_char): Always store string in multibyte representation in
4024 echobuf.
4025 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4026 (read_key_sequence): Adjusted for the change of echo_prompt.
4027
4028 * fns.c (Fmd5): Docstring improved.
4029
4030 * lisp.h (detect_coding_system): Prototype adjusted.
4031
4032 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4033 (detect_coding_emacs_mule, detect_coding_iso2022,)
4034 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
4035 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4036 New argument MULTIBYTEP. Callers changed.
4037 (detect_coding_mask, detect_coding_system): New argument
4038 MULTIBYTEP. Callers changed.
4039 (decode_coding_string): Set coding->src_multibyte and
4040 coding->dst_multibyte before calling detect_coding and detect_eol.
4041 Update them after some coding system is detected.
4042
4043 2000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4044
4045 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4046
4047 * keyboard.c (menu_bar_items, tool_bar_items):
4048 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4049
4050 2000-12-13 Gerd Moellmann <gerd@gnu.org>
4051
4052 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
4053 New variables.
4054 (unwind_create_frame, unwind_create_tip_frame): New functions.
4055 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4056 while a frame is only partially constructed.
4057
4058 * xterm.h (x_free_frame_resources): Declare.
4059
4060 * xterm.c (x_free_frame_resources): New function.
4061 (x_destroy_window): Use it.
4062
4063 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4064 don't interrupt the update for pending input initially, i.e.
4065 update at least some lines.
4066
4067 * keyboard.c (do_mouse_tracking): Make externally visible.
4068
4069 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
4070
4071 * xfns.c (gray_bitmap_bits): Declare `char *'.
4072
4073 2000-12-12 Gerd Moellmann <gerd@gnu.org>
4074
4075 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4076 lines start with a relief line.
4077
4078 2000-12-12 Dave Love <fx@gnu.org>
4079
4080 * window.c (Fdisplay_buffer): Doc fix.
4081 (Fwindow_list): Remove unused var.
4082
4083 * buffer.h (mmap_set_vars): Declare.
4084
4085 * window.h (Fset_window_point): Declare.
4086
4087 2000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4088
4089 * msdos.c (fast_find_position): Don't overstep the last window row.
4090 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4091 variable `area'. When looking for a row under (X,Y), give up if some
4092 of the previous rows is not enabled.
4093
4094 2000-12-12 Gerd Moellmann <gerd@gnu.org>
4095
4096 * window.c (Fset_window_point): If displaying cursors in windows
4097 other than the selected window, make sure redisplay updates
4098 other windows to show the new value of point in the window.
4099
4100 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4101
4102 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4103 the buffer is the sole visible buffer when in the mini-buffer.
4104
4105 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4106 Bind `inhibit-read-only' to t.
4107 (unwind_with_echo_area_buffer): Use AREF.
4108
4109 * xfns.c (Fx_hide_tip): Simplified.
4110
4111 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4112 instead of `1'.
4113
4114 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4115
4116 2000-12-11 Gerd Moellmann <gerd@gnu.org>
4117
4118 * xfns.c (Fx_hide_tip): Fix last change.
4119
4120 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4121 nothing to do. Bind inhibit-quit.
4122 (tip_frame): Make it a Lisp_Object.
4123 (x_create_tip_frame): Set tip_frame after it has been added to
4124 Vframe_list.
4125 (Fx_show_tip): Don't set tip_frame here.
4126
4127 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4128
4129 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4130 Lisp_Object.
4131
4132 * dispextern.h: Change external declaration of tip_frame.
4133
4134 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4135 return an empty string.
4136
4137 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4138 of the window's update_mode_line flag, since the former is set by
4139 force-mode-line-update, not the latter. This makes
4140 column-number-mode slightly faster.
4141
4142 * xdisp.c (try_window_id) <all changes above window start>:
4143 Set the cursor.
4144
4145 2000-12-11 Paul Eggert <eggert@twinsun.com>
4146
4147 * config.in (HAVE_FTELLO): Remove.
4148 (HAVE_FSEEKO): Add.
4149 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4150 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4151 HAVE_FTELLO.
4152 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4153 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
4154
4155 2000-12-11 Miles Bader <miles@gnu.org>
4156
4157 * window.c (displayed_window_lines): Don't round up when
4158 converting empty space at bottom to lines.
4159 Handle non-newline-terminated final lines properly.
4160 (Fwindow_text_height): New function (used to be in lisp).
4161 (syms_of_window): Initialize it.
4162
4163 2000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4164
4165 * syntax.c (scan_lists): Check that the right quote char has the
4166 right Sstring syntax when jumping over strings.
4167 (init_syntax_once): Use Smax rather than 13.
4168
4169 2000-12-09 Miles Bader <miles@gnu.org>
4170
4171 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4172 with PARTIALLY, inverting the sense.
4173 (window_scroll_pixel_based): Scroll partially visible lines into
4174 place if we hit the beginning or end of the buffer.
4175 (displayed_window_lines): Don't include partially visible lines.
4176 (Fmove_to_window_line): Skip past any partially visible first line.
4177
4178 2000-12-08 Gerd Moellmann <gerd@gnu.org>
4179
4180 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4181
4182 * tparam.c (tparam1): Change the way buffers are reallocated to be
4183 portable and less obfuscated.
4184
4185 * termcap.c (tgetent): Change the way buffers are reallocated to
4186 be portable and less obfuscated.
4187
4188 * macros.c (store_kbd_macro_char): Change the way buffers are
4189 reallocated to be portable and less obfuscated.
4190
4191 * lread.c (read1): Change the way buffers are reallocated to be
4192 portable and less obfuscated.
4193
4194 * doc.c (Fsubstitute_command_keys): Change the way buffers
4195 are reallocated so that it is portable.
4196
4197 2000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4198
4199 * dosfns.c (Ffile_system_info): New function.
4200 (syms_of_dosfns): Defsubr it.
4201
4202 2000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4203
4204 * alloc.c (gc_sweep): Add comment.
4205
4206 2000-12-07 Gerd Moellmann <gerd@gnu.org>
4207
4208 * sound.c (vox_configure): Change order of ioctls.
4209 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
4210 Ignore errors when changing volume.
4211 (vox_close): Don't reset the device.
4212
4213 * process.c (read_process_output): Make sure the process marker's
4214 position is valid when the process buffer is changed in
4215 after-change functions. W3 does that.
4216
4217 * xfns.c (x_free_gcs): New function.
4218
4219 * xterm.h (x_free_gcs): Add prototype.
4220
4221 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4222 freeing GCs here.
4223
4224 * xterm.c (x_destroy_window): Call x_free_gcs so that
4225 resources of non-toolkit X windows will be freed.
4226
4227 2000-12-07 Andrew Innes <andrewi@gnu.org>
4228
4229 * w32fns.c (xlfd_charset_of_font): Fix last change.
4230
4231 2000-12-06 Dave Love <fx@gnu.org>
4232
4233 * md5.h (__P): Don't define -- it comes from config.h.
4234
4235 * strftime.c: Change some #if foo to #ifdef foo.
4236
4237 2000-12-06 Andrew Innes <andrewi@gnu.org>
4238
4239 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4240
4241 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4242 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
4243 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4244
4245 2000-12-06 Gerd Moellmann <gerd@gnu.org>
4246
4247 * alloc.c (gc_sweep): Prevent symbols read during loadup
4248 from being freed.
4249
4250 * xdisp.c (underlying_face_id): New function.
4251 (handle_face_prop, face_before_or_after_it_pos): Use it
4252 to determine the face ``under'' a string. Let strings inherit
4253 the face of the buffer under them.
4254
4255 * xfaces.c (face_at_string_position): Update function comment.
4256
4257 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4258 matrix if the window's left position has changed; we need to
4259 redraw it in this case.
4260
4261 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4262
4263 * window.c (coordinates_in_window): Check mouse on mode-line or
4264 header-line first.
4265
4266 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4267 advertized by the function documentation.
4268
4269 * window.c (syms_of_window): Doc fix.
4270
4271 * sound.c (vox_configure): Set volume for left and right channel.
4272 (sound_cleanup): Return nil.
4273
4274 * xdisp.c (move_it_by_lines): Fix paren typo.
4275
4276 * xterm.c (x_load_font): Don't use the font's max_bounds for
4277 computing the height of the font. If max_bounds' ascent or
4278 descent are greater than the font's ascent or descent, this means
4279 glyphs overlap, which should be handled now by redisplay.
4280
4281 * window.c (Veven_window_heights): New variable.
4282 (syms_of_window): DEFVAR_LISP it.
4283 (Fdisplay_buffer): Check Veven_window_heights before evening the
4284 window heights.
4285
4286 2000-12-06 Miles Bader <miles@gnu.org>
4287
4288 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4289 update `default-frame-alist' instead of setting no frame parameters.
4290
4291 2000-12-06 Kenichi Handa <handa@etl.go.jp>
4292
4293 * composite.c (update_compositions): Fix typo (use the correct
4294 variable).
4295
4296 2000-12-05 Jason Rumney <jasonr@gnu.org>
4297
4298 * md5.h: Remove underscores from function declarations.
4299 (__attribute__, __alignof__) [!__GNUC__]: Define.
4300
4301 * md5.c: Delay include of md5.h until after namespace cleaning.
4302
4303 * makefile.w32-in (fns.o): Depend on md5.h
4304 (md5.o): New target.
4305 (sunfns.o): Remove.
4306
4307 * makefile.nt: Likewise.
4308
4309 2000-12-05 Jason Rumney <jasonr@altavista.net>
4310
4311 * w32term.c (expose_area): Complete last change.
4312
4313 2000-12-05 Ken Raeburn <raeburn@gnu.org>
4314
4315 * minibuf.c: Include intervals.h.
4316
4317 2000-12-05 Jason Rumney <jasonr@gnu.org>
4318
4319 * w32term.c (x_produce_glyphs): If a font for a component of
4320 a composition is not found, use 1 pixel dot ascent and 0 dot
4321 descent value to avoid displaying terribly tall empty boxes.
4322 (expose_area): Pass x-coordinate relative to the exposed
4323 area to x_draw_glyphs instead of a window-relative coordinate.
4324
4325 2000-12-05 Gerd Moellmann <gerd@gnu.org>
4326
4327 * xdisp.c (next_element_from_ellipsis): Save face before selective
4328 display in saved_face_id, and set face_before_selective_p.
4329 (reseat_1): Reset face_before_selective_p.
4330 (append_space, extend_face_to_end_of_line): If iterator's
4331 face_before_selective_p is set, use the face from saved_face_id.
4332 (extend_face_to_end_of_line): For tty frames, make sure to
4333 use the right face id when producing spaces at the end of
4334 the line.
4335
4336 * dispextern.h (struct it): Add face_before_selective_p.
4337
4338 * keyboard.c (record_char): Don't record identical help-echo
4339 events in recent_keys.
4340
4341 * xterm.c [USE_X_TOOLKIT]: Close the display.
4342 (xim_close_dpy): Handle case that the display has been closed.
4343
4344 * xterm.c (x_destroy_window): Reset the frame's X window after
4345 destroying it.
4346
4347 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4348 variable window_width.
4349 (line_draw_cost): Fix code skipping over spaces at the end of the
4350 line when must_write_spaces is not set.
4351 (scrolling_window): Fix code inserting runs in list of all runs.
4352
4353 2000-12-05 Kenichi Handa <handa@etl.go.jp>
4354
4355 * coding.c (setup_coding_system): Be sure to initialize
4356 coding->category_idx.
4357
4358 2000-12-04 Gerd Moellmann <gerd@gnu.org>
4359
4360 * xterm.c (PER_CHAR_METRIC): Removed because not used.
4361
4362 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4363 area to x_draw_glyphs instead of a window-relative coordinate.
4364
4365 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4366 error in the message.
4367
4368 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4369 timer after having read a key. It's not good for code reading
4370 several keys in a loop, like an input method.
4371
4372 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4373 record undo information for format-decode.
4374
4375 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4376 current buffer is read-only, not if it isn't.
4377
4378 * keyboard.c (record_char): Record `help-echo' input events
4379 in recent_keys only if they display some help. Don't record
4380 `help-echo' events as macro char.
4381
4382 2000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4383
4384 * editfns.c (save_excursion_restore): Don't move point
4385 in another window if it is showing the wrong buffer.
4386 Avoid the call to Fwindow_live_p, for speed.
4387
4388 2000-12-04 Kenichi Handa <handa@etl.go.jp>
4389
4390 * xfaces.c (struct font_name): New member registry_priority.
4391 (split_font_name): Initialize the above member to zero.
4392 (concat_font_list): New function.
4393 (font_list): Include fonts of all alternative registries.
4394 (FONT_POINT_SIZE_QUANTUM): New macro.
4395 (better_font_p): Ignore point size difference less than
4396 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4397
4398 * xterm.c (x_produce_glyphs): If a font for a component of
4399 a composition is not found, use 1 pixel dot ascent and 0 dot
4400 descent value to avoid displaying terribly tall empty boxes.
4401
4402 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4403
4404 2000-12-03 Ken Raeburn <raeburn@gnu.org>
4405
4406 * coding.h (code_convert_string1): Declare.
4407
4408 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4409
4410 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
4411
4412 2000-12-02 Jason Rumney <jasonr@gnu.org>
4413
4414 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4415 correctly for single byte character case.
4416 (w32_per_char_metric): Do not try to make any assumptions about
4417 the metrics of BDF fonts.
4418 (x_estimate_mode_line_height): If `mode-line' face
4419 hasn't a font, use that of the frame, as drawing glyphs does.
4420 (note_mouse_highlight): Change the cursor shape on the vertical
4421 border between windows [not enabled].
4422
4423 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4424
4425 * w32fns.c (Fx_create_frame): Reintroduce the call to
4426 face-set-after-frame-defaults.
4427 (Vx_window_horizontal_drag_shape): New variable.
4428 (syms_of_xfns): DEFVAR_LISP it.
4429 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4430 enabled].
4431
4432 2000-12-02 Simon Josefsson <simon@josefsson.org>
4433
4434 * fns.c (Fmd5): Use a different logic to decide the coding system
4435 to use.
4436
4437 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4438
4439 2000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4440
4441 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
4442
4443 2000-12-01 Gerd Moellmann <gerd@gnu.org>
4444
4445 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4446 height for YNegative.
4447 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4448 height; also see comment there.
4449
4450 * window.c (coordinates_in_window): Handle computations for
4451 positions on the vertical bar and fringes differently for
4452 window-system frames. Consider some pixels near the vertical bar
4453 as on the bar if the frame doesn't have vertical scroll bars.
4454 Associate positions between mode or header lines with the
4455 right window, the left one.
4456
4457 2000-12-01 Jason Rumney <jasonr@gnu.org>
4458
4459 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4460
4461 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4462 invalid frame.
4463
4464 2000-12-01 Gerd Moellmann <gerd@gnu.org>
4465
4466 * window.c (struct saved_window): Add members orig_top and orig_height.
4467 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4468 (save_window_save, Fset_window_configuration): Save/restore
4469 window's orig_top and orig_height.
4470
4471 2000-12-01 Jason Rumney <jasonr@gnu.org>
4472
4473 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
4474
4475 * w32fns.c (x_set_cursor_color): Fix last change.
4476
4477 2000-11-30 Gerd Moellmann <gerd@gnu.org>
4478
4479 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4480 sure that the next redisplay displays the minibuffer, so that
4481 the cursor will be replaced with what the minibuffer wants.
4482
4483 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4484 #ifndef instead of using #if.
4485 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4486 USE_TOOLKIT_SCROLL_BARS is defined.
4487
4488 2000-11-30 Jason Rumney <jasonr@gnu.org>
4489
4490 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4491 x_display_cursor.
4492
4493 2000-11-30 Gerd Moellmann <gerd@gnu.org>
4494
4495 * fns.c (Fmd5): Doc fix.
4496
4497 2000-11-30 Simon Josefsson <simon@josefsson.org>
4498
4499 * fns.c (Fmd5): New function.
4500 (syms_of_fns): Defsubr md5.
4501
4502 * Makefile.in (obj): Add md5.o
4503
4504 2000-11-30 Gerd Moellmann <gerd@gnu.org>
4505
4506 * md5.h, md5.c: New files, taken from glibc.
4507
4508 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4509
4510 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
4511 hasn't a font, use that of the frame, as drawing glyphs does.
4512
4513 2000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4514
4515 * eval.c (Frun_hooks): Allow 0 arguments.
4516
4517 2000-11-29 Gerd Moellmann <gerd@gnu.org>
4518
4519 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4520 is over the menu bar widget, say it's not on the frame.
4521
4522 * xfns.c (Fx_create_frame): Reintroduce the call to
4523 face-set-after-frame-defaults.
4524
4525 * eval.c (Fsignal): Reset handling_signal.
4526
4527 2000-11-28 Jason Rumney <jasonr@gnu.org>
4528
4529 * w32menu.c (add_menu_item): Reset menu item text when changing
4530 type to radio button.
4531
4532 2000-11-28 Gerd Moellmann <gerd@gnu.org>
4533
4534 * xselect.c: Update copyright.
4535
4536 * window.c (coordinates_in_window): If on a mode or header line,
4537 but sufficiently close to its start, return ``on vertical
4538 border''. This gives us a way to drag windows horizontally when
4539 using toolkit scroll bars.
4540
4541 * xterm.c (note_mouse_highlight): Change the cursor shape
4542 on the vertical border between windows.
4543
4544 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4545
4546 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4547 (syms_of_xfns): DEFVAR_LISP it.
4548 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4549
4550 * textprop.c (text_read_only): New function.
4551 (verify_interval_modification): Use it instead of signaling
4552 `text-read-only'. This makes it easier to catch this error
4553 with a breakpoint.:
4554
4555 * xdisp.c (forward_to_next_line_start): Check for newlines,
4556 not end of line, which includes CR.
4557
4558 2000-11-28 Kenichi Handa <handa@etl.go.jp>
4559
4560 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4561 include no-conversion.
4562
4563 2000-11-27 Jason Rumney <jasonr@gnu.org>
4564
4565 * w32fns.c (w32_load_system_font): Always mark font as double byte
4566 if codepage is unicode.
4567
4568 2000-11-27 Gerd Moellmann <gerd@gnu.org>
4569
4570 * xdisp.c (forward_to_next_line_start): If already on a newline,
4571 just consume it to avoid unintended skipping over invisible text below.
4572
4573 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4574 `vertical-line', `mode-line' and `header-line' events.
4575
4576 * xdisp.c (try_window_id): Avoid starting to display in the middle
4577 of a character, a TAB for instance. This is easier than to set
4578 up the iterator exactly, and it's not a frequent case, so the
4579 additional effort wouldn't really pay off.
4580
4581 2000-11-26 Andrew Choi <akochoi@i-cable.com>
4582
4583 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
4584 init_window_once.
4585
4586 2000-11-25 Jason Rumney <jasonr@gnu.org>
4587
4588 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4589 Args to window_from_coordinates should be pixel coordinates.
4590
4591 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4592 redisplay handles them properly.
4593
4594 2000-11-25 Miles Bader <miles@gnu.org>
4595
4596 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4597
4598 2000-11-24 Jason Rumney <jasonr@gnu.org>
4599
4600 * w32.c (init_environment): Set LANG environment variable based on
4601 locale settings, if not set.
4602
4603 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4604 making tool bar smaller. When clearing the frame, also
4605 clear current matrices. Clear frame when tool bar disappears.
4606 Don't use more lines for the tool-bar than is available.
4607 (x_change_window_heights): New function.
4608
4609 2000-11-24 Gerd Moellmann <gerd@gnu.org>
4610
4611 * xdisp.c (init_from_display_pos): If POS says we're already after
4612 an overlay string ending at POS, make sure to pop the iterator
4613 because it will be in front of that overlay string. When POS is
4614 ZV, we've thereby also ``processed'' overlay strings at ZV.
4615
4616 * xfaces.c (lface_from_face_name): Function comment fix.
4617
4618 2000-11-24 Miles Bader <miles@gnu.org>
4619
4620 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4621 apply `mode-line-inverse-video' -- zero means force display using
4622 the default face, non-zero means display using the specialized face.
4623 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4624
4625 2000-11-23 Kenichi Handa <handa@etl.go.jp>
4626
4627 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4628 hard coded `4'.
4629
4630 2000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4631
4632 * coding.c (decode_coding_emacs_mule): Fix the case of
4633 CODING_EOL_LF, which used uninitialized value of c.
4634
4635 2000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4636
4637 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4638
4639 2000-11-22 Gerd Moellmann <gerd@gnu.org>
4640
4641 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4642 buffer object.
4643
4644 * frame.h (struct frame): Replace desired_tool_bar_items,
4645 current_tool_bar_items, n_desired_tool_bar_items,
4646 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
4647
4648 * frame.c (make_frame): Change initialization of tool bar
4649 items accordingly.
4650
4651 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
4652 Change references to members deleted from struct frame to use the
4653 new ones.
4654
4655 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
4656 references to members deleted from struct frame to use the new ones.
4657
4658 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
4659
4660 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4661
4662 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
4663 (note_tool_bar_highlight): Change references to members deleted
4664 from struct frame to use the new ones.
4665
4666 2000-11-23 Miles Bader <miles@gnu.org>
4667
4668 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4669 the face's inverse-video attribute, rather than overriding it.
4670
4671 2000-11-22 Gerd Moellmann <gerd@gnu.org>
4672
4673 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4674 making tool bar smaller.
4675
4676 2000-11-22 Dave Love <fx@gnu.org>
4677
4678 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4679
4680 2000-11-22 Miles Bader <miles@gnu.org>
4681
4682 * keyboard.c (Vminibuffer_message_timeout): New variable.
4683 (command_loop_1): Use it to determine message timeout.
4684 (syms_of_keyboard): Initialize it.
4685
4686 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
4687
4688 2000-11-22 Kenichi Handa <handa@etl.go.jp>
4689
4690 * sysdep.c: Move the code for declaring h_errno after #include
4691 <netdb.h>.
4692
4693 2000-11-21 Gerd Moellmann <gerd@gnu.org>
4694
4695 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4696 the menu bar when the tooltip is unmapped.
4697
4698 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4699 sole visible buffer when we're currently in the mini-buffer, and
4700 give up if so.
4701
4702 2000-11-21 Jason Rumney <jasonr@gnu.org>
4703
4704 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4705 put on the clipboard.
4706 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4707 copy of what Emacs last put there. If they are the same, do not
4708 use the clipboard copy to avoid losing data due to coding conversions.
4709
4710 2000-11-22 Miles Bader <miles@gnu.org>
4711
4712 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4713 (syms_of_minibuf): Initialize it.
4714 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4715 to prompt, don't make read-only.
4716
4717 2000-11-21 Gerd Moellmann <gerd@gnu.org>
4718
4719 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4720 Add BEFORE/AFTER_POTENTIAL_GC.
4721
4722 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4723
4724 * buffer.c (mmap_free_1): Avoid a compiler warning.
4725
4726 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4727
4728 2000-11-21 Kenichi Handa <handa@etl.go.jp>
4729
4730 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4731 ... #endif scope.
4732
4733 2000-11-20 Gerd Moellmann <gerd@gnu.org>
4734
4735 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
4736 screen supports it.
4737
4738 * s/gnu-linux.h: Don't use `#cpu'.
4739
4740 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4741 not defined in mman.h.
4742
4743 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
4744 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4745 and store an index in the XClientMessageEvent. Storing a
4746 Lisp_Object or pointer can fail on a 64 bit system, since X only
4747 transfers 32 bits.
4748 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4749
4750 2000-11-20 Dave Love <fx@gnu.org>
4751
4752 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4753
4754 2000-11-20 Gerd Moellmann <gerd@gnu.org>
4755
4756 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4757
4758 2000-11-20 Kenichi Handa <handa@etl.go.jp>
4759
4760 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4761 by WIDTH.
4762
4763 * alloc.c (make_string): Fix previous change. Be sure to make
4764 unibyte string correctly.
4765
4766 2000-11-19 Gerd Moellmann <gerd@gnu.org>
4767
4768 * window.c (Fwindow_list): Change parameter list to be XEmacs
4769 compatible.
4770 (window_list_1): New function.
4771 (window_loop): Use it instead of Fwindow_list.
4772
4773 * sysdep.c (emacs_ospeed): New variable.
4774 (toplevel): Don't declare ospeed extern.
4775 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4776
4777 * termcap.c (ospeed): Remove.
4778 (tputs) [!emacs]: Remove unused code.
4779 (tgetent): Avoid a compiler warning.
4780
4781 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4782 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
4783 SCROLL_BAR_X_WIDGET with additional argument DPY.
4784
4785 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4786 removed.
4787 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4788 Take the X display as additional argument.
4789 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4790 `Widget' is a pointer type that's not easily stored in Lisp_Object
4791 form in a portable way.
4792
4793 * dispnew.c (update_text_area): Fix last change.
4794
4795 2000-11-18 Gerd Moellmann <gerd@gnu.org>
4796
4797 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4798
4799 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4800 clear current matrices.
4801
4802 * buffer.c (mmap_enlarge): Don't print a message on stderr
4803 if mapping new memory at the end of the existing region fails.
4804
4805 * dispnew.c (update_text_area): Don't skip over equal glyphs
4806 when the last current glyph overlaps the glyph to its right.
4807
4808 2000-11-18 Miles Bader <miles@gnu.org>
4809
4810 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4811 lines that *end* with "..." too (that's the most common case!).
4812
4813 2000-11-18 Gerd Moellmann <gerd@gnu.org>
4814
4815 * xdisp.c (resize_mini_window): Temporarily change to the
4816 mini-window's buffer if necessary.
4817
4818 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4819 the tooltip obscures less text under it.
4820
4821 2000-11-17 Gerd Moellmann <gerd@gnu.org>
4822
4823 * puresize.h (BASE_PURESIZE): Increase to 700000.
4824
4825 2000-11-18 Jason Rumney <jasonr@gnu.org>
4826
4827 * w32term.c (w32_draw_bitmap): Use face to set colors.
4828
4829 2000-11-17 Dave Love <fx@gnu.org>
4830
4831 * lread.c (Fload): Fix #ifdef for pcc.
4832
4833 2000-11-17 Gerd Moellmann <gerd@gnu.org>
4834
4835 * xdisp.c (pos_visible_p): Compute the default character height
4836 differently.
4837
4838 2000-11-16 Gerd Moellmann <gerd@gnu.org>
4839
4840 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
4841 knowing the line's height; use the default font's height in that case.
4842
4843 * xfaces.c (weight_table): Add `demi' with the same meaning as
4844 `demibold'.
4845
4846 2000-11-16 Kenichi Handa <handa@etl.go.jp>
4847
4848 * dispnew.c (null_row): New global static variable.
4849 (clear_glyph_row): Delete local static variable null_row.
4850
4851 2000-11-15 Jason Rumney <jasonr@gnu.org>
4852
4853 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4854 (w32_alloc_lighter_color): Use new brightness calculations from
4855 xterm.c. Scale delta to be in the range expected by W32.
4856 (w32_draw_relief_rect): Use frame relief colors.
4857
4858 2000-11-15 Gerd Moellmann <gerd@gnu.org>
4859
4860 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4861 (Qinhibit_default_face_x_resources): New variable.
4862 (syms_of_frame): Initialize it.
4863 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4864
4865 * xdisp.c (pos_visible_p): Improve function comment.
4866
4867 * lisp.h (BINDING_STACK_SIZE): New macro.
4868
4869 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4870 reading the directory if readdir returns null and errno is EAGAIN
4871 or EINTR.
4872
4873 2000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4874
4875 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4876 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4877 Set amount_to_scroll to max of dx and scroll_step so that
4878 scroll-conservatively doesn't defeat scroll-step>1.
4879 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4880 scroll-conservatively for line-at-a-time scrolling.
4881
4882 2000-11-14 Gerd Moellmann <gerd@gnu.org>
4883
4884 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4885 extra argument.
4886
4887 * xdisp.c (current_mode_line_height, current_header_line_height):
4888 New variables.
4889 (init_xdisp): Initialize them.
4890 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4891 and use exact mode line heights if it is set.
4892
4893 * lisp.h (pos_visible_p): Change prototype.
4894
4895 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4896 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4897 and current_header_line_height first.
4898 (current_mode_line_height, current_header_line_height):
4899 Declare extern.
4900
4901 2000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4902
4903 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4904 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4905 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4906
4907 2000-11-14 Miles Bader <miles@gnu.org>
4908
4909 * xterm.c (x_alloc_lighter_color): Include an additive component
4910 too for dark colors, because FACTOR isn't enough.
4911 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4912 New macros.
4913
4914 2000-11-13 Gerd Moellmann <gerd@gnu.org>
4915
4916 * keyboard.c (show_help_echo): Call message3_nolog with number of
4917 bytes in the help string as 2nd parameter, instead of the number
4918 of characters.
4919
4920 2000-11-13 Miles Bader <miles@gnu.org>
4921
4922 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4923 (Fload): Use new openp return protocol.
4924 Don't try to use Vload_source_file_function to load .elc files.
4925 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4926 openp return protocol.
4927 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4928
4929 2000-11-11 Kenichi Handa <handa@etl.go.jp>
4930
4931 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4932
4933 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4934 Defined these macros.
4935 (NLIST_STRUCT): Avoid re-defining it.
4936
4937 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4938 -I/usr/contrib/X11R6/include.
4939 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4940
4941 2000-11-10 Jason Rumney <jasonr@gnu.org>
4942
4943 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4944
4945 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4946 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4947
4948 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4949 (Qw32_charset_vietnamese): New symbol.
4950 (xlfd_charset_of_font): New function.
4951 (w32_load_system_font): Use it.
4952 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4953 when Vw32_charset_info_alist is nil to ensure default face always
4954 has font. Use Fcar and Fcdr for safety.
4955 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4956 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4957 pseudo-codepages for special cases.
4958 (w32_to_x_font): New parameter to allow charset portion to be
4959 specified where there is many to one mapping. Callers changed.
4960 (w32_list_fonts): Avoid listing fonts that won't display.
4961
4962 2000-11-10 Gerd Moellmann <gerd@gnu.org>
4963
4964 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4965 (font_list_1): Renamed from font_list.
4966 (font_list): New function, trying alternative registries from
4967 Vface_alternative_font_registry_alist.
4968 (Finternal_set_alternative_font_registry_alist): New function.
4969 (syms_of_xfaces): Initialize and Staticpro
4970 Vface_alternative_font_registry_alist.
4971 Defsubr Finternal_set_alternative_font_registry_alist.
4972
4973 2000-11-09 Ken Raeburn <raeburn@gnu.org>
4974
4975 * lisp.h (Flooking_at): Declare.
4976
4977 2000-11-09 Gerd Moellmann <gerd@gnu.org>
4978
4979 * dired.c (directory_files_internal): Fix a braino.
4980
4981 * dired.c (directory_files_internal): Add missing GCPRO's.
4982 Some cleanup.
4983
4984 2000-11-08 Gerd Moellmann <gerd@gnu.org>
4985
4986 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4987 (resize_mini_window): Return quickly if Vresize_mini_window is
4988 nil. Don't return if Vmax_mini_window_height is nil.
4989
4990 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4991 (syms_of_xdisp): Initialize them.
4992 (resize_mini_window): Act according to the setting of
4993 Vresize_mini_window.
4994 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4995
4996 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4997 scroll bar widget after configuring it, so that it will appear at
4998 the right position from the start.
4999 (XTredeem_scroll_bar): Cleaned up.
5000
5001 2000-11-08 Kenichi Handa <handa@etl.go.jp>
5002
5003 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5004 font is taller than the frame line, we don't have to bias the
5005 division by two.
5006
5007 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5008
5009 2000-11-07 Dave Love <fx@gnu.org>
5010
5011 * config.in (HAVE_MKSTEMP): Add.
5012
5013 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5014
5015 2000-11-07 Gerd Moellmann <gerd@gnu.org>
5016
5017 * window.c (Fset_window_configuration): Don't try to preserve
5018 point in the current buffer, if that buffer is displayed in more
5019 than one window.
5020
5021 * xfaces.c (lookup_named_face): If default face isn't realized,
5022 try to realize it. Return -1 if not successful.
5023 (Fx_list_fonts): Handle case that face cannot be determined.
5024 (Fface_font): Likewise.
5025
5026 2000-11-06 Gerd Moellmann <gerd@gnu.org>
5027
5028 * window.c (displayed_window_lines): Detect partially
5029 visible lines at the bottom correctly.
5030
5031 2000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5032
5033 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5034 when ensuring we don't do visit in indirect buffer.
5035
5036 2000-11-06 Kenichi Handa <handa@etl.go.jp>
5037
5038 * composite.h (compose_chars_in_text): Add prototype.
5039
5040 * composite.c (Vcomposition_function_table): New variable.
5041 (Qcomposition_function_table): New variable.
5042 (run_composition_function): Call
5043 Vcompose_chars_after_function with three arguments.
5044 (compose_chars_in_text): New function.
5045 (syms_of_composite): Modified the doc-string of
5046 Vcompose_chars_after_function. Declare composition-function-table
5047 as a lisp variable, and initialize it.
5048
5049 * xfns.c (x_encode_text): Suppress producing escape sequences for
5050 composition.
5051
5052 * xselect.c: Include composite.h.
5053 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5054
5055 2000-11-05 Andrew Innes <andrewi@gnu.org>
5056
5057 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5058
5059 * sysdep.c (read_input_waiting): Remove extraneous argument to
5060 read_socket_hook.
5061
5062 * w32fns.c (Fx_server_version): Include w32_build_number in the
5063 return list.
5064
5065 * w32heap.c (w32_build_number): New variable.
5066 (cache_system_info): Set it.
5067
5068 * w32heap.h (w32_build_number): Add extern.
5069
5070 * emacs.c (syms_of_emacs): Update docstring for
5071 system-configuration, to reflect the actual usage on MS-Windows.
5072
5073 2000-10-31 Gerd Moellmann <gerd@gnu.org>
5074
5075 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5076 process idle timers while waiting for another event.
5077
5078 * dispnew.c (update_frame_line): Handle case where spaces in
5079 the default face are colored.
5080
5081 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5082 window height hasn't changed.
5083
5084 2000-10-31 Jason Rumney <jasonr@gnu.org>
5085
5086 * w32term.c (x_produce_glyphs): Handle composite characters.
5087 (x_draw_glyph_string_foreground)
5088 (x_draw_composite_glyph_string_foreground): Restore old font.
5089
5090 2000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5091
5092 * minibuf.c (read_minibuf): Reset the undo history just before
5093 starting the recursive-edit.
5094
5095 2000-10-30 Gerd Moellmann <gerd@gnu.org>
5096
5097 * xfaces.c (menu_face_change_count): New variable.
5098 (Finternal_set_lisp_face_attribute): Increment it for changes
5099 of the `menu' face.
5100 (realize_basic_faces): Reflect changes in the `menu' faces
5101 in menu bars.
5102
5103 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5104 dy obtained from the iterator's y-position after moving from
5105 scroll_margin_pos to PT; see comment there.
5106
5107 * xdisp.c (safe_eval_handler): Call add_to_log.
5108
5109 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5110 is not a symbol or string.
5111
5112 * xdisp.c (echo_area_display): Don't perform a display update from
5113 inside redisplay. The update will happen anyway at the end of
5114 redisplay, and it can confuse redisplay (GC messages while
5115 redisplaying, for instance.)
5116
5117 2000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5118
5119 * xrdb.c (x_load_resources): Use the class name in the defaults.
5120
5121 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5122 (regex_compile): Catch bogus \(\1\).
5123
5124 2000-10-30 Gerd Moellmann <gerd@gnu.org>
5125
5126 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5127 RGB values.
5128
5129 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5130 we have a color cache, check that the cached color equals the
5131 allocated color. If not, clear the color cache.
5132
5133 * window.c (displayed_window_lines): Change buffers if necessary.
5134 Fix computation of displayed lines.
5135
5136 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5137 update_menu_bindings to DEFVAR_BOOL.
5138
5139 2000-10-30 Kenichi Handa <handa@etl.go.jp>
5140
5141 * search.c (Fset_match_data): Be sure to make search_regs always sane.
5142
5143 * puresize.h (BASE_PURESIZE): Increase to 680000.
5144
5145 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5146
5147 2000-10-29 Jason Rumney <jasonr@gnu.org>
5148
5149 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5150
5151 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5152 (w32_cache_char_metrics): Handle possibility that 'x' does not
5153 exist in a BDF font.
5154 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5155
5156 * w32bdf.h (bdffont): Add nchars.
5157
5158 * w32bdf.c (set_bdf_font_info): Set it.
5159 (w32_BDF_TextOut): Swap byte order of double byte characters.
5160 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5161
5162 2000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5163
5164 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5165 don't override the colors in frame's param_alist, unless they are
5166 unspecified.
5167
5168 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5169 reverse the effect of the highlight flag.
5170
5171 2000-10-27 Ken Raeburn <raeburn@gnu.org>
5172
5173 * window.h (Fwindow_live_p): Declare.
5174
5175 * undo.c (record_delete): Check that last_undo_buffer is really a
5176 buffer before applying XBUFFER to it.
5177
5178 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5179 Faref.
5180
5181 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5182
5183 * lisp.h (KEYMAPP): New macro.
5184 (get_keymap): Remove.
5185 (get_keymap_1): Rename get_keymap.
5186
5187 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5188
5189 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5190
5191 * xmenu.c (single_submenu): Use KEYMAPP.
5192 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5193 Use KEYMAPP rather than Fkeymapp.
5194
5195 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5196
5197 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5198 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5199 Use KEYMAPP rather than Fkeymapp.
5200 (single_submenu): Use KEYMAPP.
5201 (w32_menu_show, w32_dialog_show): Use TRUE.
5202
5203 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5204
5205 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5206 (Fkeymapp): Use KEYMAPP.
5207 (get_keymap): Rename from get_keymap_1. Remove old def.
5208 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5209 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5210 (Fminor_mode_key_binding): Don't raise an error if the binding
5211 is not a keymap.
5212 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5213 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5214
5215 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5216 Allow Vspecial_event_map to be autoloaded.
5217 (menu_bar_items): Fetch the keymap rather than using keymapp.
5218 (menu_bar_one_keymap): No need to follow func-indirect any more.
5219 (parse_menu_item): get_keymap_1 -> get_keymap.
5220 (tool_bar_items): Fetch the keymap rather than using keymapp.
5221 (read_key_sequence): Use KEYMAPP.
5222
5223 * intervals.c (get_local_map): Use get_keymap rather than following
5224 function-indirections explicitly.
5225
5226 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5227
5228 2000-10-27 Jason Rumney <jasonr@gnu.org>
5229
5230 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5231 point, as Windows has oversized fonts.
5232
5233 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5234
5235 2000-10-27 Gerd Moellmann <gerd@gnu.org>
5236
5237 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5238 (freehook, reallochook): Handle null pointer arguments.
5239 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5240
5241 2000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5242
5243 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5244 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5245 Giving in to popular pressure to shut up the compiler with casts.
5246
5247 2000-10-27 Gerd Moellmann <gerd@gnu.org>
5248
5249 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5250 signed value, and use a default value computed from the font's
5251 maximum descent.
5252
5253 2000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5254
5255 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5256 that specify a negative underline position can still use underlines.
5257
5258 * window.c (Fpos_visible_in_window_p): Make POS default to
5259 WINDOW's point, not the current buffer's point.
5260
5261 2000-10-26 Dave Love <fx@gnu.org>
5262
5263 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5264 when it's necessary.
5265
5266 2000-10-26 Gerd Moellmann <gerd@gnu.org>
5267
5268 * window.c (size_window): Compute size difference from sum of old
5269 child window sizes instead of from parent's size.
5270
5271 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5272 Handle obscured lines at the top of the window.
5273
5274 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5275 down after the last error condition check.
5276
5277 * frame.c (Fdelete_frame): Run delete-frame-hook.
5278
5279 2000-10-26 Kenichi Handa <handa@etl.go.jp>
5280
5281 * coding.c (decode_coding): Fix previous change (check also
5282 CODING_MODE_LAST_BLOCK).
5283
5284 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5285
5286 * regex.c: More `unsigned char' -> `re_char' changes.
5287 Also change several `int' into `re_wchar_t'.
5288 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5289 (PUSH_FAILURE_POINTER): Don't cast any more.
5290 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5291 We want GCC to complain, since this piece of code makes
5292 re_match non-reentrant, which *should* be fixed.
5293 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5294 (EXTEND_BUFFER): Use RETALLOC.
5295 (SET_LIST_BIT): Don't cast.
5296 (re_wchar_t): New type.
5297 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5298 that those two functions will always properly return.
5299 (IMMEDIATE_QUIT_CHECK): Cast to void.
5300 (analyse_first): Use recursion rather than an explicit stack.
5301 (re_compile_fastmap): Can't fail anymore.
5302 (re_search_2): Don't check re_compile_fastmap for failure.
5303 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5304 Now also sets the new value (passed in a new argument).
5305 (re_match_2_internal): Use it.
5306 Also, use a new var `reg' of type size_t when looping through regs
5307 rather than reuse the inappropriate `mcnt'.
5308
5309 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5310 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5311 (where_is_internal): Renamed from Fwhere_is_internal.
5312 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5313 (Fwhere_is_internal): New function wrapping where_is_internal.
5314 (where_is_internal_1): Handle the case where we're filling the cache.
5315 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5316
5317 2000-10-25 Miles Bader <miles@gnu.org>
5318
5319 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5320
5321 2000-10-25 Gerd Moellmann <gerd@gnu.org>
5322
5323 * window.c (pos_fully_visible_p): Removed.
5324 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5325 if position is visible and/or fully visible.
5326
5327 * lisp.h (pos_visible_p): Add prototype.
5328
5329 * xdisp.c (pos_visible_p): New function.
5330
5331 2000-10-25 Kenichi Handa <handa@etl.go.jp>
5332
5333 * process.c (send_process): If OBJECT is t, it means that the data
5334 is from C string, but we should encode it. Before calling
5335 setup_raw_text_coding_system, be sure to flush out data by the
5336 previous coding system.
5337
5338 2000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5339
5340 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5341 assignment of startpos to prev when startpos == pos.
5342
5343 * editfns.c (find_field): Set the field stickiness correctly from
5344 overlay fields. Use renamed `text_property_stickiness'.
5345 (text_property_stickiness): Renamed from `char_property_stickiness'.
5346 Only check text properties, not overlays.
5347 * textprop.c (get_char_property_and_overlay): New function.
5348 (Fget_char_property): Use it.
5349 * intervals.h (get_char_property_and_overlay): Add declaration.
5350
5351 2000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5352
5353 * keymap.c: Use AREF, ASET and ASIZE macros.
5354 (Fmake_sparse_keymap): Docstring fix.
5355 (synkey): Remove.
5356 (shadow_lookup): Move up.
5357 Handle the case where lookup-key returns an integer.
5358 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5359 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5360 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5361 Simplify/rewrite the keymap-finding code.
5362 Add check for command shadowing, using shadow_lookup.
5363
5364 2000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5365
5366 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5367 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5368 a symbol.
5369
5370 2000-10-24 Andrew Innes <andrewi@gnu.org>
5371
5372 * dired.c (directory_files_internal_unwind): New function.
5373 (directory_files_internal): Use it to ensure closedir is called
5374 even if expand-file-name or file-attributes throw, eg. because of
5375 a user interrupt. Also enable immediate_quit while calling
5376 re_search, so that matching can be interrupted as well.
5377
5378 2000-10-24 Andrew Innes <andrewi@gnu.org>
5379
5380 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5381 NT-Emacs only.
5382 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5383 so that re_search functions only quit when callers expect them to.
5384
5385 2000-10-24 Kenichi Handa <handa@etl.go.jp>
5386
5387 * regex.c (regex_compile): Change the way of handling a range from
5388 a char less than 256 to a char not less than 256.
5389
5390 2000-10-24 Gerd Moellmann <gerd@gnu.org>
5391
5392 * window.c (size_window): Prevent setting window's width or
5393 height to a negative value (esp. with XSETFASTINT).
5394
5395 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5396 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5397 (protect_malloc_state) [GC_MALLOC_CHECK &&
5398 GC_PROTECT_MALLOC_STATE]: New function.
5399 (PROTECT_MALLOC_STATE): New macro.
5400 (__malloc_initialize, morecore, _malloc_internal)
5401 (_free_internal) _realloc_internal): Use it to make _heapinfo
5402 read-only outside of gmalloc.
5403
5404 * keymap.c: Update copyright.
5405
5406 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5407 a symbol.
5408
5409 2000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5410
5411 * filelock.c (unlock_all_files): Use unlock_file to expand each
5412 buffer's file_truename before trying remove its lock file.
5413
5414 2000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5415
5416 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5417 or CRLF, decode EOLs.
5418
5419 2000-10-24 Kenichi Handa <handa@etl.go.jp>
5420
5421 * window.c (Fdisplay_buffer): Fix doc.
5422
5423 2000-10-23 Jason Rumney <jasonr@gnu.org>
5424
5425 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5426 ASCII font of default fontset on Windows.
5427
5428 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5429 xterm.c comment below).
5430
5431 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5432
5433 2000-10-23 Gerd Moellmann <gerd@gnu.org>
5434
5435 * xterm.c (x_connection_closed): Reset handling_signal.
5436
5437 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
5438
5439 2000-10-23 Miles Bader <miles@gnu.org>
5440
5441 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5442 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5443 maintain old behavior.
5444 * minibuf.c (Fminibuffer_complete): Likewise.
5445
5446 2000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5447
5448 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5449 that when a font can't be exactly centered, it errs up rather than
5450 down.
5451
5452 2000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
5453
5454 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
5455
5456 2000-10-23 Andrew Choi <akochoi@i-cable.com>
5457
5458 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5459
5460 * dispnew.c [macintosh]: Include macterm.h.
5461 (init_display) [macintosh]: Initialization for window system.
5462
5463 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5464 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5465 syms_of_search, x_term_init, and init_keyboard before calling
5466 init_window_once. Also, call syms_of_xmenu.
5467
5468 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5469 default fontset to Monaco.
5470
5471 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5472 NewMacWindow and DisposeMacWindow.
5473 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5474 instead of calling NewMacWindow and setting fields of
5475 f->output_data.mac directly. Call init_frame_faces.
5476 (Fdelete_frame) [macintosh]: Remove unused code.
5477 (Fmodify_frame_parameters) [macintosh]: Call
5478 x_set_frame_parameters instead of mac_set_frame_parameters.
5479
5480 * frame.h [macintosh]: Define menu_bar_lines field in struct
5481 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5482
5483 * keyboard.c [macintosh]: Include macterm.h.
5484 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5485 and menu_bar_activate_event type events as for X and NT.
5486 (make_lispy_event) [macintosh]: Construct lisp events of type
5487 MENU_BAR_EVENT as for X and NT.
5488
5489 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5490 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5491 (sys_subshell) [macintosh]: Remove definition entirely.
5492 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5493 Vwindow_system_version here. Remove initialization of
5494 Vx_bitmap_file_path.
5495 (read_input_waiting): Correct the number of parameters passed to
5496 read_socket_hook.
5497 Move all Macintosh functions to mac/mac.c.
5498
5499 * term.c [macintosh]: Include macterm.h.
5500
5501 * window.c [macintosh]: Include macterm.h.
5502
5503 * xdisp.c [macintosh]: Include macterm.h. Declare
5504 set_frame_menubar and pending_menu_activation.
5505 (echo_area_display) [macintosh]: Do not return if terminal frame
5506 is the selected frame.
5507 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5508 Allow only the selected frame to set menu bar.
5509 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5510 calling FRAME_EXTERNAL_MENU_BAR (f).
5511 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5512
5513 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5514 and check_x. Declare XCreateGC. Define x_create_gc and
5515 x_free_gc. Initialize font_sort_order.
5516 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5517 but call x_list_fonts instead of w32_list_fonts.
5518 (Finternal_face_x_get_resource) [macintosh]: Do not call
5519 display_x_get_resource.
5520 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5521 (realize_x_face) [macintosh]: Load the font if it is specified in
5522 ATTRS.
5523 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
5524
5525 2000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5526
5527 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5528 is nil: since we go to the end of submap anyway, we'd end up
5529 setting nil to nil.
5530 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5531 doesn't obey autoload.
5532
5533 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5534
5535 * msdos.c (dos_set_window_size): Update screen dimension variables.
5536
5537 2000-10-21 Jason Rumney <jasonr@gnu.org>
5538
5539 * w32term.c (w32_cache_char_metrics): Double check that font is
5540 really fixed pitch before trusting tmPitchAndFamily.
5541
5542 2000-10-21 Andrew Innes <andrewi@gnu.org>
5543
5544 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5545
5546 * w32term.h: Extern decl for w32_cache_char_metrics.
5547
5548 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5549
5550 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5551 (w32_unload_font): Free per_char array if present.
5552
5553 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5554 cached information in emulated XFontStruct to handle common cases
5555 quickly. Do not allocate XCharStruct for return.
5556 (w32_native_per_char_metric): New function.
5557 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5558 allocating one.
5559 (x_produce_glyphs): Don't get an HDC. Change calls to
5560 w32_per_char_metric to match arg change above. Remove calls to
5561 free results.
5562 (w32_get_glyph_overhangs): Ditto.
5563 (w32_cache_char_metrics): New function.
5564
5565 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5566 ($(BLD)/casefiddle.$(O)): Remove compile command.
5567 ($(BLD)/gmalloc.$(O)): Remove compile command.
5568 ($(BLD)/dispnew.obj):
5569 ($(BLD)/keyboard.obj):
5570 ($(BLD)/w32inevt.obj):
5571 ($(BLD)/w32bdf.obj):
5572 ($(BLD)/alloc.obj):
5573 ($(BLD)/buffer.obj):
5574 ($(BLD)/editfns.obj):
5575 ($(BLD)/emacs.obj):
5576 ($(BLD)/fileio.obj):
5577 ($(BLD)/fns.obj):
5578 ($(BLD)/indent.obj):
5579 ($(BLD)/insdel.obj):
5580 ($(BLD)/intervals.obj):
5581 ($(BLD)/minibuf.obj):
5582 ($(BLD)/print.obj):
5583 ($(BLD)/scroll.obj):
5584 ($(BLD)/sysdep.obj):
5585 ($(BLD)/textprop.obj):
5586 ($(BLD)/widget.obj):
5587 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5588 ($(BLD)/term.obj): Add dependency on dispextern.h.
5589
5590 * makefile.nt ($(BLD)\dispnew.obj):
5591 ($(BLD)\keyboard.obj):
5592 ($(BLD)\w32inevt.obj):
5593 ($(BLD)\w32bdf.obj):
5594 ($(BLD)\alloc.obj):
5595 ($(BLD)\buffer.obj):
5596 ($(BLD)\editfns.obj):
5597 ($(BLD)\emacs.obj):
5598 ($(BLD)\fileio.obj):
5599 ($(BLD)\fns.obj):
5600 ($(BLD)\indent.obj):
5601 ($(BLD)\insdel.obj):
5602 ($(BLD)\intervals.obj):
5603 ($(BLD)\minibuf.obj):
5604 ($(BLD)\print.obj):
5605 ($(BLD)\scroll.obj):
5606 ($(BLD)\sysdep.obj):
5607 ($(BLD)\textprop.obj):
5608 ($(BLD)\widget.obj):
5609 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5610 ($(BLD)\term.obj): Add dependency on dispextern.h
5611
5612 2000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5613
5614 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5615 with an additional argument of Qt.
5616
5617 2000-10-21 Miles Bader <miles@gnu.org>
5618
5619 * window.c (pos_fully_visible_in_window_p): New function.
5620 (Fpos_visible_in_window_p): Add FULLY argument.
5621 Use pos_fully_visible_in_window_p.
5622 (window_scroll_pixel_based, window_scroll_line_based): Update
5623 calls to Fpos_visible_in_window_p.
5624 * lisp.h (Fpos_visible_in_window_p): Update prototype
5625
5626 2000-10-20 Gerd Moellmann <gerd@gnu.org>
5627
5628 * alloc.c (toplevel): Conditionalize compilation of mem_*
5629 functions differently.
5630
5631 2000-10-20 Jason Rumney <jasonr@gnu.org>
5632
5633 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5634 mem_init where it used to be. mem_z etc not defined otherwise.
5635
5636 2000-10-20 Gerd Moellmann <gerd@gnu.org>
5637
5638 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5639 GC_MALLOC_CHECK.
5640 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5641 structure definition and related variabled to the top of the file.
5642 Include this code when GC_MALLOC_CHECK is defined.
5643 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5644 register/unregister allocated region.
5645 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5646 which isn't allocated.
5647 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5648 something which is already in use.
5649 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5650 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5651 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5652 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5653
5654 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5655 _malloc_internal instead of malloc.
5656 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5657 of free.
5658
5659 2000-10-20 Andrew Innes <andrewi@gnu.org>
5660
5661 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5662 Windows.
5663 (my_strftime) <macro>: Don't use macro arg list when redefining as
5664 _strftime_copytm.
5665 (my_strftime) <function>: Supply 0 as ut argument.
5666
5667 2000-10-19 Jason Rumney <jasonr@altavista.net>
5668
5669 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5670 including dispextern.h, as it stops faces from working.
5671
5672 * w32fns.c (Fx_create_frame): Don't bother calling
5673 face-set-after-frame-default since the caller does it for us
5674 anyway. Clean up calls to x_get_arg to be consistent with X.
5675
5676 * w32term.c (x_produce_glyphs): Handle
5677 unibyte_display_via_language_environment correctly.
5678 (w32_draw_box_rect): Fix the calculation of width and height.
5679
5680 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5681 as it has stopped working.
5682 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5683 menu-bar.
5684
5685 2000-10-19 Gerd Moellmann <gerd@gnu.org>
5686
5687 * eval.c (skip_debugger): Prevent a compiler warning.
5688 (Fcondition_case): Likewise.
5689 (Fbacktrace_frame): Use a null interactive spec.
5690
5691 2000-10-19 Kenichi Handa <handa@etl.go.jp>
5692
5693 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5694
5695 2000-10-18 Gerd Moellmann <gerd@gnu.org>
5696
5697 * strftime.c: Sync with glibc, file version 1.78.
5698 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5699 should no longer be used according to ISO 8601.
5700
5701 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5702 no map for meta_prefix_char, don't try to use it as a keymap.
5703 Instead, if T_OK is non-zero, look up a default binding, if any,
5704 otherwise, if T_OK is zero, return nil.
5705
5706 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5707 (x_to_xcolors, png_load): Use x_query_color.
5708
5709 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5710 New functions.
5711 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5712 which can be slow.
5713 (x_copy_color, x_alloc_lighter_color): Likewise.
5714
5715 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5716 (x_query_color, x_query_colors): Add prototype.
5717
5718 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5719 check_string_bytes only if not noninteractive, increase count to 50.
5720
5721 2000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5722
5723 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5724 markers correctly.
5725
5726 2000-10-17 Gerd Moellmann <gerd@gnu.org>
5727
5728 * alloc.c (pure_bytes_used): Renamed from pureptr.
5729 (ALIGN): New macro.
5730 (pure_alloc): New function.
5731 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5732 Use it.
5733 (Fpurecopy): Use PURE_POINTER_P.
5734
5735 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5736 PT has moved backward.
5737
5738 * xdisp.c (cursor_row_p): Take continued lines into account.
5739
5740 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5741 string's size_byte.
5742 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5743 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5744 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5745 string allocated.
5746
5747 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5748 of selective display off while searching for the next line start.
5749
5750 2000-10-17 Kenichi Handa <handa@etl.go.jp>
5751
5752 * Makefile.in (term.o): Depend on dispextern.h.
5753
5754 2000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5755
5756 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5757
5758 2000-10-16 Gerd Moellmann <gerd@gnu.org>
5759
5760 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5761 the iterator at the beginning, so that they can be set later on,
5762 for instance in reseat_at_next_visible_line_start, without being
5763 overwritten.
5764
5765 * xfns.c (pbm_format): Add :foreground and :background keywords.
5766 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
5767 (xbm_load): Recognize foreground and background color specifications.
5768
5769 2000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5770
5771 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5772
5773 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
5774
5775 * msdos.c (IT_set_face): Compare highlighted face with the default
5776 face, and invert colors if these faces' colors are identical.
5777 (Fmsdos_remember_default_colors): Don't swap foreground and
5778 background colors in initial_colors[].
5779 (IT_set_frame_parameters): Don't swap frame's foreground and
5780 background pixels. If ALIST includes "(reverse . t)", swap
5781 foreground-color and background-color properties in frame's
5782 param_alist. If the original frame's param_alist doesn't specify
5783 the colors, store unspecified-fg and unspecified-bg, reversed if
5784 required.
5785
5786 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5787 the colors are unspecified and reversed, reverse fore- and back-
5788 ground in the returned value.
5789 (Fframe_parameter): Ditto.
5790
5791 2000-10-16 Gerd Moellmann <gerd@gnu.org>
5792
5793 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5794 get_last_unchanged_at_beg_row.
5795 (find_first_unchanged_at_end_row): Renamed from
5796 get_first_unchanged_at_end_row.
5797 (find_first_unchanged_at_end_row): Convert assertions to
5798 unconditional tests which abort. When looking for a row in
5799 unchanged text, don't go further back than first_text_row.
5800
5801 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5802 Don't add in the last line's height when deciding if the new
5803 position is below the scroll margin.
5804
5805 2000-10-16 Miles Bader <miles@gnu.org>
5806
5807 * editfns.c (Fconstrain_to_field): Check carefully for field
5808 boundaries if either OLD_POS or NEW_POS has a non-nil field
5809 property, even if they're the same.
5810
5811 2000-10-16 Kenichi Handa <handa@etl.go.jp>
5812
5813 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5814 height for XFillRectangle.
5815
5816 2000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5817
5818 * syntax.c (Fstring_to_syntax): New function extracted from
5819 Fmodify_syntax_entry.
5820 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5821 (skip_chars, Fforward_comment): Remove unused variables.
5822 (syms_of_syntax): Add defsubr for string-to-syntax.
5823 (describe_syntax): Add code for comment and string fences.
5824
5825 2000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5826
5827 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5828 Do the meta->esc mapping. Call get_keyelt before returning.
5829 Start scanning from the second element (the first is always `keymap')
5830 to make it easier to detect when we reach a parent map.
5831 Handle the case of inheriting from a symbol whose function is a map.
5832 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5833 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5834 (get_keyelt, Flookup_key): Update call to access_keymap.
5835 Remove the meta->esc mappings.
5836 (define_as_prefix): Delete old disabled code.
5837 (menu_item_p): New function.
5838 (where_is_internal_1): Skip over the few remaining menu items.
5839 * lisp.h (access_keymap): Update prototype.
5840 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5841 Update call to access_keymap.
5842 (follow_key, read_key_sequence): Update calls to access_keymap.
5843 Remove the meta->esc mappings.
5844
5845 2000-10-13 Gerd Moellmann <gerd@gnu.org>
5846
5847 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5848 with additional argument.
5849
5850 * xdisp.c (cursor_row_p): New function.
5851 (try_cursor_movement, display_line): Use it.
5852
5853 * xdisp.c (append_space): Also save/restore iterator's current
5854 character and its length.
5855
5856 * xdisp.c (init_from_display_pos): Add an assertion.
5857 (handle_stop): Don't set iterator's add_overlay_start.
5858 (handle_invisible_prop): Likewise.
5859 (load_overlay_strings): If text under an overlay is invisible,
5860 take both before- and after-strings into account when the iterator
5861 is positioned either at the start or at the end of the overlay.
5862 (forward_to_next_line_start): Rewritten.
5863 (reseat_at_next_visible_line_start): Rewritten.
5864 (set_iterator_to_next): Add parameter RESEAT_P.
5865
5866 * dispextern.h (struct it): Remove member add_overlay_start.
5867 (set_iterator_to_next): Change prototype.
5868
5869 2000-10-13 Kenichi Handa <handa@etl.go.jp>
5870
5871 * coding.c (code_convert_region): Be sure to initialize
5872 coding->category_idx.
5873 (decode_coding_string): Set coding->src_multibyte and
5874 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5875 (encode_coding_string): Set coding->src_multibyte and
5876 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
5877
5878 2000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5879
5880 * xfns.c (Fx_create_frame): Don't bother calling
5881 face-set-after-frame-default since the caller does it for us anyway.
5882
5883 2000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5884
5885 * window.c (coordinates_in_window): Fix detection of vertical line
5886 on character terminals.
5887
5888 2000-10-12 Gerd Moellmann <gerd@gnu.org>
5889
5890 * editfns.c (save_excursion_save): Additionally record the
5891 selected window.
5892 (save_excursion_restore): If buffer was visible in a window, and a
5893 different window was selected, and the old selected window is
5894 still live, restore point in that window.
5895
5896 2000-10-12 Kenichi Handa <handa@etl.go.jp>
5897
5898 * xterm.c (x_produce_glyphs): Handle
5899 unibyte_display_via_language_environment correctly.
5900
5901 * regex.c (regex_compile): Change the way of handling a range from
5902 unibyte char to multibyte char.
5903
5904 * syntax.c (skip_chars): Change the way of handling a range from
5905 unibyte char to multibyte char.
5906
5907 * process.c (read_process_output): Cancel previous change.
5908
5909 2000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5910
5911 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5912
5913 * charset.c (Ffind_charset_string): Doc fix.
5914 (Ffind_charset_region): Doc fix.
5915
5916 2000-10-11 Kenichi Handa <handa@mule.m17n.org>
5917
5918 * process.c (read_process_output): Fix previous change. Adjust
5919 multibyteness of text to insert in a buffer by
5920 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
5921
5922 2000-10-10 Andreas Schwab <schwab@suse.de>
5923
5924 * alloc.c (mark_object): Remove all workarounds installed on
5925 1993-08-08.
5926
5927 2000-10-10 Kenichi Handa <handa@etl.go.jp>
5928
5929 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
5930 (base64_encode_1): Make it work for a text of multibyte form.
5931 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5932 case. Don't call str_to_multibyte because base64_decode_1
5933 produces correct multibyte form for eight-bit codes.
5934 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
5935 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5936 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5937 codes.
5938
5939 * charset.h (CHAR_STRING): Optimized for single byte characters.
5940
5941 2000-10-09 Andreas Schwab <schwab@suse.de>
5942
5943 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5944 -1 after socket is closed, to fall through to error processing.
5945
5946 2000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5947
5948 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
5949 variables. If ALIST includes foreground-color or
5950 background-color, change also the colors of the default face for
5951 this frame.
5952
5953 2000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5954
5955 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5956 them extern (they are defined on xfaces.c).
5957 (syms_of_msdos): Don't intern and don't staticpro
5958 Qbackground_color and Qforeground_color.
5959
5960 2000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5961
5962 * frame.c (Fframe_parameter): For non-windowed frames, if
5963 f->param_alist says foreground or background color is unspecified,
5964 call tty_color_name to return the color name computed from the
5965 frame's current colors.
5966
5967 2000-10-06 Dave Love <fx@gnu.org>
5968
5969 * terminfo.c (ospeed): Don't declare.
5970
5971 * sysdep.c: Don't include string.h.
5972 (h_errno): Declare conditional also on TRY_AGAIN.
5973
5974 * charset.c (Ffind_charset_string): Doc fix.
5975
5976 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
5977 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5978 error messages.
5979
5980 2000-10-05 Dave Love <fx@gnu.org>
5981
5982 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5983 position like menu-bar.
5984
5985 2000-10-05 Gerd Moellmann <gerd@gnu.org>
5986
5987 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5988
5989 * xdisp.c (handle_single_display_prop): Use safe_call1.
5990 (safe_call): Renamed from call_function.
5991 (safe_call1): New function.
5992 (handle_fontified_prop): Use safe_call1 instead of call1.
5993 (safe_eval): Renamed from eval_form.
5994 (safe_eval_handler): Renamed from eval_handler.
5995 (handle_single_display_prop, display_mode_element): Use safe_eval
5996 instead of eval_form.
5997
5998 * xfaces.c (merge_face_heights): Use safe_call instead of
5999 call_function.
6000
6001 * keyboard.c (show_help_echo): Use safe_call instead of
6002 call_function; use safe_eval instead of eval_form.
6003
6004 * lisp.h (safe_call): Renamed from call_function.
6005 (safe_eval): Renamed from eval_form.
6006 (safe_call1): Add prototype.
6007
6008 2000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6009
6010 * xfns.c (image_ascent): Rearrange ascent calculation for the
6011 has-a-font case.
6012
6013 2000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6014
6015 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6016 (where_is_internal_1): Don't bother ignoring menu-items any more.
6017
6018 2000-10-04 Gerd Moellmann <gerd@gnu.org>
6019
6020 * keyboard.c (update_menu_bindings): New variable.
6021 (parse_menu_item): Use AREF. If update_menu_bindings
6022 is 0, don't update menu bindings.
6023 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6024
6025 2000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6026
6027 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6028 to `mark_object'.
6029
6030 2000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6031
6032 * syntax.c (forw_comment): Match nestedness of ender/starter.
6033 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6034 (prev_char_comstart_first): Remove.
6035 (back_comment): Check two-char comment markers more carefully
6036 to better handle overlapping cases like *//* or /* */* */ ...
6037 Match nestedness of ender/starter.
6038
6039 2000-10-02 Dave Love <fx@gnu.org>
6040
6041 * config.in (HAVE_GAI_STRERROR): Add undef.
6042
6043 * process.c (Fopen_network_stream): Use it.
6044
6045 * m/alpha.h (NO_REMAP): Don't define.
6046
6047 2000-10-02 Gerd Moellmann <gerd@gnu.org>
6048
6049 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6050 return with a string converted to an integer or vice versa when
6051 Vmocklisp_arguments is t.
6052 (Fsignal): Likewise. The function can return for `quit'.
6053 (struct gcpro): Declare member `var' to point to a volatile
6054 Lisp_Object.
6055
6056 * eval.c (error): Prevent compiler warning.
6057
6058 2000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6059
6060 * keymap.c (keymap_memberp): New function.
6061 (Fset_keymap_parent): Use it.
6062 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6063 Use keymap_memberp to avoid creating cycles.
6064 (access_keymap): Use KEYMAPP.
6065
6066 2000-09-30 Gerd Moellmann <gerd@gnu.org>
6067
6068 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
6069 gai_strerror. Make sure xerrno is set if connect fails. Improve
6070 error recovery.
6071
6072 2000-09-29 Jason Rumney <jasonr@gnu.org>
6073
6074 * w32term.c (w32_char_font_type, w32_encode_char)
6075 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6076 (w32_bdf_per_char_metric): New function.
6077 (w32_per_char_metric): Use it.
6078 (x_draw_glyph_string_background): Always draw background for BDF
6079 glyphs.
6080
6081 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6082 GDI object which is a scarce resource.
6083
6084 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6085 (get_quoted_string): Fix limit on memchr search.
6086 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6087 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6088 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6089 (get_cached_font_char, cache_char_offset): Use macro
6090 BDF_CODEPOINT_RANGE_COVER_P.
6091 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6092 (clear_cached_bitmap_slots): New function.
6093 (GET_HEX_VALUE): G-Z, g-z are not hex.
6094 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6095 (get_bitmap_with_cache): Use new cache implementation.
6096 (create_offscreen_bitmap): New function.
6097 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6098
6099 * w32term.c (x_produce_glyphs): If the distance from the current
6100 position to the next tab stop is less than a canonical character
6101 width, use the tab stop after that.
6102 (x_draw_glyphs): Handle case START and END are out of bounds more
6103 carefully.
6104 (x_clear_mouse_face): Block/unblock input.
6105 (x_display_and_set_cursor): Don't show a hollow box cursor for
6106 buffers whose cursor_type is nil.
6107
6108 2000-09-29 Gerd Moellmann <gerd@gnu.org>
6109
6110 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
6111
6112 * dispextern.h (updating_frame): Declare extern.
6113
6114 2000-09-29 Andreas Schwab <schwab@suse.de>
6115
6116 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6117
6118 2000-09-29 Gerd Moellmann <gerd@gnu.org>
6119
6120 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6121 use its function definition.
6122 (tool_bar_items): Likewise.
6123
6124 * lisp.h (fatal): Declare NO_RETURN.
6125
6126 2000-09-29 Kenichi Handa <handa@etl.go.jp>
6127
6128 * keymap.c: Remove the line "#undef NULL".
6129
6130 2000-09-28 Gerd Moellmann <gerd@gnu.org>
6131
6132 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
6133
6134 2000-09-28 Dave Love <fx@gnu.org>
6135
6136 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6137
6138 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6139
6140 * .gdbinit (xreload): Note its need on GNU/Linux.
6141
6142 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6143 r_alloc, r_alloc_free.
6144
6145 2000-09-28 Kenichi Handa <handa@etl.go.jp>
6146
6147 * syntax.c (skip_chars): Handle negation correctly.
6148
6149 2000-09-27 Gerd Moellmann <gerd@gnu.org>
6150
6151 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6152 with non-zero FORCE_P argument.
6153
6154 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
6155 Add assertions.
6156
6157 * xdisp.c (window_box_height): Add an assertion.
6158
6159 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6160 tool-bar than is available.
6161 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6162
6163 2000-09-27 Dave Love <fx@gnu.org>
6164
6165 * s/irix6-5.h: Now works 64-bit. Tidied.
6166
6167 2000-09-26 Gerd Moellmann <gerd@gnu.org>
6168
6169 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6170 instead of BITS_PER_INT.
6171 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6172 EMACS_UINT, respectively.
6173 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6174
6175 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6176
6177 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6178
6179 * window.c (freeze_window_starts): Construct last argument for
6180 foreach_window differently.
6181
6182 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6183
6184 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6185 EMACS_UINT instead of `int' and `unsigned int'.
6186 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6187
6188 * frame.h (struct frame): Make the `nothing' member of union
6189 output_data an EMACS_INT.
6190
6191 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
6192 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6193 size in the sdata structure.
6194 (SDATA_NBYTES, SDATA_DATA): New macros.
6195 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6196 differently for the different layout of the sdata structure.
6197 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6198 in sdata.
6199 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6200 Check that size recorded in the string size and size recorded in
6201 the sdata structure agree.
6202
6203 2000-09-25 Dave Love <fx@gnu.org>
6204
6205 * buffer.c: Include stdio.h.
6206
6207 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
6208
6209 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6210
6211 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
6212 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
6213 (__malloc_extra_blocks): Declare as __malloc_size_t.
6214
6215 2000-09-25 Gerd Moellmann <gerd@gnu.org>
6216
6217 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6218
6219 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6220 (read_char): If help-echo is showing, preserve the echo area
6221 when redisplaying.
6222
6223 * xdisp.c (help_echo_showing_p): New variable.
6224 (set_message): Reset it to 0.
6225 (init_xdisp): Initialize help_echo_showing_p.
6226
6227 * dispextern.h (help_echo_showing_p): Declare extern.
6228
6229 * config.in: Fix typo in __GNUC_MINOR__.
6230
6231 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6232
6233 * s/freebsd.h (POSIX_SIGNALS): Define.
6234
6235 * xterm.c (x_clear_mouse_face): Block/unblock input.
6236
6237 2000-09-24 Dave Love <fx@gnu.org>
6238
6239 * fns.c (base64_encode_1): Fix last change.
6240
6241 2000-09-22 Gerd Moellmann <gerd@gnu.org>
6242
6243 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6244
6245 * xdisp.c (try_window_reusing_current_matrix): More fixes
6246 for the case window has a header-line.
6247
6248 2000-09-22 Dave Love <fx@gnu.org>
6249
6250 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6251 a doc string.
6252
6253 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6254
6255 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6256
6257 2000-09-21 Gerd Moellmann <gerd@gnu.org>
6258
6259 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
6260 for GCC >= 2.5.
6261
6262 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6263 Declare NO_RETURN.
6264
6265 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6266 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6267 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6268 warnings.
6269
6270 * marker.c (byte_char_debug_check): Return void.
6271
6272 * xfns.c (Fx_create_frame): Set default frame parameter value
6273 for tool-bar-lines to 1.
6274
6275 * dispnew.c (scrolling_window): Compare y-positions of rows
6276 equal at the start. Some simplification.
6277
6278 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6279 reused rows' y-position in the case window has a header-line, and
6280 new window start is greater than old window start.
6281
6282 * process.c (process_sent_to): New variable.
6283 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6284 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6285 Declare more parameters volatile.
6286
6287 * lread.c (Vrecursive_load_depth_limit): New variable.
6288 (Fload): Check recursive loads whose recursion depth exceeds
6289 Vrecursive_load_depth_limit.
6290 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6291
6292 2000-09-20 Gerd Moellmann <gerd@gnu.org>
6293
6294 * fileio.c (Fread_file_name): Doc fix.
6295
6296 * editfns.c (Fmessage_or_box): Doc fix.
6297
6298 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6299
6300 * xfns.c (xbm_scan): Allow C-style comments.
6301
6302 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6303 symbols are specified, add color translations to the cache.
6304 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
6305 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6306 xpm_cache_color.
6307 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6308 structures to xpm_init_color_cache.
6309
6310 2000-09-19 Gerd Moellmann <gerd@gnu.org>
6311
6312 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
6313
6314 2000-09-19 Andrew Innes <andrewi@gnu.org>
6315
6316 * makefile.nt (bootstrap-emacs): Don't change directory.
6317
6318 2000-09-19 Kenichi Handa <handa@etl.go.jp>
6319
6320 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6321
6322 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6323 If output buffer is too small, signal an appropriated error.
6324
6325 2000-09-18 Dave Love <fx@gnu.org>
6326
6327 * keyboard.c (menu_bar_items, tool_bar_items)
6328 (current_active_maps): Remove redundant get_local_map call.
6329
6330 2000-09-18 Gerd Moellmann <gerd@gnu.org>
6331
6332 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6333 cursor for buffers whose cursor_type is nil.
6334
6335 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6336 a feature to implement that is already implemented.
6337 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6338 warnings.
6339
6340 * xfns.c (x_clear_image_1): New function.
6341 (x_clear_image): Use it.
6342 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6343
6344 * dispnew.c (update_window): Move test for invisible lines
6345 at the top to update_window_line.
6346 (update_window_line): Handle invisible lines here.
6347
6348 * xfns.c (clear_image_cache): Clear current matrices of all
6349 frames sharing an image cache. Block input while freeing
6350 images. Fix timestamp comparison.
6351 (x_clear_image): Also free the mask.
6352
6353 * xfns.c (lookup_image): Block input while loading the image so
6354 that we won't get interrupted in a state where the image isn't yet
6355 set up completely.
6356 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6357 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6358 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
6359 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
6360
6361 2000-09-16 Gerd Moellmann <gerd@gnu.org>
6362
6363 * dispnew.c (update_window): Make sure to make desired rows
6364 current even if they are completely invisible at the top
6365 of a window.
6366
6367 2000-09-15 Gerd Moellmann <gerd@gnu.org>
6368
6369 * xfns.c (lookup_image): Build mask before applying an algorithm.
6370 Recognize algorithm `disabled'.
6371 (cross_disabled_images): New variable.
6372 (COLOR_INTENSITY): New macro.
6373 (x_detect_edges): Use COLOR_INTENSITY.
6374 (x_disable_image): New function.
6375 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6376
6377 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6378 disabled state, don't apply an image transformation algorithm if
6379 the user specified an image for the disabled state. Use
6380 `:algorithm disabled' for creating a disabled item's image if the
6381 user hasn't specified an image.
6382
6383 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6384 allocation functions with the XPM lib.
6385 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6386 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6387 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6388 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
6389 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
6390 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6391 functions, if possible, because these handle color allocation
6392 failure more gracefully.
6393 (Fimage_mask_p): New function.
6394
6395 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6396 (Qedge_detection, Qheuristic): New symbols.
6397 (syms_of_xfns): Initialize new symbols.
6398 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6399 `algorithm (edge-detection ...)'.
6400 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6401 (tiff_format, gif_format, gs_format): Add `:mask'.
6402 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6403 (GIF_MASK, GS_MASK): New enumerators.
6404 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6405 (emboss_matrix, laplace_matrix): New variables.
6406 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6407 (x_edge_detection): New functions.
6408 (x_laplace): Rewritten in terms of x_detect_edges.
6409 (x_build_heuristic_mask): If image has a mask, free it.
6410
6411 2000-09-14 Andrew Innes <andrewi@gnu.org>
6412
6413 * makefile.w32-in: Revert to Unix line endings.
6414
6415 2000-09-14 Andrew Innes <andrewi@gnu.org>
6416
6417 * makefile.w32-in: Standardize indentation somewhat.
6418 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6419 cater for differences between shells.
6420
6421 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6422
6423 2000-09-14 Gerd Moellmann <gerd@gnu.org>
6424
6425 * xterm.c (x_produce_glyphs): If the distance from the current
6426 position to the next tab stop is less than a canonical character
6427 width, use the tab stop after that.
6428
6429 2000-09-14 Dave Love <fx@gnu.org>
6430
6431 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6432
6433 2000-09-14 Gerd Moellmann <gerd@gnu.org>
6434
6435 * xdisp.c (handle_fontified_prop): While running fontification
6436 functions, bind `fontification-functions' and
6437 `after-change-functions' to nil.
6438
6439 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6440 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6441
6442 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6443
6444 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6445 USE_MMAP_FOR_BUFFERS.
6446
6447 * insdel.c (make_gap): Use enlarge_buffer_text.
6448
6449 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6450 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6451 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6452 from former r_alloc_* functions in ralloc.c.
6453 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
6454 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6455 (mmap_init) [REL_ALLOC_MMAP]: New function.
6456 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6457 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6458 BUFFER_FREE.
6459
6460 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6461 (enlarge_buffer_text): Add prototype.
6462
6463 * ralloc.c: Remove everything having to do with the use of mmap.
6464
6465 2000-09-13 Gerd Moellmann <gerd@gnu.org>
6466
6467 * sound.c (Fplay_sound): Doc fix.
6468
6469 * keyboard.c: Avoid some more compiler warnings.
6470 (parse_tool_bar_item): Ignore cached key bindings.
6471
6472 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6473 and allocation of Lisp data.
6474
6475 2000-09-12 Gerd Moellmann <gerd@gnu.org>
6476
6477 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6478 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6479 defaults first.
6480
6481 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6482
6483 2000-09-12 Miyashita Hisashi <himi@meadowy.org>
6484
6485 * ccl.c: Comment fixed.
6486 (MAX_MAP_SET_LEVEL): Increased to 30.
6487 (PUSH_MAPPING_STACK): Enclose with do-while block.
6488 (POP_MAPPING_STACK): Likewise.
6489 (stack_idx_of_map_multiple): New variable.
6490 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6491 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
6492 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
6493 (ccl_driver) <CCL_MapSingle>: Likewise.
6494 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6495 with the case where looking up process reaches to the end of
6496 map-set, and call CCL programs as the above change.
6497
6498 2000-09-11 Gerd Moellmann <gerd@gnu.org>
6499
6500 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6501 that might be clobbered by longjmp.
6502 (check_x_display_info, x_decode_color, create_frame_xic)
6503 (Fx_display_backing_store, Fx_display_visual_class)
6504 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
6505
6506 * lread.c (init_lread): Set Vloads_in_progress to nil.
6507 (Fload): Show list of recursively loaded files, when signaling an
6508 error.
6509
6510 * lread.c (Vloads_in_progress): New variable.
6511 (record_load_unwind): New function.
6512 (Fload): Check for recursive loads.
6513 (syms_of_lread): Initialize Vloads_in_progress.
6514 (read_integer, read1): Avoid some compiler warnings.
6515
6516 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6517 compiler warnings.
6518
6519 2000-09-11 Miles Bader <miles@gnu.org>
6520
6521 * editfns.c (Fbuffer_string): Doc fix.
6522
6523 2000-09-10 Gerd Moellmann <gerd@gnu.org>
6524
6525 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6526
6527 2000-09-09 Ken Raeburn <raeburn@gnu.org>
6528
6529 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6530 whether to include other header files.
6531
6532 2000-09-09 Gerd Moellmann <gerd@gnu.org>
6533
6534 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
6535 by Fmemq as a boolean.
6536
6537 2000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6538
6539 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6540
6541 2000-09-08 Gerd Moellmann <gerd@gnu.org>
6542
6543 * ralloc.c (mmap_fd): Remove initializer which can make it
6544 read-only in a dumped Emacs.
6545 (mmap_fd_1): New variable.
6546 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6547 restore it from there.
6548 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6549 unconditionally so that mmap_fd can be initialized there.
6550 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6551 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6552 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6553
6554 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6555
6556 * xdisp.c (dump_glyph_row): Fix printf format string.
6557 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
6558
6559 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6560
6561 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6562 inheritance.
6563
6564 * xdisp.c (try_window_id): When trying to locate cursor in
6565 unchanged rows at the top, handle the case that we can't find it.
6566
6567 * xterm.c (x_draw_glyphs): Handle case START and END are out
6568 of bounds more carefully.
6569
6570 2000-09-08 Dave Love <fx@gnu.org>
6571
6572 * s/sol2.h (REL_ALLOC_MMAP): Define.
6573 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6574
6575 * ralloc.c: Don't include string.h (redundant).
6576 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6577 [!MAP_ANON]: Include fcntl.h.
6578 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6579 (r_alloc, r_re_alloc, r_alloc_free)
6580 (mmap_enlarge, mmap_set_vars): Use it.
6581 (r_alloc_init_fd): New function.
6582 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6583 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6584 malloc type.
6585
6586 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6587 Remove vm-limit.o.
6588
6589 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6590 change to __NetBSD__.
6591
6592 2000-09-08 Kenichi Handa <handa@etl.go.jp>
6593
6594 * search.c (compile_pattern): Check the multibyteness of cached
6595 string and PATTERN.
6596
6597 2000-09-08 Miles Bader <miles@gnu.org>
6598
6599 * xfaces.c (default_face_vector): Function removed.
6600 (Finternal_merge_in_global_face): Restore old global/local
6601 attribute override order. Use inline loop instead of calling
6602 default_face_vector.
6603
6604 2000-09-07 Gerd Moellmann <gerd@gnu.org>
6605
6606 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6607 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6608 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6609 where necessary, in case POINTER_TYPE is `void'.
6610
6611 2000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6612
6613 * frame.c (make_terminal_frame): Initialize frame foreground and
6614 background colors to unspecified, for the initial instance of an
6615 MSDOS frame.
6616
6617 2000-09-07 Gerd Moellmann <gerd@gnu.org>
6618
6619 * ralloc.c (mmap_find): Fix overlap computation.
6620 (mmap_enlarge): Compute nbytes before trying to find an
6621 overlapping region.
6622
6623 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6624 instead of `!='.
6625
6626 * lread.c (syms_of_lread): Change value of regexp
6627 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6628
6629 * xmenu.c (xdialog_show): When looking up the selection in
6630 menu_items, take `quote' boundaries into account; this corresponds
6631 to a nil ITEM in x-popup-dialog.
6632
6633 2000-09-07 Kenichi Handa <handa@etl.go.jp>
6634
6635 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6636 not 0x81.
6637 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6638
6639 * coding.c (encode_coding_sjis_big5): Use translation table for
6640 encoding, not decoding. Fix the handling of latin-jisx0201.
6641 Check for the charset katakana-jisx0201 too.
6642 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
6643 (detect_coding_sjis): Check the byte sequence more rigidly.
6644
6645 2000-09-07 Gerd Moellmann <gerd@gnu.org>
6646
6647 * xfaces.c (Vparam_value_alist): New variable.
6648 (syms_of_xfaces): Initialize it.
6649 (Finternal_set_lisp_face_attribute): Avoid more consing.
6650
6651 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6652 specially.
6653 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6654 (Qbackground_mode): New variable.
6655 (syms_of_frame_1): Initialize Qbackground_mode.
6656
6657 * lisp.h (Qdisplay): Declare extern.
6658
6659 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6660 change face on all frames, and change the default for new frames.
6661
6662 2000-09-07 Dave Love <fx@gnu.org>
6663
6664 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6665
6666 2000-09-07 Kenichi Handa <handa@etl.go.jp>
6667
6668 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6669
6670 * charset.c: Include composite.h
6671 (lisp_string_width): New function.
6672 (Fstring_width): Call lisp_string_width instead of strwidth.
6673
6674 * Makefile.in (charset.o): Depends on composite.h.
6675
6676 * process.c (read_process_output): Before inserting the decoded
6677 text in the buffer, adjust the multibyteness.
6678
6679 2000-09-06 Gerd Moellmann <gerd@gnu.org>
6680
6681 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
6682 buffer's text buffer is null, map new memory.
6683
6684 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6685 POINTER_TYPE and size_t.
6686 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6687 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6688 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6689 [REL_ALLOC_MMAP]: New macros.
6690 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6691 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6692 [REL_ALLOC_MMAP]: New functions.
6693
6694 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6695 before and after unexec.
6696
6697 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6698 text buffers if necessary.
6699
6700 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6701 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6702 in prototypes.
6703
6704 * config.in (HAVE_MMAP): Add #undef.
6705
6706 2000-09-05 Gerd Moellmann <gerd@gnu.org>
6707
6708 * frame.c (Qdisplay_type): New variable.
6709 (syms_of_frame_1): Initialize it.
6710 (Fframe_parameter): New function that avoids consing.
6711 (syms_of_frame): Defsubr it.
6712
6713 * buffer.c (Fother_buffer): Consider buffers as invisible when
6714 they are displayed in a window on an invisible frame.
6715
6716 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6717 get-largest-window always return nil.
6718
6719 2000-09-04 Gerd Moellmann <gerd@gnu.org>
6720
6721 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6722 variable; recognize Emacs 19 elc files.
6723
6724 2000-09-04 Miles Bader <miles@gnu.org>
6725
6726 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6727 before initially popping up the menu, so the menu doesn't flash
6728 when the face settings are significantly different from the defaults.
6729
6730 2000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6731
6732 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6733 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6734 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6735 (BIT_UNIBYTE): Remove.
6736 (re_match_2_internal): Delete corresponding code and streamline the
6737 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6738 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6739 (re_wctype_t): New type.
6740 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6741 (regex_compile): Use them and fix handling of overly long char classes.
6742
6743 2000-09-03 Andrew Innes <andrewi@gnu.org>
6744
6745 * makefile.w32-in: Change to DOS line endings.
6746
6747 * s/ms-w32.h (ORDINARY_LINK): New define.
6748
6749 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6750 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6751
6752 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6753 (distclean): Delete them here instead.
6754
6755 * w32proc.c (compare_env): Convert to uppercase for comparison,
6756 not lowercase, to match how the native Windows shell works.
6757
6758 2000-09-03 Jason Rumney <jasonr@gnu.org>
6759
6760 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6761 CVS changes the line-ends when checking in/out on DOS/Windows.
6762
6763 * makefile.nt (emacs): Do not change directory to run temacs, as
6764 the load-path is set relative to current directory.
6765
6766 2000-09-03 Miles Bader <miles@gnu.org>
6767
6768 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6769
6770 2000-09-02 Gerd Moellmann <gerd@gnu.org>
6771
6772 * xdisp.c (redisplay_mode_lines): New function.
6773 (display_mode_lines): Return number of mode lines displayed.
6774 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6775 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6776
6777 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6778 string.h and strings.h.
6779 (index) [HAVE_INDEX]: Add prototype.
6780
6781 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6782 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6783
6784 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6785 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6786
6787 2000-09-01 Gerd Moellmann <gerd@gnu.org>
6788
6789 * lread.c (read1): Accept `?' as symbol constituent, for
6790 compatiblity with XEmacs.
6791
6792 2000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6793
6794 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6795 (struct re_pattern_buffer): Remove newline_anchor.
6796 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6797 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6798 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6799 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6800 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6801 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6802 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6803 Get rid of references to newline_anchor.
6804 (regcomp): Allocate and precompute a fastmap.
6805
6806 2000-08-31 Gerd Moellmann <gerd@gnu.org>
6807
6808 * lread.c (openp): GCPRO local variable `filename'.
6809
6810 2000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6811
6812 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6813
6814 * regex.c: Merge some changes from GNU libc. Add prototypes.
6815 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6816 Use memcmp and memcpy instead of bcopy and bcmp.
6817 (init_syntax_once): Use ISALNUM.
6818 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6819 (REG_UNSET_VALUE): Remove. Use NULL instead.
6820 (REG_UNSET, re_match_2_internal): Use NULL.
6821 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6822 New macros.
6823 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6824 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6825 (regex_compile): In handle_interval, return an error rather than try to
6826 unfetch the interval if we can't find the closing brace.
6827 Obey the RE_NO_GNU_OPS syntax bit.
6828 (TOLOWER): New macro.
6829 (regcomp): Use it.
6830 (regexec): Allocate regs.start and regs.end as one block.
6831
6832 2000-08-30 Gerd Moellmann <gerd@gnu.org>
6833
6834 * xdisp.c (echo_area_display): Check display_completed instead
6835 of calling detect_input_pending.
6836
6837 * dispnew.c (update_frame): Only set display_completed here; move
6838 the update_begin and update_end calls here from update_frame_1.
6839 (update_frame_1): Don't set display_completed here, don't call
6840 update_begin/update_end.
6841
6842 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6843 instead of store_frame_param.
6844
6845 2000-08-29 Gerd Moellmann <gerd@gnu.org>
6846
6847 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6848 desired window matrix hasn't been displayed, use the current row
6849 instead. Make sure that only those frame rows are updated for
6850 which there exists a corresponding enabled desired row.
6851
6852 2000-08-29 Miles Bader <miles@gnu.org>
6853
6854 * xfaces.c (default_face_vector): New function.
6855 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6856
6857 2000-08-29 Gerd Moellmann <gerd@gnu.org>
6858
6859 * lread.c (openp): Prevent temporary string passed to
6860 Ffile_readable_p from being garbage collected.
6861
6862 2000-08-28 Dave Love <fx@gnu.org>
6863
6864 * keymap.c (store_in_keymap): Add `static' to declaration.
6865
6866 2000-08-28 Gerd Moellmann <gerd@gnu.org>
6867
6868 * emacs.c, callint.c, doc.c, editfns.c
6869 (toplevel) [HAVE_STRING_H]: Include string.h.
6870 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6871 (index): Remove prototypes which might conflict with non-standard
6872 definitions of index/strchr.
6873
6874 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6875 (rindex): Define only if !HAVE_RINDEX.
6876
6877 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6878
6879 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6880
6881 2000-08-28 Miles Bader <miles@gnu.org>
6882
6883 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6884 made inconsistent by a font-related attribute in FROM.
6885 (merge_face_inheritance): Add function comment.
6886
6887 2000-08-28 Kenichi Handa <handa@etl.go.jp>
6888
6889 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6890 the 4th arg (PREV_EVENT) Qt to suppress input method.
6891
6892 2000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6893
6894 * regex.c: Indent cpp directives and remove parens after `defined'.
6895 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6896 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6897 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6898 (re_compile_pattern): Use size_t for length.
6899 (init_syntax_once): Move to a better place.
6900 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6901 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6902
6903 * syntax.c (back_comment): Detect cases where a comment-starter is
6904 actually inside another comment as in: /* a // b */ c // d \n.
6905 Make it clear that `comstart_pos' is unused for nested comments.
6906
6907 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6908 (KEYMAPP): New macro.
6909 (Fkeymap_parent, Fset_keymap_parent): Use it.
6910 (fix_submap_inheritance): Mark it static.
6911 (define_as_prefix, describe_buffer_bindings, describe_command)
6912 (describe_translation, describe_map): Complete prototypes.
6913
6914 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6915
6916 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6917 to better match the key-lookup behavior.
6918
6919 2000-08-27 Gerd Moellmann <gerd@gnu.org>
6920
6921 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6922 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6923
6924 2000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6925
6926 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6927 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6928 (xterm.o): Depend on coding.h
6929
6930 2000-08-26 Kenichi Handa <handa@etl.go.jp>
6931
6932 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6933 the corresponding '#endif'.
6934
6935 2000-08-26 Miles Bader <miles@gnu.org>
6936
6937 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6938 * xfaces.c (QCinherit): New variable.
6939 (syms_of_xfaces): Initialize it.
6940 (LFACE_INHERIT): New macro.
6941 (Finternal_get_lisp_face_attribute)
6942 (merge_face_vector_with_property)
6943 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6944 (check_lface_attrs): Allow new types of face height. Check
6945 inherit attribute.
6946 (CYCLE_CHECK): New macro.
6947 (merge_face_inheritance): New function.
6948 (merge_face_vectors): Merge inherited faces too. Add F and
6949 CYCLE_CHECK arguments.
6950 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6951 (lookup_named_face, lookup_derived_face, realize_named_face)
6952 (face_at_string_position, face_at_buffer_position): Supply
6953 new F and CYCLE_CHECK arguments to merge_face_vectors.
6954 (merge_face_heights): New function.
6955 (merge_face_vectors, merge_face_vector_with_property)
6956 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6957 handle relative face heights.
6958 (lface_same_font_attributes_p): Compare heights using EQ.
6959
6960 2000-08-26 Kenichi Handa <handa@etl.go.jp>
6961
6962 * charset.c (char_to_string): Check the character validity.
6963 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6964
6965 2000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6966
6967 * regex.c (PUSH_FAILURE_COUNT): New macro.
6968 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6969 Handle popping of a register's or a counter's data.
6970 (POP_FAILURE_POINT): Use the new name.
6971 (re_match_2_internal): Push counter data on the stack for succeed_n,
6972 jump_n and set_number_at and remove misleading dead code in succeed_n.
6973
6974 2000-08-25 Gerd Moellmann <gerd@gnu.org>
6975
6976 * xdisp.c (redisplay_internal): If considering all windows on all
6977 frames, update the display for each frame as soon as possible,
6978 instead of first building all desired matrices for all frames, and
6979 then updating them all.
6980 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6981
6982 2000-08-24 Gerd Moellmann <gerd@gnu.org>
6983
6984 * bytecode.c (mark_byte_stack): Add a comment.
6985
6986 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6987 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
6988 a graphical frame.
6989
6990 2000-08-24 Kenichi Handa <handa@etl.go.jp>
6991
6992 * minibuf.c (do_completion): Always use compare-string, not
6993 string-equal because the latter doesn't pay attention to
6994 multibyteness of strings.
6995
6996 * process.c (create_process): Don't setup raw-text coding here.
6997 (Fopen_network_stream): Don't set coding->src_multibyte and
6998 coding->dst_multibyte here.
6999 (read_process_output): For process filter, return unibyte string
7000 if default-enable-multibyte-characters is nil.
7001 (send_process): If OBJECT is multibyte text, be sure to encoded it
7002 by the specified coding system for the process. Otherwise, setup
7003 raw-text coding.
7004 (init_process): Don't initialize default-process-coding-system here.
7005
7006 2000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7007
7008 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7009 <scroll-down-aggressively>: Likewise.
7010
7011 2000-08-23 Kenichi Handa <handa@etl.go.jp>
7012
7013 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7014 zero. Set coding->produced_char correctly.
7015
7016 2000-08-22 Andrew Innes <andrewi@gnu.org>
7017
7018 * makefile.w32-in: New file.
7019
7020 * unexw32.c (unexec): Ignore old_name, and use the actual location
7021 of the current executable instead. Base new_name on this.
7022
7023 * w32proc.c (create_child): Remove reference to security
7024 descriptor, which isn't needed and doesn't compile with mingw32.
7025
7026 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7027 up dllimport attributes.
7028 (x_update_window_end): Update prototype.
7029
7030 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7031 extern, which screws up dllimport attributes.
7032
7033 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7034 up dllimport attributes.
7035
7036 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7037 screws up dllimport attributes.
7038
7039 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7040 up dllimport attributes.
7041 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7042 screws up dllimport attributes.
7043
7044 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7045 up dllimport attributes.
7046
7047 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7048 screws up dllimport attributes.
7049
7050 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7051 screws up dllimport attributes.
7052
7053 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7054 up dllimport attributes.
7055
7056 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7057 unnecessary extern, which screws up dllimport attributes.
7058 (main): Ditto.
7059
7060 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7061 up dllimport attributes.
7062
7063 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7064 unnecessary extern, which screws up dllimport attributes.
7065
7066 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7067 screws up dllimport attributes.
7068
7069 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7070 up dllimport attributes.
7071
7072 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7073
7074 * w32bdf.c (search_file_line):
7075 (set_bdf_font_info):
7076 (seek_char):
7077 (w32_get_bdf_glyph):
7078 (w32_BDF_to_x_font): Fix compile warnings.
7079
7080 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
7081
7082 * w32select.c: Include keyboard.h before frame.h.
7083
7084 * w32fns.c (max): Define macro.
7085 (JOHAB_CHARSET): Define if not known.
7086 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7087 (Fx_show_tip): Synch with X version.
7088
7089 * w32xfns.c: Include keyboard.h before frame.h.
7090
7091 * w32fns.c: Include keyboard.h before frame.h.
7092
7093 * w32term.c: Include keyboard.h before frame.h.
7094
7095 * fontset.c: Include keyboard.h before frame.h.
7096
7097 * w32inevt.c: Include keyboard.h before frame.h.
7098 (MOUSE_MOVED): Define if not known.
7099
7100 * minibuf.c: Include keyboard.h before frame.h.
7101
7102 * keyboard.c: Include keyboard.h before frame.h.
7103
7104 * indent.c: Include keyboard.h before frame.h.
7105
7106 * dispnew.c: Include keyboard.h before frame.h.
7107
7108 * buffer.c: Include keyboard.h before frame.h.
7109
7110 * alloc.c: Include keyboard.h before frame.h.
7111
7112 * print.c: Include keyboard.h before frame.h.
7113
7114 * process.c: Include keyboard.h before frame.h.
7115
7116 * scroll.c: Include keyboard.h before frame.h.
7117
7118 * sysdep.c: Include keyboard.h before frame.h.
7119
7120 * term.c: Include keyboard.h before frame.h.
7121
7122 * window.c: Include keyboard.h before frame.h.
7123
7124 * xdisp.c: Include keyboard.h before frame.h.
7125 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7126
7127 * frame.c: Include keyboard.h before frame.h.
7128
7129 * w32heap.h: Undefine min, max.
7130
7131 * w32gui.h: Undefine min, max.
7132
7133 * unexw32.c: Change PUCHAR to PCHAR.
7134 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
7135 (relocate_offset):
7136 (get_section_info):
7137 (copy_executable_and_dump_data): Remove unnecessary static defs.
7138 (copy_executable_and_dump_data): Fix compile warnings.
7139
7140 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7141
7142 * w32console.c (min): Define macro.
7143 (clear_frame, write_glyphs): Fix compile warning.
7144
7145 * w32proc.c (compare_env):
7146 (find_child_console): Fix compile warning.
7147
7148 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7149 sys_errlist instead of _sys_errlist.
7150 (get_emacs_configuration_options): New function.
7151
7152 * s/ms-w32.h (sys_nerr): Provide default definition.
7153 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7154 name with _ prepended.
7155 (NSIG): Define if not known.
7156 (get_emacs_configuration): Provide extern declaration.
7157 (get_emacs_configuration_options): Provide extern declaration.
7158 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7159
7160 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
7161 (map_w32_filename):
7162 (read_unc_volume): Fix compile warning.
7163
7164 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7165 definitions from being used.
7166
7167 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7168
7169 * w32.c (unc_volume_file_attributes):
7170 (open_unc_volume): Make arg const.
7171
7172 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7173 (read_input_waiting): Remove excess parameter.
7174
7175 * w32.c (init_environment): Call _access.
7176 (check_windows_init_file): Call _close.
7177 (init_user_info): Call _putenv.
7178 (init_environment): Call _putenv and _strdup.
7179 (init_ntproc): Reset volume info cache on startup.
7180
7181 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7182 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7183 cannot override the CRT malloc.
7184
7185 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7186 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7187
7188 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7189 unless we are linking with a static CRT.
7190 (RVA_TO_PTR): Cast result to unsigned char*.
7191
7192 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7193 (add_volume_info): Use xstrdup.
7194
7195 2000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7196
7197 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7198 (do_completion, Fminibuffer_complete_word): Use it.
7199 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7200 var so it can take non-boolean values.
7201
7202 2000-08-21 Gerd Moellmann <gerd@gnu.org>
7203
7204 * editfns.c (find_field): Formatting changes.
7205 (toplevel): Some old-style function forward declarations
7206 changed to prototypes, some new protypes added, some functions
7207 made static.
7208
7209 * lisp.h (set_time_zone_rule): Add prototype.
7210 (use_dialog_box): External declaration.
7211
7212 * keyboard.c (gen_help_event): Add parameter SIZE.
7213 (kbd_buffer_events_waiting): Slightly rewritten.
7214 (clear_event): New function.
7215 (kbd_buffer_get_event): Use it, and clear the input_events of
7216 HELP_EVENTs.
7217 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7218 don't fill the newly created array with nils.
7219 (toplevel): Convert some old-style function forward declarations
7220 to prototypes.
7221
7222 * keyboard.h (gen_help_event): Change prototype.
7223
7224 * xterm.c (XTread_socket): Change calls to gen_help_event.
7225
7226 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7227
7228 * eval.c (Fmacroexpand): Doc fix.
7229
7230 2000-08-20 Jason Rumney <jasonr@gnu.org>
7231
7232 * w32term.h (x_display_info_for_display): Remove as this function
7233 does not exist on W32.
7234
7235 * w32term.c (help_echo_window): New variable.
7236 (syms_of_w32term): staticpro it.
7237 (note_mode_line_highlight): Set it.
7238 (XTextExtents16): Removed as there is no equivalent on W32.
7239 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7240 the X way of doing this will not work for W32.
7241 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7242 (x_draw_image_foreground): Avoid drawing outside of the clip area
7243 when image doesn't have a mask.
7244 (note_mouse_highlight): Process overlays in the right order of
7245 priority. Set help_echo_window.
7246 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7247 because that's more visible for large images.
7248
7249 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7250 name to single_keymap_panes.
7251 (w32_menu_show): Set wv->title when dealing with titles.
7252 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7253
7254 2000-08-21 Miles Bader <miles@gnu.org>
7255
7256 * minibuf.c (do_completion): Try again if we rewrite the input
7257 string, but no completion was done, so that any completion message
7258 will be correct.
7259
7260 2000-08-20 Gerd Moellmann <gerd@gnu.org>
7261
7262 * xfaces.c (lface_equal_p): Compare strings differently.
7263 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7264 (realize_tty_face): Use them.
7265 (syms_of_xfaces): Initialize new variables.
7266 (map_tty_color): New function, extracted from realize_tty_face.
7267 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7268 foreground or background color, store the new color name in the
7269 realized face; previous code trying to do this had no effect.
7270 (realize_tty_face): Use map_tty_color.
7271 (Fclear_face_cache): Set face_change_count and ensure thorough
7272 redisplay.
7273
7274 2000-08-19 Gerd Moellmann <gerd@gnu.org>
7275
7276 * undo.c (record_first_change, record_marker_adjustment): Don't
7277 use XBUFFER on last_undo_buffer which might not be a buffer.
7278
7279 2000-08-18 Kenichi Handa <handa@etl.go.jp>
7280
7281 * coding.c (decode_coding_string): Set members consumed,
7282 consumed_char, produced, produced_char of *coding correctly. If
7283 decode_coding doesn't consume any byte, don't try anymore.
7284 (encode_coding_string): Likewise.
7285
7286 2000-08-18 Gerd Moellmann <gerd@gnu.org>
7287
7288 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7289 conditional have void type, for Standard C compilers.
7290
7291 * xdisp.c (redisplay_internal): Compare windows for equality with
7292 EQ, instead of applying XWINDOW to something that might not
7293 be a window.
7294
7295 2000-08-18 Kenichi Handa <handa@etl.go.jp>
7296
7297 * fontset.c (Finternal_char_font): Search only the selected frame
7298 for a window of the current buffer.
7299
7300 2000-08-18 Gerd Moellmann <gerd@gnu.org>
7301
7302 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
7303 Lisp_Objects.
7304
7305 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7306 second half of a HELP_EVENT is found at the start of kbd_buffer.
7307
7308 2000-08-18 Miles Bader <miles@gnu.org>
7309
7310 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7311
7312 * editfns.c (save_restriction_save): Rewrite to use markers.
7313 (save_restriction_restore): Rewrite to understand new form of data
7314 saved by save_restriction_save.
7315 (Fsave_restriction): Remove cautionary note in doc-string.
7316
7317 2000-08-17 Gerd Moellmann <gerd@gnu.org>
7318
7319 * fileio.c (build_annotations): Add a comment explaining the
7320 return value of format-annotate-function. Replace a spurious call
7321 to Flength with a CONSP test. Call format-annotate-function with
7322 a fifth arg specifying how many times the function is been called
7323 in a row, to let it choose temporary buffers appropriately.
7324
7325 2000-08-17 Dave Love <fx@gnu.org>
7326
7327 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7328 declare make_temp_name twice.
7329
7330 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
7331 (unreadpure): Give it an arg.
7332
7333 * unexalpha.c: Prototype fatal_unexec, mark_x,
7334 update_dynamic_symbols. Declare unexec as void.
7335
7336 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7337 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7338
7339 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
7340 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
7341
7342 * alloca.c: Use #error.
7343 [POINTER_TYPE]: Use it.
7344
7345 * eval.c (Fdefvar): Doc fix.
7346
7347 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7348 INITIALIZE_INTERVAL.
7349
7350 * buffer.h: Avoid DECLARE_INTERVALS.
7351
7352 * config.in: Add size_t.
7353
7354 2000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7355
7356 * w16select.c (set_clipboard_data): If there's not enough memory
7357 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7358 expects. In case of other failures, return 3.
7359 (system_error_msg): New error message.
7360 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7361 system_error_msg.
7362
7363 2000-08-16 Gerd Moellmann <gerd@gnu.org>
7364
7365 * term.c (write_glyphs): Also turn off inverse video after turning
7366 off other appearances in case TS_exit_attribute_mode is not equal
7367 to TS_end_standout_mode.
7368 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7369 with the same face.
7370 (turn_off_face): Reset standout_mode only if
7371 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7372 is equal to TS_end_standout_mode.
7373
7374 2000-08-16 Kenichi Handa <handa@etl.go.jp>
7375
7376 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7377 sequence at the end of the source block.
7378
7379 * ccl.c (Fccl_program_p): Docstring modified.
7380 (Fccl_execute): Likewise.
7381 (Fccl_execute_on_string): Likewise.
7382
7383 2000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7384
7385 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7386
7387 2000-08-16 Kenichi Handa <handa@etl.go.jp>
7388
7389 The following changes are mainly to fix bugs of
7390 encode/decode-coding-string failing if encoding/decoding return
7391 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7392 variable conversion_buffer.
7393
7394 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7395 decrement dst_end to avoid buffer overflow in the later call of
7396 string_as_multibyte
7397
7398 * coding.h (conversion_buffer_size, conversion_buffer)
7399 (get_conversion_buffer): Extern deleted.
7400
7401 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7402 (conversion_buffer, conversion_buffer_size): Variables deleted.
7403 (get_conversion_buffer): Function deleted.
7404 (struct conversion_buffer): New structure.
7405 (MAX_ALLOCA): New macro.
7406 (allocate_conversion_buffer): New macro.
7407 (extend_conversion_buffer, free_conversion_buffer): New functions.
7408 (ccl_coding_driver): Set coding->result.
7409 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7410 this is the last block of source.
7411 (encode_coding): Likewise. Handle the source block as the last
7412 one only when the whole source text is consumed.
7413 (decode_coding_string): Handle the case that the output buffer is
7414 too small to decode the whole source text. Use
7415 allocate_conversion_buffer, extend_conversion_buffer and
7416 free_conversion_buffer, not get_conversion_buffer.
7417 (encode_coding_string): Likewise.
7418 (init_coding): Function deleted.
7419 (init_coding_once): Delete code to initialize conversion_buffer_size.
7420
7421 * emacs.c (main): Don't call init_coding.
7422
7423 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
7424
7425 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7426 (insert_glyphs): Likewise.
7427
7428 * w32console.c (write_glyphs): Use a locally declared
7429 conversion_buffer.
7430
7431 2000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7432
7433 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7434 member of display_info is NULL.
7435
7436 2000-08-15 Gerd Moellmann <gerd@gnu.org>
7437
7438 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
7439
7440 * term.c (turn_off_face): Reset standout_mode when resetting
7441 appearances with capability `me'.
7442 (write_glyphs): Switch on inverse video before each face change.
7443
7444 2000-08-14 Dave Love <fx@gnu.org>
7445
7446 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7447 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7448 (lisp_free): Declare and make static.
7449
7450 * window.c: Fix embedded comment.
7451 (syms_of_window): Fix doc string.
7452
7453 2000-08-14 Gerd Moellmann <gerd@gnu.org>
7454
7455 * keymap.c (push_key_description): If C without modifiers is < 32,
7456 make sure to print `C-' before `M-', like in the manual.
7457
7458 2000-08-11 Gerd Moellmann <gerd@gnu.org>
7459
7460 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7461 since they aren't relocated anymore.
7462 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
7463
7464 * xdisp.c (try_cursor_movement): Fix handling of cursor in
7465 partially visible line which is smaller than the window's height.
7466
7467 2000-08-11 Kenichi Handa <handa@etl.go.jp>
7468
7469 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
7470 the multibyte form of eight-bit-control characters.
7471 (Fccl_execute_on_string): Initialize ccl->multibyte.
7472
7473 * ccl.h (struct ccl_program): New member multibyte.
7474
7475 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7476
7477 2000-08-11 Kenichi Handa <handa@etl.go.jp>
7478
7479 * regex.c (regex_compile) <normal_char>: Pay attention to
7480 multibyteness.
7481 (analyse_first) <exactn>: Setup fastmap correctly for
7482 eight-bit-control characters.
7483
7484 2000-08-11 Kenichi Handa <handa@etl.go.jp>
7485
7486 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
7487
7488 * keyboard.c (make_lispy_event): Handle the new event type
7489 multibyte_char_keystroke.
7490
7491 * xterm.c: Include coding.h.
7492 (XTread_socket): Work around a bug of XmbLookupString. If the
7493 input is from XIM, decode it according to the current locale. In
7494 that case, generate multibyte_char_keystroke events.
7495
7496 2000-08-11 Kenichi Handa <handa@etl.go.jp>
7497
7498 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7499 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7500
7501 2000-08-10 Gerd Moellmann <gerd@gnu.org>
7502
7503 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7504 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7505 (move_it_in_display_line_to): Record iterator's ascent and descent
7506 before producing glyphs, and restore them when we know the glyph
7507 doesn't fit on the line.
7508 (move_it_to): Restructured so that it's easier to debug. If
7509 moving to a vpos, and not moving to an x or character position,
7510 stop as soon as the specified vpos is reached; don't move further
7511 into that line because that might change the computed line height.
7512 (try_cursor_movement): New function, extracted from the cursor
7513 movement branch of redisplay_window. If ending on a partially
7514 visible line, don't try to scroll if the cursor line is taller
7515 than the window.
7516 (redisplay_window): Use try_cursor_movement.
7517
7518 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7519 because that function doesn't cope with variable-height lines.
7520
7521 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7522 box cursor because that's better visible for large images.
7523
7524 2000-08-10 Miles Bader <miles@gnu.org>
7525
7526 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7527
7528 2000-08-10 Gerd Moellmann <gerd@gnu.org>
7529
7530 * xdisp.c (Vmessages_buffer_name): New variable.
7531 (message_dolog): Use it.
7532 (syms_of_xdisp): Initialize it.
7533
7534 2000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7535
7536 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
7537 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7538 redundant now that keyboard.h is included.
7539
7540 2000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7541
7542 * keyboard.c (kbd_buffer_events_waiting): New function.
7543
7544 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7545
7546 * msdos.c: Include keyboard.h.
7547 (XMenuActivate): Empty no_event events from the event buffer. If
7548 no events are left after that, call clear_input_pending.
7549 (mouse_clear_clicks): New function, code moved from mouse_init.
7550 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7551 mouse driver to ``forget'' any past clicks.
7552
7553 * Makefile.in (msdos.o): Depend on keyboard.h.
7554
7555 2000-08-09 Gerd Moellmann <gerd@gnu.org>
7556
7557 * lisp.h (input_pending): External declaration.
7558
7559 * dispextern.h (Qredisplay_dont_pause): Declare extern.
7560
7561 * xdisp.c (echo_area_display): Display thoroughly if input is
7562 pending. Bind redisplay-dont-pause to t during the redisplay.
7563 in case input is pending.
7564
7565 * dispnew.c (Qredisplay_dont_pause): New variable.
7566 (syms_of_display): Initialize and staticpro it.
7567 (update_frame_1): Don't interrupt the display for pending input if
7568 redisplay_dont_pause is set.
7569
7570 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7571
7572 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7573
7574 2000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7575
7576 * callproc.c (Fcall_process): Terminate the unwind-protect around
7577 the post-read-conversion of coding system.
7578
7579 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7580 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7581 * buffer.h (overlays_at): Update prototype.
7582 * xdisp.c (next_overlay_change): Update call to overlays_at.
7583 * xfaces.c (face_at_buffer_position): Likewise.
7584 * textprop.c (Fget_char_property): Likewise.
7585 * xterm.c (note_mouse_highlight): Likewise.
7586
7587 * minibuf.c (do_completion): Don't consider a simple change of
7588 case as `completion'.
7589
7590 2000-08-08 Ken Raeburn <raeburn@gnu.org>
7591
7592 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
7593 * undo.c (record_delete): Make sure last_point_position_buffer is
7594 a buffer before comparing pointers.
7595
7596 * coding.h (decode_coding_string): Declare.
7597
7598 * intervals.h (Fprevious_single_char_property_change): Declare.
7599
7600 * textprop.c (Fprevious_single_char_property_change): Don't do
7601 arithmetic directly on lisp objects.
7602
7603 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
7604
7605 * keyboard.h (menu_item_eval_property): Declare.
7606
7607 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7608 reuse as buffer name, instead of recreating (and discarding) every
7609 time a message is logged.
7610 (with_echo_area_buffer): Make callback arg A2 a lisp object.
7611 (current_message_1, truncate_message_1, set_message_1)
7612 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7613 (current_message, truncate_echo_area, display_echo_area)
7614 (resize_echo_area_axactly): Changed calls.
7615
7616 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
7617 Lisp object.
7618 (Ffind_coding_systems_region_internal): First argument to Fappend
7619 must be an integer, not a Lisp object.
7620
7621 2000-08-08 Kenichi Handa <handa@etl.go.jp>
7622
7623 * charset.c (Fchar_width): Doc fix.
7624
7625 2000-08-08 Gerd Moellmann <gerd@gnu.org>
7626
7627 * charset.c (Fstring_width): Doc fix.
7628
7629 2000-08-07 Gerd Moellmann <gerd@gnu.org>
7630
7631 * xdisp.c (start_display): When starting display on a continuation
7632 line, clear ascent and descent members of the iterator structure;
7633 the height of the continued line does not affect the height of the
7634 continuation line.
7635 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7636 line taller than the window.
7637 (redisplay_window) <forced window start>: Handle case that the
7638 middle of the window is not found in any row.
7639 (dump_glyph_row): Show more information.
7640 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7641 first text line in a glyph matrix.
7642
7643 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7644 of the clip area when image doesn't have a mask.
7645
7646 * fns.c (sweep_weak_table): Fix survival conditions for
7647 key-or-value and key-and-value weakness.
7648
7649 * .gdbinit (xhashtable): New command.
7650
7651 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7652 tables out of the list of all weak hash tables.
7653
7654 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7655 a new buffer is created, make sure echo_area_buffer[] references
7656 the new buffer.
7657
7658 2000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7659
7660 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7661 the doc string.
7662
7663 2000-08-07 Kenichi Handa <handa@etl.go.jp>
7664
7665 * syntax.c (skip_chars): Fix previous change. Make the handling
7666 of unibyte string consistent with that of regex search.
7667
7668 2000-08-05 Gerd Moellmann <gerd@gnu.org>
7669
7670 * xmenu.c (popup_get_selection): Use xfree instead of free.
7671
7672 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7673
7674 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7675
7676 * callproc.c (child_setup): Use xfree instead of free.
7677
7678 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7679 instead of malloc.
7680 (run_mac_command, closedir): Use `xfree' instead of `free'.
7681
7682 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7683
7684 * eval.c (error): Use xfree instead of free.
7685
7686 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7687
7688 * fns.c: Replace `illegal' with `invalid'.
7689 (Fmake_hash_table, make_hash_table): Allow table size of 0.
7690
7691 2000-08-05 Kenichi Handa <handa@etl.go.jp>
7692
7693 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7694 conversion.
7695
7696 2000-08-04 Noah Friedman <friedman@splode.com>
7697
7698 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7699 docstring.
7700
7701 2000-08-04 Gerd Moellmann <gerd@gnu.org>
7702
7703 * syntax.c (skip_chars): Fix typo in error message.
7704
7705 2000-08-04 Andreas Schwab <schwab@suse.de>
7706
7707 * m/ia64.h: Moved from s/ia64.h.
7708
7709 2000-08-04 Kenichi Handa <handa@etl.go.jp>
7710
7711 * process.c (read_process_output): Big simplification. Handle
7712 composition and post-read-conversion of coding system correctly.
7713 (send_process): Handle composition correctly.
7714
7715 * callproc.c (Fcall_process): Handle post-read-conversion of
7716 coding system if any.
7717
7718 * coding.c (decode_coding_iso2022): More strict check for handling
7719 single shifting.
7720 (coding_restore_composition): Pay attention to the case that
7721 cmp_data is not set properly (because of invalid code in the
7722 source text).
7723 (run_pre_post_conversion_on_str): Include text properties in the
7724 resulting string.
7725 (decode_coding_string): Set members of coding correctly.
7726
7727 2000-08-03 Gerd Moellmann <gerd@gnu.org>
7728
7729 * s/ia64.h: New file.
7730
7731 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7732 Use NULL instead of 0 at the end of variable argument list of
7733 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7734 sizeof (int) < sizeof (void *).
7735
7736 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7737 of variable argument lists of XtVaGetValues and XtVaSetValues.
7738
7739 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7740 variable argument lists of XtVaGetValues and XtVaSetValues.
7741
7742 2000-08-02 Gerd Moellmann <gerd@gnu.org>
7743
7744 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7745 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7746
7747 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7748 prototype.
7749
7750 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7751 in call to Fsingle_key_description.
7752
7753 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7754 Callers changed.
7755
7756 2000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7757
7758 * window.c (display_buffer_reuse_frames): New variable.
7759 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7760 frames displaying BUFFER.
7761 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
7762
7763 2000-08-01 Miles Bader <miles@gnu.org>
7764
7765 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7766 when to constrain NEW_POS (they were pretty screwed up before).
7767
7768 2000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7769
7770 * msdos.c (run_msdos_command): Save and restore the master
7771 environment, for the case that child_setup signals an error.
7772 When mirroring slashes in DOS shell commands, don't fail when
7773 argv[2] has embedded blanks.
7774 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7775 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7776 (dos_ttraw): Call mouse_setup_buttons.
7777
7778 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7779 using alloca; free it after run_msdos_command returns.
7780
7781 2000-07-27 Dave Love <fx@gnu.org>
7782
7783 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7784 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
7785
7786 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7787
7788 2000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7789
7790 * editfns.c (lisp_time_argument): Fix last change.
7791
7792 2000-07-27 Gerd Moellmann <gerd@gnu.org>
7793
7794 * fns.c (Fdelete): Make it work on vectors and strings in addition
7795 to lists.
7796
7797 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7798 (syms_of_fns): Initialize new variables.
7799 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
7800 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7801 weakness, with t meaning the same as `key-and-value'.
7802
7803 2000-07-27 Kenichi Handa <handa@etl.go.jp>
7804
7805 * coding.h (struct coding_system): Member safe_charset deleted.
7806
7807 * coding.c (Qsafe_charsets): This variable deleted.
7808 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7809 New variables.
7810 (coding_safe_chars): New function.
7811 (CODING_SAFE_CHAR_P): New macro.
7812 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
7813 checking safe_charsets member of the coding system. Caller changed.
7814 (detect_coding_iso2022): New local variable safe_chars.
7815 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7816 safe_charsets member of the coding system.
7817 (decode_coding_iso2022): New local variable safe_chars.
7818 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7819 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7820 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7821 (ENCODE_UNSAFE_CHARACTER): New macro.
7822 (encode_coding_iso2022): New local variable safe_chars. Check
7823 unsafe chars.
7824 (setup_coding_system): Delete the code to initialize
7825 coding->safe_charses
7826 (intersection, find_safe_codings): New functions.
7827 (Ffind_coding_systems_region_internal): New function.
7828 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7829 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7830 variable and initialize it.
7831
7832 * fns.c (char_table_ref_and_index): New function.
7833
7834 * lisp.h (char_table_ref_and_index): Add prototype.
7835
7836 2000-07-26 Sam Steingold <sds@gnu.org>
7837
7838 * editfns.c (lisp_time_argument): Added third argument `usec'.
7839 (Ffloat_time): New built-in Lisp function.
7840
7841 2000-07-26 Gerd Moellmann <gerd@gnu.org>
7842
7843 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7844 for the character code.
7845
7846 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7847 GNU/Linux.
7848
7849 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7850 if called for a popup menu.
7851 (xmenu_show): Store help string in widget values.
7852
7853 2000-07-26 Dave Love <fx@gnu.org>
7854
7855 * syswait.h: Move some definitions.
7856 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7857 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7858 perspicuous definitions.
7859 (WTERMSIG): Fix bit pattern used.
7860
7861 2000-07-26 Kenichi Handa <handa@etl.go.jp>
7862
7863 * print.c (print_object): If vector printing is truncated, print
7864 "..." to indicate it as well as the case of list printing.
7865
7866 2000-07-25 Gerd Moellmann <gerd@gnu.org>
7867
7868 * xdisp.c (next_element_from_display_vector): Improve comments.
7869
7870 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7871 for the character code, and the rest for the face id as in 20.x.
7872 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7873
7874 * window.c (window_display_table): Cleaned up.
7875
7876 * syntax.c (Fforward_word): Add last arg nil in call of
7877 Fconstrain_to_field.
7878
7879 2000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7880
7881 * fileio.c (Frename_file) [DOS_NT]: If the file names are
7882 identical but for the letter-case, don't call
7883 barf_or_query_if_file_exists.
7884
7885 2000-07-25 Miles Bader <miles@gnu.org>
7886
7887 * editfns.c (find_field): Honor special `boundary' fields.
7888 (Qboundary): New variables.
7889 (syms_of_editfns): Initialize Qboundary.
7890 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7891 Use scan_buffer instead of find_before_next_newline, because it
7892 allows us to detect the boundary case where there's a newline at
7893 the search limit.
7894 * lisp.h (Fconstrain_to_field): Update external declaration.
7895
7896 2000-07-24 Gerd Moellmann <gerd@gnu.org>
7897
7898 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7899 if that is nil.
7900
7901 2000-07-24 Dave Love <fx@gnu.org>
7902
7903 * s/sunos4-0.h, s/sol2.h:
7904 (LIBS_TERMCAP): Move from m/sparc.h.
7905
7906 * m/sparc.h (TERMINFO): Moved to system files (probably only
7907 relevant for sunos4 judging by its vintage).
7908 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7909 __arch64__.
7910
7911 2000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7912
7913 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7914 name to single_keymap_panes.
7915
7916 2000-07-24 Andreas Schwab <schwab@suse.de>
7917
7918 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7919
7920 2000-07-24 Gerd Moellmann <gerd@gnu.org>
7921
7922 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7923 parameters instead of using int parameters. Expect FN to accept
7924 EMACS_INT parameters.
7925 (display_echo_area, resize_echo_area_axactly, current_message)
7926 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7927 with new argument list.
7928 (resize_mini_window_1): New callback function.
7929 (current_message_1, truncate_message_1, set_message_1): Change
7930 parameter lists to the new format expected by with_echo_area_buffer.
7931
7932 2000-07-24 Kenichi Handa <handa@etl.go.jp>
7933
7934 * fontset.c (fontset_ref): Remove INLINE declaration.
7935 (fontset_ref_via_base): Likewise.
7936 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7937 to downcase.
7938
7939 2000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7940
7941 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7942 correct order of priority. If help echo was found in an overlay,
7943 use that overlay as the object in which the help echo was found.
7944
7945 2000-07-22 Miles Bader <miles@gnu.org>
7946
7947 * textprop.c (Fprevious_single_char_property_change): The initial
7948 property value should be from the position preceding POSITION, not
7949 following it.
7950
7951 2000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7952
7953 * coding.c (syms_of_coding): Doc fix for
7954 inhibit-iso-escape-detection.
7955
7956 2000-07-21 Gerd Moellmann <gerd@gnu.org>
7957
7958 * xterm.c (note_mouse_highlight): Process overlays in the right
7959 order of priority.
7960
7961 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7962
7963 * xterm.c (note_mouse_highlight): If help-echo was found in an
7964 overlay, use that overlay as the object in which the help was found.
7965
7966 * window.c (foreach_window_1): Fix typo reversing an if-condition.
7967
7968 * window.c (foreach_window): Instead of a fake variable argument
7969 list, take one USER_DATA argument.
7970 (foreach_window_1): Likewise, and call callback functions with two
7971 args, the window and USER_DATA.
7972 (struct check_window_data): New struct.
7973 (check_window_containing): Use it.
7974 (window_from_coordinates): Set up a struct check_window_data for
7975 foreach_window.
7976 (add_window_to_list, freeze_window_start): Change parameters
7977 according to new calling convention.
7978
7979 * window.h (foreach_window): Change prototype.
7980
7981 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7982
7983 2000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7984
7985 * xmenu.c (menu_help_callback): Call show_help_echo with
7986 additional arguments OBJECT and POS.
7987
7988 2000-07-21 Kenichi Handa <handa@etl.go.jp>
7989
7990 * data.c (Faset): Allow storing any multibyte character in a
7991 string. Convert unibyte string to multibyte if necessary.
7992
7993 * xfns.c (x_encode_text): New function.
7994 (x_set_name): Use x_encode_text.
7995 (x_set_title): Likewise.
7996
7997 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7998
7999 * xterm.h (x_encode_text): Add prototype.
8000
8001 2000-07-20 Dave Love <fx@gnu.org>
8002
8003 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8004 xfree, not free.
8005
8006 2000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8007
8008 * msdos.c (help_echo_window): New variable.
8009 (syms_of_msdos): Initialize and staticpro it.
8010 (IT_note_mode_line_highlight): Set help_echo_window.
8011 (IT_note_mouse_highlight): Ditto.
8012 (dos_rawgetc): Store help_echo_window in the second event produced
8013 for HELP_EVENTs.
8014
8015 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8016 Record the object that generated the help echo and the position of
8017 that object in help_echo_object and help_echo_pos. Record that
8018 some glyphs in a row are displayed in mouse-face.
8019 (IT_update_begin): Don't clear mouse highlight unless one of the
8020 enabled glyph rows is marked as being displayed in mouse-face.
8021 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8022 and position recorded in help_echo_object and help_echo_pos to the
8023 event queue.
8024 (IT_menu_display): Accept a new argument PN: the pane number of
8025 the current menu pane. Record the pane number and the item
8026 number of the item which has associated help string.
8027 (XMenuActivate): Update the prototype for help_callback in
8028 function declaration. Call IT_menu_display with the current menu
8029 pane number as an additional argument. Call help_callback with
8030 two additional arguments: the pane number and the item number of
8031 the menu item associated with the help text.
8032 (help_echo_object, help_echo_pos): New variables.
8033 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8034
8035 * msdos.h (XMenuActivate): Update prototype.
8036
8037 2000-07-19 Gerd Moellmann <gerd@gnu.org>
8038
8039 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8040 Add some more prototypes.
8041
8042 * xterm.c, xterm.h: Add some more prototypes.
8043
8044 * lisp.h (Fnext_single_char_property_change): Add prototype.
8045
8046 * dispnew.c (direct_output_for_insert): Remove confusing
8047 outer local variable mouse_face_overwritten_p.
8048 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8049
8050 * alloc.c (allocate_string_data): Don't copy old string contents.
8051
8052 2000-07-19 Kenichi Handa <handa@etl.go.jp>
8053
8054 * coding.c (code_convert_region): Delete text properties before
8055 shrinking the conversion region.
8056
8057 2000-07-18 Gerd Moellmann <gerd@gnu.org>
8058
8059 * dispnew.c (update_text_area): Write the whole row if it
8060 has mouse-face in it.
8061
8062 * xfaces.c (face-alternative-font-family-alist): Remove
8063 DEFVAR_LISP; staticpro instead.
8064
8065 * xmenu.c (menu_help_callback): Call show_help_echo with
8066 new arguments.
8067
8068 * keyboard.c (show_help_echo): Add parameter WINDOW.
8069 (read_char): Call show_help_echo with window extracted from Lisp
8070 help event.
8071 (gen_help_event): Add parameter WINDOW.
8072
8073 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8074
8075 * xterm.c (help_echo_window): New variable.
8076 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
8077 (XTread_socket): Pass help_echo_window to gen_help_event.
8078 (syms_of_xterm): Initialize and staticpro help_echo_window.
8079
8080 2000-07-18 Dave Love <fx@gnu.org>
8081
8082 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
8083
8084 2000-07-18 Gerd Moellmann <gerd@gnu.org>
8085
8086 * alloc.c (allocate_string_data): If string had already data
8087 assigned, copy old contents to new string data.
8088
8089 * coding.c (syms_of_coding): Fix typo in spelling of variable
8090 `inhibit-iso-escape-detection'.
8091
8092 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8093
8094 * Makefile.in: Add dependencies on dispextern.h.
8095 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8096 `free'; both can conflict with system header files.
8097
8098 2000-07-18 Kenichi Handa <handa@etl.go.jp>
8099
8100 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8101 undefined.
8102
8103 2000-07-18 Dave Love <fx@gnu.org>
8104
8105 * window.c (Fwindow_list): Declare arg `window'.
8106
8107 2000-07-18 Kenichi Handa <handa@etl.go.jp>
8108
8109 * coding.c (setup_coding_system): Don't override the explicitly
8110 specified designations.
8111
8112 2000-07-15 Miles Bader <miles@gnu.org>
8113
8114 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8115 from `text_property_eq' and `text_property_stickiness', respectively.
8116 (find_field, Fconstrain_to_field, char_property_eq)
8117 (char_property_stickiness): Changed to call char-property functions
8118 instead of text-property-only ones.
8119
8120 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8121 `next_single_char_property_change'). Do more error checking, and
8122 cleanup limit behavior.
8123 (Fprevious_single_char_property_change): New function.
8124 (syms_of_textprop): Initialize new subrs.
8125
8126 * xdisp.c (display_prop_end, invisible_text_between_p):
8127 Call Fnext_single_char_property_change instead of
8128 next_single_char_property_change.
8129
8130 2000-07-15 Jason Rumney <jasonr@gnu.org>
8131
8132 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8133 after menu is finished with.
8134 (add_menu_item): Only consider wv->title as a menu title.
8135 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8136
8137 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8138 null title.
8139 (FONT_REGEXP): Remove unused macro, and its sub-components.
8140 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8141
8142 * w32term.c (help_echo_object, help_echo_pos): New variables.
8143 (note_mode_line_highlight): Store additional information about the
8144 help-echo in help_echo_object and help_echo_pos. Check both
8145 `local-map' and `keymap' properties for changing the cursor
8146 (note_mouse_highlight): Store additional information about the
8147 help-echo in help_echo_object and help_echo_pos.
8148 (note_tool_bar_highlight): Set help_echo_object to nil and
8149 help_echo_pos to -1.
8150 (w32_read_socket): Use gen_help_event instead of filling
8151 input_events manually.
8152 (syms_of_w32term): Staticpro help_echo_object.
8153 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
8154 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
8155 (x_clear_mouse_face): New function.
8156 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8157 (x_update_window_begin): No need to turn off the mouse
8158 highlight here.
8159 (show_mouse_face): Set the mouse_face_p flag of glyph rows
8160 depending on whether they contain glyphs highlighted in mouse-face.
8161 (x_fill_stretch_glyph_string): Consume runs of stretch
8162 glyphs instead of a single one.
8163 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8164 with new argument list.
8165 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8166 (x_append_glyph, x_append_composite_glyph)
8167 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8168 changes in struct glyph starting 1999-12-27. See comments for
8169 xterm.c on 2000-07-05.
8170
8171 2000-07-14 Sam Steingold <sds@gnu.org>
8172
8173 * xfaces.c (realize_x_face): Fix the last patch:
8174 check `default_face' before dereferencing.
8175
8176 2000-07-14 Dave Love <fx@gnu.org>
8177
8178 * syntax.c (back_comment): Add null default in switch (for pcc).
8179
8180 2000-07-14 Kenichi Handa <handa@etl.go.jp>
8181
8182 * xfaces.c (realize_x_face): Make fontset using the base of the
8183 default_face's fontset, not using the default fontset.
8184
8185 * coding.c (inhibit_iso_escape_detection): New variable.
8186 (syms_of_coding): Make it a Lisp variable.
8187 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8188 nonzero, ignore ISO2022's escape sequence.
8189
8190 2000-07-14 Gerd Moellmann <gerd@gnu.org>
8191
8192 * alloca.c (malloc) [emacs]: Define as xmalloc.
8193
8194 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8195 use that instead of the mouse position. Add parameters DX and DY.
8196
8197 * dispextern.h (Fx_show_tip): Adjust number of parameters
8198 in prototype.
8199
8200 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8201 if HELP is a function, call it with OBJECT and POS as parameters
8202 to get the help to display.
8203 (gen_help_event, kbd_buffer_store_help_event): New functions.
8204 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8205 (read_char): Call show_help_echo with new parameters.
8206
8207 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
8208 Add prototypes.
8209
8210 * xterm.c (help_echo_object, help_echo_pos): New variables.
8211 (note_mode_line_highlight): Store additional information about the
8212 help-echo in help_echo_object and help_echo_pos. Check both
8213 `local-map' and `keymap' properties for changing the cursor
8214 (note_mouse_highlight): Store additional information about the
8215 help-echo in help_echo_object and help_echo_pos.
8216 (note_tool_bar_highlight): Set help_echo_object to nil and
8217 help_echo_pos to -1.
8218 (XTread_socket): Use gen_help_event instead of filling
8219 input_events manually.
8220 (syms_of_xterm): Staticpro help_echo_object.
8221
8222 * xmenu.c (menu_highlight_callback): Use
8223 kbd_buffer_store_help_event instead of setting up and input_event
8224 structure manually.
8225
8226 * xdisp.c (eval_form): GCPRO argument sexpr.
8227 (call_function): New function.
8228 (handle_single_display_prop): Use call_function and FUNCTIONP
8229 instead of checking whether if font_height is a symbol and
8230 using eval_form.
8231
8232 * eval.c (internal_condition_case_2): New function.
8233
8234 * lisp.h (FUNCTIONP): New macro.
8235 (internal_condition_case_2, call_function): Add prototypes.
8236
8237 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8238 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8239 Always set `arg' member of input_events.
8240 (construct_menu_click): Unused function removed.
8241
8242 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8243
8244 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8245 (construct_drag_n_drop, x_scroll_bar_handle_click)
8246 (w32_read_socket): Always set `arg' member of input_events.
8247
8248 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8249
8250 * lisp.h (eval_form): Add prototype.
8251
8252 * xdisp.c (eval_form): Make it externally visible.
8253
8254 2000-07-13 Gerd Moellmann <gerd@gnu.org>
8255
8256 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8257 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8258 consing. For prefix events, store the frame in the `arg' slot of
8259 the event, otherwise store the key there.
8260 (XTread_socket): Instead of consing, use the frame_or_window slot
8261 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
8262
8263 * xmenu.c (menu_highlight_callback): Store help string in the
8264 `arg' member of the input event; don't cons.
8265 (menubar_selection_callback): Use the `arg' slot of input events
8266 to queue additional information, instead of consing.
8267
8268 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8269
8270 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8271 TOOL_BAR_EVENTs.
8272 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8273
8274 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8275 input events to queue additional information, instead of consing.
8276
8277 * keyboard.c (kbd_buffer_gcpro): Renamed from
8278 kbd_buffer_frame_or_window. Now used for all Lisp objects
8279 referenced from the input queue.
8280 (kbd_buffer_store_event): Always use structure assignment for
8281 copying input events. Record all Lisp objects referenced from
8282 events in kbd_buffer_gcpro.
8283 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8284 differently from input events. Test for prefix menu_bar_events
8285 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8286 event in kbd_buffer_gcpro to nil.
8287 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8288 frame_or_window is equal to its arg member as prefix events.
8289 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8290 used by an input event to nil.
8291 (init_keyboard): Use two times the size of the input queue
8292 for kbd_buffer_gcpro.
8293 (syms_of_keyboard): Likewise.
8294
8295 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8296 Use USER_SIGNAL_EVENT.
8297
8298 * termhooks.h (struct input_event): Add member `arg'.
8299 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8300 (USER_SIGNAL_EVENT): Renamed from user_signal.
8301
8302 * xfaces.c (ASET): Remove definition.
8303
8304 * lisp.h (AREF, ASET, ASIZE): New macros.
8305
8306 * fontset.c (AREF, ASIZE): Remove definitions.
8307
8308 * fns.c (AREF): Remove definition.
8309
8310 * composite.c (AREF): Remove definition.
8311
8312 2000-07-12 Gerd Moellmann <gerd@gnu.org>
8313
8314 * dispnew.c (redraw_overlapped_rows): Add missing local.
8315 (scrolling_window): Remove debug code.
8316
8317 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8318 Before scrolling, turn off a mouse-highlight in the window
8319 being scrolled.
8320
8321 * xterm.c (x_update_window_end): Add parameter
8322 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8323 redisplay in XTframe_up_to_date.
8324 (x_clear_mouse_face): New function.
8325 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8326
8327 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8328 current glyph row.
8329 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8330 it when any row is written to that contains glyphs highlighted in
8331 mouse-face.
8332 (update_window): Call the window update end hook with new
8333 parameter MOUSE_FACE_OVERWRITTEN_P.
8334 (direct_output_for_insert): Give up if row contains mouse-face.
8335
8336 * dispextern.h (struct redisplay_interface): Add parameter
8337 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8338 (clear_mouse_face): New function pointer member.
8339
8340 2000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8341
8342 * syntax.c (back_comment): Use one switch rather than a few `if's.
8343 Obey open_paren_in_column_0_is_defun_start.
8344 When reverting to the `slow' method, try to nicely handle the case
8345 of nested comments by checking that the comment-starter we found
8346 does indeed match the comment-ender.
8347 (scan_sexps_forward, scan_sexps_forward):
8348 Ignore excessive opening parenthesis rather than throwing an error.
8349
8350 2000-07-11 Gerd Moellmann <gerd@gnu.org>
8351
8352 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8353 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8354
8355 * dispnew.c (direct_output_forward_char): Give up if currently
8356 displaying a message instead of the minibuffer contents.
8357
8358 * xterm.c (x_update_window_begin): No need to turn off the mouse
8359 highlight here.
8360 (show_mouse_face): Set the mouse_face_p flag of glyph rows
8361 depending on whether they contain glyphs highlighted in mouse-face.
8362
8363 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8364 compare the mouse_face_p flags of both rows.
8365
8366 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8367
8368 2000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8369
8370 * keyboard.c (show_help_echo): Accept additional parameter
8371 ok_to_overwrite_keystroke_echo.
8372 (read_char): Call show_help_echo with a zero
8373 ok_to_overwrite_keystroke_echo argument.
8374 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
8375 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8376 ok_to_overwrite_keystroke_echo argument.
8377 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8378 non-zero ok_to_overwrite_keystroke_echo argument.
8379
8380 2000-07-10 Gerd Moellmann <gerd@gnu.org>
8381
8382 * xdisp.c (try_window_id): If changes are all below what is
8383 displayed in the window, and point is in the window, we still
8384 might have to find point on the display.
8385
8386 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8387 glyphs instead of a single one.
8388 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8389 with new argument list.
8390 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8391
8392 * keymap.c (get_keymap_1): Add comment that this function can GC.
8393 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8394 comment that functions can GC.
8395 (Fset_keymap_parent): GCPRO arg KEYMAP.
8396
8397 2000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8398
8399 * msdos.c (XMenuActivate): After exiting the menu, restore the
8400 echo area message and erase it.
8401
8402 2000-07-10 Kenichi Handa <handa@etl.go.jp>
8403
8404 * fontset.c (Ffontset_info): Make the return value more compatible
8405 with that of Emacs 20.
8406
8407 2000-07-07 Gerd Moellmann <gerd@gnu.org>
8408
8409 * eval.c (Fsignal): Handle case that backtrace_list is null.
8410
8411 2000-07-07 Kenichi Handa <handa@etl.go.jp>
8412
8413 * ccl.c (Fccl_execute): Typo fixed.
8414
8415 2000-07-06 Gerd Moellmann <gerd@gnu.org>
8416
8417 * window.c (window_loop): Add missing gcpro1 local variable.
8418
8419 * window.c (Fwindow_list): Reverse list at the end.
8420 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8421 means allow windows on OWINDOW's frame, only.
8422 (window_loop): Simplified; use Fwindow_list.
8423
8424 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8425
8426 2000-07-05 Gerd Moellmann <gerd@gnu.org>
8427
8428 * xterm.c (XTread_socket): Increment handling_signal at the start,
8429 decrement it at the end.
8430
8431 * eval.c (handling_signal): New variable.
8432 (Fsignal): Abort if handling_signal is non-zero.
8433
8434 * lisp.h (handling_signal): External declaration.
8435
8436 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8437
8438 2000-07-05 Ken Raeburn <raeburn@gnu.org>
8439
8440 Sound support for NetBSD through "Linux emulation" support:
8441 * config.in (HAVE_SOUNDCARD_H): Undef.
8442 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8443 * Makefile.in (LIBSOUND): New variable.
8444 (LIBES): Include it.
8445 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8446 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
8447 (vox_open): Use DEFAULT_SOUND_DEVICE.
8448 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8449
8450 2000-07-05 Gerd Moellmann <gerd@gnu.org>
8451
8452 * print.c (print_error_message): If Vsignaling_function is set,
8453 show it in *Messages*.
8454
8455 * lisp.h (Vsignaling_function): External declaration.
8456
8457 * eval.c (Vsignaling_function): New variable.
8458 (Fsignal): Compute it.
8459 (syms_of_eval): Staticpro it.
8460
8461 2000-07-05 Dave Love <fx@gnu.org>
8462
8463 * syswait.h: Use the autoconf recommended approach. Old code
8464 #if'd out in case we need to revert.
8465
8466 * config.in (HAVE_SYS_WAIT_H): Added.
8467
8468 2000-07-05 Andrew Innes <andrewi@gnu.org>
8469
8470 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8471 when non-NULL instead of __morecore, to take account of buffer
8472 memory. This also solves a problem with spurious memory warnings
8473 on Windows.
8474
8475 * ralloc.c: Make real_morecore non-static.
8476
8477 * eval.c (internal_condition_case): Comment out abort if
8478 interrupt_input_blocked is not zero.
8479
8480 * makefile.nt: Add support for `bootstrap' and related targets.
8481 Include minimal debug info in emacs.exe in release build.
8482 Remove all dependencies on lisp.h, and fixup some others.
8483
8484 * w32.c (init_environment): Install code from 20.7 for providing
8485 default values for environment variables, based on the
8486 executable's own location.
8487 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
8488 (sys_socket): Install socket inheritance bug fix from 20.7.
8489
8490 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8491 here via blockinput.h).
8492
8493 2000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8494
8495 * w32menu.c (w32_menu_display_help):
8496 * xmenu.c (menu_help_callback): Use show_help_echo.
8497
8498 * keyboard.h (show_help_echo): Declare.
8499
8500 * keyboard.c (show_help_echo): New function, extracted from read_char.
8501 Feval its `msg' argument if it's a cons cell.
8502 (read_char): Use it.
8503 (follow_key): Pass `autoload' to get_keyelt.
8504
8505 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
8506 (note_tool_bar_highlight, XTread_socket):
8507 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
8508 (dos_rawgetc):
8509 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8510 (note_tool_bar_highlight, w32_read_socket):
8511 Do not gratuitously ignore non-string `help-echo' properties.
8512
8513 2000-07-05 Gerd Moellmann <gerd@gnu.org>
8514
8515 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8516
8517 * window.c (delete_all_subwindows): Reset Vwindow_list.
8518
8519 * xterm.c (x_append_glyph, x_append_composite_glyph)
8520 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8521 changes in struct glyph starting 1999-12-27. Some bit-fields of
8522 struct glyph were not set, which made glyphs unequal when compared
8523 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8524 effects were the result. This also depended on the contents of
8525 memory returned by xmalloc. If flickering happens again, activate
8526 the code in clear_glyph_row that's in #if 0. If the flickering is
8527 gone with that, chances are that it is caused by something similar.
8528
8529 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
8530
8531 * dispextern.h: Add some comments.
8532
8533 * window.c (add_window_to_list): Add parameter LIST.
8534 (window_list): Order list so that, for each frame, windows are
8535 in canonical order, and so that frames appear in the list in
8536 the order given by Vframe_list.
8537 (next_window): Reverse the handling of NEXT_P.
8538
8539 2000-07-04 Gerd Moellmann <gerd@gnu.org>
8540
8541 * window.c (Vwindow_list): New variable.
8542 (make_window, delete_window): Set Vwindow_list to nil.
8543 (check_window_containing): New function.
8544 (window_from_coordinates): Rewritten.
8545 (add_window_to_list, window_list, candidate_window_p)
8546 (decode_next_window_args, next_window): New functions.
8547 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
8548 (Fwindow_list): New function.
8549 (Fother_window): Cleaned up.
8550 (foreach_window): Add a longer "variable argument list". Let
8551 callback function return 0 to indicate that cycling over windows
8552 should stop.
8553 (foreach_window_1): Likewise.
8554 (freeze_window_start): Return int.
8555 (init_window): New function.
8556 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8557
8558 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8559 input_event with bzero.
8560 (main): Call init_window.
8561
8562 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8563 a menu filter.
8564
8565 2000-07-04 Kenichi Handa <handa@etl.go.jp>
8566
8567 * composite.h (make_composition_value_copy): Extern it.
8568
8569 * composite.c (make_composition_value_copy): New function.
8570
8571 * editfns.c (Fformat): While copying text properties, make each
8572 composition property value a copy.
8573
8574 * fns.c (concat): While copying text properties, make each
8575 composition property value a copy.
8576
8577 2000-07-03 Gerd Moellmann <gerd@gnu.org>
8578
8579 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8580
8581 * fns.c (sweep_weak_table): Mark only objects that are not
8582 marked already.
8583
8584 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8585 include those frames as candidates which have their focus
8586 redirected to the minibuffer frame.
8587
8588 2000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8589
8590 * fns.c (Fputhash): Return `value' rather than nil.
8591
8592 2000-06-30 Gerd Moellmann <gerd@gnu.org>
8593
8594 * frame.c (next_frame): Don't check focus redirection in case
8595 MINIBUF is a window. Doing so excludes frames using MINIBUF
8596 unless their focus is redirected, which contradicts the
8597 specification of next-frame, and leads to infinite loops in
8598 certain situations when cycling through windows with next-window.
8599
8600 2000-06-30 Kenichi Handa <handa@etl.go.jp>
8601
8602 * coding.c (code_convert_region): Even if the length of text is
8603 zero, try to convert it if coding->type is coding_type_ccl.
8604 (decode_coding_string, encode_coding_string): Likewise.
8605
8606 2000-06-28 Gerd Moellmann <gerd@gnu.org>
8607
8608 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
8609 the display if windows_or_buffers_changed.
8610
8611 * dispnew.c (struct row_entry): New structure.
8612 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8613 (row_table_size, old_lines, new_lines, old_lines_size)
8614 (new_lines_size, run_pool, runs_size, runs): New variables.
8615 (add_row_entry): New function.
8616 (scrolling_window): Use data structures allocated with xmalloc and
8617 held in global variables, instead of allocating them with alloca and
8618 holding them in local variables. Use a larger hash table whose
8619 size depends on glyph matrix sizes. Don't use bzero to clear the
8620 hash table; instead, clear used slots only.
8621
8622 * fns.c (next_almost_prime): Make it externally visible.
8623
8624 * lisp.h (next_almost_prime): Add prototype.
8625
8626 * s/isc4-0.h (sigunblock): Define.
8627
8628 * s/sco5.h (sigunblock): Define.
8629
8630 2000-06-27 Dave Love <fx@gnu.org>
8631
8632 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8633 (moved to osf5-0.h).
8634 [!NOT_C_CODE]: Protect string.h stuff.
8635
8636 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8637 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8638
8639 2000-06-27 Gerd Moellmann <gerd@gnu.org>
8640
8641 * xdisp.c (resize_mini_window): Subtract the extra line spacing
8642 below the last line from the needed window height.
8643
8644 2000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8645
8646 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8647 (Fwidget_get): Use it.
8648 (syms_of_fns): Defsubr it.
8649
8650 2000-06-26 Gerd Moellmann <gerd@gnu.org>
8651
8652 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
8653 display info for XIM.
8654 (xim_open_dpy): Likewise.
8655 (xim_close_dpy): Don't free the display info's XIM.
8656
8657 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8658
8659 * config.in (USE_XIM): New define.
8660
8661 * keymap.c (get_keyelt): For menu-items containing a `:filter
8662 FILTER', apply FILTER to the menu-item's definition to get the
8663 real definition to use.
8664
8665 * lisp.h (QCfilter): External declaration.
8666
8667 * xfns.c (Fimage_size): New function.
8668 (syms_of_xfns): Defsubr it.
8669
8670 2000-06-26 Andreas Schwab <schwab@suse.de>
8671
8672 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8673 Fstring_as_unibyte.
8674
8675 2000-06-25 Dave Love <fx@gnu.org>
8676
8677 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
8678
8679 * Makefile.in (blockinput.h): Depend on atimer.h.
8680 (atimer.h): Depend on systime.h.
8681
8682 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
8683
8684 * atimer.h: Protect against multiple inclusion. Include systime.h.
8685
8686 * lisp.h (swap_in_global_binding): Declare.
8687
8688 2000-06-24 Ken Raeburn <raeburn@gnu.org>
8689
8690 * process.c (Fopen_network_stream): Turn off atimers for duration
8691 of call to connect. (Patch from Gerd.)
8692
8693 2000-06-23 Dave Love <fx@gnu.org>
8694
8695 * ralloc.c: Maybe include unistd.h
8696
8697 * emacs.c (setgrp): Undefine before defining.
8698 (malloc_warning, set_time_zone_rule, index): Prototype.
8699
8700 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8701 HAVE_STRUCT_TIMEZONE.
8702
8703 * s/osf1.h: Move string.h hack here from alpha.h and make it
8704 conditional.
8705 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8706 _XOPEN_SOURCE.
8707 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8708 (SOCKLEN_TYPE): Don't define.
8709
8710 * m/alpha.h: Remove string.h hack.
8711
8712 * s/osf5-0.h: New file.
8713
8714 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8715 include time.h, done by systime.h.
8716 [__FreeBSD__]: Remove redundant includes.
8717
8718 * callproc.c (setpgrp): Undefine before defining.
8719 (delete_temp_file): Return Qnil to avoid warning.
8720
8721 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8722
8723 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8724 HAVE_X_WINDOWS.
8725
8726 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8727
8728 * composite.h (compose_text): Declare.
8729
8730 * xterm.c: Don't include sys/types.h unconditionally. Don't
8731 protect its inclusion with !USG (following xmenu.c).
8732
8733 2000-06-23 Gerd Moellmann <gerd@gnu.org>
8734
8735 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8736 in x_create_frame.
8737
8738 2000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8739
8740 * coding.c (decode_eol_post_ccl): Special handling for undecided
8741 and inconsistent EOL types.
8742
8743 2000-06-22 Gerd Moellmann <gerd@gnu.org>
8744
8745 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8746 trough color and main window's background color.
8747
8748 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
8749
8750 * xterm.h (Xt_app_con): External declaration.
8751
8752 * widget.c (EmacsFrameRealize): Fix typo.
8753
8754 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8755
8756 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8757 (handle_invisible_prop): Record the start of invisible text in
8758 it->add_overlay_start.
8759 (struct overlay_entry): Add member `overlay'.
8760 (handle_overlay_change): Simplify.
8761 (next_overlay_string): After having processed overlay strings at the
8762 end of the buffer, record that fact in
8763 it->overlay_strings_at_end_processed_p.
8764 (compare_overlay_entries): If before- and after-strings come
8765 from the same overlay, let before-strings come first.
8766 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8767 (load_overlay_strings): Take it->add_overlay_start into account
8768 when adding overlay strings.
8769
8770 * dispextern.h (struct it): Add member add_overlay_start.
8771
8772 2000-06-22 Dave Love <fx@gnu.org>
8773
8774 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8775
8776 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8777
8778 2000-06-22 Kenichi Handa <handa@etl.go.jp>
8779
8780 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8781 is greater than 0.
8782
8783 2000-06-21 Dave Love <fx@gnu.org>
8784
8785 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
8786
8787 2000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8788
8789 * syntax.c (back_comment): Simplify string-parity counting (with
8790 the added benefit of handling multiple string-styles as long as
8791 they are not intertwined).
8792 Jump to the slow code as soon as a comment starter is found in
8793 a "string_lossage" position. Fixes the case: " /* " /* " */.
8794
8795 2000-06-21 Dave Love <fx@gnu.org>
8796
8797 * Makefile.in: Use GETLOADAVG_LIBS.
8798
8799 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8800 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8801
8802 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8803
8804 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8805 (Fforward_comment, scan_lists):
8806 Check the comstyle of single-char comment-starters.
8807 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8808 we're just at the beginning of the comment (f.ex with (*) ... (*)).
8809 Check the comstyle of single-char comment-starters.
8810 Clarify control-flow around the Scomment case.
8811
8812 2000-06-20 Dave Love <fx@gnu.org>
8813
8814 * fns.c (make_hash_table, maybe_resize_hash_table):
8815 Cast arg of next_almost_prime.
8816
8817 * tparam.c [emacs]: Include lisp.h.
8818
8819 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8820 and unistd.h.
8821
8822 2000-06-20 Gerd Moellmann <gerd@gnu.org>
8823
8824 * keyboard.c (adjust_point_for_property): Check if display
8825 property should be treated as intangible by looking at its value.
8826
8827 * xdisp.c (single_display_prop_intangible_p)
8828 (display_prop_intangible_p): New functions.
8829
8830 * dispextern.h (display_prop_intangible_p): Add prototype.
8831
8832 * xdisp.c (dump_glyph_row): Show type of glyph->object.
8833
8834 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8835 argument to sigprocmask.
8836
8837 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8838 argument to sigprocmask.
8839
8840 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8841 sigprocmask_set, and pass a pointer to it to sigprocmask.
8842
8843 * sysdep.c (sigprocmask_set): New variable.
8844
8845 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8846 report_file_error.
8847
8848 2000-06-20 Sam Steingold <sds@gnu.org>
8849
8850 * xrdb.c: Don't declare xmalloc, xrealloc.
8851
8852 2000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8853
8854 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8855 (re_comp): Cast gettext return value to avoid complaints when
8856 !HAVE_LIBINTL.
8857
8858 2000-06-20 Dave Love <fx@gnu.org>
8859
8860 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
8861
8862 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
8863
8864 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
8865
8866 * m/alpha.h: Don't declare xmalloc, xrealloc.
8867
8868 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8869
8870 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8871
8872 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8873
8874 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8875 HAVE_GETWD.
8876
8877 * keyboard.h (poll_for_input_1): Declare.
8878
8879 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8880
8881 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8882
8883 * doprnt.c: Don't declare xmalloc, xrealloc.
8884
8885 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8886 (getenv, ctime, getwd): Removed.
8887 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8888
8889 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8890 x_set_tool_bar_lines.
8891
8892 * config.in: Add HAVE_GETWD. Move some definitions above
8893 machine/system includes.
8894
8895 2000-06-20 Kenichi Handa <handa@etl.go.jp>
8896
8897 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8898
8899 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8900 contain information about ENCODING.
8901
8902 * fontset.c (FONTSET_ASCII): Use the first element of char table
8903 for an ASCII font, not defalt slot.
8904 (fontset_ref_via_base): If FONTSET doesn't contain information for
8905 C, try the default fontset.
8906 (make_fontset): Don't copy the default fontset.
8907 (fontset_font_pattern): Likewise.
8908 (accumulate_font_info): If ELT is nil, use the corresponding
8909 element in the default fontset.
8910
8911 2000-06-19 Dave Love <fx@gnu.org>
8912
8913 * syntax.c (Fparse_partial_sexp): Doc fix.
8914
8915 * regex.h: Test PROTOTYPES as well as __STDC__.
8916
8917 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8918 errno, strerror. Put text after #endif in comment.
8919
8920 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
8921
8922 * xterm.c (x_frame_of_widget): Likewise.
8923
8924 2000-06-19 Gerd Moellmann <gerd@gnu.org>
8925
8926 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8927 to Vfundamental_mode_abbrev_table.
8928
8929 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8930 bogus objects are marked. This slows down GC by ~80 percent, but
8931 it might be worth trying when debugging GC-related problems.
8932 This feature requires conservative stack marking to be enabled.
8933
8934 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8935 returns XLookupChars, reset `modifiers' to zero.
8936
8937 2000-06-19 Dave Love <fx@gnu.org>
8938
8939 * mktime.c: Unprotoized.
8940
8941 2000-06-19 Richard Stallman <rms@gnu.org>
8942
8943 * data.c (set_internal): If variable is frame-local,
8944 store the new value immediately into the frame parameter alist.
8945
8946 2000-06-19 Ken Raeburn <raeburn@gnu.org>
8947
8948 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8949 in the custom handler pointer.
8950
8951 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8952 value, or checks for CHAR_META can fail when Lisp_Object is a
8953 union type.
8954 * keymap.c (get_keyelt): Likewise.
8955
8956 2000-06-19 Kenichi Handa <handa@etl.go.jp>
8957
8958 * ccl.h (struct ccl_program): New member eol_type.
8959 (struct ccl_spec): New member cr_carryover.
8960
8961 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8962 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8963
8964 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8965 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8966 (decode_eol_post_ccl): New function.
8967 (decode_coding): Don't detect EOL format here for CCL based coding
8968 systems.
8969 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8970 decode_eol_post_ccl after running the CCL program.
8971 (code_convert_region): Don't detect EOL format here for CCL based
8972 coding systems.
8973 (decode_coding_string): Likewise.
8974
8975 2000-06-18 Ken Raeburn <raeburn@gnu.org>
8976
8977 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8978 when treating it as an integer.
8979
8980 * coding.h (encode_coding_string): Declare.
8981
8982 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8983 it as an integer.
8984
8985 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8986 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8987 to be passed to get_local_map.
8988
8989 * sound.c (Fplay_sound): Don't call make_number on
8990 Frun_hook_with_args count argument.
8991
8992 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8993 for lisp objects in X event structure data field, when lisp
8994 objects are represented with unions.
8995 (x_scroll_bar_to_input_event): Ditto.
8996
8997 2000-06-16 Ken Raeburn <raeburn@gnu.org>
8998
8999 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
9000 termination of string. Fix sense of test whether
9001 Vline_number_display_limit is an integer.
9002
9003 2000-06-16 Gerd Moellmann <gerd@gnu.org>
9004
9005 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9006 only if HAVE_X_WINDOWS.
9007
9008 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9009 of titles.
9010
9011 * dispnew.c (update_frame_1): Handle case that cursor vpos is
9012 out of bounds.
9013
9014 2000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9015
9016 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9017 of its headers.
9018
9019 2000-06-15 Kenichi Handa <handa@etl.go.jp>
9020
9021 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9022 start of the while loop.
9023
9024 2000-06-15 Gerd Moellmann <gerd@gnu.org>
9025
9026 * atimer.c (alarm_signal_handler): Add forward declaration.
9027
9028 * data.c (set_internal): Remove debug code.
9029
9030 2000-06-14 Gerd Moellmann <gerd@gnu.org>
9031
9032 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9033
9034 * unexec.c (toplevel) [COFF]: Include coff.h.
9035
9036 * s/lynxos.h: New file.
9037
9038 * keymap.c (Fsingle_key_description): Enclose function key and
9039 event symbol names in angle brackets.
9040
9041 * xdisp.c (setup_echo_area_for_printing): Call
9042 message_log_maybe_newline if message_buf_print is not set.
9043
9044 * print.c (printchar, strout): Don't check message_buf_print
9045 before calling setup_echo_area_for_printing because that
9046 function does something useful even when message_buf_print is
9047 already set.
9048
9049 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9050 New variables.
9051 (ensure_echo_area_buffers): Initialize echo buffer's
9052 truncate lines setting to nil.
9053 (with_echo_area_buffer): Don't set the echo buffer's truncate
9054 lines setting here.
9055 (set_message_1): Set it here instead, based on the value
9056 of message_truncate_lines.
9057 (resize_mini_window): Handle case that lines are truncated.
9058 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9059 DEFVAR_BOOL message-truncate-lines.
9060
9061 * keyboard.c (read_char): Bind message-truncate-lines to t
9062 while displaying a help-echo.
9063
9064 * lisp.h (Qmessage_truncate_lines): External declaration.
9065
9066 2000-06-13 Gerd Moellmann <gerd@gnu.org>
9067
9068 * xdisp.c (Vline_number_display_limit): Renamed from
9069 line_number_display_limit.
9070 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9071 Extend documentation string. Initialize
9072 Vline_number_display_limit to nil meaning no limit.
9073 (decode_mode_spec): Use Vline_number_display_limit with its new
9074 meaning.
9075
9076 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9077
9078 2000-06-13 Richard Stallman <rms@gnu.org>
9079
9080 * frame.c (Fmodify_frame_parameters): Doc fix.
9081
9082 * xfns.c (x_set_frame_parameters): Comment fix.
9083
9084 * frame.c (store_frame_param): Call swap_in_global_binding if the
9085 variable's current binding was chosen based on this frame.
9086
9087 * data.c (swap_in_global_binding): New function.
9088
9089 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9090
9091 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9092 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9093
9094 2000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9095
9096 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9097
9098 2000-06-12 Jason Rumney <jasonr@gnu.org>
9099
9100 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9101
9102 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9103
9104 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9105
9106 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9107
9108 2000-06-12 Gerd Moellmann <gerd@gnu.org>
9109
9110 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9111 (syms_of_xfaces): Defsubr Sdump_colors.
9112 (x_free_colors): Don't treat b&w specially on default visual.
9113 (x_free_dpy_colors): New function.
9114 (free_face_colors): Don't check visual class; it's done
9115 in x_free_colors.
9116
9117 * xterm.c (x_frame_of_widget): New function.
9118 (x_alloc_nearest_color_for_widget): Use it.
9119 (x_copy_dpy_color): New function.
9120 (x_destroy_window): Free various colors.
9121
9122 2000-06-12 Kenichi Handa <handa@etl.go.jp>
9123
9124 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9125
9126 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9127
9128 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9129
9130 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9131
9132 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9133
9134 2000-06-11 Dave Love <fx@gnu.org>
9135
9136 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9137
9138 2000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9139
9140 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9141
9142 2000-06-11 Gerd Moellmann <gerd@gnu.org>
9143
9144 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
9145 to `XEvent *'.
9146
9147 2000-06-10 Kenichi Handa <handa@etl.go.jp>
9148
9149 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9150 (regex_compile): Fix the code for handling the case of single byte
9151 char and multibyte char being mixed in a range within [...].
9152
9153 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9154 and dst_multibyte members of coding.
9155
9156 * charset.c (update_charset_table): Update the table
9157 bytes_by_char_head.
9158 (init_charset_once): Initialize elements of bytes_by_char_head to
9159 1 except for leading codes for private charases.
9160
9161 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
9162 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
9163
9164 2000-06-09 Ken Raeburn <raeburn@gnu.org>
9165
9166 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9167 access the data it doesn't point to.
9168
9169 2000-06-08 Gerd Moellmann <gerd@gnu.org>
9170
9171 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
9172 will be translated to a switch-frame event when reading the
9173 event queue. This is necessary because Emacs otherwise won't
9174 perform a switch-frame to a new frame until some other event, for
9175 example a keystroke event, forces it to do so. This has various
9176 effects, one visible being that the cursor of a frame created with
9177 C-x 5 2 or switched to with a window manager key binding like
9178 A-TAB stays hollow because selected_window isn't on the newly
9179 focused frame until the switch-frame is performed.
9180
9181 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9182 generating a switch-frame event if necessary.
9183
9184 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9185
9186 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9187 it's an integer.
9188
9189 2000-06-08 Kenichi Handa <handa@etl.go.jp>
9190
9191 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
9192
9193 2000-06-07 Gerd Moellmann <gerd@gnu.org>
9194
9195 * window.c (displayed_window_lines): Take empty lines at
9196 the bottom of a window into account.
9197
9198 * window.c (displayed_window_lines): New function.
9199 (Fmove_to_window_line): Use displayed_window_lines to determine
9200 the number of lines to move, instead of using the window's height.
9201
9202 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9203 to stop reading, even if the form read sets point to a different
9204 value when evaluated.
9205
9206 * xdisp.c (display_line): Fix code deciding in which line to
9207 put the cursor.
9208
9209 2000-06-07 Kenichi Handa <handa@etl.go.jp>
9210
9211 * fileio.c (e_write): Free composition data if stored in
9212 coding->cmp_data.
9213
9214 2000-06-06 Gerd Moellmann <gerd@gnu.org>
9215
9216 * xdisp.c (display_line): Set row's and iterator's
9217 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9218 Set cursor even if row ends in the middle of a character.
9219 (dump_glyph_row): Print values of new flags.
9220 (redisplay_window) <cursor movement in unchanged window>: When
9221 point has been moved forward, and PT is at the end of the cursor
9222 row, don't place the cursor in the next row if the cursor row ends
9223 in the middle of a character or at ZV.
9224
9225 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9226 (struct glyph_row): Add starts_in_middle_of_char_p and
9227 ends_in_middle_of_char_p.
9228 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9229 ends_in_middle_of_char_p flag.
9230 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9231
9232 * term.c (append_glyph): Revert change of 2000-06-06.
9233
9234 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9235 padding glyph not fitting on line as whole character not
9236 fitting on line.
9237
9238 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9239 this isn't true for images with `:ascent 100'.
9240
9241 2000-06-06 Kenichi Handa <handa@etl.go.jp>
9242
9243 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9244 as modified if it is originally unmodified.
9245
9246 * term.c (encode_terminal_code): Change the way to check if
9247 terminal coding does any conversion.
9248 (append_glyph): Set glyph->pixel_width correctly.
9249
9250 * xdisp.c (display_line): While checking line continuation, pay
9251 attention to a padding glyph.
9252
9253 2000-06-05 Gerd Moellmann <gerd@gnu.org>
9254
9255 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9256
9257 2000-06-05 Dave Love <fx@gnu.org>
9258
9259 * xdisp.c: Include fontset.h.
9260
9261 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9262
9263 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9264
9265 * dispnew.c: Conditionally include term.h.
9266
9267 * coding.h: Declare code_convert_string_norecord.
9268
9269 * frame.h (struct frame): Use volatile unconditionally.
9270
9271 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9272
9273 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9274
9275 * systime.h: Protect against multiple inclusion.
9276 (timezone) [USG5_4]: Define as time_t.
9277
9278 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9279 (Foptimize_char_table, make_temp_name): Declare.
9280
9281 * Makefile.in (xdisp.o): Depend on fontset.h.
9282
9283 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9284
9285 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9286 (Foptimize_char_table, make_temp_name): Declare.
9287
9288 * s/irix4-0.h:
9289 * s/irix5-0.h:
9290 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9291
9292 2000-06-02 Dave Love <fx@gnu.org>
9293
9294 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9295
9296 2000-06-02 Gerd Moellmann <gerd@gnu.org>
9297
9298 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
9299 result face, set flags in that face indicating that colors may not
9300 be freed.
9301
9302 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9303 glyph, use the ASCII NUL character to determine the face.
9304
9305 2000-06-02 Dave Love <fx@gnu.org>
9306
9307 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9308 (VFORK_RETURN_TYPE): Remove.
9309
9310 * config.in: Add NO_MATHERR.
9311
9312 2000-06-01 Dave Love <fx@gnu.org>
9313
9314 * cmds.c (internal_self_insert): Don't check
9315 Vbefore_change_function, Vafter_change_function.
9316
9317 * insdel.c (signal_before_change, signal_after_change): Likewise.
9318
9319 * buffer.c (Vbefore_change_function, Vafter_change_function):
9320 Variables and their initializations deleted.
9321
9322 * callint.c (Fcall_interactively): Doc fix.
9323
9324 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9325
9326 2000-05-31 Dave Love <fx@gnu.org>
9327
9328 * textprop.c: Revert last change -- duplicated.
9329
9330 2000-05-31 Gerd Moellmann <gerd@gnu.org>
9331
9332 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9333 in #if 0.
9334
9335 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9336
9337 2000-05-31 Jason Rumney <jasonr@gnu.org>
9338
9339 * search.c (Fre_search_forward, Fre_search_backward)
9340 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9341
9342 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9343
9344 2000-05-30 Jason Rumney <jasonr@gnu.org>
9345
9346 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9347 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9348
9349 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
9350
9351 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9352 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9353 expand a nil default_filename.
9354
9355 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9356 pointer to glyph_to_pixel_coords, not a frame.
9357
9358 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9359 coding.h to dependencies.
9360
9361 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9362
9363 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9364 window pointer to be consistent with w32term.c and xterm.c.
9365
9366 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9367 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9368 (Qline_spacing, Qcenter): New variables.
9369 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9370 (x_set_line_spacing): New function.
9371 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
9372 (x_specified_cursor_type): New function.
9373 (x_set_cursor_type): Use it.
9374 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9375 and icon strings.
9376 (validate_x_resource_name, x_get_resource_string): Measure lengths
9377 of external strings in bytes.
9378 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9379 GetTextExtentPoint32 with NULL title.
9380 (Fx_create_frame): Initialize Qline_spacing.
9381 (w32_load_system_font): Initialize font->double_byte_p.
9382 (x_to_w32_charset): Use Vw32_charset_info_alist.
9383 (Image, busy cursor, tooltip functions): Merged changes from
9384 xfns.c. Not yet functional on Windows.
9385
9386 * w32gui.h (W32FontStruct): Add double_byte_p member.
9387
9388 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9389 (emacs_button_translation): Use it.
9390 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9391 in `mask' to be set.
9392
9393 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9394 menu strings.
9395
9396 * w32term.c: Format and doc changes to bring closer to xterm.c.
9397 (w32_char_font_type): New enum.
9398 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9399 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9400 (w32_encode_char): New function.
9401 (x_encode_char): Removed.
9402 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9403 x_encode_char and w32_font_is_double_byte.
9404 (x_produce_image_glyph): Use image_ascent.
9405 (x_produce_glyphs): Use new version of w32_per_char_metric and
9406 handle NULL return value. Allow extra line spacing.
9407 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9408 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9409 w32_font_type member of glyph instead.
9410 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9411 (fast_find_position): Make sure not to consider rows not visible
9412 in the window.
9413 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9414 w32_menu_display_help with input blocked, as it can abort.
9415 (x_display_and_set_cursor): Choose cursor depending
9416 on buffer-local value of cursor_type.
9417 (x_draw_bar_cursor): Add parameter WIDTH.
9418
9419 * w32term.h (CP_DEFAULT): Define.
9420 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9421
9422 2000-05-30 Gerd Moellmann <gerd@gnu.org>
9423
9424 * search.c (Fre_search_forward, Fre_search_backward)
9425 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9426
9427 2000-05-30 Kenichi Handa <handa@etl.go.jp>
9428
9429 * coding.c (detect_coding_iso2022): Fix code for checking
9430 CODING_CATEGORY_MASK_ISO_8_2.
9431
9432 2000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9433
9434 * regex.c (PREFETCH_NOLIMIT): New function.
9435 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9436
9437 2000-05-29 Gerd Moellmann <gerd@gnu.org>
9438
9439 * syntax.c (find_defun_start): Move test for
9440 open_paren_in_column_0_is_defun_start outside of the loop.
9441
9442 * xdisp.c (redisplay_window): Really switch buffers when
9443 displaying mode lines, and temporarily set selected_frame to the
9444 frame of the window that's redisplayed.
9445
9446 * xfaces.c (free_realized_faces): Block/unblock input.
9447 (free_realized_multibyte_face): Ditto.
9448
9449 2000-05-29 Dave Love <fx@gnu.org>
9450
9451 * textprop.c (Qkeymap): New variable.
9452 (syms_of_textprop): Intern it.
9453
9454 * keymap.c: Include intervals.h.
9455 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9456
9457 * Makefile.in (keymap.o): Depend on intervals.h.
9458
9459 * keyboard.c (menu_bar_items, tool_bar_items)
9460 (Fexecute_extended_command): Deal with `keymap' property.
9461 (read_key_sequence): Track map from `keymap' property as well as
9462 `local_map'.
9463
9464 * intervals.c (get_local_map): Extra arg to allow looking for
9465 `keymap' too.
9466
9467 * intervals.h (map_property): New enum.
9468 (get_local_map): Extra arg using it.
9469 (Qkeymap): Declare.
9470
9471 * lisp.h (get_local_map): Don't declare here.
9472
9473 2000-05-29 Kenichi Handa <handa@etl.go.jp>
9474
9475 * Makefile.in (callproc.o): Depend on composite.h.
9476
9477 * callproc.c: Include composite.h.
9478 (Fcall_process): Handle composition correctly.
9479
9480 * coding.h (coding_allocate_composition_data): Extern it.
9481 (coding_restore_composition): Likewise.
9482
9483 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9484 yet allocated, finish decoding with result
9485 CODING_FINISH_INSUFFICIENT_CMP.
9486 (coding_allocate_composition_data): Make it non-static.
9487 (coding_restore_composition): Likewise.
9488
9489 2000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9490
9491 * charset.c (syms_of_charset): Revert last change.
9492
9493 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9494
9495 * term.c (produce_glyphs): Treat characters from the eight-bit-*
9496 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9497 Handa.
9498
9499 2000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9500
9501 * charset.c (syms_of_charset): Set width of character sets
9502 eight-bit-control and eight-bit-graphic to 1 column.
9503
9504 2000-05-26 Gerd Moellmann <gerd@gnu.org>
9505
9506 * config.in (HAVE_SPEED_T): New define.
9507
9508 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9509 `extern speed_t'.
9510
9511 2000-05-26 Dave Love <fx@gnu.org>
9512
9513 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9514
9515 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9516 (Fsubr_arity): New function.
9517 (syms_of_data): Install them.
9518
9519 2000-05-26 Kenichi Handa <handa@etl.go.jp>
9520
9521 * charset.c (init_charset_once): Set the table bytes_by_char_head
9522 correctly.
9523
9524 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9525 the default fontset to what Emacs uses by default.
9526 (check_registry_encoding): This function deleted.
9527 (Fset_fontset_font): Remove the adhoc condition for the default
9528 fontset. Allow cons in FONTNAME.
9529
9530 * fns.c (map_char_table): Ignore char-table entries for
9531 charsets eight-bit-control and eight-bit-graphic.
9532
9533 2000-05-25 Ken Raeburn <raeburn@gnu.org>
9534
9535 * emacs.c (main): Initialize keyboard syms before initializing
9536 window code, so face names are available.
9537
9538 2000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9539
9540 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9541 of an anchor at the beginning of a shy-group.
9542
9543 2000-05-25 Gerd Moellmann <gerd@gnu.org>
9544
9545 * xdisp.c (handle_invisible_prop): Don't try to skip over
9546 invisible text if end of text is already reached.
9547
9548 2000-05-25 Dave Love <fx@gnu.org>
9549
9550 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9551
9552 * coding.c (encode_eol): Add null statement after label.
9553
9554 2000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9555
9556 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9557 2000-05-20.
9558
9559 2000-05-25 Kenichi Handa <handa@etl.go.jp>
9560
9561 * ccl.c (ccl_driver): Fix previous change.
9562
9563 2000-05-25 Kenichi Handa <handa@etl.go.jp>
9564
9565 * coding.c (run_pre_post_conversion_on_str): Set point to the
9566 beginning of buffer before calling coding->post_read_conversion.
9567 (decode_coding_string): Give correct args to
9568 run_pre_post_conversion_on_str.
9569 (encode_coding_string): Likewise.
9570
9571 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9572 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9573 eight-bit-graphic correctly.
9574
9575 2000-05-24 Kenichi HANDA <handa@etl.go.jp>
9576
9577 * fileio.c (Finsert_file_contents): Even if a file is not found,
9578 execute codes for setting up coding system. Call
9579 after-insert-file-functions unconditionally.
9580
9581 2000-05-24 Gerd Moellmann <gerd@gnu.org>
9582
9583 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9584 BSD_PGRPS are not defined.
9585
9586 2000-05-24 Kenichi Handa <handa@etl.go.jp>
9587
9588 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9589 DESCRIPTION.
9590 (syms_of_charset): Avoid building same strings.
9591
9592 2000-05-23 Gerd Moellmann <gerd@gnu.org>
9593
9594 * lread.c (Fload): Add a comment about the meaning of
9595 Vuser_init_file being t.
9596
9597 * puresize.h (BASE_PURESIZE): Increase to 675000.
9598
9599 * s/gnu-linux.h (setpgrp): Don't define it here because this
9600 prevents compilation on GNU/Linux systems with glib 2.2.
9601
9602 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9603 as setpgid.
9604
9605 2000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9606
9607 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9608 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9609 version.
9610 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9611
9612 2000-05-23 Kenichi Handa <handa@etl.go.jp>
9613
9614 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9615
9616 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9617
9618 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
9619
9620 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9621
9622 2000-05-22 Kenichi Handa <handa@etl.go.jp>
9623
9624 * keyboard.c (read_char): Allow character codes 128..255 to be
9625 handled by input-method-function.
9626
9627 * insdel.c (adjust_markers_for_replace): Fix previous change.
9628 (adjust_after_replace): If PREV_TEXT is nil, call
9629 adjust_markers_for_insert, not adjust_markers_for_replace.
9630
9631 2000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
9632
9633 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9634 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9635 [HAVE_GRANDPT]: Define.
9636 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9637
9638 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9639 like SYSV_PTYS.
9640
9641 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9642
9643 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9644
9645 2000-05-20 Kenichi Handa <handa@etl.go.jp>
9646
9647 The following changes are to handle 8-bit characters in a
9648 multibyte buffer/string without facing with byte combining
9649 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9650 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9651
9652 * Makefile.in (fns.o): Depend on charset.h.
9653
9654 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9655 convert it to unibyte.
9656 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9657
9658 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9659 apparent char boundary.
9660 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9661 0x80..0x9F to/from multibyte form.
9662
9663 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9664 to unibyte.
9665
9666 * callproc.c (Fcall_process): Always encode an argument string if
9667 it is multibyte. Setup src_multibyte and dst_multibyte members of
9668 process_coding properly.
9669
9670 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9671 SPLIT_NON_ASCII_CHAR.
9672
9673 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9674 as is.
9675 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9676
9677 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
9678 (SPLIT_CHARACTER_SEQ): This macro deleted.
9679 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
9680 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9681 and eight-bit-graphic.
9682 (char_to_string): Likewise. Signal an error for too large
9683 character code.
9684 (char_printable_p): Return 0 for 8-bit characters.
9685 (update_charset_table): Update iso_charset_table only when a final
9686 character is non-negative.
9687 (find_charset_in_text): Renamed from find_charset_in_str.
9688 Arguments and return value changed. Callers changed.
9689 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9690 be -1 if CHARSET is used only internally.
9691 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9692 eight-bit-graphic.
9693 (Fcharset_after): Simplified.
9694 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9695 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9696 (multibyte_chars_in_text): Simplified by assuming there's no
9697 invalid multibyte sequence.
9698 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9699 (str_as_unibyte): New functions.
9700 (Fstring): Simpified by assuming that byte combining never happens.
9701 (init_charset_once): Initialization for
9702 LEADING_CODE_8_BIT_CONTROL.
9703 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9704 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9705 eight-bit-control and eight-bit-graphic.
9706
9707 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9708 (CHARSET_8_BIT_GRAPHIC): New macros.
9709 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9710 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9711 (CHARSET_REVERSE_CHARSET): Likewise.
9712 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9713 eight-bit-graphic.
9714 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9715 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9716 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9717 encounter an invalid multibyte sequence.
9718 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9719 sequence is always valid.
9720 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
9721 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
9722 (CHAR_STRING): For 8-bit characters, call char_to_string.
9723 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9724 multibyte sequence is always valid.
9725 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
9726 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9727 (str_as_unibyte): Extern them.
9728 (BCOPY_SHORT): Fix a bug.
9729 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
9730 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9731 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9732 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9733
9734 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
9735 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
9736 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9737 (EMIT_BYTES): New macros.
9738 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9739 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
9740 macros deleted.
9741 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9742 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9743 check the validity of multibyte sequence.
9744 (decode_coding_emacs_mule): New function.
9745 (encode_coding_emacs_mule): New macro.
9746 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9747 the source.
9748 (DECODE_ISO_CHARACTER): Just return a character code.
9749 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9750 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9751 EMIT_CHAR to produced decoded characters. Exit the loop only by
9752 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9753 block here.
9754 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9755 only position codes for an invalid character.
9756 (encode_designation_at_bol): Return new destination pointer. 5th
9757 arg DSTP is changed to DST.
9758 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9759 from the source by ONE_MORE_CHAR. Don't handle the case of last
9760 block here.
9761 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9762 macros deleted.
9763 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9764 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
9765 TWO_MORE_BYTES to fetch a byte from the source.
9766 (encode_eol): Pay attention to coding->src_multibyte.
9767 (detect_coding, detect_eol): Preserve members src_multibyte and
9768 dst_multibyte.
9769 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9770 (encoding_buffer_size): Set magnification to 3 for all coding
9771 systems that require encoding.
9772 (ccl_coding_driver): For decoding, be sure that the result is
9773 valid multibyte sequence.
9774 (decode_coding): Initialize coding->errors and coding->result.
9775 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9776 and raw-text, always call decode_eol. Handle the case of last
9777 block here. If not coding->dst_multibyte, convert the resulting
9778 sequence to unibyte.
9779 (encode_coding): Initialize coding->errors and coding->result.
9780 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9781 and raw-text, always call encode_eol. Handle the case of last
9782 block here.
9783 (shrink_decoding_region, shrink_encoding_region): Detect cases
9784 that we can't skip data more rigidly.
9785 (code_convert_region): Setup src_multibyte and dst_multibyte
9786 members of coding. For decoding, if the buffer is multibyte,
9787 convert the source sequence to unibyte in advance. For encoding,
9788 if the buffer is multibyte, convert the resulting sequence to
9789 multibyte afterward.
9790 (run_pre_post_conversion_on_str): New function.
9791 (code_convert_string): Deleted and divided into the following two.
9792 (decode_coding_string, encode_coding_string): New functions.
9793 (code_convert_string1, code_convert_string_norecord): Call one of
9794 above.
9795 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9796 MAKE_NON_ASCII_CHAR.
9797 (Fset_terminal_coding_system_internal)
9798 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
9799 and dst_multibyte members.
9800 (init_coding_once): Initialize iso_code_class with new enum
9801 ISO_control_0 and ISO_control_1.
9802
9803 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9804 devided into ISO_control_0 and ISO_control_1.
9805 (struct coding_system): New members src_multibyte, dst_multibyte,
9806 errors, and result. Delete member fake_multibyte.
9807 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9808 nonzero.
9809 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9810 nonzero.
9811
9812 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9813 (Faset): Likewise.
9814
9815 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9816 multibyte form.
9817 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9818 combining occurs.
9819 (Ftranspose_region): Delete codes for handling byte combining.
9820
9821 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9822 dst_multibyte members of coding. On handling REPLACE on unibyte
9823 buffer, convert the result of decode_coding to unibyte. On
9824 inserting into a mutibyte buffer, always call code_convert_region.
9825 (e_write): Setup coding->src_multibyte according to the
9826 multibyteness of the source (buffer or string).
9827
9828 * fns.c (concat): Handle 8-bit characters correctly.
9829 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9830 unibyte in the result.
9831 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9832 valid multibyte form in the result.
9833 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9834 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9835 return -1, signal an error.
9836 (base64_encode_1): New arg MULTIBYTE. Get each character by
9837 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9838 character is found, return -1.
9839 (Fbase64_decode_region): Delete codes for handling byte-combining.
9840 Treat each decoded byte as a unibyte character.
9841 (Fbase64_decode_string): Return unibyte string.
9842 (Fcompare_strings, concat, string_byte_to_char): Use
9843 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9844 FETCH_STRING_CHAR_ADVANCE.
9845 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9846 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9847
9848 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9849 SPLIT_NON_ASCII_CHAR.
9850 (fontset_ref_via_base, fontset_set): Likewise
9851
9852 * insdel.c (adjust_markers_for_record_delete): Deleted.
9853 (adjust_markers_for_insert): Argument changed. Caller changed.
9854 (adjust_markers_for_replace): Likewise.
9855 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9856 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
9857 (copy_text): Delete unused local varialbe c_save. For converting
9858 to multibyte, be sure to make all 8-bit characters in valid
9859 multibyte form.
9860 (count_size_as_multibyte): Handle 8-bit characters correctly.
9861 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9862 (adjust_after_replace, replace_range, del_range_2)
9863 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
9864 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9865 (adjust_after_replace, replace_range, del_range_2) Delete codes for
9866 handling byte combining.
9867 (adjust_before_replace): Deleted.
9868
9869 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9870 SPLIT_NON_ASCII_CHAR.
9871 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9872 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9873 (Fkey_description): Likewise.
9874
9875 * lread.c (read1): On reading multibyte string, be sure to make
9876 all 8-bit chararacters in valid multibyte form.
9877 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9878
9879 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9880 unconditionally.
9881
9882 * process.c (Fstart_process): GCPRO current_dir before calling
9883 Ffind_operation_coding_system. Encode arguments here.
9884 (create_process): Don't encode arguments here. Setup
9885 src_multibyte and dst_multibyte members of struct coding.
9886 (read_process_output): Setup src_multibyte and dst_multibyte
9887 members of struct coding. If the output is to multibyte buffer,
9888 always decode the output of the process. Adjust the
9889 representation of 8-bit characters to the multibyteness of the output.
9890 (send_process): Setup coding->src_multibyte according to the
9891 multibyteness of the source.
9892
9893 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9894 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9895 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9896
9897 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
9898
9899 * w16select.c (Fw16_set_clipboard_data): Setup members
9900 src_multibyte and dst_multibyte of coding. Adjusted for the
9901 change for find_charset_in_str.
9902 (Fw16_get_clipboard_data): Likewise.
9903
9904 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9905 dst_multibyte of coding.
9906 (x_to_w32_font): Likewise.
9907
9908 * w32select.c (Fw32_set_clipboard_data): Setup members
9909 src_multibyte and dst_multibyte of coding. Adjusted for the
9910 change for find_charset_in_str.
9911 (Fw32_get_clipboard_data): Likewise.
9912
9913 * xdisp.c (get_next_display_element): Handle 8-bit characters
9914 correctly.
9915 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9916 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9917
9918 * xselect.c (selection_data_to_lisp_data): Setup members
9919 src_multibyte and dst_multibyte of coding. Adjusted for the
9920 change for find_charset_in_str.
9921 (lisp_data_to_selection_data): Likewise.
9922
9923 2000-05-19 Gerd Moellmann <gerd@gnu.org>
9924
9925 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
9926
9927 * dispextern.h (Vimage_types): Add extern declaration.
9928
9929 * xdisp.c (Vimage_types): Moved here from xfns.c.
9930 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9931
9932 * xfns.c (Vimages_types): Moved to xdisp.c.
9933 (syms_of_xfns): Move `image-types' to xdisp.c.
9934
9935 * w32fns.c (Vimage_types): Removed.
9936 (syms_of_w32fns): Remove `image-types'.
9937
9938 2000-05-18 Kenichi Handa <handa@etl.go.jp>
9939
9940 * fns.c (map_char_table): Pay attention to character number of
9941 charset. Check the validity of charset at the first level. For
9942 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9943 the default value.
9944
9945 * fontset.c: Include "buffer.h".
9946 (fs_load_font): If the face has fontset, record the face ID in
9947 that fontset.
9948 (Finternal_char_font): New function.
9949 (accumulate_font_info): New function.
9950 (Ffontset_info): Rewritten for the new fontset implementation.
9951 (syms_of_fontset): Register Vdefault_fontset in the first element
9952 of Vfontset_table. Include Vdefault_fontset in
9953 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9954 function.
9955
9956 2000-05-16 Dave Love <fx@gnu.org>
9957
9958 * m/iris5d.h: Deleted -- unused.
9959
9960 2000-05-16 Gerd Moellmann <gerd@gnu.org>
9961
9962 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9963 `invalid' instead of `illegal'.
9964
9965 * indent.c (Fmove_to_column): When ending within a tab, insert
9966 spaces first so that markers at the end of the tab get adjusted.
9967
9968 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9969 buffer list that wasn't selected in that frame.
9970
9971 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9972 is needed on mescaline, use a 2 char prefix, and call
9973 make_temp_name with second arg non-zero.
9974
9975 * fileio.c (make_temp_name): New function, extracted from
9976 Fmake_temp_name.
9977 (Fmake_temp_name): Use it.
9978
9979 2000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9980
9981 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
9982
9983 2000-05-15 Gerd Moellmann <gerd@gnu.org>
9984
9985 * Makefile.in (lisp): Add env.elc.
9986
9987 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9988
9989 2000-05-12 Gerd Moellmann <gerd@gnu.org>
9990
9991 * search.c (Freplace_match): Handle case of `\N' in the
9992 replacement when there's no group N.
9993
9994 2000-05-11 Gerd Moellmann <gerd@gnu.org>
9995
9996 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9997 of the message to message_dolog.
9998
9999 * keyboard.c (read_char): Don't clear current message for help
10000 events; let the code handling help events handle this. Change
10001 code detecting help events that should be ignored.
10002
10003 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10004 we're interating over a string.
10005
10006 2000-05-09 Dave Love <fx@gnu.org>
10007
10008 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10009 that offset before writing. Move gcpro region past call of
10010 Ffile_regular_p.
10011
10012 2000-05-04 Dave Love <fx@gnu.org>
10013
10014 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10015
10016 2000-05-04 Gerd Moellmann <gerd@gnu.org>
10017
10018 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10019 of inserted characters when BUF equals the current buffer, and PT
10020 is in front of or equal to FROM.
10021
10022 2000-05-03 Gerd Moellmann <gerd@gnu.org>
10023
10024 * xdisp.c (handle_single_display_prop): If display property value
10025 is invalid, or something not supported on the frame, restore
10026 iterator's position to what it was initially. Make sure to return
10027 0 for invalid and unsupported property values.
10028
10029 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10030 that x_per_char_metric returns null.
10031
10032 2000-05-02 Gerd Moellmann <gerd@gnu.org>
10033
10034 * xterm.h (struct face): Add forward declaration.
10035 (struct image): Ditto.
10036 (image_ascent): Add prototype.
10037
10038 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10039 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10040 image_ascent instead of using IMAGE_ASCENT.
10041
10042 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10043 (IMAGE_ASCENT): Removed.
10044
10045 * xfns.c (Qcenter): New variable.
10046 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10047 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10048 (image_ascent): New function.
10049 (lookup_image): Recognize `:ascent center'.
10050 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10051 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10052 (xbm_load): Don't set image's ascent here.
10053 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10054 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10055 check ascent values here.
10056 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10057 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10058 (syms_of_xfns): Initialize Qcenter.
10059
10060 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10061 to the limits, increase the limits.
10062
10063 2000-05-01 Kenichi Handa <handa@etl.go.jp>
10064
10065 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
10066 Check Vfont_encoding_alist against the full name of the opened font.
10067
10068 2000-04-28 Gerd Moellmann <gerd@gnu.org>
10069
10070 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10071 taller than the window.
10072
10073 2000-04-28 Kenichi Handa <handa@etl.go.jp>
10074
10075 * xfaces.c (realize_x_face): Fix the argument of the second
10076 xassert. BASE_FACE may not be a face for ASCII.
10077
10078 2000-04-27 Gerd Moellmann <gerd@gnu.org>
10079
10080 * print.c (print_object): Treat print-length < 0 as nil.
10081
10082 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10083
10084 * s/freebsd.h (TERMCAP_OBJ): Removed.
10085 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10086
10087 * lread.c (read1): Don't treat period followed by certain
10088 characters as symbol start.
10089
10090 * xfns.c (slurp_file): New function.
10091 (xbm_image_p): Handle case of in-memory XBM files.
10092 (xbm_scan): Rewritten to work on memory buffers instead of files.
10093 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10094 Work on memory buffers instead of files. If DATA is null test
10095 if buffer looks like an in-memory XBM file.
10096 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10097 memory buffers instead of files.
10098 (xbm_file_p): New function.
10099 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10100
10101 * lread.c (end_of_file_error): New function.
10102 (read1): Call it instead of signaling `end-of-file' directly.
10103
10104 * print.c (print_error_message): Print data of `end-of-file'
10105 with Fprinc instead of Fprin1.
10106
10107 2000-04-26 Ken Raeburn <raeburn@gnu.org>
10108
10109 * window.c (freeze_window_start): Check that minibuffer scroll
10110 window isn't nil before extracting the window structure pointer
10111 from it.
10112
10113 * undo.c (record_delete): If we hit the end of the undo list, stop
10114 picking elements apart.
10115
10116 2000-04-26 Gerd Moellmann <gerd@gnu.org>
10117
10118 * xdisp.c (display_line): If lines are continued, restore
10119 iterator's ascent/descent information to the values before the
10120 first glyph not fitting on the line.
10121
10122 2000-04-25 Gerd Moellmann <gerd@gnu.org>
10123
10124 * xdisp.c (try_window_id) <all changes above window start>: Adjust
10125 positions in glyph matrix. Don't compute new window end positions.
10126
10127 * dispnew.c (increment_matrix_positions): Renamed from
10128 increment_glyph_matrix_buffer_positions.
10129 (increment_row_positions): Renamed from
10130 increment_glyph_row_buffer_positions.
10131
10132 * dispextern.h: Change names of renamed functions from dispnew.c
10133 in prototypes.
10134
10135 2000-04-24 Gerd Moellmann <gerd@gnu.org>
10136
10137 * fileio.c (Fdo_auto_save): Create directories for auto-save
10138 list file if necessary.
10139
10140 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10141 from buffer or frame.
10142 (automatic_hscrolling_p): New variable.
10143 (hscroll_windows): Scroll windows horizontally only if automatic
10144 hscrolling is allowed.
10145 (syms_of_xdisp): New variable `automatic-hscrolling'.
10146
10147 * frame.h (struct frame): Add member extra_line_spacing.
10148
10149 * xfns.c (x_set_line_spacing): New function.
10150 (Fx_create_frame): Set line spacing from resources.
10151 (Qline_spacing): New variable.
10152 (syms_of_xfns): Initialize Qline_spacing.
10153
10154 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10155
10156 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10157 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
10158 (reset_buffer): Don't initialize extra2 and extra3. Initialize
10159 extra_line_spacing from default value.
10160 (init_buffer_once): Initialize default value of extra_line_spacing.
10161
10162 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10163 and extra3.
10164
10165 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10166 prompt_width. Add extra line spacing.
10167
10168 * term.c (produce_glyphs): Remove reference to struct it's
10169 prompt_width.
10170
10171 * dispextern.h (struct it): Remove member prompt_width, add
10172 extra_line_spacing.
10173
10174 2000-04-22 Gerd Moellmann <gerd@gnu.org>
10175
10176 * dispnew.c (update_frame_line): When writing a whole line, make
10177 sure cursor is in the right row afterwards, otherwise a use of
10178 capability `ch' in cmgoto might leave the cursor in the row below.
10179
10180 2000-04-21 Gerd Moellmann <gerd@gnu.org>
10181
10182 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10183
10184 * keyboard.c (timer_check): Fix typo in comment.
10185
10186 2000-04-21 Kenichi Handa <handa@etl.go.jp>
10187
10188 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10189 name change: ch -> character.
10190
10191 2000-04-20 Gerd Moellmann <gerd@gnu.org>
10192
10193 * keyboard.c (echo_message_buffer): New variable.
10194 (echo_now): Set echo_message_buffer to the echo area buffer used
10195 to display the echo.
10196 (cancel_echoing): Reset echo_message_buffer to nil.
10197 (read_char): Code rewritten that handles canceling an echo or
10198 echoing a dash, respectively.
10199
10200 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10201 directory doesn't exist.
10202
10203 2000-04-19 Dave Love <fx@gnu.org>
10204
10205 * fns.c (syms_of_fns): Defsubr mapc.
10206 (concat): Don't allow numeric args.
10207 (Fconcat): Doc change.
10208
10209 2000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10210
10211 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10212 instead define end_match(1|2) more carefully.
10213 Use GET_CHAR_BEFORE_2 for `begline'.
10214
10215 2000-04-19 Gerd Moellmann <gerd@gnu.org>
10216
10217 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10218 on 64-bit systems where NULL is defined as `0'.
10219
10220 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10221 the `variable argument list' to make it work on Alpha.
10222
10223 * m/alpha.h (_LP64) [!_LP64]: Define.
10224 (ORDINARY_LINK): Define for NetBSD.
10225
10226 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
10227
10228 2000-04-19 Dave Love <fx@gnu.org>
10229
10230 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10231 change.
10232
10233 * Makefile.in (LIBS): Don't use.
10234 (GETLOADAVG_OBJ): Define again.
10235 (otherobj): Add GETLOADAVG_OBJ.
10236
10237 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10238
10239 2000-04-18 Gerd Moellmann <gerd@gnu.org>
10240
10241 * lread.c (read_filtered_event): Cancel and start busy cursor.
10242
10243 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
10244 that the per-character metrics may be null.
10245
10246 2000-04-17 Gerd Moellmann <gerd@gnu.org>
10247
10248 * buffer.c (clone_per_buffer_values): New function.
10249 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10250 clone_per_buffer_values if CLONE is not nil.
10251
10252 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10253
10254 2000-04-16 Dave Love <fx@gnu.org>
10255
10256 * Makefile.in: Remove obsolete localcpp stuff.
10257 (GETLOADAVG_OBJ): Don't define.
10258 (obj): Move LIBOBJS...
10259 (otherobj): ... to here.
10260 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10261 whitespace-only lines after the continuation (Irix).
10262
10263 2000-04-14 Gerd Moellmann <gerd@gnu.org>
10264
10265 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10266
10267 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10268
10269 2000-04-14 Dave Love <fx@gnu.org>
10270
10271 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10272 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10273 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10274 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10275 NLIST_STRUCT.
10276
10277 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10278 autoconfiscated HAVE_GETLOADAVG.
10279
10280 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10281 BROKEN_MKTIME.
10282
10283 2000-04-14 Gerd Moellmann <gerd@gnu.org>
10284
10285 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
10286 (fill_in_lock_file_name): Avoid existing files that aren't links.
10287
10288 2000-04-14 Dave Love <fx@gnu.org>
10289
10290 * Makefile.in (LIBS, LIBOBJS): New variable.
10291 (INTERVAL_SRC): Convert to make variable.
10292 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10293 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10294 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10295 add LIBOBJS.
10296 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10297 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10298 (shortlisp): Add facemenu, float-sup, frame.
10299 (SOME_MACHINE_LISP): Remove them from here.
10300 (LIBES): Change unused LDLIBS to autoconf LIBS.
10301
10302 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10303
10304 2000-04-14 Kenichi Handa <handa@etl.go.jp>
10305
10306 * composite.c (update_compositions): If FROM and TO are not in a
10307 valid range, do nothing.
10308
10309 2000-04-13 Gerd Moellmann <gerd@gnu.org>
10310
10311 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
10312
10313 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
10314
10315 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10316 as TERMCAP_OBJ.
10317
10318 2000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10319
10320 * fileio.c (a_write): Remove redundant semi-colons.
10321 (e_write): Return -1 if failed to write all the data.
10322 This fixes the changes made at 1999-12-15.
10323
10324 2000-04-12 Dave Love <fx@gnu.org>
10325
10326 * fns.c (mapcar1): Test for null vals to support mapc.
10327 (Fmapc): New function.
10328
10329 2000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10330
10331 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10332 (IT_frame_up_to_date): Support the buffer local value of
10333 cursor-type, if defined.
10334
10335 2000-04-10 Dave Love <fx@gnu.org>
10336
10337 * editfns.c (preceding-char, following-char): Doc fix.
10338
10339 2000-04-10 Ken Raeburn <raeburn@gnu.org>
10340
10341 * Makefile.in (temacs): Revert 2000-03-12 change.
10342
10343 2000-04-10 Jason Rumney <jasonr@gnu.org>
10344
10345 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10346
10347 2000-04-10 Gerd Moellmann <gerd@gnu.org>
10348
10349 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10350 area buffer, if it's not set up yet.
10351
10352 * indent.c (compute_motion): Set immediate_quit.
10353
10354 2000-04-09 Gerd Moellmann <gerd@gnu.org>
10355
10356 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
10357 (realize_tty_face): Suppress boldness if colors are the inverse of
10358 the default colors, and tty_suppress_bold_inverse_default_colors_p
10359 is set.
10360 (Ftty_suppress_bold_inverse_default_colors): New function.
10361 (syms_of_xfaces): Defsubr it.
10362
10363 * buffer.c (Frestore_buffer_modified_p): New function.
10364 (syms_of_buffer): Defsubr it.
10365
10366 2000-04-08 Ken Raeburn <raeburn@gnu.org>
10367
10368 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10369 charset id (int) argument, not a charset (Lisp_Object).
10370
10371 * coding.h (code_convert_string): Declare.
10372 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10373 object, as the fourth argument to code_convert_string.
10374
10375 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
10376 (Fset_fontset_font): Use EQ to compare lisp objects.
10377
10378 2000-04-05 Ken Raeburn <raeburn@gnu.org>
10379
10380 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10381 a pointer that looks like a lisp object.
10382 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10383 zero, instead see whether it's an integer object, since they can't
10384 have intervals.
10385 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10386
10387 * dispnew.c (allocate_matrices_for_frame_redisplay)
10388 (direct_output_forward_char): Use X(U)INT and make_number as needed
10389 to convert between (unsigned) int values and lisp integers.
10390 * keyboard.c (read_key_sequence): Likewise.
10391 * lread.c (substitute_object_recurse): Likewise.
10392 * fns.c (concat, hash_lookup, hash_remove): Likewise.
10393 * minibuf.c (do_completion, Fminibuffer_complete_word)
10394 (Fminibuffer_completion_help): Likewise.
10395 * term.c (produce_special_glyphs): Likewise.
10396
10397 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10398 * print.c (print_preprocess, print_object): Likewise.
10399
10400 * search.c (compile_pattern): Use NILP when checking for nil.
10401
10402 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10403 __OPTIMIZE__]: Provide a GNU C macro version that handles
10404 lisp-object unions.
10405 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10406 field, to better cope with ENABLE_CHECKING and calls that modify a
10407 Lisp_Object using its old value.
10408
10409 2000-04-04 Gerd Moellmann <gerd@gnu.org>
10410
10411 * window.c (compare_window_configurations): Signal an error
10412 if parameters C1 or C2 aren't window configurations.
10413
10414 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10415 AFTER_POTENTIAL_GC calls around calls to functions that can
10416 signal an error and thus invoke the debugger.
10417
10418 2000-04-03 Gerd Moellmann <gerd@gnu.org>
10419
10420 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10421 an error if decoding fails.
10422
10423 * keyboard.c (lispy_mouse_names): Variable removed.
10424 (Vlispy_mouse_stem): New variable.
10425 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10426 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10427 for any mouse button number. Increase size of mouse_syms and
10428 button_down_location as needed. Call modify_event_symbol with
10429 different arguments.
10430 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10431 Call modify_event_symbol with different arguments.
10432 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10433 for any button number. Call modify_event_symbol with different
10434 arguments.
10435 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10436 Accept a string for NAME_ALIST_OR_STEM.
10437
10438 * lisp.h (larger_vector): Add prototype.
10439
10440 * fns.c (larger_vector): Make externally visible.
10441
10442 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10443
10444 2000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10445
10446 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10447 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10448 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10449 we are between str1 and str2.
10450 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10451 (PATFETCH): Use `TRANSLATE'.
10452 (PATFETCH_RAW): Fetch multibyte char if applicable.
10453 (PATUNFETCH): Remove.
10454 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10455 When writing a char, write it directly into the pattern buffer rather
10456 than going needlessly through a temp char-array.
10457 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10458 multibyte magic and remove the useless `#ifdef emacs'.
10459 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10460 buffer.
10461
10462 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10463 conditional on `emacs'.
10464
10465 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10466
10467 2000-04-01 Ken Raeburn <raeburn@gnu.org>
10468
10469 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10470 non-union-type versions of XMARK and friends here, because XMARK
10471 and friends won't work on an integer field if NO_UNION_TYPE is not
10472 defined.
10473 (make_number): Define as a function if it's not defined as a macro.
10474
10475 * composite.c (run_composite_function): Use NILP when checking for nil.
10476 (syms_of_composite): Delete local var NARGS, pass an int as first
10477 argument to Fmake_hash_table.
10478
10479 * editfns.c (text_property_stickiness): Use NILP to test
10480 Lisp_Object boolean value.
10481 (Fmessage_or_box): Don't use NILP to test int variable.
10482 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10483 problems reading from and changing the same lisp value in an
10484 XSETSTRING call.
10485
10486 2000-04-01 Gerd Moellmann <gerd@gnu.org>
10487
10488 * term.c (TN_no_color_video): New variable.
10489 (term_init): Intitialize TN_no_color_video.
10490 (enum no_color_bit): New enumeration.
10491 (MAY_USE_WITH_COLORS_P): New macro.
10492 (turn_on_face): Use it to determine if attributes may be used
10493 combined with colors.
10494
10495 2000-04-01 Ken Raeburn <raeburn@gnu.org>
10496
10497 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
10498 with int lvalues via casts; instead, just yield lisp object lvalues.
10499 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10500 proper accessor macros.
10501 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10502 (grow_mini_window): Fix typo getting int value of root->height.
10503
10504 * xdisp.c (compute_string_pos): Fix order of arguments to
10505 string_pos_nchars_ahead.
10506 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10507 count arg to variable-arg routines like Frun_hook_with_args and
10508 Fformat.
10509 (back_to_previous_visible_line_start)
10510 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
10511 fixed-arg routines like Fget_char_property and Fmake_string.
10512 (reconsider_clip_changes): Use XINT when comparing integer lisp
10513 objects, or passing them as int arguments.
10514 (mark_window_display_accurate, insert_left_trunc_glyphs)
10515 (append_space, extend_face_to_end_of_line): Use make_number when
10516 storing or passing integer values as lisp objects.
10517 (set_cursor_from_row, highlight_trailing_whitespace): Use
10518 INTEGERP, not implicit test against zero, for glyph object.
10519 (try_window_id): Don't use make_number when we want an int value.
10520
10521 * xfaces.c (xlfd_symbolic_value): Make last argument a
10522 Lisp_Object, to be consistent with callers.
10523 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10524 (lface_hash): Apply XFASTINT to lisp values before folding in.
10525
10526 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10527 fill in window width and height. Pass an int, not a lisp object,
10528 as first arg to Finsert.
10529
10530 2000-04-01 Gerd Moellmann <gerd@gnu.org>
10531
10532 * xfaces.c (realize_basic_faces): Block input while realizing
10533 the faces.
10534
10535 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10536
10537 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10538
10539 2000-03-31 Gerd Moellmann <gerd@gnu.org>
10540
10541 * xterm.c (x_produce_glyphs): When displaying unibyte text
10542 or ASCII, handle case that per-char metric is null.
10543
10544 2000-03-30 Ken Raeburn <raeburn@gnu.org>
10545
10546 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10547
10548 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10549 (XSUBR, XBUFFER): Verify correct object type before returning
10550 pointer, using eassert.
10551 * frame.h (XFRAME): Likewise.
10552
10553 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10554 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10555 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
10556 * data.c (set_internal): Likewise.
10557 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10558 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
10559 * fileio.c (auto_save_1): Likewise.
10560 * insdel.c (check_markers): Likewise.
10561 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10562 * undo.c (record_insert): Likewise.
10563 * vmsproc.c (child_sig): Likewise.
10564 * window.c (unshow_buffer, window_loop): Likewise.
10565 * xterm.c (x_erase_phys_cursor): Likewise.
10566
10567 2000-03-30 Gerd Moellmann <gerd@gnu.org>
10568
10569 * xfns.c (free_image_cache): Free the cache structure itself
10570 last, after all its members have been freed.
10571
10572 * lisp.h (xstrdup): Add prototype.
10573
10574 * alloc.c (xstrdup): Moved here from xfaces.c.
10575 (allocating_for_lisp): Variable removed.
10576 (lisp_malloc): Block input around the calls to malloc and mem_insert.
10577
10578 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10579 of Fsymbol_value.
10580 (xstrdup): Moved to alloc.c.
10581
10582 2000-03-29 Ken Raeburn <raeburn@gnu.org>
10583
10584 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10585
10586 * emacs.c (main): Fix sense of no-loadup test.
10587
10588 * config.in (ENABLE_CHECKING): Undef.
10589
10590 * lisp.h (struct interval): Replace "parent" field with a union of
10591 interval pointer and Lisp_Object; add new bitfield to use as
10592 discriminant. Change other flag fields to bitfields.
10593 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
10594 is defined and the supplied test fails, print a message and abort.
10595 (eassert): New macro. Use CHECK to provide an assert-like facility.
10596
10597 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10598 pointers; abort if the value looks like a lisp object.
10599 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10600 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
10601 Modify for new interval parent definition.
10602
10603 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10604 (UNMARK_BALANCE_INTERVALS): Update references that need an
10605 addressable lisp object in the interval structure.
10606 (die): New function.
10607 (suppress_checking): New variable.
10608
10609 * intervals.c (interval_start_pos): Just return 0 if there's no
10610 parent object.
10611
10612 2000-03-29 Gerd Moellmann <gerd@gnu.org>
10613
10614 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10615 and earlier Emacs versions.
10616
10617 * keyboard.c (Ftop_level): Cancel busy-cursor.
10618
10619 * eval.c (call_debugger): Cancel busy-cursor.
10620
10621 2000-03-29 Kenichi Handa <handa@etl.go.jp>
10622
10623 * search.c (Freplace_match): Adjust multibyteness of the current
10624 buffer and NEWTEXT. Free allocated memory before signaling an error.
10625
10626 2000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10627
10628 * regex.c (analyse_first): New function obtained by ripping out most
10629 of re_compile_fastmap and generalizing it a little bit so that it
10630 can also just return whether a given (sub)pattern can match the empty
10631 string or not.
10632 (regex_compile): Use `analyse_first' to decide whether the loop-check
10633 needs to be done or not for *, +, *? and +? (the loop check is costly
10634 for non-greedy repetition).
10635 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10636
10637 2000-03-28 Dave Love <fx@gnu.org>
10638
10639 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
10640
10641 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10642
10643 2000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10644
10645 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10646 an expression.
10647 (enum re_opcode_t): Update description of succeed_n.
10648 (PATFETCH): Always define.
10649 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10650 operators, char classes, shy-groups and intervals).
10651 Optimize special cases of intervals so as to only use succeed_n and
10652 jump_n when really needed.
10653 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10654 that we don't have to handle the special cases any more.
10655 Simplify on_failure_jump handling as well.
10656
10657 2000-03-28 Jason Rumney <jasonr@gnu.org>
10658
10659 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10660
10661 2000-03-27 Gerd Moellmann <gerd@gnu.org>
10662
10663 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10664
10665 * s/msdos.h (GC_SETJMP_WORKS): Define.
10666
10667 * alloc.c (mark_maybe_object): New function.
10668 (mark_memory): Use it.
10669 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10670 (setjmp_tested_p, longjmp_done): New variables.
10671 (test_setjmp): New function.
10672 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10673 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10674
10675 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10676 to DEC_TEXT_POS and INC_TEXT_POS.
10677
10678 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10679 with parameter MULTIBYTE_P.
10680
10681 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
10682
10683 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
10684 buffers because it looks for multibyte character byte sequences
10685 which don't exist in unibyte text.
10686
10687 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10688
10689 * xfaces.c (register_color, unregister_color, unregister_colors)
10690 [DEBUG_X_COLORS]: New functions.
10691 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10692
10693 * xfns.c (x_set_cursor_color): Get color reference counts right.
10694
10695 * xterm.c (x_copy_color): New function.
10696 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10697
10698 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10699 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10700 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10701 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10702 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10703 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10704 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10705 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10706 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10707 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10708
10709 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10710 names for handling per-buffer variables.
10711
10712 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10713 instead of MAX_BUFFER_LOCAL_VARS.
10714 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10715
10716 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10717
10718 * xfns.c (x_specified_cursor_type): New function.
10719 (x_set_cursor_type): Use it.
10720
10721 * buffer.h (struct buffer): Add cursor_type.
10722
10723 2000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10724
10725 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
10726 (print_partial_compiled_pattern, re_compile_fastmap):
10727 Handle new opcode.
10728 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10729 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10730 executing it as well as when popping it off the stack to find infinite
10731 loops in non-greedy repetition operators.
10732
10733 2000-03-26 Gerd Moellmann <gerd@gnu.org>
10734
10735 * doc.c (Qfunction_documentation): New variable.
10736 (syms_of_doc): Initialize Qfunction_documentation.
10737 (Fdocumentation): If FUNCTION is a symbol with non-nil
10738 `function-documentation' property, return a documentation derived
10739 from that.
10740
10741 * buffer.c (syms_of_buffer): Add default-cursor-type.
10742 (init_buffer_once): Don't let cursor_type have a local value
10743 in every buffer.
10744
10745 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10746 on buffer-local value of cursor_type.
10747 (x_draw_bar_cursor): Add parameter WIDTH.
10748
10749 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10750 (init_buffer_once): Set default cursor_type value to t.
10751 Mark cursor_type as local everywhere.
10752 (syms_of_buffer): New per-buffer variable cursor-type.
10753
10754 * buffer.h (struct buffer): Remove member local_var_flags,
10755 add local_flags.
10756 (MAX_BUFFER_LOCAL_VARS): New macro.
10757 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10758 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10759 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10760 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10761
10762 * print.c (print_object): Use new macros for per-buffer variables.
10763
10764 * category.c (Fset_category_table): Use new macros for per-buffer
10765 variables.
10766
10767 * buffer.c (buffer_permanent_local_flags): Make a char array.
10768 (max_buffer_local_idx): New variable.
10769 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10770 for new handling of per-buffer variables.
10771 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10772 (init_buffer_once): Initialize per-buffer vars differently.
10773 Set max_buffer_local_idx.
10774
10775 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10776 variables.
10777
10778 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
10779
10780 * data.c (do_symval_forwarding, store_symval_forwarding)
10781 (find_symbol_value, set_internal, default_value, Fset_default)
10782 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10783 per-buffer variables.
10784
10785 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10786
10787 2000-03-24 Gerd Moellmann <gerd@gnu.org>
10788
10789 * xterm.c (x_term_init): Unblock input around call1 of
10790 Qvendor_specific_keysyms.
10791
10792 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10793 (find_defun_start): Consider an open parenthesis in column 0
10794 a defun start only if open_paren_in_column_0_is_defun_start is set.
10795 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10796
10797 2000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10798
10799 * eval.c (Fautoload): Add entry in load-history (if after dump).
10800 * lread.c (load-history): Update docstring.
10801
10802 2000-03-24 Gerd Moellmann <gerd@gnu.org>
10803
10804 * indent.c (Fvertical_motion): Always use the current buffer.
10805 Temporarily change the window's buffer, if necessary.
10806
10807 2000-03-23 Gerd Moellmann <gerd@gnu.org>
10808
10809 * xterm.c (fast_find_position): Make sure not to consider rows
10810 not visible in the window.
10811
10812 2000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10813
10814 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10815 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10816
10817 2000-03-22 Jason Rumney <jasonr@gnu.org>
10818
10819 * w32menu.c (single_submenu): Set help string to NULL if none.
10820 (w32_menu_show): Set help string correctly.
10821 (add-menu-item): Set help string in MIIM_DATA for menu item.
10822 Load SetMenuItemInfoA explicitly.
10823 (w32_menu_display_help): New function.
10824
10825 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10826 (QCdata): Moved to xdisp.c.
10827
10828 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10829 (Vw32_charset_to_codepage_alist): Removed.
10830 (Vw32_charset_info_alist): New variable.
10831 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10832 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10833 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
10834 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10835 with TODO comment.
10836 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10837 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10838 Define Vw32_charset_info_alist and w32_charset symbols.
10839
10840 2000-03-22 Jason Rumney <jasonr@gnu.org>
10841
10842 * makefile.nt (w32bdf.obj): Update dependencies.
10843
10844 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10845
10846 * w32fns.c: Include fontset.h after dispextern.h.
10847 (Fx_create_frame): Do not create fontset.
10848 (w32_load_system_font): Doc fix.
10849 (Fx_close_connection): Free full_name if it is not shared.
10850
10851 * w32term.c: Include fontset.h after dispextern.h.
10852 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10853 Callers updated.
10854 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10855 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10856 (w32_font_is_double_byte): New function, needs body.
10857 (x_append_glyph): Set glyph->glyph_not_available_p.
10858 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10859 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10860 character, convert it to a unibyte character.
10861 (struct glyph_string): Delete member `charset'.
10862 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10863 calculating it is found.
10864 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10865 the case that per char metric is not available correctly.
10866 (x_fill_glyph_string): Handle the case that the specific glyph is
10867 not available correctly.
10868 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10869 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10870 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10871 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10872 fontset. Don't call FS_LOAD_FONT.
10873
10874 2000-03-22 Ken Raeburn <raeburn@gnu.org>
10875
10876 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10877 (INT_LISPLIKE): New macro.
10878 (NULL_INTERVAL_P): Use it.
10879 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10880 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10881 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
10882
10883 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10884 explicit references to "parent" field of struct interval and
10885 associated unclean type conversions.
10886 * intervals.c (create_root_interval, root_interval, rotate_right)
10887 (rotate_left, balance_possible_root_interval, split_interval_right)
10888 (split_interval_left, interval_start_pos, find_interval)
10889 (next_interval, previous_interval, update_interval)
10890 (adjust_intervals_for_insertion, delete_node, delete_interval)
10891 (adjust_intervals_for_deletion, merge_interval_right)
10892 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10893 (copy_intervals_to_string): Likewise.
10894 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10895 Likewise.
10896 * syntax.c (update_syntax_table): Likewise.
10897
10898 * intervals.c (reproduce_tree_obj): New function, like
10899 reproduce_tree but takes a Lisp_Object for the parent. Declare
10900 with prototype.
10901 (graft_intervals_into_buffer): Use it when appropriate.
10902 (reproduce_tree): Declare with prototype.
10903 (balance_possible_root_interval): Check that the parent is a lisp
10904 object before trying to examine its type.
10905
10906 2000-03-22 Gerd Moellmann <gerd@gnu.org>
10907
10908 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10909 as strings only if both are known to be strings.
10910
10911 * s/openbsd.h (LIBS_TERMCAP): Undef.
10912
10913 2000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10914
10915 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10916 definitions for non-Emacs compilation.
10917 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10918 outside of `#ifdef emacs'.
10919 (print_partial_compiled_pattern): Update.
10920 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10921 (re_compile_fastmap): Merge handling of charset and charset_not (for
10922 emacs and non-emacs compilation as well).
10923 Similarly for (not)categoryspec and (not)syntaxspec.
10924 Don't use the fastmap when reaching `anychar' since the added
10925 complexity is not justified.
10926 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10927 and (not)syntaxspec. Merge (not)categoryspec.
10928
10929 2000-03-22 Kenichi Handa <handa@etl.go.jp>
10930
10931 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10932 (FACE_FOR_CHAR): Define them differently for the configuration of
10933 --without-x.
10934
10935 2000-03-21 Dave Love <fx@gnu.org>
10936
10937 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10938 doc string.
10939
10940 2000-03-21 Gerd Moellmann <gerd@gnu.org>
10941
10942 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10943 (lface_fully_specified_p): Don't check contents of
10944 LFACE_FONT_INDEX because that attribute is optional.
10945 (realize_x_face): Remove now unwarranted xassert.
10946
10947 2000-03-21 Kenichi HANDA <handa@etl.go.jp>
10948
10949 The following changes are to make font selection based on
10950 characters, not charset. In addition, they recover fontset
10951 facilities while utilizing the new font selection mechanism.
10952
10953 * Makefile.in (fontset.o): Depend on dispextern.h.
10954
10955 * alloc.c (mark_face_cache): Don't mark face->registry.
10956
10957 * dispextern.h (struct glyph): New member glyph_not_available_p.
10958 Use 22 bits for face_id.
10959 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10960 (struct face): Delete member registry, new member ascii_face.
10961 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10962 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10963 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
10964 (struct it): Delete member charset, new member glyph_not_available_p.
10965
10966 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10967 (struct fontset_info, struct fontset_data): Structs removed.
10968 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10969 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
10970 (fs_load_font, fs_query_fontset): Adjusted for new argument.
10971 (fs_free_face_fontset, fontset_font_pattern)
10972 (face_suitable_for_char_p, face_for_char)
10973 (make_fontset_for_ascii_face): Extern them.
10974 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10975 (FS_LOAD_FACE_FONT): New macro.
10976
10977 * fontset.c: All codes rewritten or adjusted for the change of
10978 fontset implementation. Now fontset is represented by char table.
10979 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10980 Variables removed.
10981 (my_strcasecmp): Function removed.
10982 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
10983 (AREF, ASIZE): New macros.
10984 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10985 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10986 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10987 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10988 (fontset_id_valid_p, font_family_registry, fontset_name)
10989 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10990 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
10991 New functions.
10992 (fs_load_font): New arg FACE. Caller changed.
10993 (fs_query_fontset): Argument changed. Caller changed.
10994 (Fquery_fontset): call fs_query_fontset.
10995 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10996 Functions removed.
10997 (clear_fontset_elements, check_registry_encoding)
10998 (check_fontset_name): New functions.
10999 (syms_of_fontset): Set char-table-extra-slots property of fontset
11000 to 3. Staticpro and initialize Vfontset_table and
11001 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11002
11003 * frame.h (struct frame): Member `fontset_data' removed.
11004 (FRAME_FONTSET_DATA): Macro removed.
11005
11006 * frame.c (make_frame): Don't allocate f->fontset_data.
11007 (Fdelete_frame): Don't free f->fontset_data.
11008
11009 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11010
11011 * xdisp.c (charset_at_position): Function removed.
11012 (init_iterator): Don't set member charset of struct `it'.
11013 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11014 (next_element_from_display_vector, insert_left_trunc_glyphs):
11015 Likewise.
11016 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11017 FACE_FOR_CHARSET.
11018 (get_next_display_element, append_space)
11019 (extend_face_to_end_of_line): Likewise.
11020
11021 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11022 Variables removed.
11023 (clear_font_table, frame_update_line_height, load_face_font):
11024 Adjusted for the change of fontset implementation.
11025 (load_face_fontset_font): Function removed.
11026 (pixel_point_size): New function.
11027 (font_list): Argument type changed. Caller changed.
11028 (LFACE_FONT): New macro.
11029 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11030 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11031 Lisp_Object. Determine the font name by actually loading a font
11032 by the specified pattern. Set LFACE_FONT (lface) to the specified
11033 pattern. Even if a font is not found, don't try alternatives.
11034 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11035 (set_font_frame_param): If `font' is specified in lface, use it.
11036 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11037 (lface_same_font_attributes_p): Likewise.
11038 (make_realized_face): Arguent changed. Caller changed. Set
11039 face->ascii_face to face itself.
11040 (free_realized_face): Free face->fontset if face is for ASCII.
11041 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11042 (deduce_unibyte_registry, x_charset_registry): Functions removed.
11043 (free_realized_multibyte_face): New function.
11044 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11045 changed. Caller changed.
11046 (try_font_list): Argument type changed.
11047 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11048 (choose_face_font): Argument changed. Handle fontset properly.
11049 (choose_face_fontset_font): Function removed.
11050 (realize_default_face, realize_named_face): Don't remove the
11051 former face here.
11052 (realize_face): Argument changed. Caller changed. Remove face
11053 with the arg former_face_id in advance. Load font for the new face.
11054 (realize_x_face): Argument changed. Caller changed. For a
11055 multibyte character, share fontset with base_face. For a single
11056 byte character, make a new realized fontset. Don't load a font here.
11057 (realize_tty_face): Argument changed. Caller changed.
11058 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11059 (face_at_buffer_position): Don't check multibyte_p for returning
11060 DEFAULT_FACE_ID.
11061 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11062 FACE_SUITABLE_FOR_CHARSET_P.
11063 (syms_of_xfaces): Remove code for Qx_charset_registry and
11064 Vface_default_registry.
11065
11066 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11067 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
11068 (x_per_char_metric): Don't try FONT->default_char. Even if
11069 pcm->width is zero, glyph bits may exist.
11070 (x_encode_char): Always initialize char2b->byte1.
11071 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
11072 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
11073 (x_append_glyph): Set glyph->glyph_not_available_p.
11074 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11075 it->charset. Handle the case that per char metric is not
11076 available. If it->multibyte_p is zero and it->c is a multibyte
11077 character, convert it to a unibyte character.
11078 (struct glyph_string): Delete member `charset'.
11079 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11080 the case that per char metric is not available correctly.
11081 (x_fill_glyph_string): Handle the case that the specific glyph is
11082 not available correctly.
11083 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11084 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11085 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11086 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11087 fontset. Don't call FS_LOAD_FONT.
11088
11089 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11090 (x_create_tip_frame): Likewise.
11091 (Fx_close_connection): Free full_name of font_info.
11092
11093 * fns.c (optimize_sub_char_table): New function.
11094 (Foptimize_char_table): New function.
11095 (syms_of_fns): Defsubr Soptimize_char_table.
11096
11097 2000-03-20 Gerd Moellmann <gerd@gnu.org>
11098
11099 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11100 only if buffer is displayed in some window.
11101
11102 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11103 (try_window_reusing_current_matrix): Don't call scroll run
11104 function if run's current and desired position are the same;
11105 this prevents cursor flickering.
11106
11107 2000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11108
11109 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11110
11111 * regex.c (RE_STRING_CHAR): New macro.
11112 (GET_CHAR_AFER_2): Remove.
11113 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11114 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11115 (print_partial_compiled_pattern, re_compile_fastmap)
11116 (re_match_2_internal): Remove on_failure_jump_exclusive.
11117 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11118 optimization only need to work for * (ie. can use of_keep_string_jump).
11119 Remove the special case for .*\n since it is now covered by the general
11120 optimization.
11121 (re_search_2): Don't bother with `room'.
11122 (skip_one_char): New function.
11123 (skip_noops): Simplify since `memory' is not needed any more.
11124 (mutually_exclusive_p): Restructure slightly to use `switch' and
11125 add handling for "all" remaining cases.
11126 (re_match_2_internal): Change on_failure_jump_smart to use
11127 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11128 rather than on_failure_jump_exclusive.
11129
11130 2000-03-19 Gerd Moellmann <gerd@gnu.org>
11131
11132 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11133 number of bits per RGB because it's everywhere used as the depth
11134 of the visual.
11135
11136 * term.c (calculate_costs): Remove code dealing with X frames.
11137
11138 2000-03-19 Richard M. Stallman <rms@gnu.org>
11139
11140 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11141
11142 2000-03-18 Gerd Moellmann <gerd@gnu.org>
11143
11144 * lread.c (read_integer): Unread the last char not consumed.
11145
11146 2000-03-17 Gerd Moellmann <gerd@gnu.org>
11147
11148 * xterm.c (x_update_window_cursor): Don't update in frames
11149 which are in the process of being deleted.
11150
11151 2000-03-16 Gerd Moellmann <gerd@gnu.org>
11152
11153 * Makefile.in (mostlyclean): Add `*.core'.
11154 (clean): Add `bootstrap-emacs'.
11155
11156 * lread.c (read_integer): New function.
11157 (read1): Support read syntax #o, #x, #b, #r.
11158
11159 2000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11160
11161 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11162 make sure POINTER_TO_OFFSET gives the same value before and after
11163 PREFETCH. Use `dfail' to guarantee "atomic" matching.
11164 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11165 (debug): Now only active if > 0 rather than if != 0.
11166 (DEBUG_*): Update for the new meaning of `debug'.
11167 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11168 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11169 in `succeed_n', `jump_n' and `set_number_at'.
11170 (store_op1, store_op2, insert_op1, insert_op2)
11171 (at_begline_loc_p, at_endline_loc_p): Add prototype.
11172 (group_in_compile_stack): Move to after its arg's types are
11173 declared and add a prototype.
11174 (PATFETCH): Define in terms of PATFETCH_RAW.
11175 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
11176 (QUIT): Redefine as a nop except for NTemacs.
11177 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11178 indentation of the greedy-op and shy-group code.
11179 (at_(beg|end)line_loc_p): Fix argument's types.
11180 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11181 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11182 (MATCHING_IN_FIRST_STRING): Remove.
11183 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11184 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11185 QUIT unconditionally.
11186
11187 2000-03-15 Gerd Moellmann <gerd@gnu.org>
11188
11189 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11190 a sole completion.
11191
11192 * process.c (send_process): Add a hint that the function
11193 can call Lisp code to its comment.
11194
11195 * lread.c (load_dangerous_libraries): New variable.
11196 (Vbytecomp_version_regexp): New variable.
11197 (safe_to_load_p): New function.
11198 (Fload): Handle files not compiled with Emacs specially.
11199 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11200
11201 2000-03-14 Gerd Moellmann <gerd@gnu.org>
11202
11203 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11204
11205 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11206 support functions only if HAVE_X11R6_XIM is defined.
11207 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11208
11209 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11210
11211 * xfns.c (X_I18N_INHIBITED): Don't define.
11212 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
11213 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11214
11215 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11216 (HAVE_X11R6_XIM): Define.
11217
11218 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11219
11220 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11221 If set, call XSynchronize.
11222
11223 2000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11224
11225 * regex.c: Declare a new type `re_char' used throughout the code
11226 for the string char type. It's `const unsigned char' to match the
11227 rest of Emacs. Consistently make sure all pointers to strings use
11228 it and make sure all pointers into the pattern use `unsigned char'.
11229 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
11230 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11231 code duplication.
11232
11233 * charset.h (GET_CHAR_AFTER_2): Remove.
11234 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11235
11236 2000-03-12 Ken Raeburn <raeburn@gnu.org>
11237
11238 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11239 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11240 of them try to use backquotes.
11241
11242 2000-03-12 Dave Love <fx@gnu.org>
11243
11244 * unexelf.c: Restore changes of 1999-10-19.
11245 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11246 fix its type and alignment; copy it from current process.
11247
11248 2000-03-12 Gerd Moellmann <gerd@gnu.org>
11249
11250 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11251 has been found. Fix bug not computing timer's predecessor.
11252
11253 * fileio.c (Fread_file_name): Handle case that DIR contains a
11254 file name.
11255
11256 * window.c (Fsave_window_excursion): Doc fix.
11257
11258 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
11259
11260 2000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11261
11262 * msdos.c (vga_installed): New function, code moved from
11263 dos_set_window_size.
11264 (Qbar, Qcursor_type, outside_cursor): New variables.
11265 (syms_of_msdos): Intern and staticpro them.
11266 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11267 shape used outside Emacs when called for the first time.
11268 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11269 cursor shape used outside Emacs.
11270 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11271 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11272 type has changed.
11273 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11274 parameters specify the cursor. Make qreverse a global
11275 variable (renamed to Qreverse).
11276
11277 2000-03-09 Gerd Moellmann <gerd@gnu.org>
11278
11279 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11280
11281 2000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11282
11283 This is a big redesign of failure-stack and register handling, prompted
11284 by bugs revealed when trying to add shy-groups. Overall, what happened
11285 is that loops are now structured a little differently, groups can be
11286 shy and the code is a little simpler.
11287
11288 * regex.h: Update the copyright.
11289 (RE_SHY_GROUPS): New value.
11290 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11291 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11292
11293 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11294 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11295 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11296 for (start|stop)_memory since they now only take one argument (the
11297 second has becomes unnecessary).
11298 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
11299 (print_compiled_pattern): Use %ld to printf long ints and flush to
11300 make debugging a little easier.
11301 (union fail_stack_elt): Make the integer unsigned.
11302 (struct fail_stack_type): Add a `frame' element.
11303 (INIT_FAIL_STACK): Init `frame' as well.
11304 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11305 (DEBUG_PUSH, DEBUG_POP): Remove.
11306 (NUM_REG_ITEMS): Remove.
11307 (NUM_NONREG_ITEMS): Adjust.
11308 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11309 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
11310 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
11311 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11312 New macros.
11313 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11314 address pushed is not the destination of the jump but the source
11315 of it instead.
11316 (NUM_FAILURE_ITEMS): Remove.
11317 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
11318 registers before the actual failure point). Don't hardcode any
11319 meaning for str==NULL anymore.
11320 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
11321 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11322 Remove.
11323 (REG_UNSET_VALUE): Use NULL (why not?).
11324 (compile_range): Remove declaration since it doesn't exist.
11325 (struct compile_stack_elt_t): Remove inner_group_offset.
11326 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11327 (regex_grow_registers): Remove dead code.
11328 (FIXUP_ALT_JUMP): New macro.
11329 (regex_compile): Add shy-groups Change loops to use
11330 on_failure_jump_smart&jump instead of
11331 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11332 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11333 variable to me). Use `jump' instead of `jump_past_alt' and don't
11334 bother with push_dummy_failure in alternatives since it is now
11335 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11336 emacs' for (re)allocating the stack.
11337 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11338 from loop when bufp->can_be_null rather than jumping to `done'.
11339 Avoid jumping backwards so as to ensure termination. Use
11340 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11341 backreferences. Remove dead code in handling of `anychar'.
11342 (skip_noops, mutually_exclusive_p): New functions taken from the
11343 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11344 improve mutually_exclusive_p to handle ".+\n".
11345 (lowest_active_reg, highest_active_reg)
11346 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
11347 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11348 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11349 variables. Push register (in `start_memory') on the stack rather
11350 than storing it in old_reg(start|end). Remove the cycle detection
11351 from `stop_memory', replaced by the use of on_failure_jump_loop
11352 for greedy loops. Add code for the new on_failure_jump_<foo>.
11353 Remove ad-hoc code in `on_failure_jump' to push more registers in
11354 the case of a loop. Take out code from `maybe_pop_jump' into
11355 separate functions and adapt it to the semantics of
11356 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11357 and push_dummy_failure. Remove dummy_failure handling and
11358 handling of `failures to jump to on_failure_jump' (this last one
11359 was already dead code, it seems).
11360 (group_match_null_string_p, alt_match_null_string_p)
11361 (common_op_match_null_string_p): Remove.
11362
11363 2000-03-08 Dave Love <fx@gnu.org>
11364
11365 * config.in: Don't depend on __STDC__ for volatile.
11366 Add POINTER_TYPE, PTR, PROTOTYPES.
11367
11368 * hftctl.c, strftime.c: Use PROTOTYPES.
11369 * eval.c (find_handler_clause): Likewise.
11370
11371 * mem-limits.h: Use POINTER_TYPE.
11372
11373 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11374 (memory_warnings): Declare using POINTER_TYPE.
11375
11376 2000-03-08 Gerd Moellmann <gerd@gnu.org>
11377
11378 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11379
11380 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
11381
11382 * xfns.c: Remove obsolete code in #if 0.
11383 (Fx_focus_frame): New function.
11384
11385 2000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11386
11387 * coding.c (coding_category_name): Add coding-category-utf-8,
11388 coding-category-utf-16-be, coding-category-utf-16-le.
11389 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11390 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11391 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11392 (detect_coding_utf_8): New function.
11393 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11394 UTF_16_LOW_SURROGATE_P): New macros.
11395 (detect_coding_utf_16): New function
11396 (detect_coding_mask): When priorities are specified, skip any
11397 categories that have `nil' coding-system. Fix bug of returning
11398 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11399 returns a mask not set in PRIORITIES.
11400 (detect_eol_type_in_2_octet_form): New function.
11401 (detect_eol): selects detect_eol_type_XXX to call according to
11402 cooding->category_idx.
11403 (detect_coding_system): Remove `nil' coding-system in the result.
11404 (Fupdate_coding_systems_internal): Update all coding-categories.
11405
11406 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11407 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11408 New macros.
11409 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11410 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11411 (CODING_CATEGORY_IDX_UTF_16_LE)
11412 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11413 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
11414 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11415 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11416
11417 2000-03-07 Gerd Moellmann <gerd@gnu.org>
11418
11419 * doc.c (Fdocumentation_property): If value is not a string,
11420 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11421
11422 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11423 close the display with XtCloseDisplay. This caused a bus error
11424 on OpenWindows.
11425
11426 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11427 complete but not unique.
11428
11429 2000-03-06 Gerd Moellmann <gerd@gnu.org>
11430
11431 * process.c (send_process): Remove local variable `procname' that
11432 might become invalid when a GC happens. Instead, access the
11433 process name slot directly.
11434
11435 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11436 orig_height if set.
11437
11438 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11439 orig_height if set.
11440
11441 2000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11442
11443 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11444 glyph matrices have been freed.
11445
11446 2000-03-05 Gerd Moellmann <gerd@gnu.org>
11447
11448 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
11449 (bootstrap-temacs): Set LC_ALL to C like for temacs.
11450
11451 * xfns.c (QCdata): Moved to xdisp.c.
11452
11453 * xdisp.c (QCdata): Moved here from xfns.c.
11454 (syms_of_xdisp): Initialize QCdata.
11455
11456 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11457
11458 * window.c (coordinates_in_window): Use
11459 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11460 FRAME_INTERNAL_BORDER_WIDTH.
11461
11462 * xdisp.c (try_window_id): Recompute unchanged information if
11463 it is obviously invalid.
11464
11465 * xterm.c (x_term_init): Create a colormap if not using the
11466 default visual.
11467
11468 * xterm.h (select_visual): Change prototype.
11469
11470 * xfns.c (select_visual): Rewritten. Recognize user-specified
11471 visual classes.
11472 (visual_classes): New variable.
11473
11474 2000-03-04 Gerd Moellmann <gerd@gnu.org>
11475
11476 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11477 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11478 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
11479 (x_decode_color): Don't handle allocation of white and black specially.
11480 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11481 XtNcolormap resources.
11482 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11483 (Fx_create_frame): Initialize color members of x_output structure.
11484 (xpm_load): Pass colormap to XPM lib.
11485
11486 * xfaces.c (x_free_colors): Access colormap of frame using
11487 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11488 when default colormap is used.
11489
11490 * xterm.c (x_term_init): Set Colormap member of x_display_info
11491 structure. Copy colormap if resource `privateColormap' is
11492 specified (PseudoColor only).
11493 (x_setup_relief_color): Access colormap of frame using
11494 FRAME_X_COLORMAP.
11495
11496 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11497 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11498
11499 2000-03-04 Jason Rumney <jasonr@gnu.org>
11500
11501 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11502 other non-platform-specific equivalents.
11503 [WINDOWSNT]: Include w32term.h, fontset.h and define X
11504 specific functions and macros as their w32 equivalents where
11505 non-platform-specifics are not available.
11506 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11507 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11508 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11509 (frame_update_line_height): Use macros to access f->output_data.
11510 (defined_color): Remove FIXME comments; fixed.
11511 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11512 into #ifdef blocks. Add WINDOWSNT blocks.
11513 (Fx_list_fonts): Use macros for accessing font data.
11514 (set_lface_from_font_name): Different default fonts for X and
11515 WINDOWSNT.
11516 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11517 scalable for backward compatibility.
11518 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
11519 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11520
11521 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
11522 syms_of_w32faces.
11523
11524 * makefile.nt (w32faces.obj): Remove.
11525 (xfaces.obj): Add.
11526
11527 2000-03-03 Jason Rumney <jasonr@gnu.org>
11528
11529 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11530 correct parameters.
11531
11532 2000-03-03 Ken Raeburn <raeburn@gnu.org>
11533
11534 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11535 standard ELF definitions here if the system header does not.
11536
11537 2000-03-03 Gerd Moellmann <gerd@gnu.org>
11538
11539 * xterm.c (PER_CHAR_METRIC): Removed.
11540 (x_per_char_metric_1, x_default_char): New functions.
11541 (x_per_char_metric): If font's default char is invalid, return
11542 metrics of a suitably chosen usable default char.
11543 (x_draw_glyph_string_foreground): If font has an invalid default
11544 char, replace occurrences of unprintable chars with a suitably
11545 chosen usable default char.
11546
11547 2000-03-02 Gerd Moellmann <gerd@gnu.org>
11548
11549 * xterm.c (note_mouse_highlight): Return quickly if frame's
11550 glyph matrices have been freed.
11551
11552 * dispnew.c (free_glyphs): Block input while freeing matrices.
11553
11554 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11555
11556 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11557 Use x_free_colors.
11558
11559 * dispextern.h (x_free_colors): Add prototype.
11560
11561 * xfaces.c (x_free_colors): New function.
11562 (unload_color, free_face_colors): Use it.
11563
11564 2000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11565
11566 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11567
11568 * window.c [MSDOS]: Include msdos.h.
11569
11570 2000-03-02 Dave Love <fx@gnu.org>
11571
11572 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11573
11574 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11575 set C_OPTIMIZE_SWITCH for gcc.
11576
11577 2000-03-02 Kenichi Handa <handa@etl.go.jp>
11578
11579 * coding.c (coding_save_composition): Be sure to allocate
11580 composition data area in coding even if there's no composition in
11581 the current run.
11582
11583 2000-03-01 Jason Rumney <jasonr@gnu.org>
11584
11585 * w32term.c: Equivalent changes to those made to xterm.c on
11586 2000-02-25 and 2000-02-24.
11587
11588 * w32fns.c: Equivalent changes to those made to xfns.c on
11589 2000-02-25 and 2000-02-21.
11590
11591 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11592 correct line-end convention is followed.
11593
11594 * w32menu.c [HAVE_BOXES]: Remove #undef.
11595 (single_keymap_panes): Remove code for simulating checkmarks.
11596 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11597 Remove code for drawing simulated checkmarks.
11598 (w32_menu_show): make unibyte help string correctly.
11599 (add_menu_item): draw standard Windows checkmarks. Draw radio
11600 buttons as radio buttons if possible.
11601
11602 2000-03-01 Gerd Moellmann <gerd@gnu.org>
11603
11604 * sysdep.c (start_of_text): Don't define this function for NetBSD
11605 with ELF.
11606
11607 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
11608 Don't define.
11609 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11610 (LINKER): Don't undef if __NetBSD__ is defined.
11611
11612 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11613
11614 * fileio.c [__NetBSD__]: Define `unix'.
11615
11616 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11617
11618 2000-02-29 Gerd Moellmann <gerd@gnu.org>
11619
11620 * atimer.c (start_atimer): Don't abort when timers are stopped.
11621 (append_atimer_lists): New function.
11622 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11623 arbitrary lists of stopped and running atimers.
11624
11625 * atimer.c (cancel_atimer): Handle canceling an atimer when
11626 some timers are stopped.
11627
11628 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11629 after canceling it.
11630
11631 * fns.c (maybe_resize_hash_table): Handle case of new size
11632 coming out as being the same as old size.
11633
11634 2000-02-27 Jason Rumney <jasonr@gnu.org>
11635
11636 * makefile.nt: Add atimer.h to dependencies.
11637 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11638 * w32console.c: Only disable window system features for dispextern.h
11639 (initialize_w32_display): Build a display info for the console.
11640 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11641 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11642 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11643 as 2 button mice.
11644 * w32gui.h (struct W32FontStruct): Revert last change after change
11645 to xdisp.c.
11646 * w32menu.c (single_submenu): Set up help string.
11647 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11648 (w32_dialog_show): Set up help string.
11649 * w32term.c (w32_display_info_for_display): Remove unused function.
11650 (w32_draw_bitmap): Use pre-built bitmaps.
11651 (w32_initialize_display_info): New function to initialize parts of
11652 display info that are common to both GUI and console frames.
11653 (w32_term_init): Use w32_initialize_display_info. Do not set
11654 Vw32_num_mouse_buttons here, as it is not called for console
11655 frames. Build bitmaps for indicating truncated lines etc.
11656 (x_delete_display): Destroy pre-built bitmaps.
11657 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11658 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11659
11660 2000-02-27 Dave Love <fx@gnu.org>
11661
11662 * lisp.h: Add a bunch of prototypes.
11663
11664 2000-02-26 Kenichi Handa <handa@etl.go.jp>
11665
11666 * keyboard.c (read_char): Set `usec' correctly.
11667
11668 2000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11669
11670 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11671 `lambda', set reg[RRR] to the map index.
11672 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11673 reg[RRR] to 0. Otherwise, set it to -1.
11674
11675 2000-02-25 Gerd Moellmann <gerd@gnu.org>
11676
11677 * emacs.c (main): Remove code snippet commented out with `//'.
11678
11679 2000-02-25 Richard M. Stallman <rms@gnu.org>
11680
11681 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11682 and contains a `:', prepend `/:'.
11683
11684 * window.c (select_window_1): If selected_window is nil,
11685 don't "swap out" the buffer's point.
11686 (Fset_window_configuration): Set selected_window to nil
11687 before calling Fselect_window.
11688 (unshow_buffer): Don't set point in buffer from window's point
11689 if another more recently selected window also shows the buffer.
11690
11691 2000-02-25 Gerd Moellmann <gerd@gnu.org>
11692
11693 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11694
11695 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11696 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
11697 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11698 New variables.
11699 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11700 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11701 (hide_busy_cursor): New functions.
11702 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11703
11704 * minibuf.c (read_minibuf): Cancel busy-cursor.
11705
11706 * keyboard.c (command_loop_1): Call start_busy_cursor before
11707 Fcommand_execute and cancel_busy_cursor after it.
11708 (timer_check): Remove busy-cursor code.
11709 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11710 cursor timer.
11711
11712 * process.c (wait_reading_process_input): Remove busy-cursor code.
11713
11714 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11715 Fx_hide_busy_cursor.
11716
11717 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11718 Remove prototyoes.
11719 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11720
11721 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11722
11723 * xterm.c (XTread_socket): Remove busy-cursor code.
11724
11725 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11726 (build_frame_matrix_from_leaf_window): Put code handling
11727 glyph row's not being a slice of a frame row in #if 0.
11728 (sync_window_with_frame_matrix_rows): New function.
11729 (frame_row_to_window): New function.
11730 (mirror_line_dance): Handle copies between windows.
11731
11732 * lread.c (Fload): Use `xfree' instead of `free'.
11733 (init_obarray): Use `xmalloc' instead of `malloc'.
11734
11735 * window.c (Fset_window_buffer): Set WINDOW to the window
11736 after decoding.
11737 (coordinates_in_window): Take frame's internal border width
11738 into account.
11739
11740 2000-02-24 Gerd Moellmann <gerd@gnu.org>
11741
11742 * xterm.c (x_display_and_set_cursor): Display cursor of
11743 non-selected windows depending on the setting of
11744 cursor_in_non_selected_windows.
11745
11746 * xdisp.c (cursor_in_non_selected_windows): New variable.
11747 (syms_of_xdisp): DEFVAR_BOOL it.
11748
11749 2000-02-23 Gerd Moellmann <gerd@gnu.org>
11750
11751 * data.c (Fstring_to_number): If number is greater than what
11752 fits into an integer, return a float.
11753
11754 * eval.c (specbind): Remove references to
11755 keyword_symbols_constant_flag.
11756
11757 * data.c (keyword_symbols_constant_flag): Removed.
11758 (Fmakunbound, set_internal, syms_of_data): Remove references to
11759 keyword_symbols_constant_flag.
11760
11761 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11762
11763 2000-02-23 Kenichi Handa <handa@etl.go.jp>
11764
11765 * syntax.c (multibyte_syntax_as_symbol): New variable.
11766 (syms_of_syntax): Declare it as a Lisp variable.
11767 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11768 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11769 nonzero, treat all multibyte characters as symbol.
11770 (init_syntax_once): Give syntax `word' to all multibyte characters.
11771
11772 2000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11773
11774 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
11775 a deleted frame.
11776
11777 2000-02-21 Gerd Moellmann <gerd@gnu.org>
11778
11779 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11780
11781 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11782 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11783
11784 2000-02-21 Dave Love <fx@gnu.org>
11785
11786 * frame.c (Vmouse_position_function): New variable.
11787 (Fmouse_position): Use it.
11788 (syms_of_frame): Install it.
11789
11790 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11791
11792 2000-02-20 Gerd Moellmann <gerd@gnu.org>
11793
11794 * fileio.c (Finsert_file_contents): Unbind the binding of
11795 standard-output done by temp_output_buffer_setup.
11796
11797 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11798 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11799 (specbind, unbind_to): Handle most common case of non-constant
11800 symbol with trivial value specially.
11801
11802 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11803
11804 2000-02-20 Richard M. Stallman <rms@gnu.org>
11805
11806 * data.c (Fmake_variable_buffer_local): Doc fix.
11807 Init found_for_buffer to 0.
11808 (Fmake_variable_frame_local): If the variable has already
11809 been buffer-local, set the check_frame field.
11810
11811 2000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11812
11813 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11814 produced for CODING_MODE_LAST_BLOCK requires.
11815
11816 2000-02-18 Dave Love <fx@gnu.org>
11817
11818 * keyboard.c (echo_keystrokes): Remove declaration.
11819 (Vecho_keystrokes) New variable.
11820 (read_char, record_menu_key, read_key_sequence): Use it to allow
11821 use of float value.
11822 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11823
11824 * lread.c: Undef feature selection macros before defining.
11825
11826 2000-02-18 Gerd Moellmann <gerd@gnu.org>
11827
11828 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11829 for symbols other than the symbol in question.
11830
11831 2000-02-17 Dave Love <fx@gnu.org>
11832
11833 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11834
11835 2000-02-17 Gerd Moellmann <gerd@gnu.org>
11836
11837 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11838
11839 * alloc.c (enum mem_type): Compile unconditionally.
11840
11841 2000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11842
11843 * xfaces.c (tty_defined_color): Don't return faulire indication
11844 for unspecified-fg and unspecified-bg pseudo-colors.
11845
11846 2000-02-17 Gerd Moellmann <gerd@gnu.org>
11847
11848 * alloc.c (mark_object): Don't mark symbol names in pure space.
11849 (gc_sweep): Don't unmark symbol names in pure space.
11850
11851 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11852 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11853 [GC_MARK_STACK]: New defines.
11854 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
11855 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11856
11857 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11858
11859 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11860 allocate_buffer instead of xmalloc.
11861
11862 * alloc.c (toplevel): Include setjmp.h.
11863 (PURE_POINTER_P): New define.
11864 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11865 (Vdead) [GC_MARK_STACK]: New variable.
11866 (lisp_malloc): Add parameter TYPE, call mem_insert if
11867 GC_MARK_STACK is defined.
11868 (allocate_buffer): New function.
11869 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
11870 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11871 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11872 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11873 (MEM_NIL) [GC_MARK_STACK]: New define.
11874 (struct mem_node) [GC_MARK_STACK]: New structure.
11875 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11876 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11877 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11878 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11879 (mark_stack) [GC_MARK_STACK]: New functions.
11880 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11881 (clear_marks): Removed.
11882 (gc_sweep): Set free conses' car, free floats' type, free
11883 symbols' function to Vdead. Use lisp_free to free buffers.
11884 (init_alloc_once): Initialize Vdead.
11885 (survives_gc_p): Return non-zero for pure objects.
11886
11887 * alloc.c: Add comments throughout the file.
11888
11889 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11890 that unblocks alarms.
11891
11892 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11893 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11894 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11895
11896 * frame.c (make_frame): Set frame initiallly to `garbaged'.
11897
11898 2000-02-17 Kenichi Handa <handa@etl.go.jp>
11899
11900 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11901 avoid infinite error signaling. Allocate sufficient memory for
11902 eol_str in the case that eoltype is Lisp_Int.
11903
11904 2000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11905
11906 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11907 depends on the previous behavior.
11908
11909 2000-02-16 Gerd Moellmann <gerd@gnu.org>
11910
11911 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11912
11913 2000-02-15 Gerd Moellmann <gerd@gnu.org>
11914
11915 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11916
11917 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
11918 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
11919 write(2).
11920
11921 2000-02-15 Richard M. Stallman <rms@gnu.org>
11922
11923 * data.c (set_internal): Don't make variable buffer-local
11924 if within a let-binding for the same buffer.
11925 (let_shadows_buffer_binding_p): New function.
11926
11927 * eval.c (specbind): For buffer-local value,
11928 record the current buffer also.
11929 (unbind_to): Cope with that change.
11930
11931 2000-02-15 Gerd Moellmann <gerd@gnu.org>
11932
11933 * window.c (Fsave_window_excursion): Doc fix.
11934
11935 2000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11936
11937 * syntax.c (back_comment): Make sure we only consider comment-starters
11938 of the relevant style and return -1 in case of a failure to find the
11939 beginning of the comment.
11940 (Fforward_comment): If back_comment fails, go back to the position just
11941 after the comment-end.
11942 (scan_lists): Add comment describing a very minor bug.
11943
11944 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11945
11946 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11947 `completion-regexp-list' in the docstring.
11948
11949 2000-02-14 Dave Love <fx@gnu.org>
11950
11951 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11952
11953 2000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11954
11955 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11956 to Emacs' syntax. Also fix the comment about set/not-set meanings
11957 since Emacs syntax is not the value 0 any more.
11958 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11959 since it's now part of RE_SYNTAX_EMACS.
11960
11961 2000-02-12 Dave Love <fx@gnu.org>
11962
11963 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
11964
11965 2000-02-12 Gerd Moellmann <gerd@gnu.org>
11966
11967 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11968
11969 2000-02-12 Dave Love <fx@gnu.org>
11970
11971 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11972
11973 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
11974 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11975 * s/hpux.h: Don't define HAVE_VFORK.
11976
11977 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11978
11979 * s/nextstep.h: Don't define HAVE_ALLOCA.
11980
11981 * config.in: Add vfork bits.
11982
11983 2000-02-12 Gerd Moellmann <gerd@gnu.org>
11984
11985 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11986 unwind function to undo the effect of stopping atimers.
11987
11988 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
11989
11990 * atimer.c (stopped_atimers): New variable.
11991 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11992 New functions.
11993
11994 * atimer.h (stop_other_atimers, run_all_atimers)
11995 (unwind_stop_other_atimers): Add function prototypes.
11996
11997 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11998
11999 2000-02-11 Ken Raeburn <raeburn@gnu.org>
12000
12001 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12002 library may depend on jpeg.
12003 (atimer.o): Depends on atimer.c.
12004
12005 2000-02-11 Kenichi Handa <handa@etl.go.jp>
12006
12007 * insdel.c (del_range_1): Call update_compositions.
12008 (del_range_both): Call update_compositions just once..
12009
12010 2000-02-10 Dave Love <fx@gnu.org>
12011
12012 * xfns.c (create_frame_xic): Fix initialization of automatic
12013 aggregates for pcc.
12014
12015 2000-02-09 Kenichi Handa <handa@etl.go.jp>
12016
12017 * ccl.c (CCL_MAKE_CHAR): New macro.
12018 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12019 registers by CCL_MAKE_CHAR before calling translate_char.
12020 <CCL_TranslateCharacterConstTbl> Likewise.
12021
12022 2000-02-08 Dave Love <fx@gnu.org>
12023
12024 * lread.c (__EXTENSIONS__): Define.
12025
12026 2000-02-08 Gerd Moellmann <gerd@gnu.org>
12027
12028 * puresize.h (BASE_PURESIZE): Increase to 650000.
12029
12030 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12031
12032 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12033 the help message.
12034
12035 2000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12036
12037 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12038 md, mh, mb, mr, and me to the fake termcap entry.
12039
12040 2000-02-06 Ken Raeburn <raeburn@gnu.org>
12041
12042 * sound.c (sound_cleanup): Don't call device close routine if the
12043 function pointer is null.
12044
12045 2000-02-06 Andrew Innes <andrewi@gnu.org>
12046
12047 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12048 around image definitions and prototypes.
12049 (gamma_correct) [WINDOWSNT]: New prototype.
12050
12051 * w32term.c (x_make_frame_visible): Replace call to
12052 input_poll_signal with poll_for_input.
12053
12054 * window.c [WINDOWSNT]: Include w32term.h.
12055
12056 * xdisp.c [WINDOWSNT]: Include w32term.h.
12057
12058 * makefile.nt: Add dependencies on w32gui.h.
12059 (OBJ1): Include atimer.obj.
12060 ($(BLD)\atimer.obj): New dependency rule.
12061
12062 * w32.c (sigmask): New function (does nothing).
12063 (sigunblock): Ditto.
12064
12065 * frame.c [WINDOWSNT]: Include w32term.h.
12066
12067 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12068
12069 * lread.c (syms_of_lread): Fix literal newlines.
12070
12071 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12072 the string constant limit (2048 bytes) in MSVC.
12073 (main): Ditto.
12074
12075 2000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12076
12077 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
12078 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12079 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12080 dispatch the event.
12081
12082 2000-02-04 Dave Love <fx@gnu.org>
12083
12084 * fileio.c: Remove some unused vars.
12085 (_GNU_SOURCE): Define (for euidaccess).
12086
12087 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12088
12089 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12090 gcpro1, gcpro2.
12091 (read_minibuf): Deal with allow_props correctly.
12092
12093 2000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12094
12095 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12096
12097 2000-02-03 Ken Raeburn <raeburn@gnu.org>
12098
12099 * search.c (compile_pattern): If a cache entry has a nil regexp,
12100 fill in that entry instead of clobbering a previously cached
12101 string regexp.
12102
12103 2000-02-02 Ken Raeburn <raeburn@gnu.org>
12104
12105 * puresize.h (BASE_PURESIZE): Increase to 610000.
12106
12107 2000-02-02 Gerd Moellmann <gerd@gnu.org>
12108
12109 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12110 can GC.
12111
12112 2000-02-02 Kenichi Handa <handa@etl.go.jp>
12113
12114 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12115 instead of incrementing ic directly.
12116 <CCL_WriteExprConst> Likewise.
12117 <ccl_set_expr>: Set ic to jump_address.
12118
12119 * fileio.c (e_write): Fix the handling of
12120 CODING_FINISH_INSUFFICIENT_SRC.
12121
12122 2000-02-01 Dave Love <fx@gnu.org>
12123
12124 * editfns.c (Fpropertize): Doc fix.
12125
12126 * process.c (Fstart_process): Doc fix.
12127
12128 * eval.c: Fix various doc strings not to duplicate information
12129 from help-manyarg-func-alist.
12130
12131 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
12132
12133 * doc.c (Vhelp_manyarg_func_alist): New variable.
12134 (Fdocumentation): Use it.
12135 (syms_of_doc): Define it.
12136
12137 2000-01-31 Gerd Moellmann <gerd@gnu.org>
12138
12139 * xterm.c (xim_open_dpy): Remove unused local variable.
12140
12141 * emacs.c (USAGE): Use term `display options' instead of `X options'.
12142
12143 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12144 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12145
12146 * fns.c (sweep_weak_table): New function.
12147 (sweep_weak_hash_tables): Use it. Keep on marking until there
12148 is no more change.
12149
12150 2000-01-30 Gerd Moellmann <gerd@gnu.org>
12151
12152 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12153 that XTread_socket does not crash by trying to call XNoOp on a
12154 closed display.
12155
12156 2000-01-30 Jason Rumney <jasonr@gnu.org>
12157
12158 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12159 Change selected_frame to SELECTED_FRAME ().
12160 (w32_console_mouse_position): Remove #ifndef MULE from around
12161 `insist' parameter.
12162
12163 * makefile.nt: Remove dosfns.obj.
12164
12165 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12166
12167 * w32fns.c (w32_defined_color): Check for valid frame before
12168 applying gamma correction. Eliminate dependency on frame elsewhere.
12169 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12170 (w32_to_x_font): Use resx and resy not height_in and width_in.
12171 (x_to_w32_font): Doc fix.
12172 (xlfd_strip_height): New function to strip and return font height.
12173 (w32_font_match): Compare height separately from rest of xlfd
12174 spec, using xlfd_strip_height.
12175
12176 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12177 width_in. Use w32_defined_color in place of defined_color.
12178
12179 * w32faces.c: Merge more of DOS and X specifics in preparation for
12180 merge with xfaces.c.
12181 (defined_color): Remove FIXME comment.
12182 (tty_color_name): Provide w32-specific function.
12183 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12184
12185 * w32console.c (turn_on_face, turn_off_face): Removed.
12186 (w32_face_attributes): New function.
12187 (Global_variables): Reduce scope where possible.
12188 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12189 fill attribute.
12190 (hl_mode): Don't modify text attributes.
12191 (write_glyphs): Don't do anything if len <= 0. Use
12192 w32_face_attributes to get attributes for drawing. Write
12193 terminating codes using char_attr_normal.
12194 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12195 (update_begin, update_end): Likewise.
12196 (vga_stdcolor_name): New function.
12197 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12198 (Fset_screen_color): Remove char_attr_reverse.
12199
12200 2000-01-29 Gerd Moellmann <gerd@gnu.org>
12201
12202 * xfns.c (xic_set_preeditarea): Take window parameter and
12203 window-relative pixel-positions.
12204
12205 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12206 is its frame's selected window.
12207 (xim_instantiate_callback): Likewise.
12208
12209 * xfns.c (x_create_im): Removed.
12210 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12211 (supported_xim_styles): Renamed from supported_styles.
12212 (best_xim_style): Renamed from best_style.
12213 (create_frame_xic): Renamed from xic_create_frame.
12214 (free_frame_xic): Renamed from xic_destroy_frame.
12215
12216 2000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12217
12218 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12219 our frames, call XFilterEvent with 2nd parameter `None'.
12220 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12221 returning XBufferOverflow.
12222 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
12223 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12224 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12225 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12226 (xim_initialize, xim_close)
12227 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12228 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12229 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12230 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12231
12232 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12233 and `xim_styles'.
12234 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12235 `xic_style' and `xic_xfs'.
12236 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12237 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12238 (FRAME_XIM): Removed.
12239
12240 * xfns.c (supported_styles): New variable.
12241 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12242 (xic_create_xfontset, best_style, xic_create_frame)
12243 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12244 (xic_set_xfontset): New functions.
12245
12246 2000-01-28 Dave Love <fx@gnu.org>
12247
12248 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12249
12250 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12251
12252 2000-01-28 Gerd Moellmann <gerd@gnu.org>
12253
12254 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12255 for *scratch* if it already existed.
12256
12257 * emacs.c (USAGE): New macro.
12258 (main): Use it to display usage information.
12259
12260 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12261
12262 Support for the menu-help feature:
12263
12264 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
12265
12266 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12267 part of the line to the termscript file.
12268 (IT_clear_to_end): Clear the entire line, not just its beginning.
12269 (menu_help_message, prev_menu_help_message): New variables.
12270 (IT_menu_make_room): Make room for the help_text member.
12271 (IT_menu_display): New argument disp_help; all callers changed.
12272 If disp_help is non-zero, store the help text of the active menu
12273 item in menu_help_message.
12274 (XMenuAddPane): Initialize the help_text member to NULL.
12275 (XMenuAddSelection): New argument help_text. Store it in the
12276 XMenu structure.
12277 (XMenuActivate): New argument help_callback. If the value of
12278 menu_help_message has changed since the last time, display the
12279 menu help message text while waiting for the mouse to move. Clear
12280 the echo area before exiting.
12281 (XMenuDestroy): Free the help_text member.
12282
12283 2000-01-27 Gerd Moellmann <gerd@gnu.org>
12284
12285 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12286 XMenuAddSelection. Pass help callback to XMenuActivate.
12287 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12288
12289 2000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12290
12291 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12292 and EMACS_SET_USECS.
12293
12294 2000-01-26 Dave Love <fx@gnu.org>
12295
12296 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12297
12298 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12299 an error may be signalled.
12300
12301 2000-01-26 Gerd Moellmann <gerd@gnu.org>
12302
12303 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12304 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12305
12306 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12307
12308 2000-01-25 Gerd Moellmann <gerd@gnu.org>
12309
12310 * charset.c (Fstring): If there is a multibyte char among
12311 the args, always return a multibyte string.
12312
12313 2000-01-25 Gerd Moellmann <gerd@gnu.org>
12314
12315 * sysdep.c (sys_select): Turn atimers off and on instead of
12316 recording and restoring old alarm handler
12317
12318 * process.c (toplevel): Include atimer.h.
12319 (create_process_1): Rewritten.
12320 (create_process): Use atimers instead of alarm.
12321 (wait_reading_process_input) [hpux]: Turn atimers off instead
12322 of turning off SIGALRM.
12323 (wait_reading_process_input): Turn off atimers instead off
12324 calling stop_polling.
12325
12326 * emacs.c (main): Call init_atimer.
12327
12328 * keyboard.c (toplevel): Include systime.h and atimer.h.
12329 (polling_for_input): Removed because unused.
12330 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12331 (poll_timer): New variable.
12332 (poll_for_input, poll_for_input_1): New functions.
12333 (start_polling, stop_polling): Rewritten.
12334
12335 * keyboard.h (polling_for_input): Removed.
12336
12337 * atimer.h, atimer.c: New files.
12338
12339 * Makefile.in (obj): Add atimer.o.
12340 (atimer.o): New target.
12341
12342 * blockinput.h (pending_atimers): Add extern declaration.
12343 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12344
12345 * lisp.h (popup_activated_flag): Add extern declaration.
12346
12347 * xmenu.c (popup_activated_flag): Make externally visible.
12348 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
12349 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12350
12351 * xterm.c (toplevel): Include atimer.h.
12352 (toolkit_scroll_bar_interaction): New variable.
12353 (Fxt_process_timeouts): Removed.
12354 (x_process_timeouts): New function.
12355 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12356 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12357 (x_make_frame_visible): Call poll_for_input_1 instead of
12358 input_poll_signal. Don't call alarm.
12359 (x_initialize): Install timer calling x_process_timeouts.
12360
12361 2000-01-24 Dave Love <fx@gnu.org>
12362
12363 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
12364 Don't use -cckr -- apparently not now necessary.
12365
12366 2000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12367
12368 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12369 screen boundary.
12370
12371 2000-01-23 Jason Rumney <jasonr@gnu.org>
12372
12373 * w32fns.c (w32_defined_color): Apply gamma correction before
12374 trying to map to the palette.
12375 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12376 to w32_clear_rect.
12377
12378 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12379 here. Callers changed to always pass real device context.
12380 (w32_draw_bitmap): Likewise.
12381 (w32_get_glyph_overhangs): Likewise.
12382 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
12383 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12384 pfnSetScrollInfo and SetScrollRange.
12385 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12386 back into MULE characters after decoding them.
12387 (x_get_glyph_face_and_encoding): Likewise.
12388 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12389 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12390 (x_produce_glyphs): Calculate per char metrics for a character
12391 that we know exists in default font when font_not_found_p is true.
12392
12393 2000-01-22 Jason Rumney <jasonr@gnu.org>
12394
12395 * makefile.nt (intervals.obj, composite.obj): New modules.
12396 (composite.h): Added as dependency where appropriate.
12397
12398 * w32gui.h (XGCValue): New struct for emulating X GCs.
12399
12400 * w32term.h (XCharStruct): New struct for emulating X.
12401
12402 * w32console.c (turn_on_face, turn_off_face): New functions.
12403 (change_line_highlight): New prototype for new redisplay.
12404 (write_glyphs): Support multibyte text. Support faces.
12405
12406 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
12407
12408 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12409 throughout. struct frame * in place of FRAME_PTR.
12410 Skeleton support for images, toolbars, tooltips from xfns.c.
12411 (Fx_create_frame): Use system default for default scroll bar width.
12412 (w32_get_arg): Renamed from x_get_arg.
12413 (Fx_file_dialog): New function.
12414 (w32_list_fonts): Check cache before asking system.
12415 (Vw32_enable_synthesized_fonts): New variable.
12416 (Vw32_enable_italics): Obsolete, removed.
12417
12418 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12419 Use SELECTED_FRAME macro.
12420
12421 * w32menu.c: Add skeleton support for help strings on menus.
12422 (add_menu_item): Native checkbox and radio support added, but not
12423 yet enabled due to bugs.
12424 (push_menu_item): Add parameters type, selection and help.
12425 Callers updated.
12426 Formatting changes to reduce unnecessary diffs with xmenu.c.
12427
12428 * w32select.c (Fw32_set_clipboard_data): Update call to
12429 find_charset_in_str.
12430
12431 * w32term.c: Complete rewrite for new redisplay based on new
12432 xterm.c with necessary sections merged back in from old w32term.c.
12433
12434 2000-01-21 Richard M. Stallman <rms@gnu.org>
12435
12436 * data.c (set_internal): Further fix in same criterion.
12437
12438 2000-01-20 Richard M. Stallman <rms@gnu.org>
12439
12440 * data.c (set_internal): Fix the criteria for whether
12441 to swap out the old cached binding.
12442
12443 2000-01-19 Dave Love <fx@gnu.org>
12444
12445 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12446
12447 2000-01-18 Kenichi Handa <handa@etl.go.jp>
12448
12449 * regex.c (re_compile_fastmap): While checking a range table for
12450 `charset', skip flag bits for a character class correctly.
12451
12452 2000-01-17 Gerd Moellmann <gerd@gnu.org>
12453
12454 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12455
12456 * xfns.c (x_window): Call lw_create_widget with new parameter list.
12457
12458 * widget.c (EmacsFrameSetCharSize): Change size of children first
12459 because of problems with main window geometry management under Lesstif.
12460
12461 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12462 MENU_ITEMS_ITEM_.*.
12463 (MENU_ITEMS_ITEM_HELP): New enumerator.
12464 (push_menu_item): Add parameter HELP. Record help in menu_items.
12465 (single_menu_item, single_submenu, list_of_items): Call
12466 push_menu_item with new parameter.
12467 (single_submenu): Set help string in widget value.
12468 (menu_highlight_callback): New function.
12469 (set_frame_menubar): Call lw_create_widget with new
12470 parameter list.
12471 (xmenu_show, xdialog_show): Ditto.
12472
12473 2000-01-13 Gerd Moellmann <gerd@gnu.org>
12474
12475 * sound.c (Fplay_sound): Improve doc string.
12476
12477 2000-01-11 Richard M. Stallman <rms@gnu.org>
12478
12479 * lisp.h (set_internal): Enter the new arg.
12480
12481 * eval.c (specbind): Record buffer-local variables specially,
12482 indicating which buffer's binding was saved.
12483 (unbind_to): Restore buffer-local variables specially
12484 in the proper buffer.
12485
12486 * data.c (set_internal): New arg BUF.
12487
12488 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12489 * data.c (Fset): Pass new arg to set_internal.
12490 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
12491
12492 2000-01-11 Gerd Moellmann <gerd@gnu.org>
12493
12494 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
12495
12496 2000-01-11 Richard M. Stallman <rms@gnu.org>
12497
12498 * minibuf.c (Ftry_completion): Doc fix.
12499
12500 2000-01-11 Gerd Moellmann <gerd@gnu.org>
12501
12502 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12503 vector, too.
12504
12505 2000-01-11 Andreas Schwab <schwab@suse.de>
12506
12507 * coding.c (code_convert_region): Initialize total_skip.
12508
12509 2000-01-08 Dave Love <fx@gnu.org>
12510
12511 * eval.c (Fuser_variable_p): Check customizability too.
12512
12513 2000-01-07 Gerd Moellmann <gerd@gnu.org>
12514
12515 * minibuf.c (Fcompleting_read): Doc fix.
12516
12517 2000-01-05 Gerd Moellmann <gerd@gnu.org>
12518
12519 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12520 -L /usr/local/lib.
12521
12522 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12523 Check that input style is supported before trying to create an
12524 IC for it.
12525 (x_window): Call x_create_im.
12526
12527 2000-01-04 Gerd Moellmann <gerd@gnu.org>
12528
12529 * xfns.c (current_gif_memory_src): New variable.
12530 (gif_load): Record the address of the current memory source
12531 in current_gif_memory_src.
12532 (gif_read_from_memory): Use current_gif_memory_src.
12533
12534 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12535 macros statement form.
12536
12537 * sound.c (struct sound): Renamed from struct sound_file.
12538 (struct sound): Add members `data' and `header_size'.
12539 (enum sound_attr): Add SOUND_DATA.
12540 (current_sound, current_sound_device): Variables renamed from
12541 sound_file and sound_device.
12542 (parse_sound): Parse :data.
12543 (parse_sound): Handle sound data in strings.
12544 (find_sound_type): Function renamed from find_sound_file_type.
12545 (wav_init, au_init): Fail if sound's header_size is smaller than
12546 needed header size.
12547 (wav_play, au_play): Play sounds from string data.
12548
12549 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12550
12551 * lisp.h: Add prototype for allocate_string_data.
12552
12553 * alloc.c (Fgarbage_collect): Return number of live and free strings.
12554
12555 * alloc.c (mark_buffer): Remove code in #if 0.
12556 (gc_sweep): Ditto.
12557 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12558 (strings_consed): New variable.
12559 (allocate_string): Set it.
12560 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12561 (Fmemory_use_counts): Return strings_consed. Use Flist.
12562
12563 * alloc.c: General cleanup in comments etc. Remove conditional
12564 compilation for `standalone'.
12565
12566 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12567
12568 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12569 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12570 (DONT_COPY_FLAG): Removed.
12571 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12572 (struct sdata, struct sblock): New
12573 (struct string_block): Rewritten.
12574 (STRINGS_IN_STRING_BLOCK): New macro.
12575 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12576 (large_sblocks, string_blocks, string_free_list): New variables.
12577 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12578 (init_strings): Rewritten.
12579 (allocate_string, allocate_string_data, compact_small_strings)
12580 (free_large_strings, sweep_strings): New functions.
12581 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12582 (struct string_block_head, current_string_block)
12583 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12584 (STRING_PAD): Removed.
12585 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12586 (Fgarbage_collect): Don't set mark bit in large strings.
12587 (mark_object): Mark strings differently. Mark symbol names
12588 differently.
12589 (survives_gc_p): Test marked strings differently.
12590 (gc_sweep): Sweep strings differently, unmark strings in
12591 symbol names.
12592 (compact_strings): Removed.
12593
12594 2000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12595
12596 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12597 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12598
12599 2000-01-04 Kenichi Handa <handa@etl.go.jp>
12600
12601 * fileio.c (Finsert_file_contents): Signal error if visiting file
12602 in a non-empty buffer.
12603
12604 * term.c (encode_terminal_code): Fix the previous change.
12605
12606 2000-01-03 Gerd Moellmann <gerd@gnu.org>
12607
12608 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12609 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12610
12611 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12612
12613 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12614
12615 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12616 need to test for MSDOS frames.
12617
12618 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12619
12620 * dosfns.c (unspecified_colors): Remove.
12621 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12622 unspecified_bg.
12623 (msdos_stdcolor_name): Return strings for unspecified fore- and
12624 back-ground colors.
12625
12626 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
12627 (syms_of_xfaces): Remove their staticpro's.
12628 (tty_color_name): Return Lisp strings for unspecified fore- and
12629 back-ground colors.
12630 (Finternal_set_lisp_face_attribute): Remove the special treatment
12631 for Qunspecified_{f,b}g.
12632 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
12633
12634 2000-01-03 Gerd Moellmann <gerd@gnu.org>
12635
12636 * xdisp.c (reseat_at_next_visible_line_start): Position before
12637 newline only if ending up on a newline.
12638 (next_element_from_ellipsis): Return success. Handle case of
12639 displaying no ellipsis. Fix case of ellipsis defined in display table.
12640 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12641 returns 0.
12642
12643 2000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12644
12645 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12646 (Fcolor_supported_p): Renamed from face-color-supported-p.
12647
12648 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12649
12650 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12651 list of colors renamed to tty-defined-color-alist.
12652 (tty_color_name): Pass the frame to tty-color-by-index.
12653 (realize_tty_face): tty-color-alist is now a function which
12654 accepts the frame as argument.
12655
12656 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
12657
12658 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12659
12660 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12661 encode_terminal_code.
12662
12663 2000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12664
12665 * dispnew.c (mode_line_string): Support termcap frames as well.
12666
12667 2000-01-01 Gerd Moellmann <gerd@gnu.org>
12668
12669 * syntax.c (Fforward_word): Undo previous change.
12670
12671 * editfns.c (Fconstrain_to_field): Don't constrain if
12672 inhibit-field-text-motion is non-nil.
12673 (Fline_beginning_position): Undo previous change.
12674 (Fline_end_position): Ditto.
12675
12676 * syntax.c (Fforward_word): Notice field boundaries only if
12677 inhibit-field-text-motion is nil.
12678
12679 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12680
12681 * editfns.c (Vinhibit_field_text_motion): New variable.
12682 (inhibit-field-text-motion): New DEFVAR_LISP.
12683 (Fline_beginning_position, Fline_end_position): Notice field
12684 boundaries only if inhibit-field-text-motion is nil.
12685
12686 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12687 All calls adjusted.
12688 (x_build_heuristic_mask): Likewise.
12689 (xbm_load_image_from_file): Change error output.
12690 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12691 (gif_load, gs_load, x_kill_gs_process): Ditto.
12692
12693 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12694 color indices when accessing raster pixels.
12695 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12696 one of :file or :data.
12697 (enum pbm_keyword_index): Add PBM_DATA.
12698 (pbm_format): Add :data.
12699 (pbm_image_p): Allow either :file or :data.
12700 (pbm_read_file): New function.
12701 (pbm_scan_number): Rewritten to read from string.
12702 (pbm_load): Support :data.
12703
12704 See ChangeLog.8 for earlier changes.
12705
12706 ;; Local Variables:
12707 ;; coding: iso-2022-7bit
12708 ;; End:
12709
12710 Copyright (C) 2001 Free Software Foundation, Inc.
12711 Copying and distribution of this file, with or without modification,
12712 are permitted provided the copyright notice and this notice are preserved.