* lisp.h (Ffield_end): Declare.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
0037e2f2
KR
12001-10-07 Ken Raeburn <raeburn@gnu.org>
2
3 * lisp.h (Ffield_end): Declare.
4
1a4372ef
GM
52001-10-07 Gerd Moellmann <gerd@gnu.org>
6
a4a74e8c
GM
7 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
8
9 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
10
11 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
12
13 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
14
1a4372ef
GM
15 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
16 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
17
18 * alloc.c (inhibit_garbage_collection): Simplify.
19 (Fmemory_use_counts): Ditto.
20
21 * data.c (most_positive_fixnum, most_negative_fixnum): New
22 variables.
23 (syms_of_data): DEFVAR_INT most-positive-fixnum and
24 most-negative-fixnum.
25
26 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
27 (FIXNUM_OVERFLOW_P): New macros.
28
4650e362
MB
292001-10-06 Miles Bader <miles@gnu.org>
30
31 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
32 scroll_bar_bottom_shadow_pixel fields.
33 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
34 for the shadows, and tell the toolkit about them if we succeed.
35 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
36 Free scroll-bar shadow colors.
37 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
38 Free scroll-bar shadow colors when the background color changes.
39 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
40 Initialize scroll-bar shadow-color fields.
41
ace64e0a
GM
422001-10-05 Gerd Moellmann <gerd@gnu.org>
43
44 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
45
ec66bdc7
MB
462001-10-05 Miles Bader <miles@gnu.org>
47
48 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
49 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
50 New functions (were in simple.el).
51 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
52 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
53 (syms_of_minibuf): Initialize them.
54
a0fb4492
GM
552001-10-05 Gerd Moellmann <gerd@gnu.org>
56
57 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
58 (tiff_load): Install them as error and warning handler.
59
0bcf87c1
AI
602001-10-04 Andrew Innes <andrewi@gnu.org>
61
62 * w32fns.c (x_to_w32_color): Fix argument to alloca.
63 (w32_load_system_font): Don't believe what GetLanguageFontInfo
64 says; query codepage info directly to determine if font is double
65 byte.
66 (x_to_w32_charset): Handle private format for unknown charsets.
67 Handle wildcards in charset spec, by ignoring them.
68 (w32_codepage_for_font): Fix argument to alloca. Don't remove
69 "*-" prefix from charset.
70 (x_to_w32_font): Enlarge remainder array for safety. Specifically
71 handle the truncated font spec form constructed by font_list_1, so
72 that we correctly identify the charset fields. Don't remove "*-"
73 prefix from charset.
74 (w32_list_synthesized_fonts): Fix argument to alloca.
75
c89e4bc5
GM
762001-10-04 Stefan Monnier <monnier@cs.yale.edu>
77
78 * window.h (MINI_WINDOW_P): Use NILP.
79
80 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
81
82 * termhooks.h (struct input_event): Use proper type for `kind'.
83
842001-10-04 Gerd Moellmann <gerd@gnu.org>
85
86 This handles unknown keysyms better than before. For example,
87 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
88 Emacs formerly completely ignored F5. With the change, it derives
89 a key symbol from the name of the X keysym, `ccaron' in this case.
90 Reported by Martin Buchholz.
91
92 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
93 unknown keysyms.
94
95 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
96 that EVENT->code isn't a function key, use the keysym's name.
97
982001-10-04 Gerd Moellmann <gerd@gnu.org>
99
100 FOREACH is a macro that should make it easier to loop over Lisp
101 lists with checks for cycles and proper lists.
102
103 * lisp.h (LIST_END_P, FOREACH): New macros.
104
1052001-10-04 Gerd Moellmann <gerd@gnu.org>
106
107 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
108 called for a lost connection. Prevent dumping core in this case.
109 Instead print the X error, and exit. On user request.
110
111 * xterm.c (error_msg): New variable.
112 (x_fatal_error_signal): New function.
113 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
114 as fatal_error_signal_hook around the call to XtCloseDisplay.
115
116 * emacs.c (fatal_error_signal_hook): New variable.
117 (fatal_error_signal): Call that function.
118
1192001-10-04 Gerd Moellmann <gerd@gnu.org>
120
121 With this, Emacs prints how much pure storage it will
122 approximately need in case pure storage overflows while dumping.
123
124 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
125 New variables.
126 (init_alloc_once): Initialize new variables.
127 (PURE_POINTER_P): Use new variables.
128 (pure_alloc): If pure storage overflows, allocate from the heap.
129 (check_pure_size): New function.
130 (Fgarbage_collect): Don't GC if pure storage has overflowed.
131
132 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
133 (check_pure_size): Add prototype.
134
135 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
136
1372001-10-04 Gerd Moellmann <gerd@gnu.org>
138
139 This adds a post-gc-hook that's run with GC inhibited.
140 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
141
142 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
143 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
144 (Fgarbage_collect): Run post-gc-hook.
145
1462001-10-04 Gerd Moellmann <gerd@gnu.org>
147
148 This adds `defvaralias' and `indirect-variable'. Changes not
149 directly related to this feature are there to gain the same
150 performance again as before variable aliases.
151
152 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
153 code to get and set symbol values, to take defvaralias into account.
154
155 (Note: the new `constant' bit-flag in symbols would make it
156 possible to define arbitrary read-only variables, e.g. with
157 `defconst'.)
158
159 Documentation is in lispref/variables.texi. Added to NEWS.
160
161 * lisp.h (enum symbol_interned): New enumeration.
162 (struct Lisp_Symbol): Remove member `obarray', add
163 `indirect_variable', `constant', and `interned'.
164 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
165 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
166 (indirect_variable): Add prototype.
167
168 * print.c (print_preprocess, print_object): Test internedness of
169 symbols differently.
170
171 * lread.c (Fintern, Funintern): Set symbol's interned and constant
172 bit-fields.
173 (init_obarray): Likewise for t and nil.
174
175 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
176 (Fdefvaralias): New function.
177 (specbind): Simplify the test if symbol is a constant.
178 (syms_of_eval): Defsubr Fdefvaralias.
179
180 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
181 (Qcyclic_variable_indirection): New variable.
182 (Fkeywordp): Check for internedness differently.
183 (Fmakunbound): Simplify the test if symbol is a constant.
184 (indirect_variable, Findirect_variable): New functions.
185 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
186 aliased symbol.
187 (let_shadows_buffer_binding_p): Check for variable aliases.
188 (set_internal): Simplify the test if SYMBOL is a constant.
189 If SYMBOL has a buffer-local value and is an alias, use the aliased
190 symbol instead.
191 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
192 Sindirect_variable.
193
194 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
195 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
196 set directly.
197
198 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
199
200 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
201 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
202 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
203
ba88ff28
MB
2042001-10-03 Miles Bader <miles@gnu.org>
205
206 * callproc.c (syms_of_callproc): Explicitly state in the
207 documentation for `process-environment' that earlier entries take
208 precedence over later ones.
209
ae1a9581
MB
2102001-10-02 Miles Bader <miles@gnu.org>
211
212 * textprop.c (Fnext_char_property_change)
213 (Fprevious_char_property_change): Remove reference to non-existant
214 argument OBJECT from doc-string.
215
257e3f57
GM
2162001-10-01 Gerd Moellmann <gerd@gnu.org>
217
218 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
219 (try_window_id): Skip back over lines ending in a newline from a
220 string.
221
222 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
223 New bit flag
224
c1f29759
RS
2252001-10-01 Richard M. Stallman <rms@gnu.org>
226
227 * search.c (Freplace_match): Doc fix.
228
c30dce3d
AI
2292001-09-28 Andrew Innes <andrewi@gnu.org>
230
231 * w32menu.c (set_frame_menubar): Take into account that
232 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
233 <raeburn@gnu.org>.
234
03be5931
EZ
2352001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
236
237 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
238
75bec752
PJ
2392001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
240
241 * s/gnu-linux.h: Fix a typo in comment.
242
83100e0a
AS
2432001-09-28 Andreas Schwab <schwab@suse.de>
244
245 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
246 nocombreloc, in case -z combreloc is the default.
247
a74b48cf
GM
2482001-09-28 Gerd Moellmann <gerd@gnu.org>
249
250 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
251 really going on here.
252
09c4719e
SM
2532001-09-27 Stefan Monnier <monnier@cs.yale.edu>
254
255 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
256
f7d5d963
EZ
2572001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
258
259 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
260 utf-8, menu-bar, and latin-N.
261 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
262 unconditionally now.
263 (lisp): Add latin-N, since they are preloaded.
264
9240e746
GM
2652001-09-27 Gerd Moellmann <gerd@gnu.org>
266
14531065
GM
267 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
268 to the left. Some cleanup.
269
9240e746
GM
270 * xdisp.c (display_mode_element): One more case where a string's
271 multibyteness should be used for display.
272
edd1e654
GM
2732001-09-26 Gerd Moellmann <gerd@gnu.org>
274
b02439c8
GM
275 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
276 reading at EOF.
277
032906b1 278 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 279 of the only temporarily set echoing flag for deciding when
032906b1
GM
280 the cancel echoing.
281
282 * keyboard.c (echo_kboard): Make externally visible.
283
284 * lisp.h (echo_kboard): Declare extern.
285
cb617e7c 286 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 287 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
288 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
289 this round of redisplay if make_cursor_line_fully_visible fails.
290 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 291 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
292
293 * dispextern.h (required_matrix_width, required_matrix_height):
294 Add prototypes.
295
09c4719e
SM
296 * dispnew.c (required_matrix_width, required_matrix_height):
297 New functions.
cb617e7c 298 (allocate_matrices_for_window_redisplay)
09c4719e
SM
299 (allocate_matrices_for_frame_redisplay: Use them.
300 Remove parameters CH_DIM.
cb617e7c 301
edd1e654
GM
302 * xdisp.c (display_mode_lines): Temporarily set selected_frame
303 and selected_window to the frame of the window whose mode-lines
304 are displayed, and to the window itself.
305 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 306 here.
edd1e654 307
924b604c
GM
3082001-09-25 Gerd Moellmann <gerd@gnu.org>
309
daba7643
GM
310 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
311 the image cache under us.
312
b7a22712 313 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 314 with a string value, use that string's multibyteness for displaying.
b7a22712 315
ad648212
GM
316 * keyboard.c (read_char): Don't clear a message for a switch-frame
317 event. From Stefan Monnier <monnier@cs.yale.edu>.
318
9f8531e5
GM
319 * xterm.c (fast_find_position) [0]: Add a presumably more correct
320 version for after 21.1.
321
322 * xdisp.c (row_containing_pos): Make externally visible.
323
324 * dispextern.h (row_containing_pos): Add prototype.
325
924b604c
GM
326 * process.c (send_process): Disable composition if from_byte < 0.
327 From Kenichi Handa <handa@etl.go.jp>.
328
6f3f0db4
GM
3292001-09-24 Gerd Moellmann <gerd@gnu.org>
330
c69c0ebc
GM
331 * xterm.c (refreshicon): Function removed.
332
d1182bc4
GM
333 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
334
335 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
336
337 * xterm.c (toplevel): Remove includes in #if 0.
338
6f3f0db4
GM
339 * process.c (sigchld_handler) [LINUX]: Don't return from
340 the signal handler at the end of the loop.
341
59957f85
GM
3422001-09-21 Gerd Moellmann <gerd@gnu.org>
343
09c4719e
SM
344 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
345 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 346
a0528984
EZ
3472001-09-21 Markus Rost <rost@math.ohio-state.edu>
348
349 * Makefile.in (shortlisp): Add ../lisp/env.elc.
350
db92b288
GM
3512001-09-20 Gerd Moellmann <gerd@gnu.org>
352
3fed8ad5
GM
353 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
354 since this function can be called during GC.
355
db92b288
GM
356 * callproc.c (Fcall_process): Handle errors from pipe(2).
357 (child_setup): Delete code in #ifdef vipc.
358
7121b85a
GM
3592001-09-19 Gerd Moellmann <gerd@gnu.org>
360
72f62cb5
GM
361 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
362 (display_mode_element): Display the string from decode_mode_spec
363 depending on its multibyteness.
364
a2697022
GM
365 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
366
7121b85a
GM
367 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
368
bfc97351
GM
3692001-09-18 Gerd Moellmann <gerd@gnu.org>
370
c9063433
GM
371 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
372 recursive_edit_unwind.
373 (recursive_edit_unwind): Set kboard state according to
374 SINGLE-KBOARD.
375
3fbdba3e
GM
376 * buffer.c (modify_overlay): Don't do nothing if START == END;
377 This can still be a modification, for example when an overlay has
378 a before-string or after-string.
379 (Fdelete_overlay): Prevent redisplay optimizations when deleting
380 an overlay with before-string or after-string.
381
1270031d
GM
382 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
383 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
384
bfc97351
GM
385 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
386 first_unchanged_at_end_row is in front of
387 last_unchanged_at_beg_row. This code should be removed after the
388 release of 21.1.
389
d8a973aa
GM
3902001-09-17 Gerd Moellmann <gerd@gnu.org>
391
e18c8b8d
GM
392 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
393 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
394
d8a973aa
GM
395 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
396 versions >= 2.95.
397
ed7d6ba4
EZ
3982001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
399
400 * dired.c (Ffile_attributes): Doc fix.
401
551629f9
GM
4022001-09-14 Gerd Moellmann <gerd@gnu.org>
403
404 * fileio.c (Ffile_symlink_p): Fix last change.
405
406 * filelock.c (current_lock_owner): Fix last change.
407
4c8c7926
GM
4082001-09-13 Gerd Moellmann <gerd@gnu.org>
409
620c4704
GM
410 * filelock.c (current_lock_owner): If readlink returns ERANGE,
411 take that to mean that the buffer is too small.
412
81c3310d
GM
413 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
414 that to mean that the buffer is too small.
415
06fd3792
GM
416 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
417 current buffer's multibyteness when discarding the iterator's
418 stack.
419
4c8c7926
GM
420 * xfns.c (Fx_window_property): Handle case that property gets
421 deleted between the two calls to XGetWindowProperty.
422
9a72e4c1
GM
4232001-09-11 Gerd Moellmann <gerd@gnu.org>
424
bd819d14
GM
425 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
426
a41edd99
GM
427 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
428 in addition to read-only.
429
430 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
431 to t in addition to read-only.
432
433 * lisp.h (Qinhibit_modification_hooks): Declare.
434
435 * insdel.c (Qinhibit_modification_hooks): New variable.
436 (syms_of_insdel): Initialize and staticpro it.
437
d4881c6a
GM
438 * textprop.c (verify_interval_modification): Don't run
439 modification-hooks if inhibit_modification_hooks.
440
441 * dispnew.c (set_window_cursor_after_update): Fix code
442 finding glyph row containing cursor when cursor_in_echo_area
443 is >= 0.
444
9a72e4c1
GM
445 * xdisp.c (init_from_display_pos): Put some code in #if 0.
446 (add_to_log): Use bcopy instead of strcpy.
447 (init_from_display_pos): Use an explicit loop over bytes in
448 overlay strings instead of calling index.
449
f4a374a1
GM
4502001-09-10 Gerd Moellmann <gerd@gnu.org>
451
300e57bd
GM
452 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
453
454 * dispnew.c (direct_output_for_insert): Don't change IT's
455 stop_charpos to something in front of its current position.
456
f4a374a1
GM
457 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
458 `format'.
459
7e4cbc91
RS
4602001-09-10 Richard M. Stallman <rms@gnu.org>
461
462 * frame.c (Fmouse_position): Doc fix.
463
6afad91e
GM
4642001-09-07 Gerd Moellmann <gerd@gnu.org>
465
466 * xdisp.c (init_from_display_pos): Don't compare the result
467 of calling index with NULL.
468
f76e0368
GM
4692001-09-06 Gerd Moellmann <gerd@gnu.org>
470
471 * xfns.c (x_set_background_color): Don't change the colors
472 of the X window of scroll bar widgets.
473
9ead1b60
AI
4742001-09-05 Andrew Innes <andrewi@gnu.org>
475
476 * w32fns.c (w32_createwindow): Undo last change.
477
c3b497b3
GM
4782001-09-05 Gerd Moellmann <gerd@gnu.org>
479
08e1d6df
GM
480 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
481
c3b497b3
GM
482 * xdisp.c (string_buffer_position): Use *single_char_property*
483 functions instead of the *single_property* functions.
484
8f860180
AI
4852001-09-04 Andrew Innes <andrewi@gnu.org>
486
9a72e4c1
GM
487 * w32term.c (w32_read_socket): Add more information to debugging
488 output.
8f860180
AI
489
490 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
491 from Emacs frames, so that calls to GetClipBox in w32term.c
492 correctly report when part of a frame is visible (including
493 scrollbars, etc). This prevents repeated redrawing of frames when
494 only a scrollbar is visible.
495 (w32_wnd_proc): Add more frame information to debugging output.
496
2ee1aa00
SM
4972001-09-03 Stefan Monnier <monnier@cs.yale.edu>
498
499 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
500
e3b22517
GM
5012001-09-03 Gerd Moellmann <gerd@gnu.org>
502
7e376260
GM
503 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
504 help-echo for a string which doesn't have help-echo itself, use
505 get-char-property to obtain the help-echo from the string's buffer
506 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
507 have mouse-face, look ``under'' the string for mouse-face from an
508 overlay.
509 (fast_find_position): Add parameter STOP. In the final row, stop
510 before glyphs having STOP as object. Don't consider glyphs that
511 are not from a buffer.
512
e3b22517
GM
513 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
514
9a249bba
EZ
5152001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
516
517 * fns.c (Fmd5): Doc fix.
518
c9979669
GM
5192001-08-31 Gerd Moellmann <gerd@gnu.org>
520
521 * composite.c (update_compositions): Do nothing if
522 inhibit-modification-hooks is set.
523
9584e63a
GM
5242001-08-30 Gerd Moellmann <gerd@gnu.org>
525
986ec8f2 526 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 527 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
528 glyph matrices etc. in a core dump.
529
92a25631
GM
530 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
531 (syms_of_xdisp): Initialize them.
532 (handle_single_display_prop): Don't change point, bind `object',
533 `position', and `buffer-position' instead to the object having the
2ee1aa00 534 `display' property, position in the object and position in the buffer.
92a25631 535
9584e63a
GM
536 * fileio.c (Finsert_file_contents): Don't change the multibyteness
537 of the buffer if REPLACE is non-nil.
538
d38633a3
GM
5392001-08-29 Gerd Moellmann <gerd@gnu.org>
540
541 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
542
f4fccc1e
EZ
5432001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
544
545 * w32term.c (x_set_glyph_string_background_width)
546 (show_mouse_face): Track the last changes in xterm.c.
547
eaaa65b0
GM
5482001-08-28 Gerd Moellmann <gerd@gnu.org>
549
7b0870b2
GM
550 * xterm.c (x_set_glyph_string_background_width): Set the glyph
551 string's background width so that multi-line mouse-face is drawn
552 to the right edge of the window.
553 (show_mouse_face): Set the row's mouse_face_p flag after drawing
554 glyphs.
555
6b6e2422 556 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 557 before inserting/writing glyphs.
6b6e2422 558
eaaa65b0
GM
559 * xdisp.c (display_mode_element): Use string_byte_to_char to
560 determine character positions in strings, use chars_in_text
561 instead of strwidth.
562 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
563 a matrix as parameter; this is easier to use from GDB.
564
9ad62cf8
MB
5652001-08-28 Miles Bader <miles@gnu.org>
566
2ee1aa00
SM
567 * textprop.c (Fprevious_single_char_property_change)
568 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 569
32171635
GM
5702001-08-27 Gerd Moellmann <gerd@gnu.org>
571
47d57b22
GM
572 * fileio.c (Finsert_file_contents): Allocate, restore, and
573 free composition data in the case of REPLACE not being nil.
574
575 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
576 there exist overlay strings with newlines at POS.
577 (text_outside_line_unchanged_p): Return 0 if changes start at
578 START and overlays exist at START. Likewise for END.
579 (try_window_id): Give up if init_to_row_end returns 0.
580
32171635
GM
581 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
582 unconditionally.
583
e1249666
GM
5842001-08-24 Gerd Moellmann <gerd@gnu.org>
585
33954c45
GM
586 * keymap.c (access_keymap): Return the cdr of the binding of
587 a generic character instead of its definition (KEY . BINDING).
588
e1249666
GM
589 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
590 to 0 also in the REPLACE case.
591
fb4c6c96
AC
5922001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
593
594 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
595 open to determine whether file is readable (as for DOS_NT).
596
59ecf80b
GM
5972001-08-23 Gerd Moellmann <gerd@gnu.org>
598
599 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
600 coding.type is coding_type_no_conversion or coding_type_raw_text,
601 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
602 non-nil instead of just setting enable_multibyte_characters in the
603 buffer to nil.
604
40e33037
GM
6052001-08-22 Gerd Moellmann <gerd@gnu.org>
606
374388c3
GM
607 * dispextern.h (struct face_cache): Add member
608 menu_face_changed_p.
609
610 * xfaces.c (menu_face_changed_default): New variable.
611 (menu_face_changed_count): Variable removed.
612 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
613 the menu_face_changed_default flag, otherwise set the FRAME's
614 menu_face_changed_p flag if the `menu' face has been changed.
615 Prevent calling set_font_frame_param if FRAME is t.
616 (make_face_cache): Initialize cache's menu_face_changed_p
617 from menu_face_changed_default.
618 (realize_basic_faces): Look into the frame's face cache to
619 determine if the menu appearance needs updating.
620
40e33037
GM
621 * keymap.c (access_keymap): Fix last change to not consider
622 IDX when it has modifiers.
623
859ea4b8
GM
6242001-08-21 Gerd Moellmann <gerd@gnu.org>
625
626 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
627 . BINDING) exists, where GENERIC-CHAR is the generic character of
628 the charset of IDX, return BINDING unless there exists a binding
629 for IDX itself.
630
e8660d73
GM
6312001-08-16 Gerd Moellmann <gerd@gnu.org>
632
cca1b1d7
GM
633 * xrdb.c (SYSV): Don't define on Solaris 2.
634 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
635
e8660d73 636 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 637 of the screen line, not text line, containing IT's current position.
e8660d73 638
93aba6fc
GM
6392001-08-15 Gerd Moellmann <gerd@gnu.org>
640
288d4e06
GM
641 * window.c (window_scroll_pixel_based): Don't recenter if
642 PT is partially visible in the window.
643
3452efc2
SM
644 * xterm.c (expose_window_tree, expose_window, expose_line):
645 Return 1 when overwriting mouse-face.
82f053ab
GM
646 (expose_frame): If mouse-face was overwritten, redo it.
647
93aba6fc
GM
648 * xfaces.c (x_update_menu_appearance): Don't call
649 set_frame_menubar, let the next redisplay do it.
650
858a55c1
AI
6512001-08-14 Andrew Innes <andrewi@gnu.org>
652
653 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
654 drawing glyph string.
655
3a990b67
EZ
6562001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
657
658 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
659 running HI-UX/MPP.
660
04386463
GM
6612001-08-14 Gerd Moellmann <gerd@gnu.org>
662
663 * xfaces.c (x_update_menu_appearance): Save and restore value of
664 interrupt_input_blocked.
665
3e6385a4
GM
6662001-08-13 Gerd Moellmann <gerd@gnu.org>
667
b0e619b4
GM
668 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
669 a line start, move back to the line start.
3452efc2 670
0de73d5a
GM
671 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
672 exactly when a mini-buffer is active.
673
3e6385a4
GM
674 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
675 in units of 1/8 character on non window-system frames.
676 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
677
d1b5f629
EZ
6782001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
679
680 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
681 a doc string.
682
eaa2319f
GM
6832001-08-09 Gerd Moellmann <gerd@gnu.org>
684
8e3189f0
GM
685 * keyboard.c (Vpre_help_message): New variable.
686 (syms_of_keyboard): Initialize and staticpro it.
687 (show_help_echo): Record current message before displaying a
688 help-echo, and restore that message when clearing the help.
689
eaa2319f
GM
690 * xfns.c (x_create_im): Remove prototype.
691
692 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
693
694 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 695
eaa2319f
GM
6962001-08-08 Gerd Moellmann <gerd@gnu.org>
697
698 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 699 windows whose height has changed, disable partially visible lines.
eaa2319f 700
17fdcfc8
GM
7012001-08-07 Gerd Moellmann <gerd@gnu.org>
702
22d01aed 703 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 704 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 705
17fdcfc8
GM
706 * xdisp.c (start_display): Don't try to determine the continuation
707 lines width if lines are truncated. It's superfluous and leads to
708 incorrect results if POS is not visible in the window after
709 reseating the iterator at the previous line start.
710
8e3fe78e
GM
7112001-08-06 Gerd Moellmann <gerd@gnu.org>
712
713 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
714
98a8938c
GM
7152001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
716
717 * alloc.c (init_stack): Remove declaration.
718
18f9986a
GM
7192001-08-03 Gerd Moellmann <gerd@gnu.org>
720
5e1f85e0
GM
721 * keyboard.c (read_key_sequence): Check that key is an integer
722 before comparing it with quit_char.
723 (add_command_key): Use larger_vector.
724 (read_char_x_menu_prompt): Instead of converting symbol and
725 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 726 which cannot be confused with valid events.
5e1f85e0
GM
727 (read_char): When reading from Vunread_command_events, check for
728 events of the form (EVENT . disabled) instead of
729 (EVENT . nil).
730
18f9986a
GM
731 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
732 a float, determine the max height from the frame's height.
733
fbc7f2a6
GM
7342001-08-02 Gerd Moellmann <gerd@gnu.org>
735
736 * xdisp.c (redisplay_internal): Take message_cleared_p into
737 account only if minibuf_level == 0.
738
81b1a79d
GM
7392001-08-01 Gerd Moellmann <gerd@gnu.org>
740
e5c60873
GM
741 * xdisp.c (redisplay_internal): Add a check for the last
742 displayed message.
3452efc2 743
6e019995
GM
744 * xdisp.c (message_cleared_p): New variable.
745 (clear_message): Set message_cleared_p when clearing the current
746 message.
747 (redisplay_internal): Look at message_cleared_p to capture
748 the case that the echo area should be cleared.
749
308a74d8
GM
750 * keyboard.c (command_loop_1): Fix spelling of
751 resize_echo_area_exactly.
752
3452efc2 753 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
754
755 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
756
81b1a79d
GM
757 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
758 current matrix when the window gets smaller.
759
ada329e6
EZ
7602001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
761
762 * print.c (strout): Cast the character passed to insert_char to
763 unsigned char, to avoid sign extension when it is promoted to int.
764
ed86208c
GM
7652001-07-31 Gerd Moellmann <gerd@gnu.org>
766
767 * fileio.c (Finsert_file_contents): Don't treat a return value
768 of 0 from emacs_read as an IO error.
769
6594ac22
GM
7702001-07-30 Gerd Moellmann <gerd@gnu.org>
771
cef68af5
GM
772 * keyboard.c (abs): New macro.
773 (double_click_fuzz): New variable.
774 (make_lispy_event): Use it to determine what makes a double-click.
775 (syms_of_keyboard): DEFVAR_INT it.
776
6594ac22
GM
777 * xmenu.c (set_frame_menubar): Take into account that
778 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
779 <raeburn@gnu.org>.
780
75c5350a
GM
7812001-07-27 Gerd Moellmann <gerd@gnu.org>
782
783 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
784
785 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
786 of row's visible height.
787
788 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
789 deal with the first overlay string having an image `display' property.
790 (try_window_reusing_current_matrix, compute_line_metrics):
791 Fix computation of row's visible height for the case that part of the
75c5350a
GM
792 row is invisible above and part of the row is at the same time
793 invisible below the window.
794
ac49effe
GM
7952001-07-26 Gerd Moellmann <gerd@gnu.org>
796
797 * xfns.c (x-show-tip): Doc fix.
3452efc2 798
ac49effe
GM
799 * xfns.c (Vx_max_tooltip_size): New variable.
800 (syms_of_xfns): DEFVAR_LISP it.
801 (Fx_show_tip): Set frame's window_width to the width of the
802 window. Use a maximum tooltip size specified by
803 Vx_max_tooltip_size, if that has valid contents.
804 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 805
8c3b00cb
AI
8062001-07-26 Andrew Innes <andrewi@gnu.org>
807
808 * w32term.c (x_display_list): New variable.
809 (w32_term_init): Set it.
810
811 * w32term.h (x_display_list): New extern.
812
16098288
GM
8132001-07-26 Gerd Moellmann <gerd@gnu.org>
814
815 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
816 is non-nil, instead of when redisplaying_p is non-zero.
817 See comment there.
16098288
GM
818 (mark_window_display_accurate_1): Add an assertion.
819
64c5be50
GM
8202001-07-25 Gerd Moellmann <gerd@gnu.org>
821
e743f599
GM
822 * dispextern.h (struct it): Increase size of ctl_chars to 16.
823
563b384d
GM
824 * xfns.c (Fx_file_dialog): Block/unblock input while processing
825 events so that we get a chance of processing expose events.
826
64c5be50
GM
827 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
828
296808a5
GM
8292001-07-24 Gerd Moellmann <gerd@gnu.org>
830
831 * xfns.c (valid_image_p): Protect better against invalid image
832 specifications. Previous code could signal an error.
833
5247262a
GM
8342001-07-23 Gerd Moellmann <gerd@gnu.org>
835
3452efc2 836 * indent.c (current_column): Fix column computation in the
f1004faf
GM
837 presence of display table entries.
838 (current_column_1, Fmove_to_column, compute_motion): Likewise.
839
dd42b31a
GM
840 * dispnew.c (adjust_glyph_matrix): In the optimization for
841 windows whose height has changed, use the new window height
842 to compute which rows to invalidate.
843
9e5a7f2a
GM
844 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
845 (MAX_10_EXP): New macro.
846 (Fformat): Use it.
847
5247262a
GM
848 * coding.c (code_convert_region): Handle the multibyte case if
849 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
850
177ab8ce
GM
8512001-07-20 Gerd Moellmann <gerd@gnu.org>
852
6e07c0a5
GM
853 * dispextern.h (struct face): Change type of `stipple' to
854 int; it's an ID.
855
177ab8ce
GM
856 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
857
b5b80599
GM
8582001-07-19 Gerd Moellmann <gerd@gnu.org>
859
4e2a256b
GM
860 * dispnew.c (update_window): Don't set the cursor at the end
861 of the update if display update has been paused.
862
3452efc2 863 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 864
c1fd9232
KR
8652001-07-18 Ken Raeburn <raeburn@gnu.org>
866
867 * fns.c (Fset_char_table_default): Check that a charset is defined
868 before checking its dimension.
869
928a85c1
KR
8702001-07-17 Ken Raeburn <raeburn@gnu.org>
871
872 * coding.c (setup_coding_system): Don't do any designation based
873 on reg_bits if charset is not yet defined.
874
fb4c6c96 875 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
876 pointer, using eassert.
877
de11c1ea
GM
8782001-07-17 Gerd Moellmann <gerd@gnu.org>
879
3452efc2
SM
880 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
881 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 882
467f1209
GM
8832001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
884
885 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
886
c3d6be34
GM
8872001-07-16 Gerd Moellmann <gerd@gnu.org>
888
c1d61a7d
GM
889 * fileio.c (unwind_read): Function removed.
890 (read_non_regular, read_non_regular_quit): New functions.
891 (Finsert_file_contents): When reading from non-regular files,
892 arrange to catch a `quit' and terminate the loop. Rearrange
893 code so that a `quit' when reading from a regular file doesn't
894 insert text in the buffer.
895
c3d6be34
GM
896 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
897 Clear faces afterwards.
898 (clear_font_table): Take a x_display_info parameter. Don't free
899 fonts being the default font of any frame on the given display.
900
e06aa1f9
GM
9012001-07-13 Gerd Moellmann <gerd@gnu.org>
902
903 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
904 instead of CHAR_STRING which can signal an error.
905
906 * charset.c (char_to_string_1): Extracted from char_to_string.
907 Return -1 instead of signaling an error.
908 (char_to_string): Use it.
909
910 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
911
176c92e6
SM
9122001-07-12 Stefan Monnier <monnier@cs.yale.edu>
913
914 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
915 is t, don't try to append anything to it.
916
1c56232f
EZ
9172001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
918
919 * dired.c (file_name_completion): Pass dp->d_name to
920 Fstring_match, not elt, which is always nil here.
921
1d2b2268
GM
9222001-07-12 Gerd Moellmann <gerd@gnu.org>
923
924 * xselect.c (x_decline_selection_request): Handle errors
925 caused by receivers that have vanished.
926
927 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
928 ignoring events on foreign windows in #if 0. Always dispatch
929 the event after checking it with x_handle_property_notify.
930
931 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
932 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
933 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
934 (toplevel): Add prototypes for file-local functions.
935 (x_atom_to_symbol): Remove DPYINFO parameter.
936
fe5a0162
SM
9372001-07-11 Stefan Monnier <monnier@cs.yale.edu>
938
939 * w32menu.c (menubar_selection_callback, w32_menu_show):
940 Initialize `entry' to nil.
941 (w32_dialog_show): Remove unused `save_wv' variable.
942 (name_is_separator): Recognize "--:foo" and "--foo-bar".
943
a777242c
GM
9442001-07-11 Gerd Moellmann <gerd@gnu.org>
945
8ee5b6a3
GM
946 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
947
d0e2444e
GM
948 * fileio.c (unwind_read): Print a message when discarding inserted
949 text or switching the buffer to unibyte. Change parameter.
950 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 951
a777242c
GM
952 * fileio.c (unwind_read): New function.
953 (Finsert_file_contents): Record it as unwind-function for
954 the case that reading is interrupted by C-g.
955
ae794295
GM
9562001-07-10 Gerd Moellmann <gerd@gnu.org>
957
fe5a0162 958 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
959 update when scrolling_window returns 0.
960
6b05fae3
GM
961 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
962
963 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 964 for the case that x_decode_color signals an error.
6b05fae3 965
ae794295
GM
966 * xdisp.c (add_to_log): Do nothing if called asynchronously.
967
bb6e8cee
GM
9682001-07-09 Gerd Moellmann <gerd@gnu.org>
969
970 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
971 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
972 around ioctls.
973
36b40a8a
EZ
9742001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
975
24b97d4b
EZ
976 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
977 doc string line for dos-timezone-offset.
978
36b40a8a
EZ
979 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
980 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
981 (syms_of_msdos): Add \n\ at the end of a line in the doc string
982 line for dos-unsupported-char-glyph.
36b40a8a
EZ
983
984 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
985
0967b4b0
GM
9862001-07-05 Gerd Moellmann <gerd@gnu.org>
987
f25cfe53
GM
988 * sound.c: Include Emacs' header files with #include "...".
989
0967b4b0
GM
990 * eval.c (specbind): Additionally record the buffer that was
991 current when a buffer-local or frame-local variable was bound.
992
c347a1c3
GM
9932001-07-04 Gerd Moellmann <gerd@gnu.org>
994
995 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
996 to unibyte characters in unibyte buffers.
997
6332ca8a
GM
9982001-07-03 Gerd Moellmann <gerd@gnu.org>
999
38472d44
GM
1000 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1001 the frame on the binding stack. Change format of entries for
1002 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1003 (unbind_to): Handle unbinding a frame-local variable.
1004
6332ca8a 1005 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1006 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1007 (dump_glyph_row): Print row's continuation_lines_width.
1008 (try_window_id): Take the shortcut if ZV is visible in the
1009 window, but there are actually no changes at ZV.
1010
63d1b174
GM
10112001-07-02 Gerd Moellmann <gerd@gnu.org>
1012
4c175203
GM
1013 * xterm.h (x_free_dpy_colors): Add prototype.
1014
1015 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1016 right number of arguments.
1017
0b54ce28
GM
1018 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1019 ($(lwlibdir)TAGS): New target.
4c175203 1020 (TAGS): Fix dependency list.
0b54ce28 1021
63d1b174
GM
1022 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1023 with input blocked.
1024
d827466c
GM
10252001-06-30 Gerd Moellmann <gerd@gnu.org>
1026
1027 * emacs.c (main): Remove extern declaration for sys_nerr, which
1028 isn't used and causes a compilation error with GCC 3.0 on
1029 FreeBSD 4.3.
1030
b5cb1ada
GM
10312001-06-27 Gerd Moellmann <gerd@gnu.org>
1032
a5d3ec3f 1033 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1034 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1035 (toplevel): Include <signal.h> and syssignal.h.
1036
b5cb1ada
GM
1037 * sound.c (vox_configure, vox_close): Turn off atimers
1038 around ioctls.
1039
d9bad487
GM
10402001-06-26 Gerd Moellmann <gerd@gnu.org>
1041
fdbb67fe
GM
1042 * keyboard.c (read_char) <non_reread>: Record the previous idle
1043 start time before calling timer_stop_idle.
1044 (read_char) <reread_first>: After processing a help-echo event,
1045 restore the previous idle start time.
1046
d9bad487
GM
1047 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1048 the start of invisible text.
1049 (setup_for_ellipsis): New function.
1050 (next_overlay_string): After all overlay strings have been
1051 processed, display an ellipsis if necessary.
1052 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1053 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1054
1055 * dispextern.h (struct iterator_stack_entry): Add member
1056 display_ellipsis_p.
1057
2b9c25e0
GM
10582001-06-25 Gerd Moellmann <gerd@gnu.org>
1059
80de57df
GM
1060 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1061 on the value of the wait-for-wm frame parameter.
1062
1063 * xterm.h (struct x_output): Add member wait_for_wm.
1064
1065 * xfns.c (Qwait_for_wm): New variable.
1066 (x_frame_parms): Add entry for `wait-for-wm".
1067 (x_set_wait_for_wm): New function.
1068 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1069 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1070
2b9c25e0
GM
1071 * xdisp.c (try_window_id) <all changes below window end>: Don't
1072 take this shortcut if ZV is visible in the window.
1073 (try_window_id): When checking for window start being in changed
1074 text, don't check that the buffer's size has changed.
1075
f772775c
RS
10762001-06-23 Richard M. Stallman <rms@gnu.org>
1077
1078 * minibuf.c (Fcompleting_read): Doc fix.
1079
fa9090b8
GM
10802001-06-19 Gerd Moellmann <gerd@gnu.org>
1081
1082 * composite.c (Ffind_composition_internal): Accept ZV
1083 and a string's end position as POS.
1084
f6f1beba
GM
10852001-06-18 Gerd Moellmann <gerd@gnu.org>
1086
1087 * composite.c (Ffind_composition_internal): Check POS
1088 for validity.
1089
0ae83348
EZ
10902001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1091
1092 * editfns.c (Fmessage_box): If the frame is not under a window
1093 system, output the message in the echo area.
1094
e4cdc335
RS
10952001-06-14 Richard M. Stallman <rms@gnu.org>
1096
1097 * xdisp.c (try_window_id): When EOB is visible, don't treat
1098 insertion at EOB as if it were "off the bottom of the screen."
1099
a55a5f3c
AI
11002001-06-11 Andrew Innes <andrewi@gnu.org>
1101
1102 * w32proc.c (create_child): Add new parameter is_gui_app.
1103 (w32_executable_type): Add new parameter is_gui_app.
1104 (sys_spawnve): Use it.
1105 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1106 SIGQUIT. This matches better how the signals are interpreted by
1107 MSVC compiled programs.
1108 (syms_of_ntproc): Update docstring.
1109
1b85dc1c
SM
11102001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1111
1112 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1113 well otherwise note_mouse_highlight might optimize away highlighting
1114 if we pass over that same overlay again.
1115
b75f8eab
EZ
11162001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1117
1118 * lread.c (Fload): Document that the argument is run via
1119 substitute-in-file-name.
1120
94843cc1
GM
11212001-05-31 Gerd Moellmann <gerd@gnu.org>
1122
b14659e6
GM
1123 * Makefile.in (bootstrap-doc): New target.
1124 (bootstrap-emacs): Depend on it.
1125
0894672f
GM
1126 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1127 auto-save-list-file-name when shutting down Emacs, because
1128 creating the directory might signal an error, and leaves
1129 Emacs in a strange state.
1130
94843cc1
GM
1131 * term.c: (tty_cursor_hidden): New variable.
1132 (update_begin): Don't call tty_hide_cursor. Clean up.
1133 (update_end, set_terminal_window, set_scroll_region): Clean up.
1134 (ring_bell, reset_terminal_modes): Clean up.
1135 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1136 on tty_cursor_hidden.
1137 (write_glyphs): Call tty_hide_cursor.
1138
db3a49a6
SM
11392001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1140
1141 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1142
8bd189fb
GM
11432001-05-30 Gerd Moellmann <gerd@gnu.org>
1144
6f1be3b9
GM
1145 * xfns.c (enum image_value_type): New enumerator
1146 IMAGE_STRING_OR_NIL_VALUE.
1147 (parse_image_spec): Handle it.
1148 (xbm_format, pbm_format): Use it for :foreground and :background.
1149 (xbm_load, pbm_load): Check for nil color names.
1150
8bd189fb
GM
1151 * xterm.c (note_mouse_highlight): If an overlapping overlay
1152 exists, but we find that we highlight the same overlay as before,
1153 don't do the highlighting again.
1154
7bdba03c
GM
11552001-05-29 Gerd Moellmann <gerd@gnu.org>
1156
4c329aa8
GM
1157 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1158 Protect unibyte strings created by replacing their multibyte
1159 equivalents in menu_items.
1160
e15e2828
GM
1161 * keymap.c (Fsingle_key_description): NUL-terminate the string
1162 buffer before calling build_string.
1163
7bdba03c
GM
1164 * callproc.c (Fcall_process): Deal with decode_coding returning
1165 CODING_FINISH_INCONSISTENT_EOL.
1166
89c8dc6c
GM
11672001-05-28 Gerd Moellmann <gerd@gnu.org>
1168
db3a49a6 1169 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1170 an item's name with its key description in case the description
1171 is a multibyte string.
1172
1173 * keymap.c (Fsingle_key_description): Create a multibyte string
1174 only if necessary.
1175
eb04d6cd
GM
1176 * macros.c (Fstart_kbd_macro): Doc fix.
1177
8bd6307f
GM
1178 * xterm.c (cursor_in_mouse_face_p): New function.
1179 (x_draw_stretch_glyph_string): Use it to choose a different GC
1180 when drawing a cursor within highlighted text.
1181
e26c4089
GM
1182 * editfns.c (char_property_eq): Put in #if 0.
1183
1184 * indent.c (string_display_width): Put in #if 0.
1185
1186 * lread.c (Fload): Remove unused label.
1187
89c8dc6c
GM
1188 * termcap.c (speeds): Put in #if 0.
1189
9a1211f2
GM
11902001-05-18 Gerd Moellmann <gerd@gnu.org>
1191
29148a3f
GM
1192 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1193
9a1211f2
GM
1194 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1195 transformation matrix by 10.
1196
09393d07
GM
11972001-05-16 Gerd Moellmann <gerd@gnu.org>
1198
1199 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1200 only if it's equal to the former foreground pixel color.
db3a49a6 1201 (x_set_foreground_color, x_set_background_color)
09393d07
GM
1202 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1203
460e6bae
GM
12042001-05-16 Dave Love <fx@gnu.org>
1205
1206 * insdel.c (signal_before_change, signal_after_change): Consider a
1207 local change hook which changes the buffer.
99c78ce8
GM
1208
1209 * process.c (read_process_output): Don't call signal_after_change
1210 and update_compositions after insert_from_string_before_markers.
1211
dbcf3c03
GM
12122001-05-16 Gerd Moellmann <gerd@gnu.org>
1213
a90b3d3c
GM
1214 * xfaces.c (split_font_name): Use the right field when
1215 checking for `[...]' syntax.
1216
1b7818b4
GM
1217 * buffer.c (copy_overlays): New function.
1218 (clone_per_buffer_values): Use it.
1219
1220 * buffer.h (OVERLAY_PLIST): New macro.
1221
9bae8781
GM
1222 * keymap.c (Fsingle_key_description): Replace a build_string with
1223 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1224
dbcf3c03
GM
1225 * fontset.c (Ffontset_info): Check that face is non-null
1226 before accessing its fields.
1227
8a1ae4dd
GM
12282001-05-15 Gerd Moellmann <gerd@gnu.org>
1229
18a0a39e
GM
1230 * keyboard.c (read_key_sequence): Prevent generating a fake
1231 prefix key twice.
1232
e335b66a
GM
1233 * xfaces.c (split_font_name): Handle `[...]' for the right
1234 font name fields.
1235
8a1ae4dd
GM
1236 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1237 of CCL_STAT_INVALID_CMD.
1238
3cf80731
SM
12392001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1240
33568849
SM
1241 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1242 in <var> has no default value yet.
1243
3cf80731
SM
1244 * xfaces.c (try_alternative_families): First try the FAMILY.
1245 And if nothing is found in the end, try again with scalable fonts.
1246 (try_font_list): Let try_alternative_families do a bit more of
1247 the work. Only use FAMILY if it is not nil.
1248 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1249
933b0249
GM
12502001-05-14 Gerd Moellmann <gerd@gnu.org>
1251
58e5af83
GM
1252 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1253 pointer shape when show_mouse_face has already done it.
33568849 1254
58e5af83 1255 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1256 full-width rows.
1257
7b16a6bf
GM
1258 * xfaces.c (split_font_name): Make sure to leave the loop
1259 with the right value of `i'.
3cf80731 1260
933b0249
GM
1261 * xfaces.c (split_font_name): Handle matrix transformations
1262 in the pixel and point size fields of XLFD font names.
1263 (xlfd_point_size): Likewise.
1264
dddcbf00
EZ
12652001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1266
3cf80731 1267 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1268 (x_to_w32_font): Add prototype.
1269
7689ef0b
EZ
1270 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1271 redefining, to avoid compiler warnings.
1272
e7c15bba
EZ
1273 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1274
dddcbf00
EZ
1275 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1276 (w32_get_bdf_glyph): Cast between unsigned char and char when
1277 passing arguments to subroutines, to shut up compiler warnings.
1278 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1279 GET_HEX_VAL.
1280
1281 * xfaces.c: Include keyboard.h before frame.h, not after it.
1282
1283 * widget.c: Include keyboard.h before frame.h.
1284
1285 * w32term.h (struct image, struct face): Forward declaration, to
1286 avoid compiler warnings.
1287
7bd2d083
GM
12882001-05-11 Gerd Moellmann <gerd@gnu.org>
1289
47e72862
GM
1290 * keyboard.c (read_key_sequence): Don't modify events when
1291 generating fake prefix keys (mode-line, scroll-bar, ...) since
1292 this prevents proper processing of such events when pushed back
1293 into unread-command-events.
1294
dd5f324b
GM
1295 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1296 actually redrawn. Make the function static.
1297 (note_mouse_highlight): Fix a case where the mouse cursor
1298 was changed back to the text cursor.
1299
1300 * xterm.h (clear_mouse_face): Remove prototype.
1301
d88a79d4
GM
1302 * xdisp.c (try_window_id): Fix the fix and set the right
1303 window_end_vpos.
1304
1305 * xdisp.c (try_window_id): Fix computation of window end in the
1306 case that lines were deleted at the end of the window. Add some
1307 more debug_method_adds.
0416532f 1308
7bd2d083
GM
1309 * xfaces.c (try_alternative_families): New function.
1310 (try_font_list): Use it. If ATTRS specifies a family, check
1311 fonts from that family first.
1312 (choose_face_font): Remove code setting the family part of
1313 the pattern to nil.
1314
23fca891
GM
13152001-05-10 Gerd Moellmann <gerd@gnu.org>
1316
ff9aa2ca
GM
1317 * xdisp.c (try_window_id): Fix case of all changes before
1318 the window start.
7b2654b5 1319
23fca891
GM
1320 * xdisp.c (try_window_id): Add some xasserts.
1321
e9726794
GM
13222001-05-09 Gerd Moellmann <gerd@gnu.org>
1323
1324 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1325
9e53a675
GM
13262001-05-09 Dave Love <fx@gnu.org>
1327
1328 * xdisp.c (GIVE_UP): Fix for K&R C.
1329
0d487c52
GM
13302001-05-09 Gerd Moellmann <gerd@gnu.org>
1331
fe88d421
GM
1332 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1333
0d487c52
GM
1334 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1335 back to the text cursor shape without need.
1336
1e9fc92e
GM
13372001-05-07 Gerd Moellmann <gerd@gnu.org>
1338
a2a6232e
GM
1339 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1340
1341 * dispextern.h (inverse_video): Declare extern.
1342
1e9fc92e
GM
1343 * keyboard.c (delete_kboard): Handle the case that selected_frame
1344 has been deleted in the course of x_connection_closed.
1345
12949a7f
EZ
13462001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1347
7b2654b5
SM
1348 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1349 Fix the change from 2001-04-30.
12949a7f 1350
2fa2f461
GM
13512001-05-03 Gerd Moellmann <gerd@gnu.org>
1352
a779d213
GM
1353 * xfns.c (file_dialog_unmap_cb): New function.
1354 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1355 where a dialog is closed via the window manager.
1356
7b2654b5 1357 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1358 the window start or all below the window end mostly rewritten.
1359 (redisplay_window): Move the tests if try_window_id is
1360 applicable to try_window_id.
1361 (GIVE_UP): New macro.
1362
3356df63
GM
13632001-05-02 Gerd Moellmann <gerd@gnu.org>
1364
a39202f6 1365 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1366 currently being updated, mark the frame garbaged.
1367 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1368 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1369
3356df63
GM
1370 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1371 again if it has already been drawn.
1372
a9d2fd1d
SM
13732001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1374
1375 * syntax.c (update_syntax_table): Check that oldi has the same
1376 properties as old_prop before deciding not to invalidate.
1377
c95fc5f1
GM
13782001-04-30 Gerd Moellmann <gerd@gnu.org>
1379
a9793e45
GM
1380 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1381 read-only text that is so because of text properties.
1382
c95fc5f1 1383 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1384 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1385 windows that are components of a Lucid menu bar.
1386
5a5d9185
GM
13872001-04-27 Gerd Moellmann <gerd@gnu.org>
1388
1389 * term.c (turn_on_face): Fix reverse video handling on terminals
1390 that don't support colors.
1391
ba973f7a
GM
13922001-04-26 Gerd Moellmann <gerd@gnu.org>
1393
1394 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1395 a non-buffer.
1396
8c56a983
GM
13972001-04-25 Gerd Moellmann <gerd@gnu.org>
1398
a728644c
GM
1399 * term.c (toggle_highlight): New function.
1400 (turn_on_face): Change handling of reverse video.
1401
7b2654b5
SM
1402 * process.c (wait_reading_process_input):
1403 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1404
bfd8410f
GM
1405 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1406 of the number of overlays to check.
1407
be2488ca
GM
1408 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1409
8c56a983
GM
1410 * xdisp.c (try_window_id): Fix a case where window_end_pos
1411 and window_end_bytepos were not adjusted.
1412
522d42f7
GM
14132001-04-23 Gerd Moellmann <gerd@gnu.org>
1414
1415 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1416 zero instead of -1.
1417
78c1afb6
EZ
14182001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1419
a9d2fd1d
SM
1420 * process.c (wait_reading_process_input) [!subprocesses]:
1421 Don't reference waiting_for_user_input_p, it's not defined in the
1422 branch without async subprocesses support.
78c1afb6 1423
a2fab450
GM
14242001-04-19 Gerd Moellmann <gerd@gnu.org>
1425
a122a38e
GM
1426 * keyboard.c (delete_kboard): Prevent a dangling reference
1427 from current_kboard to KB, which is freed.
1428
a9d2fd1d
SM
1429 * process.c (wait_reading_process_input):
1430 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1431 read_key_sequence aware of buffer changes from under it.
1432
0f8d6dc7
GM
14332001-04-18 Gerd Moellmann <gerd@gnu.org>
1434
eeffb293
GM
1435 * xfaces.c (Qscalable_fonts_allowed): New variable.
1436 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1437 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1438 removed.
eeffb293 1439 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1440 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1441 for scalable-fonts-allowed to t.
eeffb293 1442
0f8d6dc7
GM
1443 * fileio.c (Finsert_file_contents): If the file size returned from
1444 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1445 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1446
eec2d1de
EZ
14472001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1448
1449 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1450 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1451 (__memalign_hook): Make the two prototypes consistent.
1452
f4f480bd
GM
14532001-04-17 Gerd Moellmann <gerd@gnu.org>
1454
1455 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1456 matrix of mini-windows.
1457
52283633
SM
14582001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1459
1460 * intervals.c (find_interval): Don't rebalance during signal handling.
1461
ec2423c9
GM
14622001-04-11 Gerd Moellmann <gerd@gnu.org>
1463
30cb0001 1464 * fns.c: Include blockinput.h.
52283633 1465
ec2423c9
GM
1466 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1467
719d83ad
GM
14682001-04-10 Gerd Moellmann <gerd@gnu.org>
1469
60f8d735
GM
1470 * fns.c (Fcompare_strings): Fix return values.
1471
afffeb57
GM
1472 * window.c (window_scroll): Change the meaning of N to mean
1473 N screen-fulls or N lines.
1474 (window_scroll_pixel_based, window_scroll_line_based)
1475 (scroll_command, Fscroll_other_window): Change accordingly.
1476
52283633
SM
1477 * window.c (window_scroll_pixel_based, Frecenter):
1478 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1479 height of the window.
1480
1481 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1482 instead of using it.last_visible_y for the height of the window.
52283633 1483
719d83ad 1484 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1485 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1486
1487 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1488 able to write to hidden and system files. From Dan Holmsand
1489 <dan@eyebee.com>.
719d83ad 1490
8ddf3ee1
GM
1491 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1492 Holmsand <dan@eyebee.com>.
719d83ad 1493
522ed7fb
GM
14942001-04-09 Gerd Moellmann <gerd@gnu.org>
1495
9170e5d4
GM
1496 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1497
522ed7fb
GM
1498 * window.c (window_internal_height): Return 1 less if the
1499 window has a header line.
1500
1501 * xdisp.c (try_window_id): When scrolling on a terminal, take
1502 the change of window_internal_height into account.
1503
ceeb3d7d
EZ
15042001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1505
1506 * gmalloc.c (align): If the argument SIZE would overflow
1507 __malloc_ptrdiff_t, fail right away.
1508
63685b9d
GM
15092001-04-06 Gerd Moellmann <gerd@gnu.org>
1510
1511 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1512 Make sure the tooltip is completely visible.
1513 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1514
1515 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1516
1517 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1518
3ffb33bb
DL
15192001-04-06 Dave Love <fx@gnu.org>
1520
52283633
SM
1521 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1522 Fix test of `from'.
3ffb33bb 1523
869fb12c
GM
15242001-04-06 Gerd Moellmann <gerd@gnu.org>
1525
52283633 1526 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1527
869fb12c
GM
1528 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1529
441bf856
GM
15302001-04-05 Gerd Moellmann <gerd@gnu.org>
1531
4d664b04
GM
1532 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1533
52283633 1534 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1535
30ca89f5
GM
1536 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1537 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1538
1539 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1540 shell widget's position only if it is non-null.
1541
52283633
SM
1542 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1543 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1544
81a81c0f
GM
1545 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1546 FILENAME to bring it in synch with the documentation.
1547
441bf856
GM
1548 * xfaces.c (realizing_basic_faces_p): Renamed from
1549 realize_default_face_p.
1550 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1551 (realize_default_face): Don't set the flag.
1552
702a1e8e
GM
15532001-04-04 Gerd Moellmann <gerd@gnu.org>
1554
1013f4e3
GM
1555 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1556
52283633
SM
1557 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1558
1013f4e3
GM
1559 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1560 the buffer that was used for echoing.
1561
702a1e8e
GM
1562 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1563 (first_font_matching): Removed unused function.
1564 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1565 (may_use_scalable_font_p): Remove parameter FONT; rename
1566 parameter NAME to FONT.
1567 (x_face_list_fonts): Fix missing bounds check.
1568 (realizing_default_face_p): New variable.
1569 (realize_default_face): Set and clear that flag.
1570 (x_face_list_fonts): When called during the realization of the
1571 default face, and no matching fonts are found when ignoring
1572 scalable fonts and fonts matching a regexp from
1573 face-ignored-fonts, try without ignoring fonts.
1574
f9dbcda4
GM
15752001-04-03 Gerd Moellmann <gerd@gnu.org>
1576
ad18ffb1
GM
1577 * xfns.c (postprocess_image): New function.
1578 (lookup_image): Call it for all image types except PostScript.
1579 (x_kill_gs_process): Call postprocess_image.
1580
f9dbcda4
GM
1581 * xterm.c (x_use_underline_position_properties): New variable.
1582 (x_draw_glyph_string): Use it.
1583 (syms_of_xterm): DEFVAR_BOOL it.
1584
651f03b6
GM
15852001-04-02 Gerd Moellmann <gerd@gnu.org>
1586
1587 * xterm.c (x_alloc_nearest_color_1): New function.
1588 (x_alloc_nearest_color): Use it.
1589 (x_color_cells): Take a Display as argument, instead of a frame.
1590 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1591 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1592 (x_initialize): Register cvt_string_to_pixel as resource converter
1593 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1594
73d75a62
GM
15952001-03-30 Gerd Moellmann <gerd@gnu.org>
1596
b2046df8
GM
1597 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1598 (set_iterator_to_next): If a string from a display property ends,
1599 consider the case that this might also be the end of an
1600 overlay string having the display property.
1601
52283633 1602 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1603
87d8eba4
GM
1604 * xdisp.c (reseat_to_string): Undo last change.
1605
73d75a62
GM
1606 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1607 matrix of a window when the header line changes, when
1608 new rows are allocated, or when the width changes.
1609
911a2406
EZ
16102001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1611
52283633 1612 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1613
aea51abe
EZ
16142001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1615
1616 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1617 deprecated.
1618
176bc847
GM
16192001-03-29 Gerd Moellmann <gerd@gnu.org>
1620
ed31fabf
GM
1621 * data.c (Fsubr_interactive_form): New function.
1622 (syms_of_data): Defsubr it.
1623
176bc847
GM
1624 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1625 (live_float_p, live_misc_p): Return 1 only if the offset of the
1626 pointer in its block is >= 0.
1627
e59d0e9d
GM
16282001-03-28 Paul Eggert <eggert@twinsun.com>
1629
1630 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1631 microseconds calcuation. Avoid double-rounding problem.
1632 In doc string, warn that the result is approximate.
1633
f827b862
GM
16342001-03-28 Gerd Moellmann <gerd@gnu.org>
1635
30a3f61c
GM
1636 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1637 bind `inhibit-eval-during-redisplay' to t.
1638
1639 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1640
1641 * xdisp.c (inhibit_eval_during_redisplay)
1642 (Qinhibit_eval_during_redisplay): New variables.
1643 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1644 don't eval, return nil instead.
1645 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1646 Initialize Qinhibit_eval_during_redisplay.
1647
e719f5ae
GM
1648 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1649 the iterator's multibyte_p flag.
1650
deb2613a
GM
1651 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1652 instead of setting it to zero; it's incremented for each frame
1653 where the menu face is changed.
1654
52283633
SM
1655 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1656 change bottom shadow accordingly.
1657
1658 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1659 intersections here.
1660 (expose_window): Do it here instead.
52283633 1661 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1662
f827b862
GM
1663 * bytecode.c (BYTE_CODE_QUIT): New macro.
1664 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1665
4bde0ebb
GM
16662001-03-27 Gerd Moellmann <gerd@gnu.org>
1667
607ec83c
GM
1668 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1669 Give up if matrix starts in an ellipsis.
1670 (init_from_display_pos): Do nothing if POS doesn't specify
1671 a dpvec_index but the iterator has such a position.
1672
0245398f
GM
1673 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1674
aba25348
GM
1675 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1676 x/y position is (0, 0) after destroying the menu bar, restore
1677 its original position.
1678
4bde0ebb
GM
1679 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1680 (init_from_display_pos): Use it.
1681 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1682
8cdb267e
GM
16832001-03-26 Gerd Moellmann <gerd@gnu.org>
1684
1685 * xdisp.c (try_window_id): Undo last change.
1686
9948db79
EZ
16872001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1688
1689 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1690
1691 * buffer.c (syms_of_buffer): Doc fix.
1692
2eddf899
GM
16932001-03-26 Gerd Moellmann <gerd@gnu.org>
1694
1695 * xfaces.c (x_update_menu_appearance): Use local variable
1696 popup_path for setting font resources.
1697
6c145d35
EZ
16982001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1699
6a65b1b5
EZ
1700 * frame.c (Fframe_list): Don't reference tip_frame if
1701 HAVE_WINDOW_SYSTEM is not defined.
1702
6c145d35
EZ
1703 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1704 <wl@gnu.org>.
1705
d74c1900
GM
17062001-03-25 Gerd Moellmann <gerd@gnu.org>
1707
20fbd925
GM
1708 * xdisp.c (init_from_display_pos): Test invisible property
1709 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1710
927c5b3b
GM
1711 * xdisp.c (redisplay_internal) <update one window>: Make sure
1712 last_arrow_position and last_arrow_string are set.
1713
d74c1900
GM
1714 * frame.c (Fframe_list): Don't return a tooltip frame.
1715
091f8878
GM
17162001-03-23 Gerd Moellmann <gerd@gnu.org>
1717
52283633
SM
1718 * xdisp.c (mark_window_display_accurate_1): New function,
1719 extracted from mark_window_display_accurate.
1720 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1721 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1722 (mark_window_display_accurate): Use it.
1723 (redisplay_internal): Use it for the selected window.
1724 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1725 for the selected frame.
1726
ac90c44f
GM
1727 * xdisp.c Use make_number, for readability.
1728 (try_window_id): Disable rows below the window end.
1729 (try_window_reusing_current_matrix): Use cursor_row_p.
1730 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1731 of rows.
1732 (init_from_display_pos): If POS specifies a position in a display
1733 vector, maybe get the iterator set up for that ellipsis.
43c09969 1734
091f8878
GM
1735 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1736
991786dd
EZ
17372001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1738
1739 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1740
6c29b43c
GM
17412001-03-23 Gerd Moellmann <gerd@gnu.org>
1742
1743 * xfaces.c (x_update_menu_appearance): Use a different path
1744 for Lucid popup menus.
1745
d8731202
SM
17462001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1747
1748 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1749
1750 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1751 (string_buffer_position): Use `make_number'.
1752
f61a541b
GM
17532001-03-22 Gerd Moellmann <gerd@gnu.org>
1754
3c9e997b
GM
1755 * xfaces.c (x_update_menu_appearance): Renamed from
1756 x_set_menu_face_resources. Use different resources for popups.
1757
1758 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1759 (GC_CHECK_STRING_BYTES): Don't define.
1760
364cd450
GM
1761 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1762 Removed, together with subroutines.
1763 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1764 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1765
d8731202
SM
1766 * dispextern.h (x_set_menu_resources_from_menu_face):
1767 Remove prototype.
364cd450 1768
d8731202 1769 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1770 Remove calls to x_set_menu_resources_from_menu_face.
1771
d8731202
SM
1772 * xfaces.c (xm_set_menu_resources_from_menu_face):
1773 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1774
1775 * xmenu.c: Include widget.h.
1776 (single_submenu): Return int. Some cleanup.
1777 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1778
140330de
GM
17792001-03-21 Gerd Moellmann <gerd@gnu.org>
1780
1781 * xterm.c (x_update_window_end): Handle overwritten mouse face
1782 also for tool bar windows.
1783 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1784 DRAW is DRAW_IMAGE_RAISED.
1785
1741905c
GM
17862001-03-20 Gerd Moellmann <gerd@gnu.org>
1787
fa88947e
GM
1788 * print.c (syms_of_print): Doc fixes.
1789
1741905c
GM
1790 * fns.c (Fmd5): Doc fix.
1791
ade0bee1
GM
17922001-03-19 Gerd Moellmann <gerd@gnu.org>
1793
357e7376
GM
1794 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1795 Clear area of the frame not occupied by the scroll bar.
1796
c2c097cc
GM
1797 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1798 tip frame's root window buffer to *tip* right after creating
1799 the frame.
1800
ade0bee1
GM
1801 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1802 is an integer don't have to be for space characters.
1803
88c6e37e
GM
18042001-03-16 Gerd Moellmann <gerd@gnu.org>
1805
52283633
SM
1806 * indent.c (current_column, current_column_1, Fmove_to_column)
1807 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1808
c62eed76
KH
18092001-03-15 Kenichi Handa <handa@etl.go.jp>
1810
1811 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1812 drawing glyph string.
1813
c899e7e6
GM
18142001-03-15 Gerd Moellmann <gerd@gnu.org>
1815
d0bbfc99
GM
1816 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1817 (command_loop_1): Undo last change.
1818
03d1a189
GM
1819 * xterm.c (fast_find_position): Return the correct vpos.
1820
c899e7e6 1821 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1822 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1823 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1824 Call store_symval_forwarding with BUF null.
1825 (set_internal): Call store_symval_forwarding with the BUF
1826 parameter passed to set_internal. Formerly, the value was always
1827 set in the current buffer; the buffer recorded in specbind for
1828 this case wasn't used.
1829 (arith_driver): Reindent.
1830
52283633
SM
1831 * buffer.c (swap_out_buffer_local_variables):
1832 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1833
1834 * lisp.h (store_symval_forwarding): Change prototype.
1835
1836 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1837
57ac7c81
GM
18382001-03-14 Gerd Moellmann <gerd@gnu.org>
1839
697617d9
GM
1840 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1841 FOR_DELETION. Avoid resizing the mini-window of the selected
1842 frame if FOR_DELETION is set.
1843 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1844 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1845 signature.
1846
1847 * window.c (Fset_window_configuration): Change call to
1848 do_switch_frame to new format.
1849
1850 * keyboard.c (quit_throw_to_read_char): Change call to
1851 do_switch_frame to new format.
1852
1853 * lisp.h (do_switch_frame): Change prototype.
1854
819dce0f
GM
1855 * frame.c (Fframe_parameters): In the `buffer-list' frame
1856 parameter, store the buffer list of FRAME, not the list of the
1857 selected frame.
1858
57ac7c81
GM
1859 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1860 box just because the glyph row's full_width_p flag is set.
1861
65008712
GM
18622001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1863
1864 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1865 skip the padding blanks inserted in extend_face_to_end_of_line,
1866 before checking for trailing whitespace.
1867
159cf431
GM
18682001-03-13 Gerd Moellmann <gerd@gnu.org>
1869
52283633 1870 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1871 Remove special handling for LessTif/Motif.
1872 (toplevel): Don't include Xm/Xm.h.
1873
52283633
SM
1874 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1875 Remove workaround code for LessTif; it doesn't work anymore.
1876
2564ea1b 1877 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1878 Xm/ScrollBarP.h.
afcdc0a1 1879
52283633
SM
1880 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1881 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1882 contemporary LessTif.
1883
52283633
SM
1884 * xfaces.c (xm_set_menu_resources_from_menu_face):
1885 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1886
159cf431
GM
1887 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1888 removing button grabs.
1889
c6f7429a
KH
18902001-03-13 Kenichi Handa <handa@etl.go.jp>
1891
cb82d767
KH
1892 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1893 and clip-large-size-font as obsolete.
1894
c6f7429a
KH
1895 * lread.c (read_multibyte): Check the validity of multibyte
1896 sequence. If invalid, return the first byte.
1897
760cefb5
GM
18982001-03-12 Gerd Moellmann <gerd@gnu.org>
1899
1900 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1901 before running the command; timer functions or process
1902 filters may have set it.
1903
5141f9d0
EZ
19042001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1905
1906 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1907 Doc fix.
1908
b6a15240
GM
19092001-03-12 Gerd Moellmann <gerd@gnu.org>
1910
1911 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1912 to sprintf.
1913
95522746
GM
19142001-03-09 Gerd Moellmann <gerd@gnu.org>
1915
db14cfc5
GM
1916 * dispextern.h (string_buffer_position): Add prototype.
1917
52283633 1918 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1919 (single_display_prop_string_p): New functions.
1920
1921 * xterm.c (note_mouse_highlight): If there's no help-echo on
1922 a string, look at the buffer text ``under'' it.
1923
1924 * keyboard.c (make_lispy_event): Add string info to the event,
1925 analogous to what's done on mode lines.
1926 (read_key_sequence): For a click on a string, consider `local-map'
1927 and `keymap' of that string.
1928
52283633
SM
1929 * keyboard.c (make_lispy_event, make_lispy_movement):
1930 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1931
1932 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1933
1934 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1935 POS; return void.
1936
95522746
GM
1937 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1938 flags argument to emacs_open; it seems to conflict with O_EXCL.
1939
898a399d
KH
19402001-03-09 Kenichi Handa <handa@etl.go.jp>
1941
28cd4910
KH
1942 * composite.h (struct composition): Change types of members;
1943 glyph_len to unsigned, width to unsigned short.
898a399d 1944
4cdf6a6c
AI
19452001-03-08 Andrew Innes <andrewi@gnu.org>
1946
1947 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1948 menu titles.
1949
129004d3
GM
19502001-03-08 Gerd Moellmann <gerd@gnu.org>
1951
221dd3e7
GM
1952 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1953 instead of nil.
1954
52283633 1955 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1956 help-echo in strings.
1957 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1958 (fast_find_string_pos): New function.
1959
52283633
SM
1960 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1961 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1962
1963 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1964 Handle `mouse-face'.
1965
1966 * dispextern.h (face_at_string_position): Change prototype.
1967
52283633 1968 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1969
129004d3
GM
1970 * keyboard.c (make_lispy_event): Avoid generating drag events
1971 if the mouse hasn't actually moved to another buffer position.
52283633 1972
80c8ab8c
DL
19732001-03-08 Dave Love <fx@gnu.org>
1974
129004d3 1975 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1976
989521fd
GM
19772001-03-08 Gerd Moellmann <gerd@gnu.org>
1978
1979 * process.c (Fset_process_window_size): Fix a typo.
1980
bb5c338d
KH
19812001-03-08 Kenichi Handa <handa@etl.go.jp>
1982
1983 * coding.c (detect_coding_sjis): Do more rigid check.
1984 (detect_coding_big5): Likewise.
1985 (decode_coding_sjis_big5): Likewise.
1986 (Fdetect_coding_region): Call detect_coding_system with tailing
1987 anchor byte `\0' for more rigid detection.
52283633 1988 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
1989 (Fdetect_coding_string): Likewise.
1990
8b8f9197
SM
19912001-03-07 Stefan Monnier <monnier@cs.yale.edu>
1992
1993 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
1994 a string before extracting its data.
1995
3bdf2660
GM
19962001-03-07 Gerd Moellmann <gerd@gnu.org>
1997
1998 * window.c (Frecenter): Rewrite code handling negative values
1999 of ARG on graphical frames.
2000
20012001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2002
2003 * window.c (displayed_window_lines): If W->start is outside the
2004 accessible portion of the buffer, call start_display with BEGV or
2005 ZV instead of W->start.
2006
471f86b9
GM
20072001-03-07 Gerd Moellmann <gerd@gnu.org>
2008
2ab62c6c
GM
2009 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2010
471f86b9
GM
2011 * process.c (Fset_process_filter): Don't crash if the input
2012 file descriptor of PROCESS is closed.
2013 (Fset_process_window_size): Likewise.
2014
101922c3
GM
20152001-03-06 Kenichi Handa <handa@etl.go.jp>
2016
2017 * xterm.c (XTflash): Make the timeout of select shorter, and call
2018 select repeatedly until the desired time expires.
2019
45d051a7
GM
20202001-03-06 Gerd Moellmann <gerd@gnu.org>
2021
2022 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2023
2024 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2025
2026 * lisp.h (Vwindow_list): Declare extern.
2027
8f372c46
EZ
20282001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2029
2030 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2031
f16a7aa5
GM
20322001-03-06 Gerd Moellmann <gerd@gnu.org>
2033
157ae273
GM
2034 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2035 to detect a case where we have to highlight a different region
2036 despite not having left the currently highlighted region.
2037 Set mouse_face_overlay in the x_display_info.
45d051a7 2038 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2039
2040 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2041
2042 * buffer.c (mouse_face_overlay_overlaps): New function.
2043
2044 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2045 (Qmouse_face): Declare extern.
2046
f16a7aa5
GM
2047 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2048 if face_change_count is non-zero.
2049
827afcac
KH
20502001-03-06 Kenichi Handa <handa@etl.go.jp>
2051
2052 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2053 that the source is unibyte.
2054
14c7242e
DL
20552001-03-05 Dave Love <fx@gnu.org>
2056
827afcac 2057 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2058
c28b847b
GM
20592001-03-05 Gerd Moellmann <gerd@gnu.org>
2060
2061 * minibuf.c (read_minibuf): Clean up the binding stack if
2062 called noninteractively.
2063
b86644f2
KH
20642001-03-05 Kenichi Handa <handa@etl.go.jp>
2065
2066 * coding.c (syms_of_coding): Docstring modified.
2067
203682cc 20682001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2069
2070 * charset.c (char_to_string): If a single byte char has modifier
2071 bits that can't be reflected to the character code, ignore them
45d051a7 2072 instead of signaling an error.
b86644f2 2073
e30bd7b7
EZ
20742001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2075
2076 * s/msdos.h: Update copyright notice.
2077
2078 * dosfns.h: Update copyright notice.
2079
2080 * dosfns.c: Update copyright notice.
2081
2082 * msdos.c: Update copyright notice.
2083
b52b65bd
GM
20842001-03-02 Gerd Moellmann <gerd@gnu.org>
2085
2086 * xterm.c (glyph_rect): New function.
2087 (XTmouse_position): Use it to raise the threshold for mouse
2088 movement event generation.
2089
53c4b1e6
EZ
20902001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2091
2092 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2093 specifies (reverse . t), reverse the initial screen colors.
2094 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2095 but we are reversing the colors, set bg_set, not fg_set.
2096 Likewise for setting background-color and reversing: set fg_set.
2097 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2098 in effect.
2099
2100 * xfaces.c (Finternal_set_lisp_face_attribute)
2101 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2102 parameters alist.
2103
f964b4d7
GM
21042001-03-02 Gerd Moellmann <gerd@gnu.org>
2105
ef53d75e
GM
2106 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2107 to a single slash in the middle of file names.
2108
52283633 2109 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2110 Accept only alphanumeric time zone names.
2111
f964b4d7
GM
2112 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2113 or width area.
2114 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2115 a widget to zero height.
52283633 2116
c3c45f65
GM
21172001-03-01 Gerd Moellmann <gerd@gnu.org>
2118
2119 * window.c (Fwindow_end): Call move_it_past_eol only if
2120 ending up on a partially visible line.
2121
028d739a
DL
21222001-03-01 Dave Love <fx@gnu.org>
2123
2124 * ccl.c (Fccl_execute): Doc fix.
2125
57c5889c
GM
21262001-03-01 Gerd Moellmann <gerd@gnu.org>
2127
35f59f6b
GM
2128 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2129 of the tool bar before calling x_figure_window_size.
2130
f84ff02c
GM
2131 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2132 NULL after destroying it, otherwise XTread_socket can access a
2133 destroyed widget when input is unblocked.
2134
8b8f9197 2135 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2136
57c5889c
GM
2137 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2138 same name as before, although there was a change in fontsets.
2139
224227d1
KR
21402001-02-28 Ken Raeburn <raeburn@gnu.org>
2141
4560730a
KR
2142 * lisp.h (Fframe_parameter): Declare.
2143
224227d1 2144 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2145 Lisp_Object.
224227d1 2146
ece93c02
GM
21472001-02-28 Gerd Moellmann <gerd@gnu.org>
2148
11ef99b9
GM
2149 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2150 NULL instead.
2151
2152 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2153 NULL instead.
2154
ece93c02
GM
2155 * alloc.c (toplevel): Include process.h.
2156 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2157 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2158 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2159 (allocate_vector, allocate_hash_table, allocate_window)
2160 (allocate_frame, allocate_process, allocate_other_vector):
2161 New functions.
ece93c02
GM
2162 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2163 (mark_maybe_pointer): New function.
52283633 2164 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2165 remain and not Lisp_Objects.
2166 (min_heap_address, max_heap_address): New variables.
2167 (mem_find): Return MEM_NIL if START is below min_heap_address or
2168 above max_heap_address.
2169 (mem_insert): Compute min_heap_address and max_heap_address.
2170
2171 * process.c (make_process): Use allocate_process.
2172
2173 * frame.c (make_frame): Use allocate_frame.
2174
2175 * window.c (make_window, make_dummy_parent): Use allocate_window.
2176 (Fcurrent_window_configuration): Use allocate_other_vector.
2177
2178 * lisp.h (allocate_vectorlike): Remove prototype.
2179 (allocate_vector, allocate_other_vector, allocate_frame)
2180 (allocate_window, allocate_process, allocate_hash_table):
2181 Add prototypes.
2182
2183 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2184 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2185
063af457
KH
21862001-02-27 Kenichi Handa <handa@etl.go.jp>
2187
2188 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2189 treat the produced bytes as a valid multibyte sequence.
2190
2191 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2192 (ccl_driver) <CCL_WriteMultibyteChar2>:
2193 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
2194 <ccl_finish>: Set ccl->eight_bit_control properly.
2195
2196 * ccl.h (struct ccl_program): New member eight_bit_control.
2197
f58c6494
SM
21982001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2199
2200 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2201 accessible_keymaps_char_table.
2202 (accessible_keymaps_char_table): Obey `is_metized'.
2203 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2204 Lisp_Object.
2205
c596c392
GM
22062001-02-26 Gerd Moellmann <gerd@gnu.org>
2207
2208 * dispnew.c: Check HAVE_TERM_H before including term.h.
2209
425de386
AI
22102001-02-24 Andrew Innes <andrewi@gnu.org>
2211
2212 * makefile.w32-in: Update copyright notice.
2213
2ba11bbd
SM
22142001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2215
2216 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2217
66c56ed1
KH
22182001-02-24 Kenichi Handa <handa@etl.go.jp>
2219
4c1593ce
KH
2220 * Makefile.in (lisp): Add international/utf-8.elc.
2221
66c56ed1
KH
2222 * fontset.c (Fnew_fontset): Fix handling of the case that an
2223 element of FONTLIST is a cons of family and registry.
2224
796ead7e
JR
22252001-02-23 Jason Rumney <jasonr@gnu.org>
2226
2227 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2228 to height unconditionally.
2229
2230 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2231 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2232 (x_insert_glyphs): Call window_box_left to obtain the left
2233 x-coordinate of the area to shift.
2234
2235 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2236 safe_run_hooks.
2237
f6839838
AI
22382001-02-22 Andrew Innes <andrewi@gnu.org>
2239
52283633 2240 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2241 ($(BLD)\dispnew.obj):
2242 ($(BLD)\editfns.obj):
2243 ($(BLD)\fileio.obj):
2244 ($(BLD)\filelock.obj):
2245 ($(BLD)\keyboard.obj):
2246 ($(BLD)\w32proc.obj):
2247 ($(BLD)\process.obj):
2248 ($(BLD)\sysdep.obj): Ditto.
2249
2250 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2251 header files.
52283633
SM
2252 ($(BLD)/dispnew.$(O)):
2253 ($(BLD)/editfns.$(O)):
2254 ($(BLD)/fileio.$(O)):
2255 ($(BLD)/filelock.$(O)):
2256 ($(BLD)/keyboard.$(O)):
2257 ($(BLD)/w32proc.$(O)):
2258 ($(BLD)/process.$(O)):
f6839838
AI
2259 ($(BLD)/sysdep.$(O)): Ditto.
2260
c224f70b
GM
22612001-02-22 Gerd Moellmann <gerd@gnu.org>
2262
51695746
GM
2263 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2264 at the start of the function, check that the \n in it->c is
2265 from the iterator's current position.
52283633 2266
a61b7058
GM
2267 * xdisp.c (handle_single_display_prop): Add parameter
2268 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2269 properties which replace the display of text with something else.
2270 (handle_display_prop): Call handle_single_display_prop with
2271 additional argument saying if we already replaced text display
2272 with something else. Use AREF.
52283633 2273 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2274 (decode_mode_spec_coding): Use AREF and ASIZE.
2275
3473f362
GM
2276 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2277 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2278 * vmstime.h: Files removed.
52283633 2279
2bb58df3
GM
2280 * unexencap.c, unexfx2800.c: Files removed.
2281
c224f70b
GM
2282 * dispnew.c (direct_output_for_insert): Give up if we are showing
2283 a message or just cleared the message because we might need to
2284 resize the echo area window or display an empty echo area.
2285
ffc9ff0c
GM
22862001-02-21 Gerd Moellmann <gerd@gnu.org>
2287
0528abe1
GM
2288 * xdisp.c (redisplay_internal): Do the
2289 mark_window_display_accurate after all windows have been
2290 redisplayed because this call resets flags in buffers which are
2291 needed for proper redisplay.
2292
52283633
SM
2293 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2294 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2295 the old names.
2296
52283633
SM
2297 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2298 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2299
2300 * msdos.h (struct x_output): Rename busy_window to
2301 hourglass_window, busy_p to hourglass_p.
2302
52283633
SM
2303 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2304 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2305
2306 * xfns.c: Rename everything containing *busy_cursor* and similar
2307 to *hourglass*.
2308 (syms_of_w32fns): Rename x-busy-pointer-shape to
2309 x-hourglass-pointer-shape, display-busy-cursor to
2310 display-hourglass, busy-cursor-delay to hourglass-delay.
2311
2312 * w32fns.c: Rename everything containing *busy_cursor* and similar
2313 to *hourglass*.
2314 (syms_of_w32fns): Rename x-busy-pointer-shape to
2315 x-hourglass-pointer-shape, display-busy-cursor to
2316 display-hourglass, busy-cursor-delay to hourglass-delay.
2317
2318 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2319 of its busy_p flag.
2320
2321 * dispextern.h (start_hourglass, cancel_hourglass)
2322 (display_hourglass_p): Renamed from *busy_cursor*.
2323
ab2c5f0a
GM
23242001-02-20 Gerd Moellmann <gerd@gnu.org>
2325
d17e49a8
GM
2326 * keyboard.c (read_char): When an event from unread-command-events
2327 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2328
fa97adf6
GM
2329 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2330 equal to the current buffer.
2331
ab2c5f0a
GM
2332 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2333 nil, otherwise we're left with truncate_lines t when a message
2334 is printed with message-truncate-lines bound to t.
2335
aeac019e
GM
23362001-02-19 Gerd Moellmann <gerd@gnu.org>
2337
c8bc6f65
GM
2338 * window.c (Fmove_to_window_line): Undo last change.
2339 (displayed_window_lines): Call line_bottom_y to determine
2340 the line's bottom position.
2341
2342 * dispextern.h (line_bottom_y): Add prototype.
2343
52283633 2344 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2345 (pos_visible_p): Use it.
2346
980a2d69
GM
2347 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2348 set redisplaying_p to 0 here instead of in Frecursive_edit.
2349 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2350 set redisplaying_p.
2351
52283633 2352 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2353 New variables.
2354 (syms_of_xdisp): Initialize new variables.
2355 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2356 Specbind `inhibit-menubar-update' when updating the menu bar.
2357
65048e97
GM
2358 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2359 safe_run_hooks.
2360
2361 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2362 safe_run_hooks.
2363
a57c4026
GM
2364 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2365 is null.
2366
aeac019e
GM
2367 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2368 to the start of the file.
2369
76846b31
GM
23702001-02-16 Gerd Moellmann <gerd@gnu.org>
2371
f3f053f3 2372 * window.c (set_window_buffer): Fix last change.
52283633 2373
f3f053f3
GM
2374 * window.c (set_window_buffer): Set window's vscroll to 0.
2375
dad75588
GM
2376 * window.c (coordinates_in_window): Increase width of area
2377 where the vertical line can be dragged.
2378
c220b753
GM
2379 * xterm.c (x_set_glyph_string_background_width): Extend the
2380 background face to the end of the drawing area in the text
2381 area, only.
2382
c56b1c1b
GM
2383 * xdisp.c (handle_single_display_prop): Set iterator's position
2384 to where the `display' property starts, like for images.
2385 (dump_glyph): New function.
2386 (dump_glyph_row): Use it. Dump info about marginal areas.
2387
2388 * dispnew.c (direct_output_for_insert): Recognize more cases where
2389 glyphs can be written instead of being inserted.
2390
2391 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2392 the left x-coordinate of the area to shift.
2393
76846b31
GM
2394 * dired.c (directory_files_internal): Set result list to nil
2395 before retrying.
2396
0fc71a77
KH
23972001-02-15 Kenichi Handa <handa@etl.go.jp>
2398
2399 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2400 invalid multibyte sequence, treat *SRC as a character of
2401 eight-bit-graphic.
2402
25078b54
EZ
24032001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2404
2405 * textprop.c (Fset_text_properties): Doc fix.
2406
8399f8a0
GM
24072001-02-15 Gerd Moellmann <gerd@gnu.org>
2408
2409 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2410
9a2a6f73
DL
24112001-02-14 Dave Love <fx@gnu.org>
2412
2413 * coding.c: Doc and message fixes.
2414
bf853fee
AI
24152001-02-14 Andrew Innes <andrewi@gnu.org>
2416
2417 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2418 Emacs frame above the screen size.
2419
78c663d8
GM
24202001-02-14 Gerd Moellmann <gerd@gnu.org>
2421
2422 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2423
7cc9f69f
GM
24242001-02-13 Gerd Moellmann <gerd@gnu.org>
2425
0a411995
GM
2426 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2427 case that TO ends up beyond ZV after running before-change-functions.
2428
5ddc1b75
GM
2429 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2430 the selected window if it is showing the buffer in question.
2431
7cc9f69f
GM
2432 * dired.c (directory_files_internal): Initialize errno.
2433 (toplevel): Include errno.h.
2434
2e6621ca
GM
24352001-02-13 Kenichi Handa <handa@etl.go.jp>
2436
2437 * xfaces.c (best_matching_font): New parameter width_ratio.
2438 Multiply avgwidth by width_ratio.
2439 (choose_face_font): Call best_matching_font with width_ratio
2440 calculated from the column width of C.
2441
60222d69
AI
24422001-02-12 Andrew Innes <andrewi@gnu.org>
2443
2444 The following changes are to draw box lines inside characters area
2445 if line-width is negative.
52283633 2446
60222d69
AI
2447 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2448 face->box_line_width is negative.
2449 (x_produce_stretch_glyph): Likewise.
2450 (x_produce_glyphs): Likewise.
2451 (x_estimate_mode_line_height): Likewise.
2452 (x_draw_glyph_string_background): Likewise.
2453 (x_draw_glyph_string_foreground): Likewise.
2454 (x_draw_composite_glyph_string_foreground): Likewise.
2455 (x_draw_glyph_string_box): Likewise.
2456 (x_draw_image_foreground): Likewise.
2457 (x_draw_image_relief): Likewise.
2458 (x_draw_image_foreground_1): Likewise.
2459 (x_draw_image_glyph_string): Likewise.
2460
9804b846
KH
24612001-02-09 Kenichi Handa <handa@etl.go.jp>
2462
2463 The following changes are to draw box lines inside characters area
2464 if line-width is negative.
52283633 2465
9804b846
KH
2466 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2467 face->box_line_width is negative.
2468 (x_produce_stretch_glyph): Likewise.
2469 (x_produce_glyphs): Likewise.
2470 (x_estimate_mode_line_height): Likewise.
2471 (x_draw_glyph_string_background): Likewise.
2472 (x_draw_glyph_string_foreground): Likewise.
2473 (x_draw_composite_glyph_string_foreground): Likewise.
2474 (x_draw_glyph_string_box): Likewise.
2475 (x_draw_image_foreground): Likewise.
2476 (x_draw_image_relief): Likewise.
2477 (x_draw_image_foreground_1): Likewise.
2478 (x_draw_image_glyph_string): Likewise.
2479
2480 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2481 and :line-width can be negative.
52283633 2482 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2483
49be9f70
JR
24842001-02-09 Jason Rumney <jasonr@gnu.org>
2485
2486 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2487 characters the same as ASCII and latin-1.
2488 (x_display_and_set_cursor): Check for the focus frame's selected
2489 window instead of selected_window.
2490 (x_after_update_window_line): Don't clear if frame's internal
2491 border width is zero.
2492 (x_new_font): Don't change a tooltip's size.
2493 (w32_initialize): Set char_ins_del_ok to 1.
2494
2495 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2496 (x_set_font): If font hasn't changed, avoid recomputing
2497 faces and other things.
52283633
SM
2498 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2499 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2500 (x_create_tip_frame): Prevent changing the tooltip's
2501 background color by specifying a color for the default font
2502 in .Xdefaults.
2503 (Qcancel_timer): New variable.
2504 (syms_of_w32fns): Initialize and staticpro it.
2505 (Fx_hide_tip, Fx_show_tip): Use it.
2506 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2507 the timer.
2508 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2509
2510 * w32.c (init_environment): Duplicate local string before putenv.
2511
555e35d2
SZ
25122001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2513
2514 * charset.c (Fstring): A typo.
2515
19c92c94
KH
25162001-02-09 Kenichi Handa <handa@etl.go.jp>
2517
e47a1c33
KH
2518 * charset.c (Fstring): If all arguments are less than 256, return
2519 a unibyte string.
2520
2521 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2522 return a unibyte string.
2523
19c92c94
KH
2524 * coding.c (code_convert_region): After detecting a coding, if
2525 nothing found, set coding->composing to COMPOSITION_NO.
2526 (decode_coding_string): Likewise.
2527
d8e675f5
SM
25282001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2529
2530 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2531 to avoid overflow.
2532
bd503487
KH
25332001-02-07 Kenichi Handa <handa@etl.go.jp>
2534
2535 * charset.c (parse_str_to_multibyte): New function.
2536
2537 * charset.h (parse_str_to_multibyte): Extern it.
2538
2539 * print.c (print_string): If we are going to print a unibyte
2540 string into a multibyte buffer, convert the string to multibyte by
2541 str_to_multibyte.
2542
a8370d72
AI
25432001-02-06 Andrew Innes <andrewi@gnu.org>
2544
2545 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2546 been created. It seems we can get sent window messages such as
2547 WM_ERASEBKGND before we properly update a frame.
2548
c363a1d6
GM
25492001-02-06 Gerd Moellmann <gerd@gnu.org>
2550
2551 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2552 Avoid some unnecessary cursor positioning.
2553
a08332c0
GM
25542001-02-05 Gerd Moellmann <gerd@gnu.org>
2555
52283633 2556 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2557 (LFACE_AVGWIDTH): New macro.
2558 (LFACEP): Use AREF.
2559 (check_lface_attrs): Check LFACE_AVGWIDTH.
2560 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2561 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2562 (merge_face_vectors): Check LFACE_AVGWIDTH.
2563 (Finternal_make_lisp_face): Use AREF.
2564 (xm_set_menu_resources_from_menu_face)
2565 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2566 (Finternal_lisp_face_empty_p): Use AREF.
2567 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2568 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2569 Compare average widths..
2570 (best_matching_font): Arrange for comparing average widths.
2571
52283633
SM
2572 * dispextern.h (enum lface_attribute_index):
2573 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2574
5cb3c8d4
DL
25752001-02-05 Dave Love <fx@gnu.org>
2576
2577 * puresize.h: Revert last change following loadup.el change.
2578
193fba87
AI
25792001-02-05 Andrew Innes <andrewi@gnu.org>
2580
2581 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2582 invocation of temacs, to work with Windows 2000.
2583 (bootstrap-emacs): Ditto.
2584
e16f52ce
GM
25852001-02-05 Gerd Moellmann <gerd@gnu.org>
2586
7a58ab59
GM
2587 * xterm.c (x_display_and_set_cursor): Check for the focus
2588 frame's selected window instead of selected_window.
2589
e89aaabd
GM
2590 * xdisp.c (try_scrolling): If point is in the line below the
2591 window, make sure to move the iterator at least a canonical
2592 char height down.
2593
52283633 2594 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2595
789ce875
KH
25962001-02-05 Kenichi Handa <handa@etl.go.jp>
2597
52283633
SM
2598 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2599 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2600 (ccl_driver): If the CCL program is terminated because of
2601 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2602 destination instead of throwing them away.
2603
20b28f82
GM
26042001-02-02 Gerd Moellmann <gerd@gnu.org>
2605
79fb38c0
GM
2606 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2607 faces and other things.
2608
20b28f82
GM
2609 * xdisp.c (get_next_display_element): Fix case of empty
2610 display table entry.
2611
5a72551e
EZ
26122001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2613
eb24d0bf
EZ
2614 * editfns.c (Fconstrain_to_field): Doc fix.
2615
6a3f48c7
EZ
2616 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2617 into `thoroughly', to make it consistent with the doc string.
2618
5a72551e
EZ
2619 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2620
01acdb05
GM
26212001-02-01 Gerd Moellmann <gerd@gnu.org>
2622
0353b28f
GM
2623 * search.c (search_buffer): Call set_search_regs with a byte
2624 position, not a character position.
2625
01acdb05
GM
2626 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2627 minibuffer-only,
2628
e86b5133
EZ
26292001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2630
2631 * frame.c (Fmodify_frame_parameters): Doc fix.
2632
7442878f
GM
26332001-01-31 Gerd Moellmann <gerd@gnu.org>
2634
01acdb05
GM
2635 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2636 identifier which is not reserved by Standard C.
52283633 2637
7442878f
GM
2638 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2639
2640 * window.c (enum window_part): New enumeration.
2641 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2642 Qright_bitmap_area.
2643 (coordinates_in_window): Return an enumerator from enum
2644 window_part. Fix handling of right scroll bar.
2645 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2646 `right-fringe' instead of `left-bitmap-area' and
2647 `right-bitmap-area'. Use enumerators from enum window_part
2648 instead of hard-coded integers.
52283633
SM
2649 (check_window_containing, window_from_coordinates):
2650 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2651 (syms_of_window): Replace Qleft_bitmap_area and
2652 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2653
7c132cba
EZ
26542001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2655
2656 * editfns.c (Fformat_time_string): Doc fix.
2657
c359dd9e
SM
26582001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2659
2660 * keymap.c (Fwhere_is_internal): Use the first valid binding
2661 if no ascii binding is found (when firstonly is t).
2662
ce070307
GM
26632001-01-31 Gerd Moellmann <gerd@gnu.org>
2664
b4f30ec5
GM
2665 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2666 instead of Finteractive_p.
2667
2668 * lisp.h (interactive_p): Add prototype.
2669
2670 * eval.c (interactive_p): New function.
2671 (Finteractive_p): Use it.
2672
ce070307
GM
2673 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2674
f57b6e64
DL
26752001-01-31 Dave Love <fx@gnu.org>
2676
d61c7afe
DL
2677 * .gdbinit (hook-run): Define to run xreload.
2678
f57b6e64
DL
2679 * textprop.c (Fset_text_properties): Fix newline in doc string.
2680
eef93f99
GM
26812001-01-30 Gerd Moellmann <gerd@gnu.org>
2682
52283633
SM
2683 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2684 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2685
2686 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2687 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2688 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2689
2690 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2691 height.
2692
d9c1f6f9
DL
26932001-01-30 Dave Love <fx@gnu.org>
2694
2695 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2696 AFTER_POTENTIAL_GC.
2697
e8f044a0
GM
26982001-01-29 Gerd Moellmann <gerd@gnu.org>
2699
52283633
SM
2700 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2701 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2702
8e1db7b3
EZ
27032001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2704
2705 * textprop.c (Fset_text_properties): Doc fix.
2706
4eefd9d2
GM
27072001-01-29 Gerd Moellmann <gerd@gnu.org>
2708
2709 * xdisp.c (forward_to_next_line_start): Remove xassert.
2710
fccb8288
EZ
27112001-01-29 Jason Rumney <jasonr@gnu.org>
2712
4eefd9d2 2713 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2714 returning without releasing it.
2715
76581eab
KH
27162001-01-29 Kenichi Handa <handa@etl.go.jp>
2717
2718 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2719 for '^', '$', and '\0'.
2720
83a96b4d
AC
27212001-01-28 Andrew Choi <akochoi@i-cable.com>
2722
5604ec34
AC
2723 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2724 regex for '^', '$', and '\0'.
2725
83a96b4d
AC
2726 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2727 only if current_sblock has been initialized.
2728
2729 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2730 terminal frame even if it is the only visible frame.
2731
c09a6440
KH
27322001-01-28 Kenichi Handa <handa@etl.go.jp>
2733
2734 * fontset.c (font_family_registry): Even if FONTNAME conform to
2735 XLFD, if it specifies other fields than family and registry,
52283633 2736 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2737 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2738 a signle byte character. Don't set FAMILY part to nil here.
2739 It is handled by the caller choose_face_font.
c09a6440
KH
2740 (Fnew_fontset): Call font_family_registry with FORCE 0.
2741 (Fset_fontset_font): Likewise.
2742
4dcd74e6
GM
27432001-01-27 Gerd Moellmann <gerd@gnu.org>
2744
2745 * xdisp.c (display_line): Don't treat a newline as fitting
2746 on the line.
2747
d2906bf8
GM
27482001-01-26 Gerd Moellmann <gerd@gnu.org>
2749
0130fe1a
GM
2750 * window.c (size_window): Set the window's orig_top to nil when
2751 changing heights, so that a future shrink_mini_window won't
2752 restore a bogus height.
2753
550f0e6a
GM
2754 * frame.c (do_switch_frame): If selected frame has a mini-window,
2755 resize that to exact size.
2756
b7b20fbd
GM
2757 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2758
a47b7816
GM
2759 * xdisp.c (display_line): Simplify check for glyphs fitting
2760 entirely in the line.
2761
d2906bf8
GM
2762 * xfns.c (xic_style): New variable.
2763 (create_frame_xic): Move static variable to global scope for
550f0e6a 2764 the case that `static' gets defined away.
d2906bf8 2765
73df2b1e
KH
27662001-01-26 Kenichi Handa <handa@etl.go.jp>
2767
2768 * coding.c (decode_coding): Set a flag for inhibiting
2769 inconsistent eol.
2770 (code_convert_region): Always set saved_coding_symbol.
2771 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2772 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2773
6613cfc4
GM
27742001-01-25 Gerd Moellmann <gerd@gnu.org>
2775
c5e6e06b
GM
2776 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2777 XClearArea.
2778
2779 * xterm.c (x_after_update_window_line): Don't clear if frame's
2780 internal border width is zero.
2781 (x_clear_area): New function.
2782 (x_after_update_window_line, x_clear_end_of_line)
2783 (x_scroll_bar_create, x_scroll_bar_set_handle)
2784 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2785 instead of XClearArea.
2786
2787 * xterm.h (x_clear_area): Add prototype.
2788
6613cfc4
GM
2789 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2790 which doesn't seem necessary anymore with Lesstif 0.92.
2791
650cc6cc
DL
27922001-01-25 Dave Love <fx@gnu.org>
2793
34ac3367
DL
2794 * puresize.h (BASE_PURESIZE): Up to 720000.
2795
650cc6cc
DL
2796 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2797
5e37dc22
GM
27982001-01-25 Gerd Moellmann <gerd@gnu.org>
2799
e1e441f9
GM
2800 * xdisp.c (echo_area_display): Don't call redisplay_internal
2801 when Emacs is shutting down. We can't run hooks etc. that
2802 would be necessary to do a redisplay.
2803
5e37dc22
GM
2804 * lread.c (read_integer): Use type EMACS_INT instead of int.
2805
0fb94c7f
EZ
28062001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2807
2808 * ccl.c (ccl_driver): Fix last change.
2809
e3778624
KH
28102001-01-25 Kenichi Handa <handa@etl.go.jp>
2811
2812 * ccl.h (sturct ccl_program): New member suppress_error.
2813
bb264518 2814 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2815 insert error message to the output.
2816 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2817
2818 * coding.h (struct coding_system): New member suppress_error.
2819
2820 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2821 (Fset_terminal_coding_system_internal): Set the member
2822 suppress_error to 1.
2823 (Fset_safe_terminal_coding_system_internal): Likewise.
2824
245ed2b1
SM
28252001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2826
2827 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2828 as if it was a `charset'.
2829
f9aaedb6
GM
28302001-01-24 Gerd Moellmann <gerd@gnu.org>
2831
2832 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2833 value in where_is_cache; the next lookup in the cache returns
2834 something bogus if we do.
2835
c3902c3e
EZ
28362001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2837
2838 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2839 if HAVE_WINDOW_SYSTEM isn't defined.
2840
3497f73e
GM
28412001-01-24 Gerd Moellmann <gerd@gnu.org>
2842
e7e41584
GM
2843 * fns.c (sweep_weak_table): Fix code taking items out of
2844 the hash collision chain. Some cleanup.
2845
3497f73e
GM
2846 * xterm.c (x_new_font): Don't change a tooltip's size.
2847
2848 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2849 background color by specifying a color for the default font
2850 in .Xdefaults.
2851
3d48e687
KH
28522001-01-24 Kenichi Handa <handa@etl.go.jp>
2853
96531b20
KH
2854 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2855 a workaround for SunOS 4's cc.
2856 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2857 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2858 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2859 statement.
3d48e687 2860
a30629d2
GM
28612001-01-23 Gerd Moellmann <gerd@gnu.org>
2862
2863 * xterm.c (x_set_window_size_1): New function extracted from
2864 x_set_window_size.
2865 (x_set_window_size): Use it.
2866 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2867 doesn't have a widget, like tooltips.
2868
5a43decf
EZ
28692001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2870
52283633 2871 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2872
b0e98867
KH
28732001-01-23 Kenichi Handa <handa@etl.go.jp>
2874
2875 * fns.c (Fset_char_table_default): Fix to make sub char-table
2876 correctly.
2877
50606b4c
GM
28782001-01-22 Gerd Moellmann <gerd@gnu.org>
2879
cb2ddc53 2880 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2881 a desired tool bar string, even if there are no tool bar items.
2882
57c28064
GM
2883 * xdisp.c (Ftool_bar_lines_needed): New function.
2884 (syms_of_xdisp): Defsubr it.
2885
50606b4c
GM
2886 * editfns.c (Fformat): Don't extend text properties from arguments
2887 to padding chars in the result.
2888
2f169c38
EZ
28892001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2890
2891 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2892
0f32f023
AI
28932001-01-20 Andrew Innes <andrewi@gnu.org>
2894
52283633 2895 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2896 (w32_initialize): Don't set term hooks that aren't actually needed
2897 in windowed mode.
2898
2899 * xfaces.c (realize_default_face):
2900 (realize_face):
2901 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2902
2903 * xdisp.c (handle_single_display_prop): Remove references to
2904 FRAME_W32_CONSOLE_P.
2905
52283633 2906 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2907
2908 * frame.h (output_method): Remove output_w32_console method.
2909 (FRAME_W32_CONSOLE_P): Remove macro.
2910
2911 * frame.c (Qw32_console): Remove variable.
2912 (Fframep): Remove references to it.
2913 (syms_of_frame): Ditto.
2914 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2915
2916 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2917 redefinition.
2918
7173eada
KH
29192001-01-20 Kenichi Handa <handa@etl.go.jp>
2920
2921 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2922
755b45ce
AI
29232001-01-19 Andrew Innes <andrewi@gnu.org>
2924
2925 * w32.c (init_environment): Add a version-independent site-lisp
2926 directory to EMACSLOADPATH, after the version dependent one.
2927
0a949811
GM
29282001-01-19 Gerd Moellmann <gerd@gnu.org>
2929
8501998a
GM
2930 * editfns.c (Fbuffer_substring): Doc fix.
2931
52283633
SM
2932 * xdisp.c (message_dolog, message2, message2_nolog):
2933 Rename parameter LEN to NBYTES.
0a949811 2934
e6ebcbbe
KH
29352001-01-19 Kenichi Handa <handa@etl.go.jp>
2936
200ecca2
KH
2937 * charset.c (strwidth): Use c_string_width.
2938 (c_string_width): New function.
2939 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2940 Caller changed.
2941
2942 * charset.h (c_string_width, lisp_string_width): Extern them.
2943
52283633 2944 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2945
e6ebcbbe
KH
2946 * indent.c (check_composition): Check validity of composition.
2947
200ecca2
KH
2948 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2949 characters by calling c_string_width.
2950 (x_consider_frame_title): Get byte length of frame tile string
2951 correctly.
2952 (display_mode_element): Pay attention to width of non-ASCII
2953 characters by calling strwidth.
2954
8692ca92
GM
29552001-01-18 Gerd Moellmann <gerd@gnu.org>
2956
8962e303
GM
2957 * xfns.c (Qcancel_timer): New variable.
2958 (syms_of_xfns): Initialize and staticpro it.
2959 (Fx_hide_tip, Fx_show_tip): Use it.
2960 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2961 the timer.
2962 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2963
91523be9
GM
2964 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2965
2966 * window.h (WINDOW_LIVE_P): New macro.
2967
b0b7ed0e
GM
2968 * window.c (window_size_fixed): New variable.
2969 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2970 the doc string.
2971
06bccf8e
GM
2972 * eval.c (specbind): If binding a per-buffer variable which
2973 doesn't have a buffer-local value in the current buffer, change
2974 the global value by changing the value of the symbol bound in all
2975 buffers not having their own value, to make it consistent with
2976 what happens with other buffer-local variables.
2977
8692ca92
GM
2978 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2979
2980 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
2981 when searching for a newline.
2982
bb3a3b50
KH
29832001-01-18 Kenichi Handa <handa@etl.go.jp>
2984
2985 * xdisp.c (display_string): Fix previous change.
2986
c2cc16fa
JR
29872001-01-18 Jason Rumney <jasonr@gnu.org>
2988
2989 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
2990 GLYPH_DEBUG is defined.
2991 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
2992 true for images with `:ascent 100'.
2993 (x_set_mouse_face_gc): If the last used mouse face has gone in the
2994 meantime, use face MOUSE_FACE_ID.
2995 If first glyph isn't a character glyph, use the ASCII NUL
2996 character to determine the face.
2997 (expose_area): Do not treat left margin specially.
2998 (note_mode_line_highlight): If no local_map, check global keymap.
2999 (note_mouse_highlight): Initialize overlay.
52283633 3000 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3001 (show_scroll_bars): Remove unused function.
3002 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3003 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3004 Clip to row.
52283633 3005 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3006 (x_free_frame_resources): Unload relief colors.
3007
9c11f79e
GM
30082001-01-17 Gerd Moellmann <gerd@gnu.org>
3009
3aec8722 3010 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3011 get_next_display_element when the newline is already found.
3012 This may change the iterator's position, when its current position is
3aec8722
GM
3013 equal to the iterator's stop_charpos.
3014
f3ffc2c3
GM
3015 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3016 zero, use this method only at the end of a line.
3017
52283633 3018 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3019 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3020 if SCALABLE_FONTS_P is set.
52283633 3021
d26d6fd9
GM
3022 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3023 so that scalable fonts are included.
3024
9c11f79e
GM
3025 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3026 In the cache, use a key containing the information if scalable
3027 fonts are included.
3028 (x_load_font): Adapt to change of keys in the font cache.
3029
30302001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3031
d26d6fd9
GM
3032 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3033 XListFonts to take advantage of font caching.
3034
9c11f79e
GM
3035 * xterm.c (x_list_fonts): Ensure caching font information when
3036 called for a null frame, which is the case frequently when Emacs
3037 starts.
3038
51446987
GM
30392001-01-17 Gerd Moellmann <gerd@gnu.org>
3040
f864120f
GM
3041 * xfns.c (QCconversion): Replaces QCalgorithm.
3042
3043 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3044
3045 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3046 of :algorithm.
52283633 3047
e37d1417
GM
3048 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3049 not everything could be displayed.
3050
51446987
GM
3051 * line.h, x-list-font.c: Files removed because unused.
3052
9ad4f3e5
AI
30532001-01-17 Andrew Innes <andrewi@gnu.org>
3054
3055 * dired.c (directory_files_internal): Convert result from readdir
3056 to a unibyte string initially, to avoid possible misinterpretation
3057 of some bytes as the internal form of Emacs characters.
3058
2eda09b5
KH
30592001-01-17 Kenichi Handa <handa@etl.go.jp>
3060
3061 * fns.c (concat): Be sure to avoid putting the same `composition'
3062 property on the adjacent regions.
3063
826f3788
GM
30642001-01-16 Gerd Moellmann <gerd@gnu.org>
3065
52283633 3066 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3067 (Fscroll_right, Fscroll_left): Set it here instead, if called
3068 interactively.
3069
d57b83b3
GM
3070 * buffer.c (Fset_buffer_modified_p): Set buffer's
3071 prevent_redisplay_optimizations_p flag.
3072
826f3788 3073 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3074 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3075 with additional arg.
3076
3077 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3078 Change prototype.
826f3788 3079
826f3788
GM
3080 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3081 FROM_WHERE, for debugging.
3082
261d788b
KH
30832001-01-16 Kenichi Handa <handa@etl.go.jp>
3084
3085 * ccl.c (Fregister_ccl_program): Handle the return value of
3086 resolve_symbol_ccl_program correctly.
52283633 3087 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3088
bccee4f2
GM
30892001-01-15 Gerd Moellmann <gerd@gnu.org>
3090
e4ded23c
GM
3091 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3092 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3093
3094 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3095 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3096 the display; we didn't open it.
3097
bccee4f2
GM
3098 * dispnew.c (save_or_restore_current_matrices): Function removed.
3099 (save_current_matrix, restore_current_matrix): New functions.
3100 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3101 restore the frame's current matrix. Due to the glyph pointer
3102 setup done in adjust_glyph_matrix, there is no easy way to make
3103 saving the current matrix in the desired matrix generally correct,
3104 so don't try it.
3105
ebeccffa
KH
31062001-01-15 Kenichi Handa <handa@etl.go.jp>
3107
3108 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3109 truncation glyphs.
3110 (display_line): Optimize for wide characters.
e4ded23c 3111 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3112 partially. On ttys, produce more than one truncation glyph for
3113 multi-column characters that don't fit on the line.
3114
64388126
KH
31152001-01-13 Kenichi Handa <handa@etl.go.jp>
3116
52283633
SM
3117 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3118 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3119
8edb0a6f
JR
31202001-01-13 Jason Rumney <jasonr@gnu.org>
3121
3122 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3123 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3124 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3125 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3126
52283633
SM
3127 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3128 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3129 (x_draw_image_glyph_string): Adapt to change of image margins.
3130
3131 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3132 variables.
3133
3134 * w32bdf.c (search_file_line, get_cached_font_char)
3135 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3136
3137 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3138
3139 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3140 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3141 (Fw32_send_sys_command): Remove unused variables.
3142 (w32_msg_pump): Add parentheses.
3143
3144 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3145 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3146 Add parentheses.
3147
4956d1ef
GM
31482001-01-12 Gerd Moellmann <gerd@gnu.org>
3149
b30623be
GM
3150 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3151 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3152 being a pair of margins.
3153 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3154 to DEFVAR_LISP. Extend doc.
3155
3156 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3157 margins.
3158 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3159 pair of integers `(X . Y)', use X for the horizontal and Y for the
3160 vertical margin.
3161 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3162 (parse_image_spec): Check it.
52283633
SM
3163 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3164 (tiff_format, gif_format, gs_format):
3165 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3166
52283633
SM
3167 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3168 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3169 (x_draw_image_glyph_string): Adapt to the change of image margins.
3170
3171 * dispextern.h (struct image): Replace member `margin' with
3172 `hmargin' and `vmargin'.
3173
4554cc79
GM
3174 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3175 and GLYPHS.
3176
3177 * dispnew.c (update_text_area): Put code which decrements the
3178 stop position when the row's face extends to the end of the
3bffc665 3179 line in #if 0.
4554cc79 3180
3cccce8d
GM
3181 * xfns.c (x_set_mouse_color): Fix color allocation.
3182
4956d1ef
GM
3183 * keyboard.c: Call get_local_map with new argument list.
3184
3185 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3186
3187 * intervals.h (enum map_property): Removed.
3188 (get_local_map): Change prototype.
3189
3190 * keymap.c: Call get_local_map with new argument list.
3191 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3192
2c2ff7f2
GM
31932001-01-11 Gerd Moellmann <gerd@gnu.org>
3194
a23887b9
GM
3195 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3196 of the size needed for the tool bar string. For the last image,
3197 use a `display' property that reaches to the end of the string.
3198
a7ee2d2e
GM
3199 * xselect.c (selection_request_dpyinfo): New variable.
3200 (x_handle_selection_request): Set it.
3201 (x_selection_request_lisp_error): Don't call
3202 x_decline_selection_request if selection request's display has
3203 been closed.
3204
52283633
SM
3205 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3206 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3207
457b792c
GM
32082001-01-10 Dave Love <fx@gnu.org>
3209
3210 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3211 ${SOME_MACHINE_LISP}, not ${lisp}.
3212
c1efd260
GM
32132001-01-10 Gerd Moellmann <gerd@gnu.org>
3214
52283633
SM
3215 * xdisp.c (display_line): On ttys, produce more than one truncation
3216 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3217
ac95a621
GM
3218 * xselect.c (x_reply_selection_request): Add a comment.
3219
c1efd260
GM
3220 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3221 XkbGetNames instead of XkbGetKeyboard.
3222
1bfb1345
DL
32232001-01-10 Dave Love <fx@gnu.org>
3224
3225 * sysdep.c (random): Revert the declaration.
3226
38119822
GM
32272001-01-09 Gerd Moellmann <gerd@gnu.org>
3228
52283633
SM
3229 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3230 Call function string_bytes.
35f464a7
GM
3231 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3232
3233 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3234 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3235 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3236 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3237 the current sblock.
3238 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3239 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3240 after sweeping strings, and at the end.
3241 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3242
38119822
GM
3243 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3244 ensure that pop_message is called.
3245
3246 * keyboard.c (Fexecute_extended_command): Use a
3247 record_unwind_protect to ensure that pop_message is called.
3248
3249 * lisp.h (push_message_unwind): Add prototype.
3250
3251 * xdisp.c (push_message_unwind): New function.
3252
3253 * fileio.c (do_auto_save_unwind): Do the pop_message here
3254 instead of in Fdo_auto_save.
3255 (Fdo_auto_save): Don't call pop_message.
3256
f47a9ec4
KR
32572001-01-08 Ken Raeburn <raeburn@gnu.org>
3258
3259 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3260 in inner block.
3261
a758f97d
GM
32622001-01-08 Gerd Moellmann <gerd@gnu.org>
3263
6d0afc03
GM
3264 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3265 when increasing window's vscroll.
3266
a758f97d
GM
3267 * macros.c (Qkbd_macro_termination_hook): New variable.
3268 (syms_of_macros): Initialize and staticpro it.
3269 (pop_kbd_macro): Run kbd-macro-termination-hook.
3270
3271 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3272
1bfb1345 32732001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3274
3275 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3276 arglist, for documentation's sake.
3277
0dac6924
AI
32782001-01-06 Andrew Innes <andrewi@gnu.org>
3279
3280 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3281 of *.pdb.
3282
8182406a
AI
32832001-01-05 Andrew Innes <andrewi@gnu.org>
3284
3285 * term.c (update_end): Don't check updating_frame; for some reason
3286 this can be 0 sometimes, such as after dismissing a popup menu,
3287 and isn't necessary given the explicit frame argument.
3288
3828218c
GM
32892001-01-05 Gerd Moellmann <gerd@gnu.org>
3290
3291 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3292 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3293
2f5ded21
GM
32942001-01-04 Gerd Moellmann <gerd@gnu.org>
3295
52283633 3296 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3297
3298 * xfns.c (x_create_tip_frame): Preserve the value of
3299 face_change_count around the creation of the tip frame.
52283633 3300
2f5ded21
GM
3301 * xfns.c (last_show_tip_args): New variable.
3302 (compute_tip_xy): New function.
3303 (Fx_show_tip): Reuse an existing tip frame, if possible.
3304 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3305
dfad65fa
DL
33062001-01-04 Dave Love <fx@gnu.org>
3307
64d4ec0f
DL
3308 * editfns.c (Fformat): Doc fix.
3309
dfad65fa
DL
3310 * systime.h (set_file_times): Prototype.
3311
3312 * widget.h (EmacsFrameSetCharSize_): Prototype.
3313
3314 * sysdep.c (random, srandom): Declare explicitly.
3315
3316 * dispextern.h (move_it_vertically_backward): Declare.
3317
85fe3b5e
GM
33182001-01-04 Gerd Moellmann <gerd@gnu.org>
3319
0f2ac578
GM
3320 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3321 like in Fx_create_frame.
3322
482cca61
GM
3323 * xfaces.c (set_font_frame_param): Don't do anything for
3324 non-graphical frames.
3325
85fe3b5e
GM
3326 * window.c (Fdelete_other_windows): Set window's window_end_valid
3327 to nil when changing the window's start. Don't change the
3328 window's start when its top position hasn't changed. If we do,
3329 this will set the window's optional_new_start, which act's like a
3330 force_start during redisplay with C-x 1 M-> under particular
3331 circumstances (see report from Per Starback to emacs-pretest-bug
3332 from 2000-12-13.).
3333
3e99d3b4
GM
33342001-01-03 Gerd Moellmann <gerd@gnu.org>
3335
a77dc1ec
GM
3336 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3337 short cut at the start of the function. Add an assertion.
3338 (reseat_at_next_visible_line_start): Add an assertion.
3339
2f3cad6c
GM
3340 * window.c (Frecenter): When changing the window start, set the
3341 window's window_end_valid to nil.
3342 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3343
3344 * dispextern.h (move_it_past_eol): Add prototype.
3345
3346 * xdisp.c (move_it_past_eol): New function.
3347
3e99d3b4
GM
3348 * window.c (Fwindow_end): Doc fix.
3349
33502001-01-03 Dave Love <fx@gnu.org>
3351
52283633 3352 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3353
bafb434c
GM
33542001-01-03 Gerd Moellmann <gerd@gnu.org>
3355
3356 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3357 the enabled_p flag of the glyph row at window_end_vpos to 0.
3358 (handle_single_display_prop): Fix last change.
3359
5297fb00
RS
33602001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3361
3362 * window.c (Frecenter): Doc fix.
3363
13d6a61c
AI
33642001-01-02 Andrew Innes <andrewi@gnu.org>
3365
3366 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3367
3368 * frame.h (output_method): Add output_w32_console method.
3369 (FRAME_W32_CONSOLE_P): New macro.
3370
3371 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3372 use output_w32_console method.
3373 (Qw32_console): New Lisp_Object.
3374 (Fframep): Return it.
3375 (syms_of_frame): Init it.
52283633 3376 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3377
3378 * xfaces.c (realize_default_face): Set face foreground and
3379 background to unspecified for w32_console frames.
3380 (realize_face): Realize face cache for w32_console frames.
3381 (realize_tty_face): Accept w32_console frames.
3382
52283633 3383 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3384 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3385 necessary, even if running interactively.
3386
3387 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3388 w32_console frames.
3389
52283633
SM
3390 * w32term.c (x_update_begin):
3391 (x_update_end):
3392 (x_clear_frame):
3393 (x_ins_del_lines):
3394 (x_change_line_highlight):
3395 (x_delete_glyphs):
3396 (w32_ring_bell):
3397 (x_update_begin):
3398 (x_update_end):
3399 (w32_reassert_line_highlight):
3400 (w32_frame_rehighlight):
13d6a61c
AI
3401 (w32_frame_raise_lower): Do nothing if not w32 frame.
3402
3403 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3404
3405 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3406 system doesn't tell us directly.
3407 (Fx_display_visual_class): Implement properly.
3408
d6bb0c0d
GM
34092001-01-02 Gerd Moellmann <gerd@gnu.org>
3410
3411 * window.c (Frecenter): Handle centering in graphical frames
3412 specially. Centering on the basis of line counts doesn't work
3413 reliably with variable-height lines.
52283633 3414
315f5865
EZ
34152001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3416
3417 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3418 and al[].
3419
52283633 3420 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3421 (update_compositions): Remove unused variable `hook'.
3422
3423 * intervals.c (get_local_map): Remove unused variable `tem'.
3424
3425 * doprnt.c (doprnt1): Remove unused variable `size'.
3426
3427 * fns.c (Flength): Remove unused variable `tail'.
3428 (Fdelete): Remove unused variable `size'.
3429
3430 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3431 and `gcpro2'.
3432
52283633 3433 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3434
3435 * data.c (find_symbol_value): Remove extra 3rd argument in the
3436 call to swap_in_symval_forwarding.
3437
52283633 3438 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3439
3440 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3441 (trivial_regexp_p): Remove unused variable `c'.
3442 (boyer_moore): Remove unused variable `k'.
3443
3444 * indent.c (current_column): Remove unused variable `stopchar'.
3445 (Fcompute_motion): Remove unused variable `contin'.
3446
3447 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3448
3449 * dired.c (directory_files_internal): Fix a typo in a comment.
3450 Remove an unused variable `handler'.
52283633 3451 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3452 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3453 on BSD4_2.
3454
52283633 3455 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3456
3457 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3458 and `buf'.
3459 (Fmarker_insertion_type): Remove unused variable `buf'.
3460
3461 * insdel.c (make_gap): Remove unused variable `result'.
3462
52283633 3463 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3464 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3465 (menu_bar_items): Remove unused function-scope variable `tem'.
3466
3467 * fontset.c (fontset_ref): Remove unused variable `i'.
3468 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3469 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3470 (make_fontset_for_ascii_face): Remove unused variable `name'.
3471 (fs_load_font): Remove unused variable `font_idx'.
52283633 3472 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3473 (list_fontsets): Remove unused variable `tail'.
3474 (Fnew_fontset): Remove unused variables `family' and `registry'.
3475 (accumulate_font_info): Remove unused variable `tmp'.
3476 (Ffontset_font): Remove unused variable `id'.
3477 (syms_of_fontset): Remove unused variable `i'.
3478
3479 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3480 to x_term_init.
3481 (lookup_image): Remove unused variable `file'.
3482 (xbm_load): Remove unused variables `bitmap_data', `height', and
3483 `width'. Remove function-local variable `i', leave the
3484 block-local one.
3485 (gif_load): Remove unused variable `inc'.
3486
52283633 3487 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3488 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3489 leave only the one in the inner block.
3490
3491 * xfaces.c (face_fontset, realize_default_face): Remove unused
3492 variable `fontset'.
3493 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3494
3495 * term.c (encode_terminal_code): Remove unused variable `c'.
3496
3497 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3498 char *' instead of `char *'.
3499
3500 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3501 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3502 (Fchar_category_set): Remove unused variables `val', `charset',
3503 `c1' and `c2'.
3504
52283633
SM
3505 * coding.c (detect_coding_iso2022, setup_coding_system):
3506 Remove unused variable `i'.
315f5865
EZ
3507 (detect_coding_mask): Remove unused variable `idx'.
3508 (detect_coding): Remove unused variable `i'.
3509 (ccl_coding_driver): Remove unused variable `result'.
3510 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3511 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3512 (encode_coding_string): Remove unused variables `gcpro1' and
3513 `saved_coding_symbol'.
3514 (Ffind_coding_systems_region_internal): Remove function-local
3515 variable args[], leave only the block-local one.
3516 (code_convert_region1): Remove unused variable `len'.
3517
3518 * charset.c (char_printable_p): Remove unused variable `chars'.
3519 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3520 (str_to_multibyte): Remove unused variable `c'.
3521
3522 * window.c (size_window): Remove block-local variable `min_size'.
3523
3524 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3525 `header_line_height'.
3526 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3527 enum display_element_type.
3528
1a8a9daf
GM
35292001-01-02 Gerd Moellmann <gerd@gnu.org>
3530
6dde6abc 3531 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3532 statements that call X. Save away the error message in a local copy.
3533
1883b2c6
GM
3534 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3535 the start.
3536
a13be207
GM
3537 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3538 in or at the start of invisible text.
3539
1a8a9daf
GM
3540 * dispnew.c (update_window): Don't check_current_matrix_flags.
3541
3608c0f9
JR
35422001-01-01 Jason Rumney <jasonr@gnu.org>
3543
3544 * w32fns.c (x_figure_window_size): Do not allow new_height and
3545 new_width of frame to override specified values.
3546
abb1acc4
KH
35472000-12-30 Kenichi Handa <handa@etl.go.jp>
3548
52283633 3549 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3550
762a68ec
GM
35512000-12-29 Gerd Moellmann <gerd@gnu.org>
3552
52283633 3553 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3554 (update_window) [GLYPH_DEBUG]: Call it.
3555 (scrolling_window): Prevent including current rows which are below
3556 what's displayed in the window.
3557
3558 * xdisp.c (try_window_reusing_current_matrix)
3559 <new start <= old start>: Disable rows in the current matrix
3560 which are below the window after scrolling.
52283633 3561
762a68ec
GM
3562 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3563 is zero. It's not worth the complexity.
3564 (invisible_text_between_p): Put in #if 0 because unused.
3565
2d5912c1
GM
35662000-12-28 Gerd Moellmann <gerd@gnu.org>
3567
46f6a258
GM
3568 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3569 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3570
89f93679
GM
3571 * keyboard.c (echo_char): If C is an integer, always call
3572 push_key_description. Former code could signal an invalid
3573 character error.
3574
3575 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3576 If set, print multibyte text.
3577 (Fsingle_key_description): Call push_key_description with
3578 FORCE_MULTIBYTE set.
3579 (describe_buffer_bindings): Likewise.
3580
3581 * lisp.h (push_key_description): Add prototype.
3582
c06017fb
GM
3583 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3584 around the call to redisplay_internal.
3585
f1d2ce7f
GM
3586 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3587
2d5912c1
GM
3588 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3589
9371f831
KH
35902000-12-28 Kenichi Handa <handa@etl.go.jp>
3591
3592 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3593 (ccl_driver): New local variable `extra_bytes'.
3594
3595 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3596
52283633
SM
3597 * coding.c (setup_coding_system):
3598 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3599 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3600
0c80628a
KH
36012000-12-28 Kenichi Handa <handa@etl.go.jp>
3602
3603 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3604 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3605 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3606 (decode_composition_emacs_mule): New function.
3607 (decode_coding_emacs_mule): Decode composition sequence by calling
3608 decode_composition_emacs_mule.
3609 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3610 (encode_coding_emacs_mule): Changed from macro to function.
3611 If a text contains compositions, encode them correctly.
0c80628a
KH
3612 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3613 that decoding and encoding are required.
3614
3e32cc27
GM
36152000-12-27 Gerd Moellmann <gerd@gnu.org>
3616
5e25feee
GM
3617 * xfaces.c (PT_PER_INCH): New macro.
3618 (xlfd_point_size): Compute real point size from font's pixel size.
3619 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3620 instead of 72.
3621
892d8fcd
GM
3622 * .gdbinit: Comment out the line pointing to the Lesstif source
3623 directory.
3624
12c8b416
GM
3625 * window.c (Frecenter): Use displayed_window_lines instead
3626 of window_internal_height.
3627
6061fbf0
GM
3628 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3629 instead of x-toolkit-scroll-bars-p.
3630 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3631
3632 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3633 instead of x-toolkit-scroll-bars-p.
3634 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3635
3e32cc27
GM
3636 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3637 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3638 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3639 New variables.
3640 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3641 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3642 (build_frame_matrix_from_leaf_window): Remove unused code.
3643 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3644 redisplay history.
3645 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3646 (update_window) [GLYPH_DEBUG]: Likewise.
3647 (syms_of_display): Defsubr dump-redisplay-history.
3648
31798cfe
GM
36492000-12-23 Gerd Moellmann <gerd@gnu.org>
3650
f717c2ba
GM
3651 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3652 the end of the prompt. Set echo_after_prompt to the offset
3653 of echoptr in echobuf.
3654
aeb2b8fc
GM
3655 * xdisp.c (init_from_display_pos): Pop until the iterator's
3656 stack is empty; there may be frames for stretch or images
3657 on the stack.
3658
31798cfe
GM
3659 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3660 (save_or_restore_current_matrix): New function for the same
3661 purpose, but more efficient.
3662 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3663
f8156156
EZ
36642000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3665
3666 * xdisp.c (syms_of_xdisp): Fix last change.
3667
bdd6d4e8
GM
36682000-12-23 Gerd Moellmann <gerd@gnu.org>
3669
3670 * xdisp.c (syms_of_xdisp): Doc fix.
3671
3672 * xdisp.c (redisplay_window): Remove label restore_buffers;
3673 use finish_scroll_bars instead to make sure that scroll bars
3674 are redeemed. If we don't do this, flickering can result from
3675 scroll bars being destroyed and recreated.
3676
9436cdf9
JR
36772000-12-22 Jason Rumney <jasonr@gnu.org>
3678
3679 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3680 in the wrong colors when the foreground is not black.
3681 (expose_window): Don't redraw the window that's currently being
3682 updated.
3683
951f9df5
GM
36842000-12-22 Gerd Moellmann <gerd@gnu.org>
3685
856ff7a7
GM
3686 * window.c (size_window): When setting the window's too_small_ok
3687 flag, compare old size with minimum size depending on WIDTH_P,
3688 don't compare with window_min_width.
52283633 3689
951f9df5
GM
3690 * window.c (delete_window): Simplify somewhat.
3691 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3692 freeing window matrices. The flag windows_or_buffers_changed is
3693 set, so the next redisplay will consider all windows; this should
3694 suffice.
3695
886bc933
KH
36962000-12-22 Kenichi Handa <handa@etl.go.jp>
3697
3698 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3699
3700 * ccl.h (struct ccl_program): New member cr_consumed.
3701
3702 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3703 (CCL_READ_CHAR): Handle EOL conversion here.
3704 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3705
177f4e88
GM
37062000-12-21 Gerd Moellmann <gerd@gnu.org>
3707
52283633 3708 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3709
3710 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3711 otherwise tabs of different size compare equal.
3712
3713 * callint.c (Fcall_interactively): Prevent a compiler warning.
3714
3715 * print.c (print_unwind): Return nil.
3716 (PRINTDECLARE): Initialize all local variables.
3717 (print_preprocess): Add a default case.
3718
8e15274f
GM
3719 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3720
3721 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3722
52283633 3723 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3724 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3725
3726 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3727
3728 * dispnew.c (ensure_frame_matrix): Removed.
3729 (save_frame_matrix, restore_frame_matrix): New functions.
3730 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3731
3732 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3733 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3734
99012074
AI
37352000-12-21 Andrew Innes <andrewi@gnu.org>
3736
3737 * w32term.c (x_update_begin): Regenerate the palette here, rather
3738 than for each window.
3739
3740 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3741 palette is NULL, since this corrupts memory! Also get
3742 display_info reference from frame.
3743
29ef7d2d
JR
37442000-12-21 Jason Rumney <jasonr@gnu.org>
3745
3746 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3747
3748 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3749 to avoid returning without releasing it.
3e27fa1f 3750
3f9d67a6
KH
37512000-12-21 Kenichi Handa <handa@etl.go.jp>
3752
587fc3f9
KH
3753 * keymap.c (push_key_description): Don't convert eight-bit-control
3754 and eight-bit-graphic to multibyte character.
3755
3f9d67a6
KH
3756 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3757 generic character and CODE1 is nil, return the smallest character
3758 in CHARSET.
3759
774ba8c9
DL
37602000-12-20 Dave Love <fx@gnu.org>
3761
3762 * s/osf5-0.h (NSIG): Don't redefine.
3763
88416888
SM
37642000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3765
3766 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3767 excluding menu-bar and tool-bar.
3768 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3769 (menu_item_p): Remove.
3770 (where_is_internal_1): Don't ignore menu-items.
3771
a6426c6f
GM
37722000-12-20 Gerd Moellmann <gerd@gnu.org>
3773
03ff8aab
GM
3774 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3775 into account.
3776
3777 * window.c (make_window): Initialize window's min_hscroll.
3778 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3779 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3780 to zero.
3781 (struct saved_window): New member min_hscroll.
3782 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3783 (Fset_window_configuration): Set window's min_hscroll.
3784 (save_window_save): Save window's min_hscroll.
3785 (compare_window_configurations): Compare min_hscroll values.
3786
3787 * window.h (struct window): New member min_hscroll.
3788
3789 * keyboard.c (echo_prompt): Prevent a compiler warning.
3790
8de4aaf8
GM
3791 * xdisp.c (try_cursor_movement): Fix last change. The real
3792 condition is that PT is at the end of the row, and should
3793 be displayed at the start of the next row.
52283633 3794
3f7e3031
GM
3795 * xdisp.c (try_cursor_movement): If we end on a partially
3796 visible line, end we already decided to scroll, return -1.
3797
a6426c6f
GM
3798 * dispextern.h (ensure_frame_matrix): Add prototype.
3799
3800 * window.c (delete_window, Fsplit_window)
3801 (Fset_window_configuration): Call ensure_frame_matrix.
3802
52283633
SM
3803 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3804 New functions.
a6426c6f
GM
3805 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3806 completed, call fake_current_matrices instead of marking frame
3807 garbaged.
3808
57fa2774
JR
38092000-12-20 Jason Rumney <jasonr@gnu.org>
3810
3811 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3812
d925df90
EZ
38132000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3814
3815 * fns.c (Frequire): Doc fix.
3816
7b93a85b
GM
38172000-12-19 Gerd Moellmann <gerd@gnu.org>
3818
52283633 3819 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3820
c74e645b
GM
3821 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3822 currently displaying a message.
3823
7b93a85b
GM
3824 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3825 xterm.h.
3826 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3827
90d97e64
AI
38282000-12-18 Andrew Innes <andrewi@gnu.org>
3829
3830 * w32.c (w32_strerror): New function.
3831
3832 * w32.h (w32_strerror): New extern.
3833
3834 * w32fns.c (Fw32_shell_execute): Use it.
3835
91c9e6ce
GM
38362000-12-18 Gerd Moellmann <gerd@gnu.org>
3837
3838 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3839
6f4745e2
EZ
38402000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3841
3842 * msdos.c (IT_set_face): Obey inverse_video.
3843
c9e088ce
KH
38442000-12-18 Kenichi Handa <handa@etl.go.jp>
3845
3846 * dired.c (directory_files_internal): Always return decoded filenames.
3847
c3695f5f
GM
38482000-12-18 Gerd Moellmann <gerd@gnu.org>
3849
52d8e4ff
GM
3850 * xterm.c (x_connection_closed): Prevent being called recursively
3851 because of an error condition in XtCloseDisplay.
52283633 3852
62be9979
GM
3853 * xdisp.c (init_iterator): If noninteractive, and the frame's
3854 face cache is null, make one.
3855
52283633 3856 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3857
c3695f5f
GM
3858 * process.c (wait_reading_process_input): Check for pending
3859 input when running timers.
3860
78555fbe
EZ
38612000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3862
52283633 3863 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3864
b2b36264
KH
38652000-12-18 Kenichi Handa <handa@etl.go.jp>
3866
3867 * process.c (read_process_output): Don't run a filter if the code
3868 decoder produces nothing but carryover.
3869
9c543fbf
AI
38702000-12-17 Andrew Innes <andrewi@gnu.org>
3871
3872 * w32.c (sys_rename): Only check errno against EEXIST, and not
3873 EACCES, when determining whether rename failed because the target
3874 exists. This was resulting in indefinite looping on Windows 9x if
3875 the source file was locked by another process.
3876
3877 * w32fns.c (Ffile_system_info): New function.
3878 (syms_of_w32fns): Defsubr it.
3879
10c2b5a8
GM
38802000-12-17 Gerd Moellmann <gerd@gnu.org>
3881
b0228ace
GM
3882 * window.c (coordinates_in_window): Fix computation for
3883 position on vertical line between mode lines.
3884
10c2b5a8
GM
3885 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3886 Don't alter tip_frame or tip_window.
3887 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3888 was deleted.
3889
c844a81a
GM
3890 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3891 Don't alter tip_frame or tip_window.
3892 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3893 was deleted.
3894
6c825f8e
EZ
38952000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3896
3897 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3898 be consistent with the doc string. Reported by NAKAJIMA Mikio
3899 <minakaji@osaka.email.ne.jp>.
3900
af4bb4c8
KH
39012000-12-16 Kenichi Handa <handa@etl.go.jp>
3902
3903 * xfaces.c (Vface_ignored_fonts): New variable.
3904 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3905 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3906
8062e53a
GM
39072000-12-15 Gerd Moellmann <gerd@gnu.org>
3908
e87b8809
GM
3909 * dispnew.c (update_window): Detect pending input every nth line
3910 updated, i.e. do it depending on real work done, and not on the
3911 vpos of the line.
3912
3913 * xterm.c (expose_window): Don't redraw the window that's
3914 currently being updated.
3915
a6768cc5
GM
3916 * window.c (Fset_window_point): Remove test for
3917 cursor_in_non_selected_windows.
3918
4ea7fdca
GM
3919 * lread.c (read1): Recognize end of file after `\\'.
3920
8062e53a
GM
3921 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3922 not unwind_create_frame.
3923
bb7959c1
GM
39242000-12-15 Dave Love <fx@gnu.org>
3925
3926 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3927 bcopy & al.
3928
3929 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3930
ced04c42
KH
39312000-12-15 Kenichi Handa <handa@etl.go.jp>
3932
c5443913
KH
3933 * coding.c (setup_coding_system): Clear all members of the struct
3934 coding_system at first.
bc137305
KH
3935 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3936 argument.
3937 (code_convert_region): Don't override coding->src_multibyte and
3938 coding->dst_multibyte.
c5443913 3939
ced04c42
KH
3940 * fns.c (Fmd5): Docstring improved.
3941
c2d7f289
MB
39422000-12-15 Miles Bader <miles@gnu.org>
3943
3944 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3945 are actually marked as mode-lines; otherwise use
3946 estimate_mode_line_height.
3947
9d7d9263
GM
39482000-12-14 Gerd Moellmann <gerd@gnu.org>
3949
3950 * editfns.c (Fformat): Prevent a buffer overrun when the format
3951 specifies a precision.
3952
7cf0153a
EZ
39532000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3954
3955 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3956 argument is outside the range [2..3].
3957
1de0f662
AI
39582000-12-14 Andrew Innes <andrewi@gnu.org>
3959
3960 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3961 nothing to do. Bind inhibit-quit.
3962 (tip_frame): Make it a Lisp_Object.
3963 (x_create_tip_frame): Set tip_frame after it has been added to
3964 Vframe_list.
3965 (Fx_show_tip): Don't set tip_frame here.
52283633 3966 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3967 (unwind_create_frame, unwind_create_tip_frame): New functions.
3968 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3969 while a frame is only partially constructed.
3970
3971 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3972 (x_free_frame_resources): New function.
3973 (x_destroy_window): Use it.
3974
02387dcc
GM
39752000-12-14 Gerd Moellmann <gerd@gnu.org>
3976
3977 * xfns.c (Fx_backspace_delete_keys_p): New function.
3978 (syms_of_xfns): Defsubr it.
3979
3980 * config.in (HAVE_XKBGETKEYBOARD): Add.
3981
0544ef49
KH
39822000-12-14 Kenichi Handa <handa@etl.go.jp>
3983
98d62747
KH
3984 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
3985 Always store string in multibyte representation in echobuf.
3986 (echo_char): Always store string in multibyte representation in
3987 echobuf.
3988 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
3989 (read_key_sequence): Adjusted for the change of echo_prompt.
3990
a20193cd
KH
3991 * fns.c (Fmd5): Docstring improved.
3992
191b83b6
KH
3993 * lisp.h (detect_coding_system): Prototype adjusted.
3994
0544ef49
KH
3995 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
3996 (detect_coding_emacs_mule, detect_coding_iso2022,)
3997 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
3998 (detect_coding_utf_16, detect_coding_ccl): Make them static.
3999 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4000 (detect_coding_mask, detect_coding_system): New argument
4001 MULTIBYTEP. Callers changed.
1da1bb05
KH
4002 (decode_coding_string): Set coding->src_multibyte and
4003 coding->dst_multibyte before calling detect_coding and detect_eol.
4004 Update them after some coding system is detected.
52283633 4005
d5b3eb1b
SM
40062000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4007
4008 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4009
4010 * keyboard.c (menu_bar_items, tool_bar_items):
4011 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4012
f7f8bb69
GM
40132000-12-13 Gerd Moellmann <gerd@gnu.org>
4014
52283633 4015 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4016 New variables.
4017 (unwind_create_frame, unwind_create_tip_frame): New functions.
4018 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4019 while a frame is only partially constructed.
4020
4021 * xterm.h (x_free_frame_resources): Declare.
4022
4023 * xterm.c (x_free_frame_resources): New function.
4024 (x_destroy_window): Use it.
4025
e10da507
GM
4026 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4027 don't interrupt the update for pending input initially, i.e.
4028 update at least some lines.
4029
4030 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4031
d5b3eb1b 4032 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4033
4034 * xfns.c (gray_bitmap_bits): Declare `char *'.
4035
90aa2856
GM
40362000-12-12 Gerd Moellmann <gerd@gnu.org>
4037
4038 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4039 lines start with a relief line.
4040
a308c9cd
DL
40412000-12-12 Dave Love <fx@gnu.org>
4042
4043 * window.c (Fdisplay_buffer): Doc fix.
4044 (Fwindow_list): Remove unused var.
4045
4046 * buffer.h (mmap_set_vars): Declare.
4047
4048 * window.h (Fset_window_point): Declare.
4049
d575011f
EZ
40502000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4051
bf6282d2 4052 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4053 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4054 variable `area'. When looking for a row under (X,Y), give up if some
4055 of the previous rows is not enabled.
d575011f 4056
ecf4d726
GM
40572000-12-12 Gerd Moellmann <gerd@gnu.org>
4058
2ebf6139
GM
4059 * window.c (Fset_window_point): If displaying cursors in windows
4060 other than the selected window, make sure redisplay updates
4061 other windows to show the new value of point in the window.
4062
4063 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4064
bfdb75ee
GM
4065 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4066 the buffer is the sole visible buffer when in the mini-buffer.
4067
52283633 4068 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4069 Bind `inhibit-read-only' to t.
4070 (unwind_with_echo_area_buffer): Use AREF.
4071
c0006262
GM
4072 * xfns.c (Fx_hide_tip): Simplified.
4073
52283633
SM
4074 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4075 instead of `1'.
e9a59cad 4076
ecf4d726
GM
4077 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4078
e5959a9a
GM
40792000-12-11 Gerd Moellmann <gerd@gnu.org>
4080
a3642e49 4081 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4082
44b5a125
GM
4083 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4084 nothing to do. Bind inhibit-quit.
4085 (tip_frame): Make it a Lisp_Object.
4086 (x_create_tip_frame): Set tip_frame after it has been added to
4087 Vframe_list.
4088 (Fx_show_tip): Don't set tip_frame here.
4089
4090 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4091
4092 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4093 Lisp_Object.
4094
4095 * dispextern.h: Change external declaration of tip_frame.
4096
d990421f
GM
4097 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4098 return an empty string.
4099
4db87380
GM
4100 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4101 of the window's update_mode_line flag, since the former is set by
4102 force-mode-line-update, not the latter. This makes
4103 column-number-mode slightly faster.
52283633 4104
e5959a9a
GM
4105 * xdisp.c (try_window_id) <all changes above window start>:
4106 Set the cursor.
4107
169fe44e
GM
41082000-12-11 Paul Eggert <eggert@twinsun.com>
4109
4110 * config.in (HAVE_FTELLO): Remove.
4111 (HAVE_FSEEKO): Add.
4112 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4113 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4114 HAVE_FTELLO.
4115 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4116 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4117
59ec59ae
MB
41182000-12-11 Miles Bader <miles@gnu.org>
4119
4120 * window.c (displayed_window_lines): Don't round up when
4121 converting empty space at bottom to lines.
ff904dd6
MB
4122 Handle non-newline-terminated final lines properly.
4123 (Fwindow_text_height): New function (used to be in lisp).
4124 (syms_of_window): Initialize it.
59ec59ae 4125
42ebfa31
SM
41262000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4127
4128 * syntax.c (scan_lists): Check that the right quote char has the
4129 right Sstring syntax when jumping over strings.
4130 (init_syntax_once): Use Smax rather than 13.
4131
5cdb3cf3
MB
41322000-12-09 Miles Bader <miles@gnu.org>
4133
4134 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4135 with PARTIALLY, inverting the sense.
4136 (window_scroll_pixel_based): Scroll partially visible lines into
4137 place if we hit the beginning or end of the buffer.
a12167c5
MB
4138 (displayed_window_lines): Don't include partially visible lines.
4139 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4140
842b2a94
GM
41412000-12-08 Gerd Moellmann <gerd@gnu.org>
4142
4143 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4144
4145 * tparam.c (tparam1): Change the way buffers are reallocated to be
4146 portable and less obfuscated.
4147
4148 * termcap.c (tgetent): Change the way buffers are reallocated to
4149 be portable and less obfuscated.
4150
4151 * macros.c (store_kbd_macro_char): Change the way buffers are
4152 reallocated to be portable and less obfuscated.
4153
4154 * lread.c (read1): Change the way buffers are reallocated to be
4155 portable and less obfuscated.
4156
4157 * doc.c (Fsubstitute_command_keys): Change the way buffers
4158 are reallocated so that it is portable.
4159
137cad7c
EZ
41602000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4161
4162 * dosfns.c (Ffile_system_info): New function.
4163 (syms_of_dosfns): Defsubr it.
4164
5c7f629c
SM
41652000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4166
4167 * alloc.c (gc_sweep): Add comment.
4168
959e647d
GM
41692000-12-07 Gerd Moellmann <gerd@gnu.org>
4170
52283633
SM
4171 * sound.c (vox_configure): Change order of ioctls.
4172 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4173 Ignore errors when changing volume.
4174 (vox_close): Don't reset the device.
4175
926b7e5e
GM
4176 * process.c (read_process_output): Make sure the process marker's
4177 position is valid when the process buffer is changed in
4178 after-change functions. W3 does that.
52283633 4179
959e647d
GM
4180 * xfns.c (x_free_gcs): New function.
4181
4182 * xterm.h (x_free_gcs): Add prototype.
4183
4184 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4185 freeing GCs here.
4186
4187 * xterm.c (x_destroy_window): Call x_free_gcs so that
4188 resources of non-toolkit X windows will be freed.
4189
478ea067
AI
41902000-12-07 Andrew Innes <andrewi@gnu.org>
4191
4192 * w32fns.c (xlfd_charset_of_font): Fix last change.
4193
fbee3231
DL
41942000-12-06 Dave Love <fx@gnu.org>
4195
67292061
DL
4196 * md5.h (__P): Don't define -- it comes from config.h.
4197
fbee3231
DL
4198 * strftime.c: Change some #if foo to #ifdef foo.
4199
4ee87dbb
AI
42002000-12-06 Andrew Innes <andrewi@gnu.org>
4201
4202 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4203
52283633 4204 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4205 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4206 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4207
9765b4a4
GM
42082000-12-06 Gerd Moellmann <gerd@gnu.org>
4209
d285b373
GM
4210 * alloc.c (gc_sweep): Prevent symbols read during loadup
4211 from being freed.
4212
384333ee
GM
4213 * xdisp.c (underlying_face_id): New function.
4214 (handle_face_prop, face_before_or_after_it_pos): Use it
4215 to determine the face ``under'' a string. Let strings inherit
4216 the face of the buffer under them.
4217
4218 * xfaces.c (face_at_string_position): Update function comment.
52283633 4219
d4b72d58
GM
4220 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4221 matrix if the window's left position has changed; we need to
4222 redraw it in this case.
4223
4224 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4225
e1d05387
GM
4226 * window.c (coordinates_in_window): Check mouse on mode-line or
4227 header-line first.
4228
eb1b0c74
GM
4229 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4230 advertized by the function documentation.
4231
d94d636f
GM
4232 * window.c (syms_of_window): Doc fix.
4233
3887b449
GM
4234 * sound.c (vox_configure): Set volume for left and right channel.
4235 (sound_cleanup): Return nil.
4236
efc8f57a
GM
4237 * xdisp.c (move_it_by_lines): Fix paren typo.
4238
9765b4a4
GM
4239 * xterm.c (x_load_font): Don't use the font's max_bounds for
4240 computing the height of the font. If max_bounds' ascent or
4241 descent are greater than the font's ascent or descent, this means
4242 glyphs overlap, which should be handled now by redisplay.
4243
6529ed87
GM
4244 * window.c (Veven_window_heights): New variable.
4245 (syms_of_window): DEFVAR_LISP it.
4246 (Fdisplay_buffer): Check Veven_window_heights before evening the
4247 window heights.
52283633 4248
0eb2ecde
MB
42492000-12-06 Miles Bader <miles@gnu.org>
4250
4251 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4252 update `default-frame-alist' instead of setting no frame parameters.
4253
03d7a167
KH
42542000-12-06 Kenichi Handa <handa@etl.go.jp>
4255
4256 * composite.c (update_compositions): Fix typo (use the correct
4257 variable).
4258
5f8803c2
JR
42592000-12-05 Jason Rumney <jasonr@gnu.org>
4260
4261 * md5.h: Remove underscores from function declarations.
4262 (__attribute__, __alignof__) [!__GNUC__]: Define.
4263
4264 * md5.c: Delay include of md5.h until after namespace cleaning.
4265
c28a075b
JR
4266 * makefile.w32-in (fns.o): Depend on md5.h
4267 (md5.o): New target.
4268 (sunfns.o): Remove.
4269
4270 * makefile.nt: Likewise.
4271
ff3c7056
JR
42722000-12-05 Jason Rumney <jasonr@altavista.net>
4273
4274 * w32term.c (expose_area): Complete last change.
4275
0c21eeeb
KR
42762000-12-05 Ken Raeburn <raeburn@gnu.org>
4277
4278 * minibuf.c: Include intervals.h.
4279
f201d732
JR
42802000-12-05 Jason Rumney <jasonr@gnu.org>
4281
4282 * w32term.c (x_produce_glyphs): If a font for a component of
4283 a composition is not found, use 1 pixel dot ascent and 0 dot
4284 descent value to avoid displaying terribly tall empty boxes.
4285 (expose_area): Pass x-coordinate relative to the exposed
4286 area to x_draw_glyphs instead of a window-relative coordinate.
4287
21999ab9
GM
42882000-12-05 Gerd Moellmann <gerd@gnu.org>
4289
4d2036e4
GM
4290 * xdisp.c (next_element_from_ellipsis): Save face before selective
4291 display in saved_face_id, and set face_before_selective_p.
4292 (reseat_1): Reset face_before_selective_p.
4293 (append_space, extend_face_to_end_of_line): If iterator's
4294 face_before_selective_p is set, use the face from saved_face_id.
4295 (extend_face_to_end_of_line): For tty frames, make sure to
4296 use the right face id when producing spaces at the end of
4297 the line.
4298
4299 * dispextern.h (struct it): Add face_before_selective_p.
4300
52be17cc
GM
4301 * keyboard.c (record_char): Don't record identical help-echo
4302 events in recent_keys.
4303
8a4f36cc
GM
4304 * xterm.c [USE_X_TOOLKIT]: Close the display.
4305 (xim_close_dpy): Handle case that the display has been closed.
4306
57d6e381
GM
4307 * xterm.c (x_destroy_window): Reset the frame's X window after
4308 destroying it.
4309
21999ab9
GM
4310 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4311 variable window_width.
4312 (line_draw_cost): Fix code skipping over spaces at the end of the
4313 line when must_write_spaces is not set.
4314 (scrolling_window): Fix code inserting runs in list of all runs.
4315
91372bb7
KH
43162000-12-05 Kenichi Handa <handa@etl.go.jp>
4317
4318 * coding.c (setup_coding_system): Be sure to initialize
4319 coding->category_idx.
4320
6c083b4c
GM
43212000-12-04 Gerd Moellmann <gerd@gnu.org>
4322
0c68ce6f 4323 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4324
6452929e
GM
4325 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4326 area to x_draw_glyphs instead of a window-relative coordinate.
4327
d7f31e22
GM
4328 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4329 error in the message.
4330
ae18aa3b
GM
4331 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4332 timer after having read a key. It's not good for code reading
4333 several keys in a loop, like an input method.
4334
caa15ef7
GM
4335 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4336 record undo information for format-decode.
4337
4338 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4339 current buffer is read-only, not if it isn't.
4340
6c083b4c
GM
4341 * keyboard.c (record_char): Record `help-echo' input events
4342 in recent_keys only if they display some help. Don't record
4343 `help-echo' events as macro char.
4344
caa15ef7
GM
43452000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4346
4347 * editfns.c (save_excursion_restore): Don't move point
4348 in another window if it is showing the wrong buffer.
4349 Avoid the call to Fwindow_live_p, for speed.
4350
5a13529b
KH
43512000-12-04 Kenichi Handa <handa@etl.go.jp>
4352
e225faa7
KH
4353 * xfaces.c (struct font_name): New member registry_priority.
4354 (split_font_name): Initialize the above member to zero.
4355 (concat_font_list): New function.
4356 (font_list): Include fonts of all alternative registries.
4357 (FONT_POINT_SIZE_QUANTUM): New macro.
4358 (better_font_p): Ignore point size difference less than
4359 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4360
e89648b4
KH
4361 * xterm.c (x_produce_glyphs): If a font for a component of
4362 a composition is not found, use 1 pixel dot ascent and 0 dot
4363 descent value to avoid displaying terribly tall empty boxes.
4364
5a13529b
KH
4365 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4366
d7935eb6
KR
43672000-12-03 Ken Raeburn <raeburn@gnu.org>
4368
4369 * coding.h (code_convert_string1): Declare.
4370
4371 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4372
52283633 4373 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4374
0dd5e255
JR
43752000-12-02 Jason Rumney <jasonr@gnu.org>
4376
4377 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4378 correctly for single byte character case.
4379 (w32_per_char_metric): Do not try to make any assumptions about
4380 the metrics of BDF fonts.
250cfece 4381 (x_estimate_mode_line_height): If `mode-line' face
52283633 4382 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4383 (note_mouse_highlight): Change the cursor shape on the vertical
4384 border between windows [not enabled].
4385
4386 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4387
4388 * w32fns.c (Fx_create_frame): Reintroduce the call to
4389 face-set-after-frame-defaults.
4390 (Vx_window_horizontal_drag_shape): New variable.
4391 (syms_of_xfns): DEFVAR_LISP it.
4392 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4393 enabled].
0dd5e255 4394
b5d8d2ca
GM
43952000-12-02 Simon Josefsson <simon@josefsson.org>
4396
4397 * fns.c (Fmd5): Use a different logic to decide the coding system
4398 to use.
4399
4400 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4401
fbb87147
EZ
44022000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4403
52283633 4404 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4405
447e9da0
GM
44062000-12-01 Gerd Moellmann <gerd@gnu.org>
4407
7708ced0
GM
4408 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4409 height for YNegative.
4410 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4411 height; also see comment there.
4412
447e9da0
GM
4413 * window.c (coordinates_in_window): Handle computations for
4414 positions on the vertical bar and fringes differently for
4415 window-system frames. Consider some pixels near the vertical bar
4416 as on the bar if the frame doesn't have vertical scroll bars.
4417 Associate positions between mode or header lines with the
4418 right window, the left one.
4419
86d1db20
JR
44202000-12-01 Jason Rumney <jasonr@gnu.org>
4421
4422 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4423
4424 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4425 invalid frame.
4426
a1d58e5b
GM
44272000-12-01 Gerd Moellmann <gerd@gnu.org>
4428
52283633 4429 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4430 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4431 (save_window_save, Fset_window_configuration): Save/restore
4432 window's orig_top and orig_height.
4433
89c609af
JR
44342000-12-01 Jason Rumney <jasonr@gnu.org>
4435
4d177746 4436 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4437
89c609af
JR
4438 * w32fns.c (x_set_cursor_color): Fix last change.
4439
eccc05db
GM
44402000-11-30 Gerd Moellmann <gerd@gnu.org>
4441
31b6671b
GM
4442 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4443 sure that the next redisplay displays the minibuffer, so that
4444 the cursor will be replaced with what the minibuffer wants.
4445
eccc05db
GM
4446 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4447 #ifndef instead of using #if.
4448 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4449 USE_TOOLKIT_SCROLL_BARS is defined.
4450
162de750
JR
44512000-11-30 Jason Rumney <jasonr@gnu.org>
4452
4453 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4454 x_display_cursor.
4455
693c4692
GM
44562000-11-30 Gerd Moellmann <gerd@gnu.org>
4457
4458 * fns.c (Fmd5): Doc fix.
4459
b5d8d2ca 44602000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4461
4462 * fns.c (Fmd5): New function.
4463 (syms_of_fns): Defsubr md5.
4464
4465 * Makefile.in (obj): Add md5.o
4466
b02cd40b
GM
44672000-11-30 Gerd Moellmann <gerd@gnu.org>
4468
edfb795e
GM
4469 * md5.h, md5.c: New files, taken from glibc.
4470
df3aedcf
GM
4471 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4472
b02cd40b 4473 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4474 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4475
8b5176cd
SM
44762000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4477
4478 * eval.c (Frun_hooks): Allow 0 arguments.
4479
346598f1
GM
44802000-11-29 Gerd Moellmann <gerd@gnu.org>
4481
f9396e03
GM
4482 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4483 is over the menu bar widget, say it's not on the frame.
4484
4a967a9b
GM
4485 * xfns.c (Fx_create_frame): Reintroduce the call to
4486 face-set-after-frame-defaults.
4487
346598f1
GM
4488 * eval.c (Fsignal): Reset handling_signal.
4489
222456a1
JR
44902000-11-28 Jason Rumney <jasonr@gnu.org>
4491
4492 * w32menu.c (add_menu_item): Reset menu item text when changing
4493 type to radio button.
4494
8049ddc0
GM
44952000-11-28 Gerd Moellmann <gerd@gnu.org>
4496
346598f1 4497 * xselect.c: Update copyright.
f4f4ee4d 4498
bebe4a2c
GM
4499 * window.c (coordinates_in_window): If on a mode or header line,
4500 but sufficiently close to its start, return ``on vertical
4501 border''. This gives us a way to drag windows horizontally when
4502 using toolkit scroll bars.
4503
4504 * xterm.c (note_mouse_highlight): Change the cursor shape
4505 on the vertical border between windows.
4506
4507 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4508
4509 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4510 (syms_of_xfns): DEFVAR_LISP it.
4511 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4512
8d2c2642
GM
4513 * textprop.c (text_read_only): New function.
4514 (verify_interval_modification): Use it instead of signaling
4515 `text-read-only'. This makes it easier to catch this error
52283633 4516 with a breakpoint.:
8d2c2642 4517
52283633 4518 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4519 not end of line, which includes CR.
4520
5a2bae6c
KH
45212000-11-28 Kenichi Handa <handa@etl.go.jp>
4522
4523 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4524 include no-conversion.
4525
ae31f84d
JR
45262000-11-27 Jason Rumney <jasonr@gnu.org>
4527
4528 * w32fns.c (w32_load_system_font): Always mark font as double byte
4529 if codepage is unicode.
4530
67f1cf4c
GM
45312000-11-27 Gerd Moellmann <gerd@gnu.org>
4532
4a74d071 4533 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4534 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4535
902ae620
GM
4536 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4537 `vertical-line', `mode-line' and `header-line' events.
4538
4539 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4540 of a character, a TAB for instance. This is easier than to set
4541 up the iterator exactly, and it's not a frequent case, so the
4542 additional effort wouldn't really pay off.
4543
c1e279c2
AC
45442000-11-26 Andrew Choi <akochoi@i-cable.com>
4545
67f1cf4c 4546 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4547 init_window_once.
4548
a609568a
JR
45492000-11-25 Jason Rumney <jasonr@gnu.org>
4550
52283633
SM
4551 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4552 Args to window_from_coordinates should be pixel coordinates.
48b21762 4553
a609568a
JR
4554 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4555 redisplay handles them properly.
4556
a658d039
MB
45572000-11-25 Miles Bader <miles@gnu.org>
4558
4559 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4560
d3416cca
JR
45612000-11-24 Jason Rumney <jasonr@gnu.org>
4562
4563 * w32.c (init_environment): Set LANG environment variable based on
4564 locale settings, if not set.
4565
4566 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4567 making tool bar smaller. When clearing the frame, also
4568 clear current matrices. Clear frame when tool bar disappears.
4569 Don't use more lines for the tool-bar than is available.
4570 (x_change_window_heights): New function.
4571
ba193890
GM
45722000-11-24 Gerd Moellmann <gerd@gnu.org>
4573
2be8f184
GM
4574 * xdisp.c (init_from_display_pos): If POS says we're already after
4575 an overlay string ending at POS, make sure to pop the iterator
4576 because it will be in front of that overlay string. When POS is
4577 ZV, we've thereby also ``processed'' overlay strings at ZV.
4578
ba193890
GM
4579 * xfaces.c (lface_from_face_name): Function comment fix.
4580
1862a24e
MB
45812000-11-24 Miles Bader <miles@gnu.org>
4582
4583 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4584 apply `mode-line-inverse-video' -- zero means force display using
4585 the default face, non-zero means display using the specialized face.
4586 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4587
f07fa1b8
KH
45882000-11-23 Kenichi Handa <handa@etl.go.jp>
4589
4590 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4591 hard coded `4'.
4592
2bcdf662
EZ
45932000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4594
4595 * coding.c (decode_coding_emacs_mule): Fix the case of
4596 CODING_EOL_LF, which used uninitialized value of c.
4597
ba8299ff
SM
45982000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4599
4600 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4601
f4117c4d
GM
46022000-11-22 Gerd Moellmann <gerd@gnu.org>
4603
03e757c1
GM
4604 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4605 buffer object.
4606
f4117c4d
GM
4607 * frame.h (struct frame): Replace desired_tool_bar_items,
4608 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4609 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4610
4611 * frame.c (make_frame): Change initialization of tool bar
4612 items accordingly.
4613
4614 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4615 Change references to members deleted from struct frame to use the
f4117c4d
GM
4616 new ones.
4617
4618 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4619 references to members deleted from struct frame to use the new ones.
f4117c4d 4620
52283633 4621 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4622
4623 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4624
4625 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4626 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4627 from struct frame to use the new ones.
4628
f8e2f3f2
MB
46292000-11-23 Miles Bader <miles@gnu.org>
4630
4631 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4632 the face's inverse-video attribute, rather than overriding it.
4633
60e8e0a5
GM
46342000-11-22 Gerd Moellmann <gerd@gnu.org>
4635
4636 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4637 making tool bar smaller.
4638
92dd1b29
DL
46392000-11-22 Dave Love <fx@gnu.org>
4640
4641 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4642
e672fdce
MB
46432000-11-22 Miles Bader <miles@gnu.org>
4644
3a17d6cc
MB
4645 * keyboard.c (Vminibuffer_message_timeout): New variable.
4646 (command_loop_1): Use it to determine message timeout.
4647 (syms_of_keyboard): Initialize it.
4648
60e8e0a5 4649 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4650
e9655d81
KH
46512000-11-22 Kenichi Handa <handa@etl.go.jp>
4652
4653 * sysdep.c: Move the code for declaring h_errno after #include
4654 <netdb.h>.
4655
77270fac
GM
46562000-11-21 Gerd Moellmann <gerd@gnu.org>
4657
cd913aae
GM
4658 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4659 the menu bar when the tooltip is unmapped.
4660
77270fac
GM
4661 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4662 sole visible buffer when we're currently in the mini-buffer, and
4663 give up if so.
52283633 4664
556635d6
JR
46652000-11-21 Jason Rumney <jasonr@gnu.org>
4666
4667 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4668 put on the clipboard.
4669 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4670 copy of what Emacs last put there. If they are the same, do not
52283633 4671 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4672
5b7bde64
MB
46732000-11-22 Miles Bader <miles@gnu.org>
4674
4675 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4676 (syms_of_minibuf): Initialize it.
4677 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4678 to prompt, don't make read-only.
4679
ff23e1dd
GM
46802000-11-21 Gerd Moellmann <gerd@gnu.org>
4681
52283633
SM
4682 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4683 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4684
7aaf4388
GM
4685 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4686
f5f47add 4687 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4688
ff23e1dd
GM
4689 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4690
37c35586
KH
46912000-11-21 Kenichi Handa <handa@etl.go.jp>
4692
4693 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4694 ... #endif scope.
4695
ff9ab414
GM
46962000-11-20 Gerd Moellmann <gerd@gnu.org>
4697
52283633 4698 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4699 screen supports it.
4700
29a01b72
GM
4701 * s/gnu-linux.h: Don't use `#cpu'.
4702
09dfdf85
GM
4703 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4704 not defined in mman.h.
4705
52283633 4706 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4707 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4708 and store an index in the XClientMessageEvent. Storing a
4709 Lisp_Object or pointer can fail on a 64 bit system, since X only
4710 transfers 32 bits.
52283633
SM
4711 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4712
81459ac9
DL
47132000-11-20 Dave Love <fx@gnu.org>
4714
4715 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4716
56c13ae6
GM
47172000-11-20 Gerd Moellmann <gerd@gnu.org>
4718
4719 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4720
495a6df3
KH
47212000-11-20 Kenichi Handa <handa@etl.go.jp>
4722
2bcf3714
KH
4723 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4724 by WIDTH.
4725
495a6df3
KH
4726 * alloc.c (make_string): Fix previous change. Be sure to make
4727 unibyte string correctly.
4728
6d950f4c
GM
47292000-11-19 Gerd Moellmann <gerd@gnu.org>
4730
39b39373
GM
4731 * window.c (Fwindow_list): Change parameter list to be XEmacs
4732 compatible.
4733 (window_list_1): New function.
4734 (window_loop): Use it instead of Fwindow_list.
4735
b95b34e5
GM
4736 * sysdep.c (emacs_ospeed): New variable.
4737 (toplevel): Don't declare ospeed extern.
4738 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4739
4740 * termcap.c (ospeed): Remove.
4741 (tputs) [!emacs]: Remove unused code.
4742 (tgetent): Avoid a compiler warning.
4743
e83dc917
GM
4744 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4745 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4746 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4747
4748 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4749 removed.
4750 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4751 Take the X display as additional argument.
4752 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4753 `Widget' is a pointer type that's not easily stored in Lisp_Object
4754 form in a portable way.
52283633 4755
6d950f4c
GM
4756 * dispnew.c (update_text_area): Fix last change.
4757
e47306e6
GM
47582000-11-18 Gerd Moellmann <gerd@gnu.org>
4759
fb3cd89b
GM
4760 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4761
4762 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4763 clear current matrices.
4764
edaa9aed
GM
4765 * buffer.c (mmap_enlarge): Don't print a message on stderr
4766 if mapping new memory at the end of the existing region fails.
4767
e47306e6
GM
4768 * dispnew.c (update_text_area): Don't skip over equal glyphs
4769 when the last current glyph overlaps the glyph to its right.
4770
509633e3
MB
47712000-11-18 Miles Bader <miles@gnu.org>
4772
4773 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4774 lines that *end* with "..." too (that's the most common case!).
4775
d392e9c5
GM
47762000-11-18 Gerd Moellmann <gerd@gnu.org>
4777
67988445
GM
4778 * xdisp.c (resize_mini_window): Temporarily change to the
4779 mini-window's buffer if necessary.
1bfdbe43 4780
d392e9c5
GM
4781 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4782 the tooltip obscures less text under it.
4783
47842000-11-17 Gerd Moellmann <gerd@gnu.org>
4785
4786 * puresize.h (BASE_PURESIZE): Increase to 700000.
4787
92bb977f
JR
47882000-11-18 Jason Rumney <jasonr@gnu.org>
4789
4790 * w32term.c (w32_draw_bitmap): Use face to set colors.
4791
26fbf20b
DL
47922000-11-17 Dave Love <fx@gnu.org>
4793
4794 * lread.c (Fload): Fix #ifdef for pcc.
4795
100b593b
GM
47962000-11-17 Gerd Moellmann <gerd@gnu.org>
4797
4798 * xdisp.c (pos_visible_p): Compute the default character height
4799 differently.
4800
a288d0d1
GM
48012000-11-16 Gerd Moellmann <gerd@gnu.org>
4802
cac94de6 4803 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4804 knowing the line's height; use the default font's height in that case.
cac94de6 4805
a288d0d1
GM
4806 * xfaces.c (weight_table): Add `demi' with the same meaning as
4807 `demibold'.
4808
981fb6f6
KH
48092000-11-16 Kenichi Handa <handa@etl.go.jp>
4810
2cca872d 4811 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4812 (clear_glyph_row): Delete local static variable null_row.
4813
e5fa381b
JR
48142000-11-15 Jason Rumney <jasonr@gnu.org>
4815
4816 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4817 (w32_alloc_lighter_color): Use new brightness calculations from
4818 xterm.c. Scale delta to be in the range expected by W32.
4819 (w32_draw_relief_rect): Use frame relief colors.
4820
8e42f043
GM
48212000-11-15 Gerd Moellmann <gerd@gnu.org>
4822
6d133d1f
GM
4823 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4824 (Qinhibit_default_face_x_resources): New variable.
4825 (syms_of_frame): Initialize it.
4826 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4827
4828 * xdisp.c (pos_visible_p): Improve function comment.
4829
4830 * lisp.h (BINDING_STACK_SIZE): New macro.
4831
8e42f043
GM
4832 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4833 reading the directory if readdir returns null and errno is EAGAIN
4834 or EINTR.
4835
e8c87124
SM
48362000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4837
4838 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4839 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4840 Set amount_to_scroll to max of dx and scroll_step so that
4841 scroll-conservatively doesn't defeat scroll-step>1.
4842 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4843 scroll-conservatively for line-at-a-time scrolling.
4844
5f0c971d
GM
48452000-11-14 Gerd Moellmann <gerd@gnu.org>
4846
4847 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4848 extra argument.
4849
4850 * xdisp.c (current_mode_line_height, current_header_line_height):
4851 New variables.
4852 (init_xdisp): Initialize them.
4853 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4854 and use exact mode line heights if it is set.
4855
4856 * lisp.h (pos_visible_p): Change prototype.
4857
4858 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4859 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4860 and current_header_line_height first.
52283633
SM
4861 (current_mode_line_height, current_header_line_height):
4862 Declare extern.
5f0c971d 4863
d7361edf
MB
48642000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4865
4866 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4867 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4868 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4869
ee5e440a
MB
48702000-11-14 Miles Bader <miles@gnu.org>
4871
4872 * xterm.c (x_alloc_lighter_color): Include an additive component
4873 too for dark colors, because FACTOR isn't enough.
4874 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4875 New macros.
4876
5ca020fc
GM
48772000-11-13 Gerd Moellmann <gerd@gnu.org>
4878
4879 * keyboard.c (show_help_echo): Call message3_nolog with number of
4880 bytes in the help string as 2nd parameter, instead of the number
4881 of characters.
4882
9d348294
MB
48832000-11-13 Miles Bader <miles@gnu.org>
4884
4885 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4886 (Fload): Use new openp return protocol.
4887 Don't try to use Vload_source_file_function to load .elc files.
4888 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4889 openp return protocol.
4890 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4891
1729bb9a
KH
48922000-11-11 Kenichi Handa <handa@etl.go.jp>
4893
4e677396
KH
4894 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4895
4896 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4897 Defined these macros.
4898 (NLIST_STRUCT): Avoid re-defining it.
4899
1729bb9a
KH
4900 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4901 -I/usr/contrib/X11R6/include.
4902 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4903
a82fe213
JR
49042000-11-10 Jason Rumney <jasonr@gnu.org>
4905
4906 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4907
4908 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4909 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4910
4911 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4912 (Qw32_charset_vietnamese): New symbol.
4913 (xlfd_charset_of_font): New function.
4914 (w32_load_system_font): Use it.
4915 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4916 when Vw32_charset_info_alist is nil to ensure default face always
4917 has font. Use Fcar and Fcdr for safety.
4918 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4919 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4920 pseudo-codepages for special cases.
4921 (w32_to_x_font): New parameter to allow charset portion to be
4922 specified where there is many to one mapping. Callers changed.
4923 (w32_list_fonts): Avoid listing fonts that won't display.
4924
52d89894
GM
49252000-11-10 Gerd Moellmann <gerd@gnu.org>
4926
4927 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4928 (font_list_1): Renamed from font_list.
4929 (font_list): New function, trying alternative registries from
4930 Vface_alternative_font_registry_alist.
4931 (Finternal_set_alternative_font_registry_alist): New function.
4932 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4933 Vface_alternative_font_registry_alist.
4934 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4935
651cd3da
KR
49362000-11-09 Ken Raeburn <raeburn@gnu.org>
4937
4938 * lisp.h (Flooking_at): Declare.
4939
388ac098
GM
49402000-11-09 Gerd Moellmann <gerd@gnu.org>
4941
778fbc46 4942 * dired.c (directory_files_internal): Fix a braino.
52283633 4943
388ac098
GM
4944 * dired.c (directory_files_internal): Add missing GCPRO's.
4945 Some cleanup.
4946
ecaedde1
GM
49472000-11-08 Gerd Moellmann <gerd@gnu.org>
4948
f7eb32aa
GM
4949 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4950 (resize_mini_window): Return quickly if Vresize_mini_window is
4951 nil. Don't return if Vmax_mini_window_height is nil.
4952
4953 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4954 (syms_of_xdisp): Initialize them.
4955 (resize_mini_window): Act according to the setting of
4956 Vresize_mini_window.
4957 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4958
ecaedde1
GM
4959 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4960 scroll bar widget after configuring it, so that it will appear at
4961 the right position from the start.
4962 (XTredeem_scroll_bar): Cleaned up.
4963
3747ef2c
KH
49642000-11-08 Kenichi Handa <handa@etl.go.jp>
4965
4966 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4967 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4968 division by two.
4969
4970 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4971
03391420
DL
49722000-11-07 Dave Love <fx@gnu.org>
4973
7758f1c1 4974 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4975
4976 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4977
b5de343d
GM
49782000-11-07 Gerd Moellmann <gerd@gnu.org>
4979
acad3c0b
GM
4980 * window.c (Fset_window_configuration): Don't try to preserve
4981 point in the current buffer, if that buffer is displayed in more
4982 than one window.
4983
b5de343d
GM
4984 * xfaces.c (lookup_named_face): If default face isn't realized,
4985 try to realize it. Return -1 if not successful.
4986 (Fx_list_fonts): Handle case that face cannot be determined.
4987 (Fface_font): Likewise.
4988
cdb1fe49
GM
49892000-11-06 Gerd Moellmann <gerd@gnu.org>
4990
4991 * window.c (displayed_window_lines): Detect partially
4992 visible lines at the bottom correctly.
4993
d3a67486
SM
49942000-11-06 Stefan Monnier <monnier@cs.yale.edu>
4995
4996 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
4997 when ensuring we don't do visit in indirect buffer.
4998
ff8dd5d5
KH
49992000-11-06 Kenichi Handa <handa@etl.go.jp>
5000
5001 * composite.h (compose_chars_in_text): Add prototype.
5002
5003 * composite.c (Vcomposition_function_table): New variable.
5004 (Qcomposition_function_table): New variable.
5005 (run_composition_function): Call
5006 Vcompose_chars_after_function with three arguments.
5007 (compose_chars_in_text): New function.
5008 (syms_of_composite): Modified the doc-string of
5009 Vcompose_chars_after_function. Declare composition-function-table
5010 as a lisp variable, and initialize it.
5011
5012 * xfns.c (x_encode_text): Suppress producing escape sequences for
5013 composition.
5014
5015 * xselect.c: Include composite.h.
5016 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5017
d1145f85
AI
50182000-11-05 Andrew Innes <andrewi@gnu.org>
5019
5020 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5021
5022 * sysdep.c (read_input_waiting): Remove extraneous argument to
5023 read_socket_hook.
5024
5025 * w32fns.c (Fx_server_version): Include w32_build_number in the
5026 return list.
5027
5028 * w32heap.c (w32_build_number): New variable.
5029 (cache_system_info): Set it.
5030
5031 * w32heap.h (w32_build_number): Add extern.
5032
5033 * emacs.c (syms_of_emacs): Update docstring for
5034 system-configuration, to reflect the actual usage on MS-Windows.
5035
e85ee976
GM
50362000-10-31 Gerd Moellmann <gerd@gnu.org>
5037
26dcb81b
GM
5038 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5039 process idle timers while waiting for another event.
5040
52283633 5041 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5042 the default face are colored.
5043
e85ee976
GM
5044 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5045 window height hasn't changed.
5046
01b220b6
JR
50472000-10-31 Jason Rumney <jasonr@gnu.org>
5048
5049 * w32term.c (x_produce_glyphs): Handle composite characters.
5050 (x_draw_glyph_string_foreground)
5051 (x_draw_composite_glyph_string_foreground): Restore old font.
5052
4e6b7204
MB
50532000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5054
5055 * minibuf.c (read_minibuf): Reset the undo history just before
5056 starting the recursive-edit.
5057
d4358b37
GM
50582000-10-30 Gerd Moellmann <gerd@gnu.org>
5059
563f68f1
GM
5060 * xfaces.c (menu_face_change_count): New variable.
5061 (Finternal_set_lisp_face_attribute): Increment it for changes
5062 of the `menu' face.
5063 (realize_basic_faces): Reflect changes in the `menu' faces
5064 in menu bars.
5065
82e274d1
GM
5066 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5067 dy obtained from the iterator's y-position after moving from
5068 scroll_margin_pos to PT; see comment there.
52283633 5069
0dbf9fd2
GM
5070 * xdisp.c (safe_eval_handler): Call add_to_log.
5071
906b3b14
GM
5072 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5073 is not a symbol or string.
5074
d4358b37
GM
5075 * xdisp.c (echo_area_display): Don't perform a display update from
5076 inside redisplay. The update will happen anyway at the end of
5077 redisplay, and it can confuse redisplay (GC messages while
5078 redisplaying, for instance.)
5079
70c825df
SM
50802000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5081
cf9b4b0b
SM
5082 * xrdb.c (x_load_resources): Use the class name in the defaults.
5083
70c825df
SM
5084 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5085 (regex_compile): Catch bogus \(\1\).
5086
a1d34b1e
GM
50872000-10-30 Gerd Moellmann <gerd@gnu.org>
5088
cae71efe
GM
5089 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5090 RGB values.
52283633 5091
35efe0a1
GM
5092 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5093 we have a color cache, check that the cached color equals the
5094 allocated color. If not, clear the color cache.
5095
1d3baf74
GM
5096 * window.c (displayed_window_lines): Change buffers if necessary.
5097 Fix computation of displayed lines.
5098
a1d34b1e
GM
5099 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5100 update_menu_bindings to DEFVAR_BOOL.
5101
70737ea9
KH
51022000-10-30 Kenichi Handa <handa@etl.go.jp>
5103
70c825df 5104 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5105
fa0cb51d
KH
5106 * puresize.h (BASE_PURESIZE): Increase to 680000.
5107
70737ea9
KH
5108 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5109
0e4c08e8
JR
51102000-10-29 Jason Rumney <jasonr@gnu.org>
5111
5112 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5113
5114 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5115 (w32_cache_char_metrics): Handle possibility that 'x' does not
5116 exist in a BDF font.
5117 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5118
5119 * w32bdf.h (bdffont): Add nchars.
5120
5121 * w32bdf.c (set_bdf_font_info): Set it.
5122 (w32_BDF_TextOut): Swap byte order of double byte characters.
5123 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5124
45b84006
EZ
51252000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5126
5127 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5128 don't override the colors in frame's param_alist, unless they are
5129 unspecified.
5130
5131 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5132 reverse the effect of the highlight flag.
5133
caf9deee
KR
51342000-10-27 Ken Raeburn <raeburn@gnu.org>
5135
5136 * window.h (Fwindow_live_p): Declare.
5137
ae0b9b46
KR
5138 * undo.c (record_delete): Check that last_undo_buffer is really a
5139 buffer before applying XBUFFER to it.
5140
5141 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5142 Faref.
5143
02067692
SM
51442000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5145
5146 * lisp.h (KEYMAPP): New macro.
5147 (get_keymap): Remove.
5148 (get_keymap_1): Rename get_keymap.
5149
5150 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5151
5152 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5153
5154 * xmenu.c (single_submenu): Use KEYMAPP.
5155 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5156 Use KEYMAPP rather than Fkeymapp.
5157
5158 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5159
5160 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5161 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5162 Use KEYMAPP rather than Fkeymapp.
5163 (single_submenu): Use KEYMAPP.
5164 (w32_menu_show, w32_dialog_show): Use TRUE.
5165
5166 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5167
5168 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5169 (Fkeymapp): Use KEYMAPP.
5170 (get_keymap): Rename from get_keymap_1. Remove old def.
5171 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5172 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5173 (Fminor_mode_key_binding): Don't raise an error if the binding
5174 is not a keymap.
5175 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5176 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5177
5178 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5179 Allow Vspecial_event_map to be autoloaded.
5180 (menu_bar_items): Fetch the keymap rather than using keymapp.
5181 (menu_bar_one_keymap): No need to follow func-indirect any more.
5182 (parse_menu_item): get_keymap_1 -> get_keymap.
5183 (tool_bar_items): Fetch the keymap rather than using keymapp.
5184 (read_key_sequence): Use KEYMAPP.
5185
5186 * intervals.c (get_local_map): Use get_keymap rather than following
5187 function-indirections explicitly.
5188
5189 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5190
f9d80af3
JR
51912000-10-27 Jason Rumney <jasonr@gnu.org>
5192
5193 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5194 point, as Windows has oversized fonts.
5195
5196 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5197
a3ba27da
GM
51982000-10-27 Gerd Moellmann <gerd@gnu.org>
5199
5200 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5201 (freehook, reallochook): Handle null pointer arguments.
5202 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5203
aa3b80cc
SM
52042000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5205
5206 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5207 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5208 Giving in to popular pressure to shut up the compiler with casts.
5209
e24e84cc
GM
52102000-10-27 Gerd Moellmann <gerd@gnu.org>
5211
5212 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5213 signed value, and use a default value computed from the font's
5214 maximum descent.
5215
05ea7ef2
MB
52162000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5217
5218 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5219 that specify a negative underline position can still use underlines.
5220
5221 * window.c (Fpos_visible_in_window_p): Make POS default to
5222 WINDOW's point, not the current buffer's point.
5223
0b95284b
DL
52242000-10-26 Dave Love <fx@gnu.org>
5225
5226 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5227 when it's necessary.
5228
6c5b90af
GM
52292000-10-26 Gerd Moellmann <gerd@gnu.org>
5230
8b6d9dc9
GM
5231 * window.c (size_window): Compute size difference from sum of old
5232 child window sizes instead of from parent's size.
5233
6bc92b2e
GM
5234 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5235 Handle obscured lines at the top of the window.
5236
5237 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5238 down after the last error condition check.
5239
6c5b90af
GM
5240 * frame.c (Fdelete_frame): Run delete-frame-hook.
5241
42f92d4d
KH
52422000-10-26 Kenichi Handa <handa@etl.go.jp>
5243
5244 * coding.c (decode_coding): Fix previous change (check also
5245 CODING_MODE_LAST_BLOCK).
5246
d97151cb
SM
52472000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5248
e7efc503
SM
5249 * regex.c: More `unsigned char' -> `re_char' changes.
5250 Also change several `int' into `re_wchar_t'.
5251 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5252 (PUSH_FAILURE_POINTER): Don't cast any more.
5253 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5254 We want GCC to complain, since this piece of code makes
5255 re_match non-reentrant, which *should* be fixed.
5256 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5257 (EXTEND_BUFFER): Use RETALLOC.
5258 (SET_LIST_BIT): Don't cast.
5259 (re_wchar_t): New type.
5260 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5261 that those two functions will always properly return.
5262 (IMMEDIATE_QUIT_CHECK): Cast to void.
5263 (analyse_first): Use recursion rather than an explicit stack.
5264 (re_compile_fastmap): Can't fail anymore.
5265 (re_search_2): Don't check re_compile_fastmap for failure.
5266 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5267 Now also sets the new value (passed in a new argument).
5268 (re_match_2_internal): Use it.
5269 Also, use a new var `reg' of type size_t when looping through regs
5270 rather than reuse the inappropriate `mcnt'.
5271
d97151cb
SM
5272 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5273 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5274 (where_is_internal): Renamed from Fwhere_is_internal.
5275 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5276 (Fwhere_is_internal): New function wrapping where_is_internal.
5277 (where_is_internal_1): Handle the case where we're filling the cache.
5278 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5279
d5789b65
MB
52802000-10-25 Miles Bader <miles@gnu.org>
5281
5282 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5283
4ecda532
GM
52842000-10-25 Gerd Moellmann <gerd@gnu.org>
5285
5286 * window.c (pos_fully_visible_p): Removed.
5287 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5288 if position is visible and/or fully visible.
5289
5290 * lisp.h (pos_visible_p): Add prototype.
5291
5292 * xdisp.c (pos_visible_p): New function.
5293
68c3a137
KH
52942000-10-25 Kenichi Handa <handa@etl.go.jp>
5295
5296 * process.c (send_process): If OBJECT is t, it means that the data
5297 is from C string, but we should encode it. Before calling
5298 setup_raw_text_coding_system, be sure to flush out data by the
5299 previous coding system.
5300
7ae1c032
MB
53012000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5302
ff4dcd4b
MB
5303 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5304 assignment of startpos to prev when startpos == pos.
5305
7ae1c032
MB
5306 * editfns.c (find_field): Set the field stickiness correctly from
5307 overlay fields. Use renamed `text_property_stickiness'.
5308 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5309 Only check text properties, not overlays.
7ae1c032
MB
5310 * textprop.c (get_char_property_and_overlay): New function.
5311 (Fget_char_property): Use it.
5312 * intervals.h (get_char_property_and_overlay): Add declaration.
5313
49801145
SM
53142000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5315
5316 * keymap.c: Use AREF, ASET and ASIZE macros.
5317 (Fmake_sparse_keymap): Docstring fix.
5318 (synkey): Remove.
5319 (shadow_lookup): Move up.
5320 Handle the case where lookup-key returns an integer.
5321 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5322 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5323 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5324 Simplify/rewrite the keymap-finding code.
5325 Add check for command shadowing, using shadow_lookup.
5326
39e776cd
SM
53272000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5328
5329 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5330 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5331 a symbol.
5332
2488aba5
AI
53332000-10-24 Andrew Innes <andrewi@gnu.org>
5334
5335 * dired.c (directory_files_internal_unwind): New function.
5336 (directory_files_internal): Use it to ensure closedir is called
5337 even if expand-file-name or file-attributes throw, eg. because of
5338 a user interrupt. Also enable immediate_quit while calling
5339 re_search, so that matching can be interrupted as well.
5340
b94fdf61
AI
53412000-10-24 Andrew Innes <andrewi@gnu.org>
5342
5343 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5344 NT-Emacs only.
5345 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5346 so that re_search functions only quit when callers expect them to.
5347
53482000-10-24 Kenichi Handa <handa@etl.go.jp>
5349
5350 * regex.c (regex_compile): Change the way of handling a range from
5351 a char less than 256 to a char not less than 256.
5352
1946f901
GM
53532000-10-24 Gerd Moellmann <gerd@gnu.org>
5354
7ae2f10f
GM
5355 * window.c (size_window): Prevent setting window's width or
5356 height to a negative value (esp. with XSETFASTINT).
5357
5dcab13e
GM
5358 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5359 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5360 (protect_malloc_state) [GC_MALLOC_CHECK &&
5361 GC_PROTECT_MALLOC_STATE]: New function.
5362 (PROTECT_MALLOC_STATE): New macro.
5363 (__malloc_initialize, morecore, _malloc_internal)
5364 (_free_internal) _realloc_internal): Use it to make _heapinfo
5365 read-only outside of gmalloc.
5366
63e1b552
GM
5367 * keymap.c: Update copyright.
5368
1946f901
GM
5369 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5370 a symbol.
5371
4fa09beb
GM
53722000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5373
5374 * filelock.c (unlock_all_files): Use unlock_file to expand each
5375 buffer's file_truename before trying remove its lock file.
5376
23afac01
EZ
53772000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5378
5379 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5380 or CRLF, decode EOLs.
5381
04448b95
KH
53822000-10-24 Kenichi Handa <handa@etl.go.jp>
5383
5384 * window.c (Fdisplay_buffer): Fix doc.
5385
3090a5a5
JR
53862000-10-23 Jason Rumney <jasonr@gnu.org>
5387
5388 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5389 ASCII font of default fontset on Windows.
5390
5391 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5392 xterm.c comment below).
5393
5394 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5395
a83fee2c
GM
53962000-10-23 Gerd Moellmann <gerd@gnu.org>
5397
5398 * xterm.c (x_connection_closed): Reset handling_signal.
5399
52283633 5400 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5401
6ffdb539
MB
54022000-10-23 Miles Bader <miles@gnu.org>
5403
5404 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5405 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5406 maintain old behavior.
5407 * minibuf.c (Fminibuffer_complete): Likewise.
5408
7f1c969b
MB
54092000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5410
5411 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5412 that when a font can't be exactly centered, it errs up rather than
5413 down.
5414
23afac01 54152000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5416
52283633 5417 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5418
1a578e9b
AC
54192000-10-23 Andrew Choi <akochoi@i-cable.com>
5420
5421 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5422
5423 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5424 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5425
5426 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5427 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5428 syms_of_search, x_term_init, and init_keyboard before calling
5429 init_window_once. Also, call syms_of_xmenu.
5430
5431 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5432 default fontset to Monaco.
5433
5434 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5435 NewMacWindow and DisposeMacWindow.
5436 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5437 instead of calling NewMacWindow and setting fields of
5438 f->output_data.mac directly. Call init_frame_faces.
5439 (Fdelete_frame) [macintosh]: Remove unused code.
5440 (Fmodify_frame_parameters) [macintosh]: Call
5441 x_set_frame_parameters instead of mac_set_frame_parameters.
5442
5443 * frame.h [macintosh]: Define menu_bar_lines field in struct
5444 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5445
5446 * keyboard.c [macintosh]: Include macterm.h.
5447 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5448 and menu_bar_activate_event type events as for X and NT.
5449 (make_lispy_event) [macintosh]: Construct lisp events of type
5450 MENU_BAR_EVENT as for X and NT.
5451
5452 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5453 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5454 (sys_subshell) [macintosh]: Remove definition entirely.
5455 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5456 Vwindow_system_version here. Remove initialization of
5457 Vx_bitmap_file_path.
5458 (read_input_waiting): Correct the number of parameters passed to
5459 read_socket_hook.
5460 Move all Macintosh functions to mac/mac.c.
5461
5462 * term.c [macintosh]: Include macterm.h.
5463
5464 * window.c [macintosh]: Include macterm.h.
5465
5466 * xdisp.c [macintosh]: Include macterm.h. Declare
5467 set_frame_menubar and pending_menu_activation.
5468 (echo_area_display) [macintosh]: Do not return if terminal frame
5469 is the selected frame.
5470 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5471 Allow only the selected frame to set menu bar.
5472 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5473 calling FRAME_EXTERNAL_MENU_BAR (f).
5474 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5475
5476 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5477 and check_x. Declare XCreateGC. Define x_create_gc and
5478 x_free_gc. Initialize font_sort_order.
5479 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5480 but call x_list_fonts instead of w32_list_fonts.
5481 (Finternal_face_x_get_resource) [macintosh]: Do not call
5482 display_x_get_resource.
5483 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5484 (realize_x_face) [macintosh]: Load the font if it is specified in
5485 ATTRS.
52283633 5486 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5487
1ffbabe3
SM
54882000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5489
5490 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5491 is nil: since we go to the end of submap anyway, we'd end up
5492 setting nil to nil.
5493 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5494 doesn't obey autoload.
5495
bed43f1d
EZ
54962000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5497
1ffbabe3 5498 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5499
ea4233a7
JR
55002000-10-21 Jason Rumney <jasonr@gnu.org>
5501
5502 * w32term.c (w32_cache_char_metrics): Double check that font is
5503 really fixed pitch before trusting tmPitchAndFamily.
5504
f3d3c491
AI
55052000-10-21 Andrew Innes <andrewi@gnu.org>
5506
5507 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5508
5509 * w32term.h: Extern decl for w32_cache_char_metrics.
5510
5511 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5512
5513 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5514 (w32_unload_font): Free per_char array if present.
5515
5516 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5517 cached information in emulated XFontStruct to handle common cases
5518 quickly. Do not allocate XCharStruct for return.
5519 (w32_native_per_char_metric): New function.
5520 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5521 allocating one.
5522 (x_produce_glyphs): Don't get an HDC. Change calls to
5523 w32_per_char_metric to match arg change above. Remove calls to
5524 free results.
5525 (w32_get_glyph_overhangs): Ditto.
5526 (w32_cache_char_metrics): New function.
5527
5528 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5529 ($(BLD)/casefiddle.$(O)): Remove compile command.
5530 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5531 ($(BLD)/dispnew.obj):
5532 ($(BLD)/keyboard.obj):
5533 ($(BLD)/w32inevt.obj):
5534 ($(BLD)/w32bdf.obj):
5535 ($(BLD)/alloc.obj):
5536 ($(BLD)/buffer.obj):
5537 ($(BLD)/editfns.obj):
5538 ($(BLD)/emacs.obj):
5539 ($(BLD)/fileio.obj):
5540 ($(BLD)/fns.obj):
5541 ($(BLD)/indent.obj):
5542 ($(BLD)/insdel.obj):
5543 ($(BLD)/intervals.obj):
5544 ($(BLD)/minibuf.obj):
5545 ($(BLD)/print.obj):
5546 ($(BLD)/scroll.obj):
5547 ($(BLD)/sysdep.obj):
5548 ($(BLD)/textprop.obj):
5549 ($(BLD)/widget.obj):
f3d3c491
AI
5550 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5551 ($(BLD)/term.obj): Add dependency on dispextern.h.
5552
52283633
SM
5553 * makefile.nt ($(BLD)\dispnew.obj):
5554 ($(BLD)\keyboard.obj):
5555 ($(BLD)\w32inevt.obj):
5556 ($(BLD)\w32bdf.obj):
5557 ($(BLD)\alloc.obj):
5558 ($(BLD)\buffer.obj):
5559 ($(BLD)\editfns.obj):
5560 ($(BLD)\emacs.obj):
5561 ($(BLD)\fileio.obj):
5562 ($(BLD)\fns.obj):
5563 ($(BLD)\indent.obj):
5564 ($(BLD)\insdel.obj):
5565 ($(BLD)\intervals.obj):
5566 ($(BLD)\minibuf.obj):
5567 ($(BLD)\print.obj):
5568 ($(BLD)\scroll.obj):
5569 ($(BLD)\sysdep.obj):
5570 ($(BLD)\textprop.obj):
5571 ($(BLD)\widget.obj):
f3d3c491
AI
5572 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5573 ($(BLD)\term.obj): Add dependency on dispextern.h
5574
18ad4821
EZ
55752000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5576
5577 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5578 with an additional argument of Qt.
5579
de54681a
MB
55802000-10-21 Miles Bader <miles@gnu.org>
5581
5582 * window.c (pos_fully_visible_in_window_p): New function.
5583 (Fpos_visible_in_window_p): Add FULLY argument.
5584 Use pos_fully_visible_in_window_p.
5585 (window_scroll_pixel_based, window_scroll_line_based): Update
5586 calls to Fpos_visible_in_window_p.
5587 * lisp.h (Fpos_visible_in_window_p): Update prototype
5588
13c844fb
GM
55892000-10-20 Gerd Moellmann <gerd@gnu.org>
5590
5591 * alloc.c (toplevel): Conditionalize compilation of mem_*
5592 functions differently.
52283633 5593
d9506268
JR
55942000-10-20 Jason Rumney <jasonr@gnu.org>
5595
5596 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5597 mem_init where it used to be. mem_z etc not defined otherwise.
5598
8094989b
GM
55992000-10-20 Gerd Moellmann <gerd@gnu.org>
5600
5601 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5602 GC_MALLOC_CHECK.
5603 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5604 structure definition and related variabled to the top of the file.
5605 Include this code when GC_MALLOC_CHECK is defined.
5606 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5607 register/unregister allocated region.
5608 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5609 which isn't allocated.
5610 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5611 something which is already in use.
5612 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5613 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5614 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5615 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5616
5617 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5618 _malloc_internal instead of malloc.
5619 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5620 of free.
5621
ea456eb4
AI
56222000-10-20 Andrew Innes <andrewi@gnu.org>
5623
5624 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5625 Windows.
5626 (my_strftime) <macro>: Don't use macro arg list when redefining as
5627 _strftime_copytm.
5628 (my_strftime) <function>: Supply 0 as ut argument.
5629
e64c3a75
JR
56302000-10-19 Jason Rumney <jasonr@altavista.net>
5631
5632 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5633 including dispextern.h, as it stops faces from working.
5634
5635 * w32fns.c (Fx_create_frame): Don't bother calling
5636 face-set-after-frame-default since the caller does it for us
5637 anyway. Clean up calls to x_get_arg to be consistent with X.
5638
5639 * w32term.c (x_produce_glyphs): Handle
5640 unibyte_display_via_language_environment correctly.
5641 (w32_draw_box_rect): Fix the calculation of width and height.
5642
5643 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5644 as it has stopped working.
5645 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5646 menu-bar.
5647
17401c97
GM
56482000-10-19 Gerd Moellmann <gerd@gnu.org>
5649
5650 * eval.c (skip_debugger): Prevent a compiler warning.
5651 (Fcondition_case): Likewise.
5652 (Fbacktrace_frame): Use a null interactive spec.
5653
773272d8
KH
56542000-10-19 Kenichi Handa <handa@etl.go.jp>
5655
5656 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5657
a42943e9
GM
56582000-10-18 Gerd Moellmann <gerd@gnu.org>
5659
e50517d9
GM
5660 * strftime.c: Sync with glibc, file version 1.78.
5661 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5662 should no longer be used according to ISO 8601.
5663
9035a35a
GM
5664 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5665 no map for meta_prefix_char, don't try to use it as a keymap.
5666 Instead, if T_OK is non-zero, look up a default binding, if any,
5667 otherwise, if T_OK is zero, return nil.
5668
a42943e9
GM
5669 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5670 (x_to_xcolors, png_load): Use x_query_color.
5671
52283633
SM
5672 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5673 New functions.
a42943e9
GM
5674 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5675 which can be slow.
5676 (x_copy_color, x_alloc_lighter_color): Likewise.
5677
5678 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5679 (x_query_color, x_query_colors): Add prototype.
5680
5681 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5682 check_string_bytes only if not noninteractive, increase count to 50.
5683
00de2987
MB
56842000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5685
5686 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5687 markers correctly.
5688
54918e2b
GM
56892000-10-17 Gerd Moellmann <gerd@gnu.org>
5690
1f0b3fd2
GM
5691 * alloc.c (pure_bytes_used): Renamed from pureptr.
5692 (ALIGN): New macro.
5693 (pure_alloc): New function.
5694 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5695 Use it.
5696 (Fpurecopy): Use PURE_POINTER_P.
5697
68c5d1db
GM
5698 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5699 PT has moved backward.
52283633 5700
9a038881
GM
5701 * xdisp.c (cursor_row_p): Take continued lines into account.
5702
361b097f
GM
5703 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5704 string's size_byte.
5705 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5706 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5707 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5708 string allocated.
5709
54918e2b
GM
5710 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5711 of selective display off while searching for the next line start.
5712
03ed0806
KH
57132000-10-17 Kenichi Handa <handa@etl.go.jp>
5714
5715 * Makefile.in (term.o): Depend on dispextern.h.
5716
7e05cdaf
SM
57172000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5718
5719 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5720
a6801fd1
GM
57212000-10-16 Gerd Moellmann <gerd@gnu.org>
5722
483de32b
GM
5723 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5724 the iterator at the beginning, so that they can be set later on,
5725 for instance in reseat_at_next_visible_line_start, without being
5726 overwritten.
5727
a6801fd1
GM
5728 * xfns.c (pbm_format): Add :foreground and :background keywords.
5729 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5730 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5731
dbf1fcc1
EZ
57322000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5733
5734 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5735
52283633 5736 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5737
5738 * msdos.c (IT_set_face): Compare highlighted face with the default
5739 face, and invert colors if these faces' colors are identical.
5740 (Fmsdos_remember_default_colors): Don't swap foreground and
5741 background colors in initial_colors[].
5742 (IT_set_frame_parameters): Don't swap frame's foreground and
5743 background pixels. If ALIST includes "(reverse . t)", swap
5744 foreground-color and background-color properties in frame's
5745 param_alist. If the original frame's param_alist doesn't specify
5746 the colors, store unspecified-fg and unspecified-bg, reversed if
5747 required.
5748
5749 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5750 the colors are unspecified and reversed, reverse fore- and back-
5751 ground in the returned value.
5752 (Fframe_parameter): Ditto.
5753
b41fe2c3 57542000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5755
3a6b59d9
GM
5756 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5757 get_last_unchanged_at_beg_row.
5758 (find_first_unchanged_at_end_row): Renamed from
5759 get_first_unchanged_at_end_row.
5760 (find_first_unchanged_at_end_row): Convert assertions to
5761 unconditional tests which abort. When looking for a row in
5762 unchanged text, don't go further back than first_text_row.
5763
b41fe2c3
GM
5764 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5765 Don't add in the last line's height when deciding if the new
5766 position is below the scroll margin.
9d1af64f 5767
b41fe2c3 57682000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5769
5770 * editfns.c (Fconstrain_to_field): Check carefully for field
5771 boundaries if either OLD_POS or NEW_POS has a non-nil field
5772 property, even if they're the same.
5773
c412cb7b
KH
57742000-10-16 Kenichi Handa <handa@etl.go.jp>
5775
5776 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5777 height for XFillRectangle.
5778
5586f3eb
SM
57792000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5780
5781 * syntax.c (Fstring_to_syntax): New function extracted from
5782 Fmodify_syntax_entry.
5783 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5784 (skip_chars, Fforward_comment): Remove unused variables.
5785 (syms_of_syntax): Add defsubr for string-to-syntax.
5786 (describe_syntax): Add code for comment and string fences.
5787
db785038
SM
57882000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5789
5790 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5791 Do the meta->esc mapping. Call get_keyelt before returning.
5792 Start scanning from the second element (the first is always `keymap')
5793 to make it easier to detect when we reach a parent map.
5794 Handle the case of inheriting from a symbol whose function is a map.
5795 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5796 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5797 (get_keyelt, Flookup_key): Update call to access_keymap.
5798 Remove the meta->esc mappings.
5799 (define_as_prefix): Delete old disabled code.
5800 (menu_item_p): New function.
5801 (where_is_internal_1): Skip over the few remaining menu items.
5802 * lisp.h (access_keymap): Update prototype.
5803 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5804 Update call to access_keymap.
5805 (follow_key, read_key_sequence): Update calls to access_keymap.
5806 Remove the meta->esc mappings.
5807
cafafe0b
GM
58082000-10-13 Gerd Moellmann <gerd@gnu.org>
5809
a2e2a7f6
GM
5810 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5811 with additional argument.
5812
cafafe0b
GM
5813 * xdisp.c (cursor_row_p): New function.
5814 (try_cursor_movement, display_line): Use it.
52283633 5815
cafafe0b
GM
5816 * xdisp.c (append_space): Also save/restore iterator's current
5817 character and its length.
5818
5819 * xdisp.c (init_from_display_pos): Add an assertion.
5820 (handle_stop): Don't set iterator's add_overlay_start.
5821 (handle_invisible_prop): Likewise.
5822 (load_overlay_strings): If text under an overlay is invisible,
5823 take both before- and after-strings into account when the iterator
5824 is positioned either at the start or at the end of the overlay.
5825 (forward_to_next_line_start): Rewritten.
5826 (reseat_at_next_visible_line_start): Rewritten.
5827 (set_iterator_to_next): Add parameter RESEAT_P.
5828
5829 * dispextern.h (struct it): Remove member add_overlay_start.
5830 (set_iterator_to_next): Change prototype.
5831
c744452b
KH
58322000-10-13 Kenichi Handa <handa@etl.go.jp>
5833
5834 * coding.c (code_convert_region): Be sure to initialize
5835 coding->category_idx.
e4a3f4e1
KH
5836 (decode_coding_string): Set coding->src_multibyte and
5837 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5838 (encode_coding_string): Set coding->src_multibyte and
5839 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5840
321fd26f
SM
58412000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5842
5843 * xfns.c (Fx_create_frame): Don't bother calling
5844 face-set-after-frame-default since the caller does it for us anyway.
5845
76832439
EZ
58462000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5847
5848 * window.c (coordinates_in_window): Fix detection of vertical line
5849 on character terminals.
5850
2483cf58
GM
58512000-10-12 Gerd Moellmann <gerd@gnu.org>
5852
5853 * editfns.c (save_excursion_save): Additionally record the
5854 selected window.
5855 (save_excursion_restore): If buffer was visible in a window, and a
5856 different window was selected, and the old selected window is
5857 still live, restore point in that window.
5858
eb991b25
KH
58592000-10-12 Kenichi Handa <handa@etl.go.jp>
5860
8a0eba09
KH
5861 * xterm.c (x_produce_glyphs): Handle
5862 unibyte_display_via_language_environment correctly.
5863
20401fcc
KH
5864 * regex.c (regex_compile): Change the way of handling a range from
5865 unibyte char to multibyte char.
5866
5867 * syntax.c (skip_chars): Change the way of handling a range from
5868 unibyte char to multibyte char.
5869
eb991b25
KH
5870 * process.c (read_process_output): Cancel previous change.
5871
365dd325
EZ
58722000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5873
c1b096cb
EZ
5874 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5875
365dd325
EZ
5876 * charset.c (Ffind_charset_string): Doc fix.
5877 (Ffind_charset_region): Doc fix.
5878
eb483c2b
KH
58792000-10-11 Kenichi Handa <handa@mule.m17n.org>
5880
5881 * process.c (read_process_output): Fix previous change. Adjust
5882 multibyteness of text to insert in a buffer by
52283633 5883 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5884
b40bfb99
AS
58852000-10-10 Andreas Schwab <schwab@suse.de>
5886
5887 * alloc.c (mark_object): Remove all workarounds installed on
5888 1993-08-08.
5889
caff31d4
KH
58902000-10-10 Kenichi Handa <handa@etl.go.jp>
5891
52283633 5892 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5893 (base64_encode_1): Make it work for a text of multibyte form.
5894 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5895 case. Don't call str_to_multibyte because base64_decode_1
5896 produces correct multibyte form for eight-bit codes.
52283633 5897 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5898 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5899 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5900 codes.
5901
5902 * charset.h (CHAR_STRING): Optimized for single byte characters.
5903
cba026ef
AS
59042000-10-09 Andreas Schwab <schwab@suse.de>
5905
5906 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5907 -1 after socket is closed, to fall through to error processing.
5908
1e21fe48
EZ
59092000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5910
5911 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5912 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5913 background-color, change also the colors of the default face for
5914 this frame.
5915
a640322e
EZ
59162000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5917
5918 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5919 them extern (they are defined on xfaces.c).
5920 (syms_of_msdos): Don't intern and don't staticpro
5921 Qbackground_color and Qforeground_color.
5922
a115794c
EZ
59232000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5924
5925 * frame.c (Fframe_parameter): For non-windowed frames, if
5926 f->param_alist says foreground or background color is unspecified,
5927 call tty_color_name to return the color name computed from the
5928 frame's current colors.
5929
f5533b63
DL
59302000-10-06 Dave Love <fx@gnu.org>
5931
5932 * terminfo.c (ospeed): Don't declare.
5933
5934 * sysdep.c: Don't include string.h.
5935 (h_errno): Declare conditional also on TRY_AGAIN.
5936
5937 * charset.c (Ffind_charset_string): Doc fix.
5938
52283633 5939 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5940 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5941 error messages.
5942
2b06561a
DL
59432000-10-05 Dave Love <fx@gnu.org>
5944
5945 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5946 position like menu-bar.
5947
ca839c85
GM
59482000-10-05 Gerd Moellmann <gerd@gnu.org>
5949
5950 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5951
5952 * xdisp.c (handle_single_display_prop): Use safe_call1.
5953 (safe_call): Renamed from call_function.
5954 (safe_call1): New function.
5955 (handle_fontified_prop): Use safe_call1 instead of call1.
5956 (safe_eval): Renamed from eval_form.
5957 (safe_eval_handler): Renamed from eval_handler.
5958 (handle_single_display_prop, display_mode_element): Use safe_eval
5959 instead of eval_form.
5960
5961 * xfaces.c (merge_face_heights): Use safe_call instead of
5962 call_function.
5963
5964 * keyboard.c (show_help_echo): Use safe_call instead of
5965 call_function; use safe_eval instead of eval_form.
5966
5967 * lisp.h (safe_call): Renamed from call_function.
5968 (safe_eval): Renamed from eval_form.
5969 (safe_call1): Add prototype.
5970
a3489ece
MB
59712000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5972
5973 * xfns.c (image_ascent): Rearrange ascent calculation for the
5974 has-a-font case.
5975
35810b6f
SM
59762000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5977
5978 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5979 (where_is_internal_1): Don't bother ignoring menu-items any more.
5980
3dc78168
GM
59812000-10-04 Gerd Moellmann <gerd@gnu.org>
5982
5983 * keyboard.c (update_menu_bindings): New variable.
5984 (parse_menu_item): Use AREF. If update_menu_bindings
5985 is 0, don't update menu bindings.
5986 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
5987
1efc2bb9
EZ
59882000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
5989
5990 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
5991 to `mark_object'.
5992
3f679f55
SM
59932000-10-02 Stefan Monnier <monnier@cs.yale.edu>
5994
5995 * syntax.c (forw_comment): Match nestedness of ender/starter.
5996 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
5997 (prev_char_comstart_first): Remove.
5998 (back_comment): Check two-char comment markers more carefully
5999 to better handle overlapping cases like *//* or /* */* */ ...
6000 Match nestedness of ender/starter.
6001
2021ab61
DL
60022000-10-02 Dave Love <fx@gnu.org>
6003
6004 * config.in (HAVE_GAI_STRERROR): Add undef.
6005
6006 * process.c (Fopen_network_stream): Use it.
6007
6008 * m/alpha.h (NO_REMAP): Don't define.
6009
64e6cc18
GM
60102000-10-02 Gerd Moellmann <gerd@gnu.org>
6011
6012 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6013 return with a string converted to an integer or vice versa when
6014 Vmocklisp_arguments is t.
6015 (Fsignal): Likewise. The function can return for `quit'.
6016 (struct gcpro): Declare member `var' to point to a volatile
6017 Lisp_Object.
6018
6019 * eval.c (error): Prevent compiler warning.
6020
b1904cd9
SM
60212000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6022
6023 * keymap.c (keymap_memberp): New function.
6024 (Fset_keymap_parent): Use it.
6025 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6026 Use keymap_memberp to avoid creating cycles.
6027 (access_keymap): Use KEYMAPP.
6028
71c9ec51
GM
60292000-09-30 Gerd Moellmann <gerd@gnu.org>
6030
6031 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6032 gai_strerror. Make sure xerrno is set if connect fails. Improve
6033 error recovery.
71c9ec51 6034
c70c6b58
JR
60352000-09-29 Jason Rumney <jasonr@gnu.org>
6036
6037 * w32term.c (w32_char_font_type, w32_encode_char)
6038 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6039 (w32_bdf_per_char_metric): New function.
6040 (w32_per_char_metric): Use it.
6041 (x_draw_glyph_string_background): Always draw background for BDF
6042 glyphs.
6043
6044 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6045 GDI object which is a scarce resource.
6046
6047 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6048 (get_quoted_string): Fix limit on memchr search.
6049 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6050 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6051 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6052 (get_cached_font_char, cache_char_offset): Use macro
6053 BDF_CODEPOINT_RANGE_COVER_P.
6054 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6055 (clear_cached_bitmap_slots): New function.
6056 (GET_HEX_VALUE): G-Z, g-z are not hex.
6057 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6058 (get_bitmap_with_cache): Use new cache implementation.
6059 (create_offscreen_bitmap): New function.
6060 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6061
6062 * w32term.c (x_produce_glyphs): If the distance from the current
6063 position to the next tab stop is less than a canonical character
6064 width, use the tab stop after that.
6065 (x_draw_glyphs): Handle case START and END are out of bounds more
6066 carefully.
6067 (x_clear_mouse_face): Block/unblock input.
6068 (x_display_and_set_cursor): Don't show a hollow box cursor for
6069 buffers whose cursor_type is nil.
6070
fe01239f
GM
60712000-09-29 Gerd Moellmann <gerd@gnu.org>
6072
52283633 6073 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6074
6075 * dispextern.h (updating_frame): Declare extern.
6076
e7c52f1f
AS
60772000-09-29 Andreas Schwab <schwab@suse.de>
6078
6079 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6080
de6e1f7c
GM
60812000-09-29 Gerd Moellmann <gerd@gnu.org>
6082
25126faa
GM
6083 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6084 use its function definition.
6085 (tool_bar_items): Likewise.
6086
de6e1f7c 6087 * lisp.h (fatal): Declare NO_RETURN.
52283633 6088
454ee39b
KH
60892000-09-29 Kenichi Handa <handa@etl.go.jp>
6090
6091 * keymap.c: Remove the line "#undef NULL".
6092
96301c5f
GM
60932000-09-28 Gerd Moellmann <gerd@gnu.org>
6094
52283633 6095 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6096
efffeeb4
DL
60972000-09-28 Dave Love <fx@gnu.org>
6098
ecb8b666
DL
6099 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6100
dc3cd20f
DL
6101 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6102
6103 * .gdbinit (xreload): Note its need on GNU/Linux.
6104
efffeeb4
DL
6105 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6106 r_alloc, r_alloc_free.
6107
8610d903
KH
61082000-09-28 Kenichi Handa <handa@etl.go.jp>
6109
6110 * syntax.c (skip_chars): Handle negation correctly.
6111
8901d1ac
GM
61122000-09-27 Gerd Moellmann <gerd@gnu.org>
6113
6f22f1ad
GM
6114 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6115 with non-zero FORCE_P argument.
6116
52283633 6117 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6118 Add assertions.
6119
6120 * xdisp.c (window_box_height): Add an assertion.
6121
6122 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6123 tool-bar than is available.
6124 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6125
36f1966f
DL
61262000-09-27 Dave Love <fx@gnu.org>
6127
efffeeb4 6128 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6129
31d929e5
GM
61302000-09-26 Gerd Moellmann <gerd@gnu.org>
6131
c98863bf
GM
6132 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6133 instead of BITS_PER_INT.
6134 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6135 EMACS_UINT, respectively.
6136 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6137
6138 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6139
6140 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6141
77072ab1
GM
6142 * window.c (freeze_window_starts): Construct last argument for
6143 foreach_window differently.
6144
6145 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6146
6147 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6148 EMACS_UINT instead of `int' and `unsigned int'.
6149 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6150
6151 * frame.h (struct frame): Make the `nothing' member of union
6152 output_data an EMACS_INT.
6153
52283633 6154 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6155 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6156 size in the sdata structure.
6157 (SDATA_NBYTES, SDATA_DATA): New macros.
6158 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6159 differently for the different layout of the sdata structure.
6160 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6161 in sdata.
6162 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6163 Check that size recorded in the string size and size recorded in
6164 the sdata structure agree.
6165
3e60b029
DL
61662000-09-25 Dave Love <fx@gnu.org>
6167
6168 * buffer.c: Include stdio.h.
6169
6170 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6171
3e60b029
DL
6172 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6173
6174 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6175 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6176 (__malloc_extra_blocks): Declare as __malloc_size_t.
6177
8ff16b4e
GM
61782000-09-25 Gerd Moellmann <gerd@gnu.org>
6179
755a2ccd
GM
6180 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6181
d8b4516f
GM
6182 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6183 (read_char): If help-echo is showing, preserve the echo area
6184 when redisplaying.
6185
6186 * xdisp.c (help_echo_showing_p): New variable.
6187 (set_message): Reset it to 0.
6188 (init_xdisp): Initialize help_echo_showing_p.
6189
6190 * dispextern.h (help_echo_showing_p): Declare extern.
6191
6192 * config.in: Fix typo in __GNUC_MINOR__.
6193
6194 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6195
b11af2dd
GM
6196 * s/freebsd.h (POSIX_SIGNALS): Define.
6197
8ff16b4e
GM
6198 * xterm.c (x_clear_mouse_face): Block/unblock input.
6199
844eb643
DL
62002000-09-24 Dave Love <fx@gnu.org>
6201
6202 * fns.c (base64_encode_1): Fix last change.
6203
b30ab1b3
GM
62042000-09-22 Gerd Moellmann <gerd@gnu.org>
6205
6206 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6207
6208 * xdisp.c (try_window_reusing_current_matrix): More fixes
6209 for the case window has a header-line.
6210
c6cbe5f0
DL
62112000-09-22 Dave Love <fx@gnu.org>
6212
4c7c1f3f
DL
6213 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6214 a doc string.
6215
6216 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6217
c6cbe5f0
DL
6218 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6219
550a625e
GM
62202000-09-21 Gerd Moellmann <gerd@gnu.org>
6221
4c7c1f3f 6222 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6223 for GCC >= 2.5.
6224
52283633
SM
6225 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6226 Declare NO_RETURN.
fca99116 6227
80d26f99
GM
6228 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6229 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6230 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6231 warnings.
52283633 6232
80d26f99
GM
6233 * marker.c (byte_char_debug_check): Return void.
6234
623a0aae
GM
6235 * xfns.c (Fx_create_frame): Set default frame parameter value
6236 for tool-bar-lines to 1.
6237
6238 * dispnew.c (scrolling_window): Compare y-positions of rows
6239 equal at the start. Some simplification.
6240
6241 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6242 reused rows' y-position in the case window has a header-line, and
6243 new window start is greater than old window start.
6244
42ac0ae5
GM
6245 * process.c (process_sent_to): New variable.
6246 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6247 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6248 Declare more parameters volatile.
6249
550a625e
GM
6250 * lread.c (Vrecursive_load_depth_limit): New variable.
6251 (Fload): Check recursive loads whose recursion depth exceeds
6252 Vrecursive_load_depth_limit.
6253 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6254
8320414c
GM
62552000-09-20 Gerd Moellmann <gerd@gnu.org>
6256
f46c275e
GM
6257 * fileio.c (Fread_file_name): Doc fix.
6258
6259 * editfns.c (Fmessage_or_box): Doc fix.
6260
6261 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6262
b7e11c5b 6263 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6264
8320414c
GM
6265 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6266 symbols are specified, add color translations to the cache.
52283633 6267 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6268 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6269 xpm_cache_color.
6270 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6271 structures to xpm_init_color_cache.
6272
da1608d9
GM
62732000-09-19 Gerd Moellmann <gerd@gnu.org>
6274
52283633 6275 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6276
6badfa25
AI
62772000-09-19 Andrew Innes <andrewi@gnu.org>
6278
6279 * makefile.nt (bootstrap-emacs): Don't change directory.
6280
3a5f42bb
KH
62812000-09-19 Kenichi Handa <handa@etl.go.jp>
6282
1b7649bd
KH
6283 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6284
3a5f42bb
KH
6285 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6286 If output buffer is too small, signal an appropriated error.
6287
9f83cf0b
DL
62882000-09-18 Dave Love <fx@gnu.org>
6289
52283633 6290 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6291 (current_active_maps): Remove redundant get_local_map call.
6292
28c7826c
GM
62932000-09-18 Gerd Moellmann <gerd@gnu.org>
6294
5cefa566
GM
6295 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6296 cursor for buffers whose cursor_type is nil.
52283633 6297
6fed3546
GM
6298 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6299 a feature to implement that is already implemented.
6300 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6301 warnings.
6302
6303 * xfns.c (x_clear_image_1): New function.
6304 (x_clear_image): Use it.
52283633 6305 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6306
05b1f851
GM
6307 * dispnew.c (update_window): Move test for invisible lines
6308 at the top to update_window_line.
6309 (update_window_line): Handle invisible lines here.
6310
f4779de9
GM
6311 * xfns.c (clear_image_cache): Clear current matrices of all
6312 frames sharing an image cache. Block input while freeing
6313 images. Fix timestamp comparison.
6314 (x_clear_image): Also free the mask.
6315
28c7826c
GM
6316 * xfns.c (lookup_image): Block input while loading the image so
6317 that we won't get interrupted in a state where the image isn't yet
6318 set up completely.
6319 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6320 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6321 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6322 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6323
b7412313
GM
63242000-09-16 Gerd Moellmann <gerd@gnu.org>
6325
6326 * dispnew.c (update_window): Make sure to make desired rows
6327 current even if they are completely invisible at the top
6328 of a window.
6329
47e351a3
GM
63302000-09-15 Gerd Moellmann <gerd@gnu.org>
6331
7f8f1edc
GM
6332 * xfns.c (lookup_image): Build mask before applying an algorithm.
6333 Recognize algorithm `disabled'.
6334 (cross_disabled_images): New variable.
6335 (COLOR_INTENSITY): New macro.
6336 (x_detect_edges): Use COLOR_INTENSITY.
6337 (x_disable_image): New function.
6338 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6339
6340 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6341 disabled state, don't apply an image transformation algorithm if
6342 the user specified an image for the disabled state. Use
28c7826c 6343 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6344 user hasn't specified an image.
6345
ebb8f116
GM
6346 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6347 allocation functions with the XPM lib.
6348 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6349 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6350 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6351 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6352 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6353 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6354 functions, if possible, because these handle color allocation
6355 failure more gracefully.
6356 (Fimage_mask_p): New function.
6357
47e351a3
GM
6358 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6359 (Qedge_detection, Qheuristic): New symbols.
6360 (syms_of_xfns): Initialize new symbols.
6361 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6362 `algorithm (edge-detection ...)'.
6363 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6364 (tiff_format, gif_format, gs_format): Add `:mask'.
6365 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6366 (GIF_MASK, GS_MASK): New enumerators.
6367 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6368 (emboss_matrix, laplace_matrix): New variables.
6369 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6370 (x_edge_detection): New functions.
6371 (x_laplace): Rewritten in terms of x_detect_edges.
6372 (x_build_heuristic_mask): If image has a mask, free it.
6373
fe83b953
AI
63742000-09-14 Andrew Innes <andrewi@gnu.org>
6375
6376 * makefile.w32-in: Revert to Unix line endings.
6377
3021e816
AI
63782000-09-14 Andrew Innes <andrewi@gnu.org>
6379
6380 * makefile.w32-in: Standardize indentation somewhat.
6381 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6382 cater for differences between shells.
6383
6384 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6385
2a32b5ea
GM
63862000-09-14 Gerd Moellmann <gerd@gnu.org>
6387
6388 * xterm.c (x_produce_glyphs): If the distance from the current
6389 position to the next tab stop is less than a canonical character
6390 width, use the tab stop after that.
6391
b4331e96
DL
63922000-09-14 Dave Love <fx@gnu.org>
6393
6394 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6395
ef9e4345
GM
63962000-09-14 Gerd Moellmann <gerd@gnu.org>
6397
085536c2
GM
6398 * xdisp.c (handle_fontified_prop): While running fontification
6399 functions, bind `fontification-functions' and
6400 `after-change-functions' to nil.
6401
ef9e4345
GM
6402 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6403 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6404
6405 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6406
6407 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6408 USE_MMAP_FOR_BUFFERS.
6409
6410 * insdel.c (make_gap): Use enlarge_buffer_text.
6411
6412 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6413 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6414 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6415 from former r_alloc_* functions in ralloc.c.
52283633 6416 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6417 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6418 (mmap_init) [REL_ALLOC_MMAP]: New function.
6419 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6420 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6421 BUFFER_FREE.
6422
6423 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6424 (enlarge_buffer_text): Add prototype.
6425
6426 * ralloc.c: Remove everything having to do with the use of mmap.
6427
f8608968
GM
64282000-09-13 Gerd Moellmann <gerd@gnu.org>
6429
2a494b2d
GM
6430 * sound.c (Fplay_sound): Doc fix.
6431
8c907a56
GM
6432 * keyboard.c: Avoid some more compiler warnings.
6433 (parse_tool_bar_item): Ignore cached key bindings.
6434
f8608968
GM
6435 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6436 and allocation of Lisp data.
6437
6ab70e9a
GM
64382000-09-12 Gerd Moellmann <gerd@gnu.org>
6439
d12d0a9b
GM
6440 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6441 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6442 defaults first.
6443
6ab70e9a
GM
6444 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6445
63c36c3c
KH
64462000-09-12 Miyashita Hisashi <himi@meadowy.org>
6447
6448 * ccl.c: Comment fixed.
6449 (MAX_MAP_SET_LEVEL): Increased to 30.
6450 (PUSH_MAPPING_STACK): Enclose with do-while block.
6451 (POP_MAPPING_STACK): Likewise.
6452 (stack_idx_of_map_multiple): New variable.
6453 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6454 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6455 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6456 (ccl_driver) <CCL_MapSingle>: Likewise.
6457 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6458 with the case where looking up process reaches to the end of
6459 map-set, and call CCL programs as the above change.
6460
7ee3bd7b
GM
64612000-09-11 Gerd Moellmann <gerd@gnu.org>
6462
8ec8a5ec
GM
6463 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6464 that might be clobbered by longjmp.
6465 (check_x_display_info, x_decode_color, create_frame_xic)
6466 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6467 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6468
f74b0705
GM
6469 * lread.c (init_lread): Set Vloads_in_progress to nil.
6470 (Fload): Show list of recursively loaded files, when signaling an
6471 error.
6472
7ee3bd7b
GM
6473 * lread.c (Vloads_in_progress): New variable.
6474 (record_load_unwind): New function.
6475 (Fload): Check for recursive loads.
6476 (syms_of_lread): Initialize Vloads_in_progress.
6477 (read_integer, read1): Avoid some compiler warnings.
6478
6479 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6480 compiler warnings.
6481
974e1e5b
MB
64822000-09-11 Miles Bader <miles@gnu.org>
6483
6484 * editfns.c (Fbuffer_string): Doc fix.
6485
9824c4e3
GM
64862000-09-10 Gerd Moellmann <gerd@gnu.org>
6487
6488 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6489
6a72fdd1
KR
64902000-09-09 Ken Raeburn <raeburn@gnu.org>
6491
6492 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6493 whether to include other header files.
6494
28e6fb66
GM
64952000-09-09 Gerd Moellmann <gerd@gnu.org>
6496
52283633 6497 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6498 by Fmemq as a boolean.
28e6fb66 6499
7f8b6551
SM
65002000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6501
6502 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6503
a8710abf
GM
65042000-09-08 Gerd Moellmann <gerd@gnu.org>
6505
d1a02881
GM
6506 * ralloc.c (mmap_fd): Remove initializer which can make it
6507 read-only in a dumped Emacs.
6508 (mmap_fd_1): New variable.
6509 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6510 restore it from there.
6511 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6512 unconditionally so that mmap_fd can be initialized there.
6513 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6514 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6515 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6516
c454aac1
GM
6517 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6518
6519 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6520 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6521
fc653ef2
GM
6522 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6523
3015eec0
GM
6524 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6525 inheritance.
6526
bfe0ee88
GM
6527 * xdisp.c (try_window_id): When trying to locate cursor in
6528 unchanged rows at the top, handle the case that we can't find it.
6529
a8710abf
GM
6530 * xterm.c (x_draw_glyphs): Handle case START and END are out
6531 of bounds more carefully.
6532
6b7d4ae4
DL
65332000-09-08 Dave Love <fx@gnu.org>
6534
423193c5
DL
6535 * s/sol2.h (REL_ALLOC_MMAP): Define.
6536 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6537
6538 * ralloc.c: Don't include string.h (redundant).
6539 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6540 [!MAP_ANON]: Include fcntl.h.
6541 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6542 (r_alloc, r_re_alloc, r_alloc_free)
6543 (mmap_enlarge, mmap_set_vars): Use it.
6544 (r_alloc_init_fd): New function.
6545 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6546 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6547 malloc type.
6548
6549 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6550 Remove vm-limit.o.
6551
6b7d4ae4
DL
6552 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6553 change to __NetBSD__.
6554
44d31981
KH
65552000-09-08 Kenichi Handa <handa@etl.go.jp>
6556
6557 * search.c (compile_pattern): Check the multibyteness of cached
6558 string and PATTERN.
6559
aad40737
MB
65602000-09-08 Miles Bader <miles@gnu.org>
6561
6562 * xfaces.c (default_face_vector): Function removed.
6563 (Finternal_merge_in_global_face): Restore old global/local
6564 attribute override order. Use inline loop instead of calling
6565 default_face_vector.
6566
91a211b5
GM
65672000-09-07 Gerd Moellmann <gerd@gnu.org>
6568
6569 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6570 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6571 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6572 where necessary, in case POINTER_TYPE is `void'.
6573
03419440
EZ
65742000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6575
6576 * frame.c (make_terminal_frame): Initialize frame foreground and
6577 background colors to unspecified, for the initial instance of an
6578 MSDOS frame.
6579
f46f845b
GM
65802000-09-07 Gerd Moellmann <gerd@gnu.org>
6581
24f76fbf
GM
6582 * ralloc.c (mmap_find): Fix overlap computation.
6583 (mmap_enlarge): Compute nbytes before trying to find an
6584 overlapping region.
6585
f46f845b
GM
6586 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6587 instead of `!='.
6588
6589 * lread.c (syms_of_lread): Change value of regexp
6590 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6591
6592 * xmenu.c (xdialog_show): When looking up the selection in
6593 menu_items, take `quote' boundaries into account; this corresponds
6594 to a nil ITEM in x-popup-dialog.
6595
3c014385
KH
65962000-09-07 Kenichi Handa <handa@etl.go.jp>
6597
fd6f711b
KH
6598 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6599 not 0x81.
6600 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6601
3c014385 6602 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6603 encoding, not decoding. Fix the handling of latin-jisx0201.
6604 Check for the charset katakana-jisx0201 too.
3c014385 6605 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6606 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6607
0da3ecef
GM
66082000-09-07 Gerd Moellmann <gerd@gnu.org>
6609
ab0ee409
GM
6610 * xfaces.c (Vparam_value_alist): New variable.
6611 (syms_of_xfaces): Initialize it.
6612 (Finternal_set_lisp_face_attribute): Avoid more consing.
6613
6614 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6615 specially.
6616 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6617 (Qbackground_mode): New variable.
6618 (syms_of_frame_1): Initialize Qbackground_mode.
6619
6620 * lisp.h (Qdisplay): Declare extern.
1091dd67 6621
0da3ecef
GM
6622 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6623 change face on all frames, and change the default for new frames.
6624
b14654b9
DL
66252000-09-07 Dave Love <fx@gnu.org>
6626
6627 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6628
d24fd56f
KH
66292000-09-07 Kenichi Handa <handa@etl.go.jp>
6630
794f3670
KH
6631 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6632
0fddd0dc
KH
6633 * charset.c: Include composite.h
6634 (lisp_string_width): New function.
6635 (Fstring_width): Call lisp_string_width instead of strwidth.
6636
6637 * Makefile.in (charset.o): Depends on composite.h.
6638
d24fd56f
KH
6639 * process.c (read_process_output): Before inserting the decoded
6640 text in the buffer, adjust the multibyteness.
6641
fa0b693c
GM
66422000-09-06 Gerd Moellmann <gerd@gnu.org>
6643
52283633 6644 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6645 buffer's text buffer is null, map new memory.
6646
0a58f946
GM
6647 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6648 POINTER_TYPE and size_t.
6649 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6650 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6651 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6652 [REL_ALLOC_MMAP]: New macros.
6653 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6654 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6655 [REL_ALLOC_MMAP]: New functions.
6656
6657 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6658 before and after unexec.
6659
6660 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6661 text buffers if necessary.
6662
6663 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6664 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6665 in prototypes.
6666
fa0b693c
GM
6667 * config.in (HAVE_MMAP): Add #undef.
6668
877055f6
GM
66692000-09-05 Gerd Moellmann <gerd@gnu.org>
6670
08ba3862
GM
6671 * frame.c (Qdisplay_type): New variable.
6672 (syms_of_frame_1): Initialize it.
6673 (Fframe_parameter): New function that avoids consing.
6674 (syms_of_frame): Defsubr it.
6675
66ffe51c
GM
6676 * buffer.c (Fother_buffer): Consider buffers as invisible when
6677 they are displayed in a window on an invisible frame.
6678
877055f6
GM
6679 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6680 get-largest-window always return nil.
6681
bb970e67
GM
66822000-09-04 Gerd Moellmann <gerd@gnu.org>
6683
6684 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6685 variable; recognize Emacs 19 elc files.
6686
7a3d0e0e
MB
66872000-09-04 Miles Bader <miles@gnu.org>
6688
6689 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6690 before initially popping up the menu, so the menu doesn't flash
52283633 6691 when the face settings are significantly different from the defaults.
7a3d0e0e 6692
14473664
SM
66932000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6694
6695 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6696 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6697 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6698 (BIT_UNIBYTE): Remove.
6699 (re_match_2_internal): Delete corresponding code and streamline the
6700 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6701 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6702 (re_wctype_t): New type.
6703 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6704 (regex_compile): Use them and fix handling of overly long char classes.
6705
c1174479
AI
67062000-09-03 Andrew Innes <andrewi@gnu.org>
6707
f8803e97
AI
6708 * makefile.w32-in: Change to DOS line endings.
6709
c1174479
AI
6710 * s/ms-w32.h (ORDINARY_LINK): New define.
6711
6712 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6713 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6714
6715 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6716 (distclean): Delete them here instead.
6717
44ef7cf6
AI
6718 * w32proc.c (compare_env): Convert to uppercase for comparison,
6719 not lowercase, to match how the native Windows shell works.
6720
49b3bd82
JR
67212000-09-03 Jason Rumney <jasonr@gnu.org>
6722
6723 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6724 CVS changes the line-ends when checking in/out on DOS/Windows.
6725
6726 * makefile.nt (emacs): Do not change directory to run temacs, as
6727 the load-path is set relative to current directory.
6728
a3d35a39
MB
67292000-09-03 Miles Bader <miles@gnu.org>
6730
6731 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6732
d276b0cf
GM
67332000-09-02 Gerd Moellmann <gerd@gnu.org>
6734
715e84c9
GM
6735 * xdisp.c (redisplay_mode_lines): New function.
6736 (display_mode_lines): Return number of mode lines displayed.
6737 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6738 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6739
8892f40b
GM
6740 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6741 string.h and strings.h.
6742 (index) [HAVE_INDEX]: Add prototype.
6743
d276b0cf
GM
6744 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6745 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6746
6747 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6748 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6749
38404229
GM
67502000-09-01 Gerd Moellmann <gerd@gnu.org>
6751
6752 * lread.c (read1): Accept `?' as symbol constituent, for
6753 compatiblity with XEmacs.
6754
c0f9ea08
SM
67552000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6756
6757 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6758 (struct re_pattern_buffer): Remove newline_anchor.
6759 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6760 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6761 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6762 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6763 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6764 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6765 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6766 Get rid of references to newline_anchor.
6767 (regcomp): Allocate and precompute a fastmap.
6768
8c0f83fe
GM
67692000-08-31 Gerd Moellmann <gerd@gnu.org>
6770
6771 * lread.c (openp): GCPRO local variable `filename'.
6772
4bb91c68
SM
67732000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6774
6775 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6776
6777 * regex.c: Merge some changes from GNU libc. Add prototypes.
6778 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6779 Use memcmp and memcpy instead of bcopy and bcmp.
6780 (init_syntax_once): Use ISALNUM.
6781 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6782 (REG_UNSET_VALUE): Remove. Use NULL instead.
6783 (REG_UNSET, re_match_2_internal): Use NULL.
6784 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6785 New macros.
6786 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6787 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6788 (regex_compile): In handle_interval, return an error rather than try to
6789 unfetch the interval if we can't find the closing brace.
6790 Obey the RE_NO_GNU_OPS syntax bit.
6791 (TOLOWER): New macro.
6792 (regcomp): Use it.
6793 (regexec): Allocate regs.start and regs.end as one block.
6794
5226a931
GM
67952000-08-30 Gerd Moellmann <gerd@gnu.org>
6796
868dd24b
GM
6797 * xdisp.c (echo_area_display): Check display_completed instead
6798 of calling detect_input_pending.
6799
6800 * dispnew.c (update_frame): Only set display_completed here; move
6801 the update_begin and update_end calls here from update_frame_1.
6802 (update_frame_1): Don't set display_completed here, don't call
6803 update_begin/update_end.
6804
5226a931
GM
6805 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6806 instead of store_frame_param.
6807
2a8bd25f
GM
68082000-08-29 Gerd Moellmann <gerd@gnu.org>
6809
6810 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6811 desired window matrix hasn't been displayed, use the current row
6812 instead. Make sure that only those frame rows are updated for
6813 which there exists a corresponding enabled desired row.
52283633 6814
ba3478d9
MB
68152000-08-29 Miles Bader <miles@gnu.org>
6816
6817 * xfaces.c (default_face_vector): New function.
6818 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6819
87d0f685
GM
68202000-08-29 Gerd Moellmann <gerd@gnu.org>
6821
6822 * lread.c (openp): Prevent temporary string passed to
6823 Ffile_readable_p from being garbage collected.
6824
6fa86045
DL
68252000-08-28 Dave Love <fx@gnu.org>
6826
6827 * keymap.c (store_in_keymap): Add `static' to declaration.
6828
bb17930d
GM
68292000-08-28 Gerd Moellmann <gerd@gnu.org>
6830
6831 * emacs.c, callint.c, doc.c, editfns.c
6832 (toplevel) [HAVE_STRING_H]: Include string.h.
6833 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6834 (index): Remove prototypes which might conflict with non-standard
6835 definitions of index/strchr.
6836
6837 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6838 (rindex): Define only if !HAVE_RINDEX.
6839
6840 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6841
6842 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6843
87188200
MB
68442000-08-28 Miles Bader <miles@gnu.org>
6845
6846 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6847 made inconsistent by a font-related attribute in FROM.
6848 (merge_face_inheritance): Add function comment.
6849
41a68aef
KH
68502000-08-28 Kenichi Handa <handa@etl.go.jp>
6851
6852 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6853 the 4th arg (PREV_EVENT) Qt to suppress input method.
6854
f7c436c1
SM
68552000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6856
0b32bf0e
SM
6857 * regex.c: Indent cpp directives and remove parens after `defined'.
6858 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6859 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6860 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6861 (re_compile_pattern): Use size_t for length.
6862 (init_syntax_once): Move to a better place.
6863 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6864 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6865
f7c436c1
SM
6866 * syntax.c (back_comment): Detect cases where a comment-starter is
6867 actually inside another comment as in: /* a // b */ c // d \n.
6868 Make it clear that `comstart_pos' is unused for nested comments.
6869
6870 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6871 (KEYMAPP): New macro.
6872 (Fkeymap_parent, Fset_keymap_parent): Use it.
6873 (fix_submap_inheritance): Mark it static.
6874 (define_as_prefix, describe_buffer_bindings, describe_command)
6875 (describe_translation, describe_map): Complete prototypes.
6876
6877 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6878
6879 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6880 to better match the key-lookup behavior.
6881
6288c62f
GM
68822000-08-27 Gerd Moellmann <gerd@gnu.org>
6883
6884 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6885 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6886
e931344e
EZ
68872000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6888
6889 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6890 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6891 (xterm.o): Depend on coding.h
6892
d10dfeef
KH
68932000-08-26 Kenichi Handa <handa@etl.go.jp>
6894
6895 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6896 the corresponding '#endif'.
6897
2d73e8d3
MB
68982000-08-26 Miles Bader <miles@gnu.org>
6899
6900 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6901 * xfaces.c (QCinherit): New variable.
6902 (syms_of_xfaces): Initialize it.
6903 (LFACE_INHERIT): New macro.
6904 (Finternal_get_lisp_face_attribute)
52283633 6905 (merge_face_vector_with_property)
2d73e8d3
MB
6906 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6907 (check_lface_attrs): Allow new types of face height. Check
6908 inherit attribute.
6909 (CYCLE_CHECK): New macro.
6910 (merge_face_inheritance): New function.
6911 (merge_face_vectors): Merge inherited faces too. Add F and
6912 CYCLE_CHECK arguments.
6913 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6914 (lookup_named_face, lookup_derived_face, realize_named_face)
6915 (face_at_string_position, face_at_buffer_position): Supply
6916 new F and CYCLE_CHECK arguments to merge_face_vectors.
6917 (merge_face_heights): New function.
52283633 6918 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6919 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6920 handle relative face heights.
6921 (lface_same_font_attributes_p): Compare heights using EQ.
6922
6ce974d4
KH
69232000-08-26 Kenichi Handa <handa@etl.go.jp>
6924
6925 * charset.c (char_to_string): Check the character validity.
52283633 6926 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6927
dc1e502d
SM
69282000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6929
6930 * regex.c (PUSH_FAILURE_COUNT): New macro.
6931 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6932 Handle popping of a register's or a counter's data.
6933 (POP_FAILURE_POINT): Use the new name.
6934 (re_match_2_internal): Push counter data on the stack for succeed_n,
6935 jump_n and set_number_at and remove misleading dead code in succeed_n.
6936
bd9d0f3f
GM
69372000-08-25 Gerd Moellmann <gerd@gnu.org>
6938
6939 * xdisp.c (redisplay_internal): If considering all windows on all
6940 frames, update the display for each frame as soon as possible,
6941 instead of first building all desired matrices for all frames, and
6942 then updating them all.
6943 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6944
aa5b8e15
GM
69452000-08-24 Gerd Moellmann <gerd@gnu.org>
6946
17494071
GM
6947 * bytecode.c (mark_byte_stack): Add a comment.
6948
52283633
SM
6949 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6950 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6951 a graphical frame.
6952
c543db81
KH
69532000-08-24 Kenichi Handa <handa@etl.go.jp>
6954
d246d5f5
KH
6955 * minibuf.c (do_completion): Always use compare-string, not
6956 string-equal because the latter doesn't pay attention to
6957 multibyteness of strings.
6958
c543db81
KH
6959 * process.c (create_process): Don't setup raw-text coding here.
6960 (Fopen_network_stream): Don't set coding->src_multibyte and
6961 coding->dst_multibyte here.
6962 (read_process_output): For process filter, return unibyte string
6963 if default-enable-multibyte-characters is nil.
6964 (send_process): If OBJECT is multibyte text, be sure to encoded it
6965 by the specified coding system for the process. Otherwise, setup
6966 raw-text coding.
52283633 6967 (init_process): Don't initialize default-process-coding-system here.
c543db81 6968
9b47cfe0
EZ
69692000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6970
6971 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6972 <scroll-down-aggressively>: Likewise.
6973
f5a36960
KH
69742000-08-23 Kenichi Handa <handa@etl.go.jp>
6975
6976 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6977 zero. Set coding->produced_char correctly.
6978
69a7ffa7
AI
69792000-08-22 Andrew Innes <andrewi@gnu.org>
6980
6981 * makefile.w32-in: New file.
6982
6983 * unexw32.c (unexec): Ignore old_name, and use the actual location
6984 of the current executable instead. Base new_name on this.
6985
6986 * w32proc.c (create_child): Remove reference to security
6987 descriptor, which isn't needed and doesn't compile with mingw32.
6988
6989 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6990 up dllimport attributes.
6991 (x_update_window_end): Update prototype.
6992
6993 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
6994 extern, which screws up dllimport attributes.
6995
6996 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
6997 up dllimport attributes.
6998
6999 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7000 screws up dllimport attributes.
7001
7002 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7003 up dllimport attributes.
7004 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7005 screws up dllimport attributes.
7006
7007 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7008 up dllimport attributes.
7009
7010 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7011 screws up dllimport attributes.
7012
7013 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7014 screws up dllimport attributes.
7015
7016 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7017 up dllimport attributes.
7018
7019 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7020 unnecessary extern, which screws up dllimport attributes.
7021 (main): Ditto.
7022
7023 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7024 up dllimport attributes.
7025
7026 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7027 unnecessary extern, which screws up dllimport attributes.
7028
7029 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7030 screws up dllimport attributes.
7031
7032 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7033 up dllimport attributes.
7034
7035 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7036
52283633
SM
7037 * w32bdf.c (search_file_line):
7038 (set_bdf_font_info):
7039 (seek_char):
7040 (w32_get_bdf_glyph):
69a7ffa7
AI
7041 (w32_BDF_to_x_font): Fix compile warnings.
7042
52283633 7043 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7044
7045 * w32select.c: Include keyboard.h before frame.h.
7046
7047 * w32fns.c (max): Define macro.
7048 (JOHAB_CHARSET): Define if not known.
7049 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7050 (Fx_show_tip): Synch with X version.
7051
7052 * w32xfns.c: Include keyboard.h before frame.h.
7053
7054 * w32fns.c: Include keyboard.h before frame.h.
7055
7056 * w32term.c: Include keyboard.h before frame.h.
7057
7058 * fontset.c: Include keyboard.h before frame.h.
7059
7060 * w32inevt.c: Include keyboard.h before frame.h.
7061 (MOUSE_MOVED): Define if not known.
7062
7063 * minibuf.c: Include keyboard.h before frame.h.
7064
7065 * keyboard.c: Include keyboard.h before frame.h.
7066
7067 * indent.c: Include keyboard.h before frame.h.
7068
7069 * dispnew.c: Include keyboard.h before frame.h.
7070
7071 * buffer.c: Include keyboard.h before frame.h.
7072
7073 * alloc.c: Include keyboard.h before frame.h.
7074
7075 * print.c: Include keyboard.h before frame.h.
7076
7077 * process.c: Include keyboard.h before frame.h.
7078
7079 * scroll.c: Include keyboard.h before frame.h.
7080
7081 * sysdep.c: Include keyboard.h before frame.h.
7082
7083 * term.c: Include keyboard.h before frame.h.
7084
7085 * window.c: Include keyboard.h before frame.h.
7086
7087 * xdisp.c: Include keyboard.h before frame.h.
7088 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7089
7090 * frame.c: Include keyboard.h before frame.h.
7091
7092 * w32heap.h: Undefine min, max.
7093
7094 * w32gui.h: Undefine min, max.
7095
7096 * unexw32.c: Change PUCHAR to PCHAR.
7097 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7098 (relocate_offset):
7099 (get_section_info):
69a7ffa7
AI
7100 (copy_executable_and_dump_data): Remove unnecessary static defs.
7101 (copy_executable_and_dump_data): Fix compile warnings.
7102
7103 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7104
7105 * w32console.c (min): Define macro.
7106 (clear_frame, write_glyphs): Fix compile warning.
7107
52283633 7108 * w32proc.c (compare_env):
69a7ffa7
AI
7109 (find_child_console): Fix compile warning.
7110
7111 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7112 sys_errlist instead of _sys_errlist.
7113 (get_emacs_configuration_options): New function.
7114
7115 * s/ms-w32.h (sys_nerr): Provide default definition.
7116 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7117 name with _ prepended.
7118 (NSIG): Define if not known.
7119 (get_emacs_configuration): Provide extern declaration.
7120 (get_emacs_configuration_options): Provide extern declaration.
7121 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7122
7123 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7124 (map_w32_filename):
69a7ffa7
AI
7125 (read_unc_volume): Fix compile warning.
7126
7127 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7128 definitions from being used.
7129
7130 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7131
52283633 7132 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7133 (open_unc_volume): Make arg const.
7134
7135 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7136 (read_input_waiting): Remove excess parameter.
7137
7138 * w32.c (init_environment): Call _access.
7139 (check_windows_init_file): Call _close.
7140 (init_user_info): Call _putenv.
7141 (init_environment): Call _putenv and _strdup.
7142 (init_ntproc): Reset volume info cache on startup.
7143
7144 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7145 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7146 cannot override the CRT malloc.
7147
7148 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7149 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7150
7151 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7152 unless we are linking with a static CRT.
7153 (RVA_TO_PTR): Cast result to unsigned char*.
7154
7155 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7156 (add_volume_info): Use xstrdup.
7157
25060080
SM
71582000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7159
7160 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7161 (do_completion, Fminibuffer_complete_word): Use it.
7162 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7163 var so it can take non-boolean values.
7164
6917e6bb
GM
71652000-08-21 Gerd Moellmann <gerd@gnu.org>
7166
acb7cc89 7167 * editfns.c (find_field): Formatting changes.
52283633 7168 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7169 changed to prototypes, some new protypes added, some functions
7170 made static.
7171
7172 * lisp.h (set_time_zone_rule): Add prototype.
7173 (use_dialog_box): External declaration.
7174
0bbfdc25
GM
7175 * keyboard.c (gen_help_event): Add parameter SIZE.
7176 (kbd_buffer_events_waiting): Slightly rewritten.
7177 (clear_event): New function.
7178 (kbd_buffer_get_event): Use it, and clear the input_events of
7179 HELP_EVENTs.
7180 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7181 don't fill the newly created array with nils.
7182 (toplevel): Convert some old-style function forward declarations
7183 to prototypes.
7184
7185 * keyboard.h (gen_help_event): Change prototype.
7186
7187 * xterm.c (XTread_socket): Change calls to gen_help_event.
7188
7189 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7190
6917e6bb
GM
7191 * eval.c (Fmacroexpand): Doc fix.
7192
e5cd3d11
JR
71932000-08-20 Jason Rumney <jasonr@gnu.org>
7194
7195 * w32term.h (x_display_info_for_display): Remove as this function
7196 does not exist on W32.
7197
7198 * w32term.c (help_echo_window): New variable.
7199 (syms_of_w32term): staticpro it.
7200 (note_mode_line_highlight): Set it.
7201 (XTextExtents16): Removed as there is no equivalent on W32.
7202 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7203 the X way of doing this will not work for W32.
7204 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7205 (x_draw_image_foreground): Avoid drawing outside of the clip area
7206 when image doesn't have a mask.
7207 (note_mouse_highlight): Process overlays in the right order of
7208 priority. Set help_echo_window.
7209 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7210 because that's more visible for large images.
7211
7212 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7213 name to single_keymap_panes.
7214 (w32_menu_show): Set wv->title when dealing with titles.
7215 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7216
6e69ab8c
MB
72172000-08-21 Miles Bader <miles@gnu.org>
7218
7219 * minibuf.c (do_completion): Try again if we rewrite the input
7220 string, but no completion was done, so that any completion message
7221 will be correct.
7222
511bd4eb
GM
72232000-08-20 Gerd Moellmann <gerd@gnu.org>
7224
7225 * xfaces.c (lface_equal_p): Compare strings differently.
7226 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7227 (realize_tty_face): Use them.
7228 (syms_of_xfaces): Initialize new variables.
7229 (map_tty_color): New function, extracted from realize_tty_face.
7230 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7231 foreground or background color, store the new color name in the
7232 realized face; previous code trying to do this had no effect.
7233 (realize_tty_face): Use map_tty_color.
7234 (Fclear_face_cache): Set face_change_count and ensure thorough
7235 redisplay.
7236
1433385f
GM
72372000-08-19 Gerd Moellmann <gerd@gnu.org>
7238
511bd4eb
GM
7239 * undo.c (record_first_change, record_marker_adjustment): Don't
7240 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7241
419ac0a2
KH
72422000-08-18 Kenichi Handa <handa@etl.go.jp>
7243
7244 * coding.c (decode_coding_string): Set members consumed,
7245 consumed_char, produced, produced_char of *coding correctly. If
7246 decode_coding doesn't consume any byte, don't try anymore.
7247 (encode_coding_string): Likewise.
7248
7eb9e30d
GM
72492000-08-18 Gerd Moellmann <gerd@gnu.org>
7250
511bd4eb
GM
7251 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7252 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7253
7254 * xdisp.c (redisplay_internal): Compare windows for equality with
7255 EQ, instead of applying XWINDOW to something that might not
7256 be a window.
52283633 7257
dd34a735
KH
72582000-08-18 Kenichi Handa <handa@etl.go.jp>
7259
7260 * fontset.c (Finternal_char_font): Search only the selected frame
7261 for a window of the current buffer.
7262
385ff9e3
GM
72632000-08-18 Gerd Moellmann <gerd@gnu.org>
7264
511bd4eb 7265 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7266 Lisp_Objects.
7267
385ff9e3
GM
7268 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7269 second half of a HELP_EVENT is found at the start of kbd_buffer.
7270
d6abb4c7
MB
72712000-08-18 Miles Bader <miles@gnu.org>
7272
4618074a
MB
7273 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7274
d6abb4c7
MB
7275 * editfns.c (save_restriction_save): Rewrite to use markers.
7276 (save_restriction_restore): Rewrite to understand new form of data
7277 saved by save_restriction_save.
7278 (Fsave_restriction): Remove cautionary note in doc-string.
7279
a7b28523
GM
72802000-08-17 Gerd Moellmann <gerd@gnu.org>
7281
7282 * fileio.c (build_annotations): Add a comment explaining the
7283 return value of format-annotate-function. Replace a spurious call
7284 to Flength with a CONSP test. Call format-annotate-function with
7285 a fifth arg specifying how many times the function is been called
7286 in a row, to let it choose temporary buffers appropriately.
7287
03c9ed77
DL
72882000-08-17 Dave Love <fx@gnu.org>
7289
7290 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7291 declare make_temp_name twice.
7292
52283633 7293 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7294 (unreadpure): Give it an arg.
7295
7296 * unexalpha.c: Prototype fatal_unexec, mark_x,
7297 update_dynamic_symbols. Declare unexec as void.
7298
7299 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7300 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7301
7302 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7303 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7304
7305 * alloca.c: Use #error.
7306 [POINTER_TYPE]: Use it.
7307
7308 * eval.c (Fdefvar): Doc fix.
7309
7310 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7311 INITIALIZE_INTERVAL.
7312
7313 * buffer.h: Avoid DECLARE_INTERVALS.
7314
7315 * config.in: Add size_t.
7316
aae41d97
EZ
73172000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7318
7319 * w16select.c (set_clipboard_data): If there's not enough memory
7320 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7321 expects. In case of other failures, return 3.
7322 (system_error_msg): New error message.
7323 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7324 system_error_msg.
7325
65aa5e85
GM
73262000-08-16 Gerd Moellmann <gerd@gnu.org>
7327
7328 * term.c (write_glyphs): Also turn off inverse video after turning
7329 off other appearances in case TS_exit_attribute_mode is not equal
7330 to TS_end_standout_mode.
7331 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7332 with the same face.
7333 (turn_off_face): Reset standout_mode only if
7334 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7335 is equal to TS_end_standout_mode.
7336
ece23901
KH
73372000-08-16 Kenichi Handa <handa@etl.go.jp>
7338
9d7bcb2e
KH
7339 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7340 sequence at the end of the source block.
7341
ece23901
KH
7342 * ccl.c (Fccl_program_p): Docstring modified.
7343 (Fccl_execute): Likewise.
7344 (Fccl_execute_on_string): Likewise.
7345
5e30eaa2
EZ
73462000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7347
7348 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7349
290602fd
KH
73502000-08-16 Kenichi Handa <handa@etl.go.jp>
7351
7352 The following changes are mainly to fix bugs of
7353 encode/decode-coding-string failing if encoding/decoding return
7354 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7355 variable conversion_buffer.
7356
7357 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7358 decrement dst_end to avoid buffer overflow in the later call of
7359 string_as_multibyte
7360
7361 * coding.h (conversion_buffer_size, conversion_buffer)
7362 (get_conversion_buffer): Extern deleted.
7363
7364 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7365 (conversion_buffer, conversion_buffer_size): Variables deleted.
7366 (get_conversion_buffer): Function deleted.
7367 (struct conversion_buffer): New structure.
7368 (MAX_ALLOCA): New macro.
7369 (allocate_conversion_buffer): New macro.
7370 (extend_conversion_buffer, free_conversion_buffer): New functions.
7371 (ccl_coding_driver): Set coding->result.
7372 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7373 this is the last block of source.
7374 (encode_coding): Likewise. Handle the source block as the last
7375 one only when the whole source text is consumed.
7376 (decode_coding_string): Handle the case that the output buffer is
7377 too small to decode the whole source text. Use
7378 allocate_conversion_buffer, extend_conversion_buffer and
7379 free_conversion_buffer, not get_conversion_buffer.
7380 (encode_coding_string): Likewise.
7381 (init_coding): Function deleted.
52283633 7382 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7383
7384 * emacs.c (main): Don't call init_coding.
7385
52283633 7386 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7387
7388 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7389 (insert_glyphs): Likewise.
7390
7391 * w32console.c (write_glyphs): Use a locally declared
7392 conversion_buffer.
7393
b9f80d41
EZ
73942000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7395
7396 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7397 member of display_info is NULL.
7398
32dc52f7
GM
73992000-08-15 Gerd Moellmann <gerd@gnu.org>
7400
52283633 7401 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7402
32dc52f7 7403 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7404 appearances with capability `me'.
32dc52f7
GM
7405 (write_glyphs): Switch on inverse video before each face change.
7406
4eb22d33
DL
74072000-08-14 Dave Love <fx@gnu.org>
7408
7409 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7410 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7411 (lisp_free): Declare and make static.
7412
7413 * window.c: Fix embedded comment.
7414 (syms_of_window): Fix doc string.
7415
90cbf47e
GM
74162000-08-14 Gerd Moellmann <gerd@gnu.org>
7417
52283633 7418 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7419 make sure to print `C-' before `M-', like in the manual.
7420
440fc135
GM
74212000-08-11 Gerd Moellmann <gerd@gnu.org>
7422
7423 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7424 since they aren't relocated anymore.
52283633 7425 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7426
7427 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7428 partially visible line which is smaller than the window's height.
440fc135 7429
6e264fad
KH
74302000-08-11 Kenichi Handa <handa@etl.go.jp>
7431
7432 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7433 the multibyte form of eight-bit-control characters.
6e264fad
KH
7434 (Fccl_execute_on_string): Initialize ccl->multibyte.
7435
7436 * ccl.h (struct ccl_program): New member multibyte.
7437
7438 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7439
c371f69a
KH
74402000-08-11 Kenichi Handa <handa@etl.go.jp>
7441
7442 * regex.c (regex_compile) <normal_char>: Pay attention to
7443 multibyteness.
7444 (analyse_first) <exactn>: Setup fastmap correctly for
7445 eight-bit-control characters.
7446
74472000-08-11 Kenichi Handa <handa@etl.go.jp>
7448
52283633 7449 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7450
7451 * keyboard.c (make_lispy_event): Handle the new event type
7452 multibyte_char_keystroke.
7453
7454 * xterm.c: Include coding.h.
7455 (XTread_socket): Work around a bug of XmbLookupString. If the
7456 input is from XIM, decode it according to the current locale. In
7457 that case, generate multibyte_char_keystroke events.
7458
b8ddbe71
KH
74592000-08-11 Kenichi Handa <handa@etl.go.jp>
7460
7461 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7462 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7463
47589c8c
GM
74642000-08-10 Gerd Moellmann <gerd@gnu.org>
7465
7466 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7467 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7468 (move_it_in_display_line_to): Record iterator's ascent and descent
7469 before producing glyphs, and restore them when we know the glyph
7470 doesn't fit on the line.
7471 (move_it_to): Restructured so that it's easier to debug. If
7472 moving to a vpos, and not moving to an x or character position,
7473 stop as soon as the specified vpos is reached; don't move further
7474 into that line because that might change the computed line height.
7475 (try_cursor_movement): New function, extracted from the cursor
7476 movement branch of redisplay_window. If ending on a partially
7477 visible line, don't try to scroll if the cursor line is taller
7478 than the window.
7479 (redisplay_window): Use try_cursor_movement.
7480
7481 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7482 because that function doesn't cope with variable-height lines.
7483
7484 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7485 box cursor because that's better visible for large images.
52283633 7486
c51bacd6
MB
74872000-08-10 Miles Bader <miles@gnu.org>
7488
7489 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7490
bea56df7
GM
74912000-08-10 Gerd Moellmann <gerd@gnu.org>
7492
7493 * xdisp.c (Vmessages_buffer_name): New variable.
7494 (message_dolog): Use it.
7495 (syms_of_xdisp): Initialize it.
7496
99cd7364
EZ
74972000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7498
52283633 7499 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7500 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7501 redundant now that keyboard.h is included.
7502
7d093d56
EZ
75032000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7504
7505 * keyboard.c (kbd_buffer_events_waiting): New function.
7506
7507 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7508
7509 * msdos.c: Include keyboard.h.
7510 (XMenuActivate): Empty no_event events from the event buffer. If
7511 no events are left after that, call clear_input_pending.
7512 (mouse_clear_clicks): New function, code moved from mouse_init.
7513 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7514 mouse driver to ``forget'' any past clicks.
7515
7516 * Makefile.in (msdos.o): Depend on keyboard.h.
7517
41e757a6
GM
75182000-08-09 Gerd Moellmann <gerd@gnu.org>
7519
8e7bd231
GM
7520 * lisp.h (input_pending): External declaration.
7521
7522 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7523
8e7bd231
GM
7524 * xdisp.c (echo_area_display): Display thoroughly if input is
7525 pending. Bind redisplay-dont-pause to t during the redisplay.
7526 in case input is pending.
7527
7528 * dispnew.c (Qredisplay_dont_pause): New variable.
7529 (syms_of_display): Initialize and staticpro it.
7530 (update_frame_1): Don't interrupt the display for pending input if
7531 redisplay_dont_pause is set.
52283633 7532
43028b7e
GM
7533 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7534
41e757a6
GM
7535 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7536
2f2174fa
KH
75372000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7538
7539 * callproc.c (Fcall_process): Terminate the unwind-protect around
7540 the post-read-conversion of coding system.
7541
0a6fd67e
MB
7542 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7543 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7544 * buffer.h (overlays_at): Update prototype.
7545 * xdisp.c (next_overlay_change): Update call to overlays_at.
7546 * xfaces.c (face_at_buffer_position): Likewise.
7547 * textprop.c (Fget_char_property): Likewise.
7548 * xterm.c (note_mouse_highlight): Likewise.
7549
0c80756e
MB
7550 * minibuf.c (do_completion): Don't consider a simple change of
7551 case as `completion'.
7552
975f250a
KR
75532000-08-08 Ken Raeburn <raeburn@gnu.org>
7554
52283633 7555 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7556 * undo.c (record_delete): Make sure last_point_position_buffer is
7557 a buffer before comparing pointers.
7558
7559 * coding.h (decode_coding_string): Declare.
7560
7561 * intervals.h (Fprevious_single_char_property_change): Declare.
7562
7563 * textprop.c (Fprevious_single_char_property_change): Don't do
7564 arithmetic directly on lisp objects.
7565
52283633 7566 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7567
7568 * keyboard.h (menu_item_eval_property): Declare.
7569
7570 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7571 reuse as buffer name, instead of recreating (and discarding) every
7572 time a message is logged.
7573 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7574 (current_message_1, truncate_message_1, set_message_1)
7575 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7576 (current_message, truncate_echo_area, display_echo_area)
7577 (resize_echo_area_axactly): Changed calls.
b347b3fd 7578
975f250a 7579 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7580 Lisp object.
975f250a 7581 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7582 must be an integer, not a Lisp object.
975f250a 7583
46dc9912
KH
75842000-08-08 Kenichi Handa <handa@etl.go.jp>
7585
7586 * charset.c (Fchar_width): Doc fix.
7587
9f6d1a6c
GM
75882000-08-08 Gerd Moellmann <gerd@gnu.org>
7589
7590 * charset.c (Fstring_width): Doc fix.
7591
ff3d9573
GM
75922000-08-07 Gerd Moellmann <gerd@gnu.org>
7593
41e757a6 7594 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7595 line, clear ascent and descent members of the iterator structure;
7596 the height of the continued line does not affect the height of the
7597 continuation line.
7598 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7599 line taller than the window.
7600 (redisplay_window) <forced window start>: Handle case that the
7601 middle of the window is not found in any row.
7602 (dump_glyph_row): Show more information.
7603 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7604 first text line in a glyph matrix.
7605
7606 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7607 of the clip area when image doesn't have a mask.
7608
70fc58b3
GM
7609 * fns.c (sweep_weak_table): Fix survival conditions for
7610 key-or-value and key-and-value weakness.
7611
7612 * .gdbinit (xhashtable): New command.
7613
ac0e96ee
GM
7614 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7615 tables out of the list of all weak hash tables.
7616
ff3d9573
GM
7617 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7618 a new buffer is created, make sure echo_area_buffer[] references
7619 the new buffer.
7620
e0d8827b
EZ
76212000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7622
7623 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7624 the doc string.
7625
c6f35378
KH
76262000-08-07 Kenichi Handa <handa@etl.go.jp>
7627
7628 * syntax.c (skip_chars): Fix previous change. Make the handling
7629 of unibyte string consistent with that of regex search.
7630
1fd4c450
GM
76312000-08-05 Gerd Moellmann <gerd@gnu.org>
7632
e49aa397
GM
7633 * xmenu.c (popup_get_selection): Use xfree instead of free.
7634
7635 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7636
7637 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7638
7639 * callproc.c (child_setup): Use xfree instead of free.
7640
7641 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7642 instead of malloc.
7643 (run_mac_command, closedir): Use `xfree' instead of `free'.
7644
7645 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7646
7647 * eval.c (error): Use xfree instead of free.
7648
1fd4c450
GM
7649 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7650
7651 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7652 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7653
82d497fc
KH
76542000-08-05 Kenichi Handa <handa@etl.go.jp>
7655
7656 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7657 conversion.
7658
59f953a2
NF
76592000-08-04 Noah Friedman <friedman@splode.com>
7660
7661 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7662 docstring.
7663
688351f2
GM
76642000-08-04 Gerd Moellmann <gerd@gnu.org>
7665
7666 * syntax.c (skip_chars): Fix typo in error message.
7667
2dad51cc
AS
76682000-08-04 Andreas Schwab <schwab@suse.de>
7669
7670 * m/ia64.h: Moved from s/ia64.h.
7671
99bb2c60
KH
76722000-08-04 Kenichi Handa <handa@etl.go.jp>
7673
082a1df2
KH
7674 * process.c (read_process_output): Big simplification. Handle
7675 composition and post-read-conversion of coding system correctly.
7676 (send_process): Handle composition correctly.
7677
7678 * callproc.c (Fcall_process): Handle post-read-conversion of
7679 coding system if any.
7680
99bb2c60
KH
7681 * coding.c (decode_coding_iso2022): More strict check for handling
7682 single shifting.
082a1df2
KH
7683 (coding_restore_composition): Pay attention to the case that
7684 cmp_data is not set properly (because of invalid code in the
7685 source text).
7686 (run_pre_post_conversion_on_str): Include text properties in the
7687 resulting string.
7688 (decode_coding_string): Set members of coding correctly.
99bb2c60 7689
f4988be7
GM
76902000-08-03 Gerd Moellmann <gerd@gnu.org>
7691
7692 * s/ia64.h: New file.
7693
7694 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7695 Use NULL instead of 0 at the end of variable argument list of
7696 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7697 sizeof (int) < sizeof (void *).
7698
7699 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7700 of variable argument lists of XtVaGetValues and XtVaSetValues.
7701
7702 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7703 variable argument lists of XtVaGetValues and XtVaSetValues.
7704
ead53494
GM
77052000-08-02 Gerd Moellmann <gerd@gnu.org>
7706
7707 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7708 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7709
7710 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7711 prototype.
7712
7713 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7714 in call to Fsingle_key_description.
7715
7716 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7717 Callers changed.
7718
77192000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7720
7721 * window.c (display_buffer_reuse_frames): New variable.
7722 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7723 frames displaying BUFFER.
52283633 7724 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7725
10b0f752
MB
77262000-08-01 Miles Bader <miles@gnu.org>
7727
7728 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7729 when to constrain NEW_POS (they were pretty screwed up before).
7730
16425c4a
EZ
77312000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7732
7733 * msdos.c (run_msdos_command): Save and restore the master
7734 environment, for the case that child_setup signals an error.
7735 When mirroring slashes in DOS shell commands, don't fail when
7736 argv[2] has embedded blanks.
da288c14
EZ
7737 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7738 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7739 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7740
7741 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7742 using alloca; free it after run_msdos_command returns.
7743
27f73852
DL
77442000-07-27 Dave Love <fx@gnu.org>
7745
52283633
SM
7746 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7747 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7748
7749 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7750
c0261b5e
EZ
77512000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7752
7753 * editfns.c (lisp_time_argument): Fix last change.
7754
b548072f
GM
77552000-07-27 Gerd Moellmann <gerd@gnu.org>
7756
3ab82477
GM
7757 * fns.c (Fdelete): Make it work on vectors and strings in addition
7758 to lists.
7759
b548072f
GM
7760 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7761 (syms_of_fns): Initialize new variables.
52283633 7762 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7763 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7764 weakness, with t meaning the same as `key-and-value'.
7765
91ae8751
KH
77662000-07-27 Kenichi Handa <handa@etl.go.jp>
7767
7768 * coding.h (struct coding_system): Member safe_charset deleted.
7769
7770 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7771 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7772 New variables.
91ae8751
KH
7773 (coding_safe_chars): New function.
7774 (CODING_SAFE_CHAR_P): New macro.
7775 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7776 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7777 (detect_coding_iso2022): New local variable safe_chars.
7778 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7779 safe_charsets member of the coding system.
7780 (decode_coding_iso2022): New local variable safe_chars.
7781 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7782 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7783 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7784 (ENCODE_UNSAFE_CHARACTER): New macro.
7785 (encode_coding_iso2022): New local variable safe_chars. Check
7786 unsafe chars.
7787 (setup_coding_system): Delete the code to initialize
7788 coding->safe_charses
7789 (intersection, find_safe_codings): New functions.
7790 (Ffind_coding_systems_region_internal): New function.
7791 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7792 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7793 variable and initialize it.
7794
7795 * fns.c (char_table_ref_and_index): New function.
7796
7797 * lisp.h (char_table_ref_and_index): Add prototype.
7798
34a7a267
SS
77992000-07-26 Sam Steingold <sds@gnu.org>
7800
7801 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7802 (Ffloat_time): New built-in Lisp function.
34a7a267 7803
a95cb10a
GM
78042000-07-26 Gerd Moellmann <gerd@gnu.org>
7805
3353ef5a
GM
7806 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7807 for the character code.
7808
7809 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7810 GNU/Linux.
7811
a95cb10a
GM
7812 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7813 if called for a popup menu.
7814 (xmenu_show): Store help string in widget values.
7815
b4a12321
DL
78162000-07-26 Dave Love <fx@gnu.org>
7817
7818 * syswait.h: Move some definitions.
7819 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7820 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7821 perspicuous definitions.
7822 (WTERMSIG): Fix bit pattern used.
7823
13f5ad37
KH
78242000-07-26 Kenichi Handa <handa@etl.go.jp>
7825
7826 * print.c (print_object): If vector printing is truncated, print
7827 "..." to indicate it as well as the case of list printing.
7828
070fe99c
GM
78292000-07-25 Gerd Moellmann <gerd@gnu.org>
7830
969065c3
GM
7831 * xdisp.c (next_element_from_display_vector): Improve comments.
7832
7833 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7834 for the character code, and the rest for the face id as in 20.x.
7835 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7836
7837 * window.c (window_display_table): Cleaned up.
7838
070fe99c
GM
7839 * syntax.c (Fforward_word): Add last arg nil in call of
7840 Fconstrain_to_field.
7841
bad77ef7
EZ
78422000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7843
969065c3 7844 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7845 identical but for the letter-case, don't call
7846 barf_or_query_if_file_exists.
bad77ef7 7847
c28da489
MB
78482000-07-25 Miles Bader <miles@gnu.org>
7849
7850 * editfns.c (find_field): Honor special `boundary' fields.
7851 (Qboundary): New variables.
7852 (syms_of_editfns): Initialize Qboundary.
7853 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7854 Use scan_buffer instead of find_before_next_newline, because it
7855 allows us to detect the boundary case where there's a newline at
7856 the search limit.
7857 * lisp.h (Fconstrain_to_field): Update external declaration.
7858
e3c31fd5
GM
78592000-07-24 Gerd Moellmann <gerd@gnu.org>
7860
7861 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7862 if that is nil.
c28da489 7863
c66c29a2
DL
78642000-07-24 Dave Love <fx@gnu.org>
7865
7866 * s/sunos4-0.h, s/sol2.h:
7867 (LIBS_TERMCAP): Move from m/sparc.h.
7868
7869 * m/sparc.h (TERMINFO): Moved to system files (probably only
7870 relevant for sunos4 judging by its vintage).
7871 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7872 __arch64__.
7873
fbe0a958
EZ
78742000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7875
7876 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7877 name to single_keymap_panes.
7878
7d88e5c9
AS
78792000-07-24 Andreas Schwab <schwab@suse.de>
7880
7881 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7882
e024b101
GM
78832000-07-24 Gerd Moellmann <gerd@gnu.org>
7884
7885 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7886 parameters instead of using int parameters. Expect FN to accept
7887 EMACS_INT parameters.
7888 (display_echo_area, resize_echo_area_axactly, current_message)
7889 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7890 with new argument list.
7891 (resize_mini_window_1): New callback function.
7892 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7893 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7894
25c1a9ce
KH
78952000-07-24 Kenichi Handa <handa@etl.go.jp>
7896
7897 * fontset.c (fontset_ref): Remove INLINE declaration.
7898 (fontset_ref_via_base): Likewise.
7899 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7900 to downcase.
7901
7f987ac0
EZ
79022000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7903
7904 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7905 correct order of priority. If help echo was found in an overlay,
7906 use that overlay as the object in which the help echo was found.
7907
e2db3069
MB
79082000-07-22 Miles Bader <miles@gnu.org>
7909
7910 * textprop.c (Fprevious_single_char_property_change): The initial
7911 property value should be from the position preceding POSITION, not
7912 following it.
7913
5e3203e4
EZ
79142000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7915
7916 * coding.c (syms_of_coding): Doc fix for
7917 inhibit-iso-escape-detection.
7918
62145073
GM
79192000-07-21 Gerd Moellmann <gerd@gnu.org>
7920
c20aeb83
GM
7921 * xterm.c (note_mouse_highlight): Process overlays in the right
7922 order of priority.
34a7a267 7923
743934db
GM
7924 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7925
7926 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7927 overlay, use that overlay as the object in which the help was found.
743934db 7928
d1dc7e43 7929 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7930
62145073
GM
7931 * window.c (foreach_window): Instead of a fake variable argument
7932 list, take one USER_DATA argument.
7933 (foreach_window_1): Likewise, and call callback functions with two
7934 args, the window and USER_DATA.
7935 (struct check_window_data): New struct.
7936 (check_window_containing): Use it.
7937 (window_from_coordinates): Set up a struct check_window_data for
7938 foreach_window.
7939 (add_window_to_list, freeze_window_start): Change parameters
7940 according to new calling convention.
7941
7942 * window.h (foreach_window): Change prototype.
7943
7944 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7945
79462000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7947
7948 * xmenu.c (menu_help_callback): Call show_help_echo with
7949 additional arguments OBJECT and POS.
7950
11270583
KH
79512000-07-21 Kenichi Handa <handa@etl.go.jp>
7952
07b14857
KH
7953 * data.c (Faset): Allow storing any multibyte character in a
7954 string. Convert unibyte string to multibyte if necessary.
7955
11270583
KH
7956 * xfns.c (x_encode_text): New function.
7957 (x_set_name): Use x_encode_text.
7958 (x_set_title): Likewise.
7959
7960 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7961
7962 * xterm.h (x_encode_text): Add prototype.
7963
bc75b4fd
DL
79642000-07-20 Dave Love <fx@gnu.org>
7965
7966 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7967 xfree, not free.
7968
48c14970
EZ
79692000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7970
7971 * msdos.c (help_echo_window): New variable.
7972 (syms_of_msdos): Initialize and staticpro it.
7973 (IT_note_mode_line_highlight): Set help_echo_window.
7974 (IT_note_mouse_highlight): Ditto.
7975 (dos_rawgetc): Store help_echo_window in the second event produced
7976 for HELP_EVENTs.
7977
7978 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7979 Record the object that generated the help echo and the position of
7980 that object in help_echo_object and help_echo_pos. Record that
7981 some glyphs in a row are displayed in mouse-face.
7982 (IT_update_begin): Don't clear mouse highlight unless one of the
7983 enabled glyph rows is marked as being displayed in mouse-face.
7984 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
7985 and position recorded in help_echo_object and help_echo_pos to the
7986 event queue.
7987 (IT_menu_display): Accept a new argument PN: the pane number of
7988 the current menu pane. Record the pane number and the item
7989 number of the item which has associated help string.
7990 (XMenuActivate): Update the prototype for help_callback in
7991 function declaration. Call IT_menu_display with the current menu
7992 pane number as an additional argument. Call help_callback with
7993 two additional arguments: the pane number and the item number of
7994 the menu item associated with the help text.
7995 (help_echo_object, help_echo_pos): New variables.
7996 (syms_of_msdos): Initialize them and staticpro help_echo_object.
7997
7998 * msdos.h (XMenuActivate): Update prototype.
7999
4279296d
GM
80002000-07-19 Gerd Moellmann <gerd@gnu.org>
8001
47db06aa
GM
8002 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8003 Add some more prototypes.
8004
8005 * xterm.c, xterm.h: Add some more prototypes.
8006
8007 * lisp.h (Fnext_single_char_property_change): Add prototype.
8008
8009 * dispnew.c (direct_output_for_insert): Remove confusing
8010 outer local variable mouse_face_overwritten_p.
8011 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8012
4279296d
GM
8013 * alloc.c (allocate_string_data): Don't copy old string contents.
8014
670acd62
KH
80152000-07-19 Kenichi Handa <handa@etl.go.jp>
8016
8017 * coding.c (code_convert_region): Delete text properties before
8018 shrinking the conversion region.
8019
7cea38bc
GM
80202000-07-18 Gerd Moellmann <gerd@gnu.org>
8021
dc1cac59
GM
8022 * dispnew.c (update_text_area): Write the whole row if it
8023 has mouse-face in it.
8024
85a8aca9
GM
8025 * xfaces.c (face-alternative-font-family-alist): Remove
8026 DEFVAR_LISP; staticpro instead.
8027
34a7a267 8028 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8029 new arguments.
8030
8031 * keyboard.c (show_help_echo): Add parameter WINDOW.
8032 (read_char): Call show_help_echo with window extracted from Lisp
8033 help event.
8034 (gen_help_event): Add parameter WINDOW.
8035
8036 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8037
8038 * xterm.c (help_echo_window): New variable.
52283633 8039 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8040 (XTread_socket): Pass help_echo_window to gen_help_event.
8041 (syms_of_xterm): Initialize and staticpro help_echo_window.
8042
f8276b77
DL
80432000-07-18 Dave Love <fx@gnu.org>
8044
52283633 8045 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8046
088831a6
GM
80472000-07-18 Gerd Moellmann <gerd@gnu.org>
8048
3d6cd763
GM
8049 * alloc.c (allocate_string_data): If string had already data
8050 assigned, copy old contents to new string data.
8051
8052 * coding.c (syms_of_coding): Fix typo in spelling of variable
8053 `inhibit-iso-escape-detection'.
8054
088831a6
GM
8055 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8056
8057 * Makefile.in: Add dependencies on dispextern.h.
8058 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8059 `free'; both can conflict with system header files.
8060
bc8a8d55
KH
80612000-07-18 Kenichi Handa <handa@etl.go.jp>
8062
8063 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8064 undefined.
8065
069f5950
DL
80662000-07-18 Dave Love <fx@gnu.org>
8067
8068 * window.c (Fwindow_list): Declare arg `window'.
8069
aa96c820
KH
80702000-07-18 Kenichi Handa <handa@etl.go.jp>
8071
8072 * coding.c (setup_coding_system): Don't override the explicitly
8073 specified designations.
8074
06be8d32
MB
80752000-07-15 Miles Bader <miles@gnu.org>
8076
8077 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8078 from `text_property_eq' and `text_property_stickiness', respectively.
8079 (find_field, Fconstrain_to_field, char_property_eq)
8080 (char_property_stickiness): Changed to call char-property functions
8081 instead of text-property-only ones.
8082
8083 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8084 `next_single_char_property_change'). Do more error checking, and
8085 cleanup limit behavior.
8086 (Fprevious_single_char_property_change): New function.
8087 (syms_of_textprop): Initialize new subrs.
8088
8089 * xdisp.c (display_prop_end, invisible_text_between_p):
8090 Call Fnext_single_char_property_change instead of
8091 next_single_char_property_change.
8092
3fddcdc3
JR
80932000-07-15 Jason Rumney <jasonr@gnu.org>
8094
8095 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8096 after menu is finished with.
8097 (add_menu_item): Only consider wv->title as a menu title.
8098 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8099
8100 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8101 null title.
8102 (FONT_REGEXP): Remove unused macro, and its sub-components.
8103 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8104
8105 * w32term.c (help_echo_object, help_echo_pos): New variables.
8106 (note_mode_line_highlight): Store additional information about the
8107 help-echo in help_echo_object and help_echo_pos. Check both
8108 `local-map' and `keymap' properties for changing the cursor
8109 (note_mouse_highlight): Store additional information about the
8110 help-echo in help_echo_object and help_echo_pos.
8111 (note_tool_bar_highlight): Set help_echo_object to nil and
8112 help_echo_pos to -1.
8113 (w32_read_socket): Use gen_help_event instead of filling
8114 input_events manually.
8115 (syms_of_w32term): Staticpro help_echo_object.
8116 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8117 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8118 (x_clear_mouse_face): New function.
8119 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8120 (x_update_window_begin): No need to turn off the mouse
8121 highlight here.
8122 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8123 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8124 (x_fill_stretch_glyph_string): Consume runs of stretch
8125 glyphs instead of a single one.
8126 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8127 with new argument list.
8128 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8129 (x_append_glyph, x_append_composite_glyph)
8130 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8131 changes in struct glyph starting 1999-12-27. See comments for
8132 xterm.c on 2000-07-05.
8133
178c5d9c
SS
81342000-07-14 Sam Steingold <sds@gnu.org>
8135
8136 * xfaces.c (realize_x_face): Fix the last patch:
8137 check `default_face' before dereferencing.
8138
6fe533f6
DL
81392000-07-14 Dave Love <fx@gnu.org>
8140
069f5950 8141 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8142
dd7b81cf
KH
81432000-07-14 Kenichi Handa <handa@etl.go.jp>
8144
0693904a 8145 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8146 default_face's fontset, not using the default fontset.
0693904a 8147
dd7b81cf
KH
8148 * coding.c (inhibit_iso_escape_detection): New variable.
8149 (syms_of_coding): Make it a Lisp variable.
8150 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8151 nonzero, ignore ISO2022's escape sequence.
8152
d5aa31d8
GM
81532000-07-14 Gerd Moellmann <gerd@gnu.org>
8154
e5acf0ca
GM
8155 * alloca.c (malloc) [emacs]: Define as xmalloc.
8156
bd23a692
GM
8157 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8158 use that instead of the mouse position. Add parameters DX and DY.
8159
8160 * dispextern.h (Fx_show_tip): Adjust number of parameters
8161 in prototype.
8162
9662da0b
GM
8163 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8164 if HELP is a function, call it with OBJECT and POS as parameters
8165 to get the help to display.
8166 (gen_help_event, kbd_buffer_store_help_event): New functions.
8167 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8168 (read_char): Call show_help_echo with new parameters.
8169
178c5d9c 8170 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8171 Add prototypes.
8172
8173 * xterm.c (help_echo_object, help_echo_pos): New variables.
8174 (note_mode_line_highlight): Store additional information about the
8175 help-echo in help_echo_object and help_echo_pos. Check both
8176 `local-map' and `keymap' properties for changing the cursor
8177 (note_mouse_highlight): Store additional information about the
8178 help-echo in help_echo_object and help_echo_pos.
8179 (note_tool_bar_highlight): Set help_echo_object to nil and
8180 help_echo_pos to -1.
8181 (XTread_socket): Use gen_help_event instead of filling
8182 input_events manually.
8183 (syms_of_xterm): Staticpro help_echo_object.
8184
8185 * xmenu.c (menu_highlight_callback): Use
8186 kbd_buffer_store_help_event instead of setting up and input_event
8187 structure manually.
8188
8189 * xdisp.c (eval_form): GCPRO argument sexpr.
8190 (call_function): New function.
8191 (handle_single_display_prop): Use call_function and FUNCTIONP
8192 instead of checking whether if font_height is a symbol and
8193 using eval_form.
8194
8195 * eval.c (internal_condition_case_2): New function.
8196
8197 * lisp.h (FUNCTIONP): New macro.
8198 (internal_condition_case_2, call_function): Add prototypes.
8199
d5aa31d8
GM
8200 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8201 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8202 Always set `arg' member of input_events.
8203 (construct_menu_click): Unused function removed.
8204
8205 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8206
8207 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8208 (construct_drag_n_drop, x_scroll_bar_handle_click)
8209 (w32_read_socket): Always set `arg' member of input_events.
8210
8211 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8212
8213 * lisp.h (eval_form): Add prototype.
8214
8215 * xdisp.c (eval_form): Make it externally visible.
8216
0f1a9b23
GM
82172000-07-13 Gerd Moellmann <gerd@gnu.org>
8218
8219 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8220 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8221 consing. For prefix events, store the frame in the `arg' slot of
8222 the event, otherwise store the key there.
8223 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8224 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8225
8226 * xmenu.c (menu_highlight_callback): Store help string in the
8227 `arg' member of the input event; don't cons.
8228 (menubar_selection_callback): Use the `arg' slot of input events
8229 to queue additional information, instead of consing.
8230
8231 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8232
8233 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8234 TOOL_BAR_EVENTs.
8235 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8236
8237 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8238 input events to queue additional information, instead of consing.
8239
8240 * keyboard.c (kbd_buffer_gcpro): Renamed from
8241 kbd_buffer_frame_or_window. Now used for all Lisp objects
8242 referenced from the input queue.
8243 (kbd_buffer_store_event): Always use structure assignment for
8244 copying input events. Record all Lisp objects referenced from
8245 events in kbd_buffer_gcpro.
8246 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8247 differently from input events. Test for prefix menu_bar_events
8248 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8249 event in kbd_buffer_gcpro to nil.
8250 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8251 frame_or_window is equal to its arg member as prefix events.
8252 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8253 used by an input event to nil.
8254 (init_keyboard): Use two times the size of the input queue
8255 for kbd_buffer_gcpro.
8256 (syms_of_keyboard): Likewise.
8257
52283633
SM
8258 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8259 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8260
8261 * termhooks.h (struct input_event): Add member `arg'.
8262 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8263 (USER_SIGNAL_EVENT): Renamed from user_signal.
8264
8265 * xfaces.c (ASET): Remove definition.
8266
8267 * lisp.h (AREF, ASET, ASIZE): New macros.
8268
8269 * fontset.c (AREF, ASIZE): Remove definitions.
8270
8271 * fns.c (AREF): Remove definition.
178c5d9c 8272
0f1a9b23
GM
8273 * composite.c (AREF): Remove definition.
8274
712eaef2
GM
82752000-07-12 Gerd Moellmann <gerd@gnu.org>
8276
d8ee7803
GM
8277 * dispnew.c (redraw_overlapped_rows): Add missing local.
8278 (scrolling_window): Remove debug code.
8279
712eaef2
GM
8280 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8281 Before scrolling, turn off a mouse-highlight in the window
8282 being scrolled.
8283
8284 * xterm.c (x_update_window_end): Add parameter
8285 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8286 redisplay in XTframe_up_to_date.
8287 (x_clear_mouse_face): New function.
8288 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8289
8290 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8291 current glyph row.
8292 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8293 it when any row is written to that contains glyphs highlighted in
8294 mouse-face.
8295 (update_window): Call the window update end hook with new
8296 parameter MOUSE_FACE_OVERWRITTEN_P.
8297 (direct_output_for_insert): Give up if row contains mouse-face.
8298
8299 * dispextern.h (struct redisplay_interface): Add parameter
8300 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8301 (clear_mouse_face): New function pointer member.
8302
02010917
SM
83032000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8304
8305 * syntax.c (back_comment): Use one switch rather than a few `if's.
8306 Obey open_paren_in_column_0_is_defun_start.
8307 When reverting to the `slow' method, try to nicely handle the case
8308 of nested comments by checking that the comment-starter we found
8309 does indeed match the comment-ender.
8310 (scan_sexps_forward, scan_sexps_forward):
8311 Ignore excessive opening parenthesis rather than throwing an error.
8312
d76c03ea
GM
83132000-07-11 Gerd Moellmann <gerd@gnu.org>
8314
8315 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8316 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8317
8318 * dispnew.c (direct_output_forward_char): Give up if currently
8319 displaying a message instead of the minibuffer contents.
8320
8321 * xterm.c (x_update_window_begin): No need to turn off the mouse
8322 highlight here.
8323 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8324 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8325
8326 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8327 compare the mouse_face_p flags of both rows.
8328
8329 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8330
d55ead18
EZ
83312000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8332
8333 * keyboard.c (show_help_echo): Accept additional parameter
8334 ok_to_overwrite_keystroke_echo.
8335 (read_char): Call show_help_echo with a zero
8336 ok_to_overwrite_keystroke_echo argument.
52283633 8337 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8338 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8339 ok_to_overwrite_keystroke_echo argument.
8340 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8341 non-zero ok_to_overwrite_keystroke_echo argument.
8342
df75b1a3
GM
83432000-07-10 Gerd Moellmann <gerd@gnu.org>
8344
4b92c49a
GM
8345 * xdisp.c (try_window_id): If changes are all below what is
8346 displayed in the window, and point is in the window, we still
8347 might have to find point on the display.
8348
8349 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8350 glyphs instead of a single one.
8351 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8352 with new argument list.
8353 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8354
df75b1a3
GM
8355 * keymap.c (get_keymap_1): Add comment that this function can GC.
8356 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8357 comment that functions can GC.
8358 (Fset_keymap_parent): GCPRO arg KEYMAP.
8359
4314cf3e
EZ
83602000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8361
8362 * msdos.c (XMenuActivate): After exiting the menu, restore the
8363 echo area message and erase it.
8364
ab49ce15
KH
83652000-07-10 Kenichi Handa <handa@etl.go.jp>
8366
8367 * fontset.c (Ffontset_info): Make the return value more compatible
8368 with that of Emacs 20.
8369
090a072f
GM
83702000-07-07 Gerd Moellmann <gerd@gnu.org>
8371
8372 * eval.c (Fsignal): Handle case that backtrace_list is null.
8373
f92de4a6
KH
83742000-07-07 Kenichi Handa <handa@etl.go.jp>
8375
8376 * ccl.c (Fccl_execute): Typo fixed.
8377
dd8888a1
GM
83782000-07-06 Gerd Moellmann <gerd@gnu.org>
8379
e5c81191 8380 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8381
dd8888a1
GM
8382 * window.c (Fwindow_list): Reverse list at the end.
8383 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8384 means allow windows on OWINDOW's frame, only.
8385 (window_loop): Simplified; use Fwindow_list.
8386
8387 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8388
485266d0
GM
83892000-07-05 Gerd Moellmann <gerd@gnu.org>
8390
8391 * xterm.c (XTread_socket): Increment handling_signal at the start,
8392 decrement it at the end.
8393
8394 * eval.c (handling_signal): New variable.
8395 (Fsignal): Abort if handling_signal is non-zero.
8396
8397 * lisp.h (handling_signal): External declaration.
178c5d9c 8398
485266d0
GM
8399 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8400
80fcd514
KR
84012000-07-05 Ken Raeburn <raeburn@gnu.org>
8402
8403 Sound support for NetBSD through "Linux emulation" support:
8404 * config.in (HAVE_SOUNDCARD_H): Undef.
8405 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8406 * Makefile.in (LIBSOUND): New variable.
8407 (LIBES): Include it.
52283633
SM
8408 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8409 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8410 (vox_open): Use DEFAULT_SOUND_DEVICE.
8411 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8412
d5c5cddd
GM
84132000-07-05 Gerd Moellmann <gerd@gnu.org>
8414
8415 * print.c (print_error_message): If Vsignaling_function is set,
8416 show it in *Messages*.
8417
8418 * lisp.h (Vsignaling_function): External declaration.
8419
8420 * eval.c (Vsignaling_function): New variable.
8421 (Fsignal): Compute it.
8422 (syms_of_eval): Staticpro it.
8423
65171e3a
DL
84242000-07-05 Dave Love <fx@gnu.org>
8425
8426 * syswait.h: Use the autoconf recommended approach. Old code
8427 #if'd out in case we need to revert.
8428
178c5d9c 8429 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8430
e2c46326
AI
84312000-07-05 Andrew Innes <andrewi@gnu.org>
8432
8433 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8434 when non-NULL instead of __morecore, to take account of buffer
8435 memory. This also solves a problem with spurious memory warnings
8436 on Windows.
8437
8438 * ralloc.c: Make real_morecore non-static.
8439
8440 * eval.c (internal_condition_case): Comment out abort if
8441 interrupt_input_blocked is not zero.
8442
8443 * makefile.nt: Add support for `bootstrap' and related targets.
8444 Include minimal debug info in emacs.exe in release build.
8445 Remove all dependencies on lisp.h, and fixup some others.
8446
8447 * w32.c (init_environment): Install code from 20.7 for providing
8448 default values for environment variables, based on the
8449 executable's own location.
52283633 8450 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8451 (sys_socket): Install socket inheritance bug fix from 20.7.
8452
8453 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8454 here via blockinput.h).
8455
a027a91b
SM
84562000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8457
e4b31601
SM
8458 * w32menu.c (w32_menu_display_help):
8459 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8460
8461 * keyboard.h (show_help_echo): Declare.
8462
8463 * keyboard.c (show_help_echo): New function, extracted from read_char.
8464 Feval its `msg' argument if it's a cons cell.
8465 (read_char): Use it.
4cf8d9d5 8466 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8467
178c5d9c 8468 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8469 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8470 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8471 (dos_rawgetc):
8472 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8473 (note_tool_bar_highlight, w32_read_socket):
8474 Do not gratuitously ignore non-string `help-echo' properties.
8475
88d75730
GM
84762000-07-05 Gerd Moellmann <gerd@gnu.org>
8477
969f7e79
GM
8478 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8479
71201b00
GM
8480 * window.c (delete_all_subwindows): Reset Vwindow_list.
8481
88d75730
GM
8482 * xterm.c (x_append_glyph, x_append_composite_glyph)
8483 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8484 changes in struct glyph starting 1999-12-27. Some bit-fields of
8485 struct glyph were not set, which made glyphs unequal when compared
8486 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8487 effects were the result. This also depended on the contents of
8488 memory returned by xmalloc. If flickering happens again, activate
8489 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8490 gone with that, chances are that it is caused by something similar.
88d75730
GM
8491
8492 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8493
88d75730
GM
8494 * dispextern.h: Add some comments.
8495
8496 * window.c (add_window_to_list): Add parameter LIST.
8497 (window_list): Order list so that, for each frame, windows are
8498 in canonical order, and so that frames appear in the list in
8499 the order given by Vframe_list.
8500 (next_window): Reverse the handling of NEXT_P.
8501
53654733
GM
85022000-07-04 Gerd Moellmann <gerd@gnu.org>
8503
87efd256
GM
8504 * window.c (Vwindow_list): New variable.
8505 (make_window, delete_window): Set Vwindow_list to nil.
8506 (check_window_containing): New function.
8507 (window_from_coordinates): Rewritten.
8508 (add_window_to_list, window_list, candidate_window_p)
8509 (decode_next_window_args, next_window): New functions.
52283633 8510 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8511 (Fwindow_list): New function.
8512 (Fother_window): Cleaned up.
8513 (foreach_window): Add a longer "variable argument list". Let
8514 callback function return 0 to indicate that cycling over windows
8515 should stop.
8516 (foreach_window_1): Likewise.
8517 (freeze_window_start): Return int.
8518 (init_window): New function.
8519 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8520
8521 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8522 input_event with bzero.
8523 (main): Call init_window.
8524
53654733
GM
8525 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8526 a menu filter.
8527
4a8c194f
KH
85282000-07-04 Kenichi Handa <handa@etl.go.jp>
8529
8530 * composite.h (make_composition_value_copy): Extern it.
8531
8532 * composite.c (make_composition_value_copy): New function.
8533
8534 * editfns.c (Fformat): While copying text properties, make each
8535 composition property value a copy.
8536
8537 * fns.c (concat): While copying text properties, make each
8538 composition property value a copy.
8539
831a6cb0
GM
85402000-07-03 Gerd Moellmann <gerd@gnu.org>
8541
2f516940
GM
8542 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8543
178c5d9c 8544 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8545 marked already.
8546
831a6cb0
GM
8547 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8548 include those frames as candidates which have their focus
8549 redirected to the minibuffer frame.
8550
d9c4f922
SM
85512000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8552
8553 * fns.c (Fputhash): Return `value' rather than nil.
8554
3780bc22
GM
85552000-06-30 Gerd Moellmann <gerd@gnu.org>
8556
97d176db
GM
8557 * frame.c (next_frame): Don't check focus redirection in case
8558 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8559 unless their focus is redirected, which contradicts the
8560 specification of next-frame, and leads to infinite loops in
8561 certain situations when cycling through windows with next-window.
8562
dca9961d
KH
85632000-06-30 Kenichi Handa <handa@etl.go.jp>
8564
8565 * coding.c (code_convert_region): Even if the length of text is
8566 zero, try to convert it if coding->type is coding_type_ccl.
8567 (decode_coding_string, encode_coding_string): Likewise.
8568
d5483ab1
GM
85692000-06-28 Gerd Moellmann <gerd@gnu.org>
8570
af5c25e1 8571 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8572 the display if windows_or_buffers_changed.
af5c25e1
GM
8573
8574 * dispnew.c (struct row_entry): New structure.
8575 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8576 (row_table_size, old_lines, new_lines, old_lines_size)
8577 (new_lines_size, run_pool, runs_size, runs): New variables.
8578 (add_row_entry): New function.
8579 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8580 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8581 holding them in local variables. Use a larger hash table whose
8582 size depends on glyph matrix sizes. Don't use bzero to clear the
8583 hash table; instead, clear used slots only.
8584
8585 * fns.c (next_almost_prime): Make it externally visible.
8586
8587 * lisp.h (next_almost_prime): Add prototype.
8588
d5483ab1
GM
8589 * s/isc4-0.h (sigunblock): Define.
8590
8591 * s/sco5.h (sigunblock): Define.
8592
93e40f40
DL
85932000-06-27 Dave Love <fx@gnu.org>
8594
8595 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8596 (moved to osf5-0.h).
8597 [!NOT_C_CODE]: Protect string.h stuff.
8598
8599 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8600 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8601
3c4b7685
GM
86022000-06-27 Gerd Moellmann <gerd@gnu.org>
8603
97d176db 8604 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8605 below the last line from the needed window height.
8606
32cad0aa
SM
86072000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8608
8609 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8610 (Fwidget_get): Use it.
8611 (syms_of_fns): Defsubr it.
8612
2c69ced2
GM
86132000-06-26 Gerd Moellmann <gerd@gnu.org>
8614
178c5d9c 8615 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8616 display info for XIM.
8617 (xim_open_dpy): Likewise.
8618 (xim_close_dpy): Don't free the display info's XIM.
8619
8620 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8621
8622 * config.in (USE_XIM): New define.
8623
3fc720e4
GM
8624 * keymap.c (get_keyelt): For menu-items containing a `:filter
8625 FILTER', apply FILTER to the menu-item's definition to get the
8626 real definition to use.
8627
8628 * lisp.h (QCfilter): External declaration.
8629
2c69ced2
GM
8630 * xfns.c (Fimage_size): New function.
8631 (syms_of_xfns): Defsubr it.
8632
f978b2a2
AS
86332000-06-26 Andreas Schwab <schwab@suse.de>
8634
8635 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8636 Fstring_as_unibyte.
8637
94cc7892
DL
86382000-06-25 Dave Love <fx@gnu.org>
8639
52283633 8640 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8641
8642 * Makefile.in (blockinput.h): Depend on atimer.h.
8643 (atimer.h): Depend on systime.h.
8644
52283633 8645 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8646
52283633 8647 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8648
8649 * lisp.h (swap_in_global_binding): Declare.
8650
b8c24556
KR
86512000-06-24 Ken Raeburn <raeburn@gnu.org>
8652
8653 * process.c (Fopen_network_stream): Turn off atimers for duration
8654 of call to connect. (Patch from Gerd.)
8655
8cf8560b
DL
86562000-06-23 Dave Love <fx@gnu.org>
8657
511c7541
DL
8658 * ralloc.c: Maybe include unistd.h
8659
8cf8560b
DL
8660 * emacs.c (setgrp): Undefine before defining.
8661 (malloc_warning, set_time_zone_rule, index): Prototype.
8662
8663 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8664 HAVE_STRUCT_TIMEZONE.
8665
8666 * s/osf1.h: Move string.h hack here from alpha.h and make it
8667 conditional.
8668 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8669 _XOPEN_SOURCE.
8670 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8671 (SOCKLEN_TYPE): Don't define.
8672
8673 * m/alpha.h: Remove string.h hack.
8674
8675 * s/osf5-0.h: New file.
8676
8677 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8678 include time.h, done by systime.h.
8679 [__FreeBSD__]: Remove redundant includes.
8680
3fc720e4 8681 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8682 (delete_temp_file): Return Qnil to avoid warning.
8683
8684 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8685
8686 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8687 HAVE_X_WINDOWS.
8688
8689 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8690
8691 * composite.h (compose_text): Declare.
8692
8693 * xterm.c: Don't include sys/types.h unconditionally. Don't
8694 protect its inclusion with !USG (following xmenu.c).
8695
ea055732
GM
86962000-06-23 Gerd Moellmann <gerd@gnu.org>
8697
8698 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8699 in x_create_frame.
8700
74b01b80
EZ
87012000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8702
8703 * coding.c (decode_eol_post_ccl): Special handling for undecided
8704 and inconsistent EOL types.
8705
64f3a166
GM
87062000-06-22 Gerd Moellmann <gerd@gnu.org>
8707
16cf31f7
GM
8708 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8709 trough color and main window's background color.
8710
52283633 8711 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8712
8713 * xterm.h (Xt_app_con): External declaration.
8714
8715 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8716
486a103d
GM
8717 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8718
64f3a166
GM
8719 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8720 (handle_invisible_prop): Record the start of invisible text in
8721 it->add_overlay_start.
8722 (struct overlay_entry): Add member `overlay'.
8723 (handle_overlay_change): Simplify.
8724 (next_overlay_string): After having processed overlay strings at the
8725 end of the buffer, record that fact in
8726 it->overlay_strings_at_end_processed_p.
8727 (compare_overlay_entries): If before- and after-strings come
8728 from the same overlay, let before-strings come first.
8729 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8730 (load_overlay_strings): Take it->add_overlay_start into account
8731 when adding overlay strings.
8732
8733 * dispextern.h (struct it): Add member add_overlay_start.
8734
bb746ea6
DL
87352000-06-22 Dave Love <fx@gnu.org>
8736
8737 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8738
8739 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8740
a8f573f3
KH
87412000-06-22 Kenichi Handa <handa@etl.go.jp>
8742
8743 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8744 is greater than 0.
8745
9f2bbc92
DL
87462000-06-21 Dave Love <fx@gnu.org>
8747
178c5d9c 8748 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8749
3ee5041c
SM
87502000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8751
8752 * syntax.c (back_comment): Simplify string-parity counting (with
8753 the added benefit of handling multiple string-styles as long as
8754 they are not intertwined).
8755 Jump to the slow code as soon as a comment starter is found in
8756 a "string_lossage" position. Fixes the case: " /* " /* " */.
8757
4c343001
DL
87582000-06-21 Dave Love <fx@gnu.org>
8759
8760 * Makefile.in: Use GETLOADAVG_LIBS.
8761
8762 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8763 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8764
e6365855
SM
87652000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8766
8767 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8768 (Fforward_comment, scan_lists):
8769 Check the comstyle of single-char comment-starters.
8770 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8771 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8772 Check the comstyle of single-char comment-starters.
8773 Clarify control-flow around the Scomment case.
e6365855 8774
5700d2cc
DL
87752000-06-20 Dave Love <fx@gnu.org>
8776
d355bd8a
SM
8777 * fns.c (make_hash_table, maybe_resize_hash_table):
8778 Cast arg of next_almost_prime.
5700d2cc 8779
178c5d9c 8780 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8781
8782 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8783 and unistd.h.
8784
4a27bdfb
GM
87852000-06-20 Gerd Moellmann <gerd@gnu.org>
8786
a61d762c 8787 * keyboard.c (adjust_point_for_property): Check if display
52283633 8788 property should be treated as intangible by looking at its value.
a61d762c 8789
178c5d9c 8790 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8791 (display_prop_intangible_p): New functions.
8792
8793 * dispextern.h (display_prop_intangible_p): Add prototype.
8794
8795 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8796
4a27bdfb
GM
8797 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8798 argument to sigprocmask.
8799
8800 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8801 argument to sigprocmask.
8802
8803 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8804 sigprocmask_set, and pass a pointer to it to sigprocmask.
8805
8806 * sysdep.c (sigprocmask_set): New variable.
8807
8808 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8809 report_file_error.
8810
427ec082
SS
88112000-06-20 Sam Steingold <sds@gnu.org>
8812
8813 * xrdb.c: Don't declare xmalloc, xrealloc.
8814
8972fe79 88152000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8816
8817 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8818 (re_comp): Cast gettext return value to avoid complaints when
8819 !HAVE_LIBINTL.
8820
074b6efe
DL
88212000-06-20 Dave Love <fx@gnu.org>
8822
52283633 8823 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8824
5700d2cc 8825 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8826
d355bd8a 8827 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8828
8829 * m/alpha.h: Don't declare xmalloc, xrealloc.
8830
0af4f205
DL
8831 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8832
8833 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8834
8835 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8836
8837 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8838 HAVE_GETWD.
8839
074b6efe
DL
8840 * keyboard.h (poll_for_input_1): Declare.
8841
8842 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8843
8844 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8845
8846 * doprnt.c: Don't declare xmalloc, xrealloc.
8847
8848 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8849 (getenv, ctime, getwd): Removed.
8850 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8851
8852 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8853 x_set_tool_bar_lines.
8854
8855 * config.in: Add HAVE_GETWD. Move some definitions above
8856 machine/system includes.
8857
68a5e97b
KH
88582000-06-20 Kenichi Handa <handa@etl.go.jp>
8859
95417e1e
KH
8860 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8861
68a5e97b
KH
8862 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8863 contain information about ENCODING.
8864
8865 * fontset.c (FONTSET_ASCII): Use the first element of char table
8866 for an ASCII font, not defalt slot.
8867 (fontset_ref_via_base): If FONTSET doesn't contain information for
8868 C, try the default fontset.
8869 (make_fontset): Don't copy the default fontset.
8870 (fontset_font_pattern): Likewise.
8871 (accumulate_font_info): If ELT is nil, use the corresponding
8872 element in the default fontset.
8873
3b4fa1b2
DL
88742000-06-19 Dave Love <fx@gnu.org>
8875
943e731c
DL
8876 * syntax.c (Fparse_partial_sexp): Doc fix.
8877
8878 * regex.h: Test PROTOTYPES as well as __STDC__.
8879
3b4fa1b2
DL
8880 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8881 errno, strerror. Put text after #endif in comment.
8882
52283633 8883 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8884
8885 * xterm.c (x_frame_of_widget): Likewise.
8886
cdf0357b
GM
88872000-06-19 Gerd Moellmann <gerd@gnu.org>
8888
8889 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8890 to Vfundamental_mode_abbrev_table.
8891
8892 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8893 bogus objects are marked. This slows down GC by ~80 percent, but
8894 it might be worth trying when debugging GC-related problems.
8895 This feature requires conservative stack marking to be enabled.
8896
8897 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8898 returns XLookupChars, reset `modifiers' to zero.
8899
998e9f8c
DL
89002000-06-19 Dave Love <fx@gnu.org>
8901
8902 * mktime.c: Unprotoized.
8903
18e21ce8 89042000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8905
8906 * data.c (set_internal): If variable is frame-local,
8907 store the new value immediately into the frame parameter alist.
8908
140c4ac6
KR
89092000-06-19 Ken Raeburn <raeburn@gnu.org>
8910
14358466
KR
8911 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8912 in the custom handler pointer.
8913
140c4ac6
KR
8914 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8915 value, or checks for CHAR_META can fail when Lisp_Object is a
8916 union type.
8917 * keymap.c (get_keyelt): Likewise.
8918
10d7bf84
KH
89192000-06-19 Kenichi Handa <handa@etl.go.jp>
8920
8921 * ccl.h (struct ccl_program): New member eol_type.
8922 (struct ccl_spec): New member cr_carryover.
8923
8924 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8925 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8926
8927 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8928 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8929 (decode_eol_post_ccl): New function.
8930 (decode_coding): Don't detect EOL format here for CCL based coding
8931 systems.
8932 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8933 decode_eol_post_ccl after running the CCL program.
8934 (code_convert_region): Don't detect EOL format here for CCL based
8935 coding systems.
8936 (decode_coding_string): Likewise.
8937
52e386c2
KR
89382000-06-18 Ken Raeburn <raeburn@gnu.org>
8939
8940 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8941 when treating it as an integer.
8942
8943 * coding.h (encode_coding_string): Declare.
8944
8945 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8946 it as an integer.
8947
8948 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8949 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8950 to be passed to get_local_map.
8951
8952 * sound.c (Fplay_sound): Don't call make_number on
8953 Frun_hook_with_args count argument.
8954
8955 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8956 for lisp objects in X event structure data field, when lisp
8957 objects are represented with unions.
8958 (x_scroll_bar_to_input_event): Ditto.
8959
b357b9d4
KR
89602000-06-16 Ken Raeburn <raeburn@gnu.org>
8961
8962 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8963 termination of string. Fix sense of test whether
8964 Vline_number_display_limit is an integer.
b357b9d4 8965
a871441d
GM
89662000-06-16 Gerd Moellmann <gerd@gnu.org>
8967
a9021acd
GM
8968 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8969 only if HAVE_X_WINDOWS.
8970
6344985d
GM
8971 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8972 of titles.
8973
427ec082 8974 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8975 out of bounds.
8976
228b083e
EZ
89772000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8978
8979 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8980 of its headers.
8981
c25b53a2
KH
89822000-06-15 Kenichi Handa <handa@etl.go.jp>
8983
8984 * coding.c (decode_coding_emacs_mule): Always set src_base at the
8985 start of the while loop.
8986
a6981b11
GM
89872000-06-15 Gerd Moellmann <gerd@gnu.org>
8988
e9924e52
GM
8989 * atimer.c (alarm_signal_handler): Add forward declaration.
8990
a6981b11
GM
8991 * data.c (set_internal): Remove debug code.
8992
25fa6deb
GM
89932000-06-14 Gerd Moellmann <gerd@gnu.org>
8994
dce6b995
GM
8995 * Makefile.in (bootstrap-temacs): Add `-I../src'.
8996
9f817ea4
GM
8997 * unexec.c (toplevel) [COFF]: Include coff.h.
8998
8999 * s/lynxos.h: New file.
9000
9001 * keymap.c (Fsingle_key_description): Enclose function key and
9002 event symbol names in angle brackets.
9003
8a4e3c0c
GM
9004 * xdisp.c (setup_echo_area_for_printing): Call
9005 message_log_maybe_newline if message_buf_print is not set.
9006
9007 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9008 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9009 function does something useful even when message_buf_print is
9010 already set.
9011
52283633
SM
9012 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9013 New variables.
25fa6deb
GM
9014 (ensure_echo_area_buffers): Initialize echo buffer's
9015 truncate lines setting to nil.
9016 (with_echo_area_buffer): Don't set the echo buffer's truncate
9017 lines setting here.
8a4e3c0c 9018 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9019 of message_truncate_lines.
9020 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9021 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9022 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9023
9024 * keyboard.c (read_char): Bind message-truncate-lines to t
9025 while displaying a help-echo.
9026
9027 * lisp.h (Qmessage_truncate_lines): External declaration.
9028
163dcff3
GM
90292000-06-13 Gerd Moellmann <gerd@gnu.org>
9030
1681ead6
GM
9031 * xdisp.c (Vline_number_display_limit): Renamed from
9032 line_number_display_limit.
9033 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9034 Extend documentation string. Initialize
9035 Vline_number_display_limit to nil meaning no limit.
9036 (decode_mode_spec): Use Vline_number_display_limit with its new
9037 meaning.
9038
163dcff3
GM
9039 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9040
18e21ce8 90412000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9042
9043 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9044
163dcff3
GM
9045 * xfns.c (x_set_frame_parameters): Comment fix.
9046
9047 * frame.c (store_frame_param): Call swap_in_global_binding if the
9048 variable's current binding was chosen based on this frame.
9049
9050 * data.c (swap_in_global_binding): New function.
9051
a704139d
EZ
90522000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9053
9054 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9055 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9056
9b6610db
EZ
90572000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9058
9059 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9060
c68833d2
JR
90612000-06-12 Jason Rumney <jasonr@gnu.org>
9062
9063 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9064
9065 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9066
9067 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9068
9069 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9070
ed1056b3
GM
90712000-06-12 Gerd Moellmann <gerd@gnu.org>
9072
9073 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9074 (syms_of_xfaces): Defsubr Sdump_colors.
9075 (x_free_colors): Don't treat b&w specially on default visual.
9076 (x_free_dpy_colors): New function.
9077 (free_face_colors): Don't check visual class; it's done
9078 in x_free_colors.
9079
9080 * xterm.c (x_frame_of_widget): New function.
9081 (x_alloc_nearest_color_for_widget): Use it.
9082 (x_copy_dpy_color): New function.
9083 (x_destroy_window): Free various colors.
9084
5050a2ef
KH
90852000-06-12 Kenichi Handa <handa@etl.go.jp>
9086
9087 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9088
9089 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9090
9091 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9092
9093 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9094
9095 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9096
fb1b041d
DL
90972000-06-11 Dave Love <fx@gnu.org>
9098
9099 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9100
ff96b5f4
EZ
91012000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9102
9103 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9104
db8eeecd
GM
91052000-06-11 Gerd Moellmann <gerd@gnu.org>
9106
ed1056b3 9107 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9108 to `XEvent *'.
9109
49b71c5f
KH
91102000-06-10 Kenichi Handa <handa@etl.go.jp>
9111
c479bd55
KH
9112 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9113 (regex_compile): Fix the code for handling the case of single byte
9114 char and multibyte char being mixed in a range within [...].
9115
ff6a65c2
KH
9116 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9117 and dst_multibyte members of coding.
9118
49b71c5f
KH
9119 * charset.c (update_charset_table): Update the table
9120 bytes_by_char_head.
9121 (init_charset_once): Initialize elements of bytes_by_char_head to
9122 1 except for leading codes for private charases.
9123
9124 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9125 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9126
9e80b57d
KR
91272000-06-09 Ken Raeburn <raeburn@gnu.org>
9128
9129 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9130 access the data it doesn't point to.
9131
f83fe4b4
GM
91322000-06-08 Gerd Moellmann <gerd@gnu.org>
9133
9134 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9135 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9136 event queue. This is necessary because Emacs otherwise won't
9137 perform a switch-frame to a new frame until some other event, for
9138 example a keystroke event, forces it to do so. This has various
9139 effects, one visible being that the cursor of a frame created with
9140 C-x 5 2 or switched to with a window manager key binding like
9141 A-TAB stays hollow because selected_window isn't on the newly
9142 focused frame until the switch-frame is performed.
9143
9144 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9145 generating a switch-frame event if necessary.
9146
9147 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9148
9149 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9150 it's an integer.
9151
0890801b
KH
91522000-06-08 Kenichi Handa <handa@etl.go.jp>
9153
52283633 9154 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9155
173cbca8
GM
91562000-06-07 Gerd Moellmann <gerd@gnu.org>
9157
3091c2a6
GM
9158 * window.c (displayed_window_lines): Take empty lines at
9159 the bottom of a window into account.
427ec082 9160
f38952fe
GM
9161 * window.c (displayed_window_lines): New function.
9162 (Fmove_to_window_line): Use displayed_window_lines to determine
9163 the number of lines to move, instead of using the window's height.
9164
9165 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9166 to stop reading, even if the form read sets point to a different
9167 value when evaluated.
9168
427ec082 9169 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9170 put the cursor.
9171
6ba6c818
KH
91722000-06-07 Kenichi Handa <handa@etl.go.jp>
9173
9174 * fileio.c (e_write): Free composition data if stored in
9175 coding->cmp_data.
9176
5f1aea9a
GM
91772000-06-06 Gerd Moellmann <gerd@gnu.org>
9178
666852af
GM
9179 * xdisp.c (display_line): Set row's and iterator's
9180 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9181 Set cursor even if row ends in the middle of a character.
9182 (dump_glyph_row): Print values of new flags.
9183 (redisplay_window) <cursor movement in unchanged window>: When
9184 point has been moved forward, and PT is at the end of the cursor
9185 row, don't place the cursor in the next row if the cursor row ends
9186 in the middle of a character or at ZV.
9187
9188 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9189 (struct glyph_row): Add starts_in_middle_of_char_p and
9190 ends_in_middle_of_char_p.
9191 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9192 ends_in_middle_of_char_p flag.
9193 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9194
d13f3e2e
GM
9195 * term.c (append_glyph): Revert change of 2000-06-06.
9196
9197 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9198 padding glyph not fitting on line as whole character not
9199 fitting on line.
9200
5f1aea9a
GM
9201 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9202 this isn't true for images with `:ascent 100'.
9203
10cda9b0
KH
92042000-06-06 Kenichi Handa <handa@etl.go.jp>
9205
ed00559d
KH
9206 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9207 as modified if it is originally unmodified.
9208
10cda9b0
KH
9209 * term.c (encode_terminal_code): Change the way to check if
9210 terminal coding does any conversion.
9211 (append_glyph): Set glyph->pixel_width correctly.
9212
9213 * xdisp.c (display_line): While checking line continuation, pay
9214 attention to a padding glyph.
9215
1969fae2
GM
92162000-06-05 Gerd Moellmann <gerd@gnu.org>
9217
9218 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9219
162ccef4
DL
92202000-06-05 Dave Love <fx@gnu.org>
9221
f19f32dd
DL
9222 * xdisp.c: Include fontset.h.
9223
9224 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9225
9226 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9227
9228 * dispnew.c: Conditionally include term.h.
9229
9230 * coding.h: Declare code_convert_string_norecord.
9231
9232 * frame.h (struct frame): Use volatile unconditionally.
9233
9234 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9235
9236 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9237
9238 * systime.h: Protect against multiple inclusion.
9239 (timezone) [USG5_4]: Define as time_t.
9240
9241 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9242 (Foptimize_char_table, make_temp_name): Declare.
9243
9244 * Makefile.in (xdisp.o): Depend on fontset.h.
9245
9246 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9247
9248 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9249 (Foptimize_char_table, make_temp_name): Declare.
9250
427ec082 9251 * s/irix4-0.h:
162ccef4
DL
9252 * s/irix5-0.h:
9253 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9254
2082fe81
DL
92552000-06-02 Dave Love <fx@gnu.org>
9256
9257 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9258
dcf671d2
GM
92592000-06-02 Gerd Moellmann <gerd@gnu.org>
9260
9261 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9262 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9263 be freed.
9264
9265 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9266 glyph, use the ASCII NUL character to determine the face.
9267
d42122a3
DL
92682000-06-02 Dave Love <fx@gnu.org>
9269
9270 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9271 (VFORK_RETURN_TYPE): Remove.
427ec082 9272
d42122a3
DL
9273 * config.in: Add NO_MATHERR.
9274
dd432f16
DL
92752000-06-01 Dave Love <fx@gnu.org>
9276
90aa4ea8
DL
9277 * cmds.c (internal_self_insert): Don't check
9278 Vbefore_change_function, Vafter_change_function.
9279
9280 * insdel.c (signal_before_change, signal_after_change): Likewise.
9281
9282 * buffer.c (Vbefore_change_function, Vafter_change_function):
9283 Variables and their initializations deleted.
9284
2330c9d4
DL
9285 * callint.c (Fcall_interactively): Doc fix.
9286
dd432f16
DL
9287 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9288
bf9e8804
DL
92892000-05-31 Dave Love <fx@gnu.org>
9290
9291 * textprop.c: Revert last change -- duplicated.
9292
3694b4ab
GM
92932000-05-31 Gerd Moellmann <gerd@gnu.org>
9294
9295 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9296 in #if 0.
9297
9298 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9299
f14156cd
JR
93002000-05-31 Jason Rumney <jasonr@gnu.org>
9301
8119aab8
JR
9302 * search.c (Fre_search_forward, Fre_search_backward)
9303 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9304
f14156cd
JR
9305 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9306
4aab9be3
JR
93072000-05-30 Jason Rumney <jasonr@gnu.org>
9308
9309 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9310 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9311
52283633 9312 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9313
9314 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9315 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9316 expand a nil default_filename.
9317
9318 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9319 pointer to glyph_to_pixel_coords, not a frame.
9320
9321 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9322 coding.h to dependencies.
9323
9324 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9325
9326 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9327 window pointer to be consistent with w32term.c and xterm.c.
9328
9329 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9330 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9331 (Qline_spacing, Qcenter): New variables.
9332 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9333 (x_set_line_spacing): New function.
52283633 9334 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9335 (x_specified_cursor_type): New function.
9336 (x_set_cursor_type): Use it.
9337 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9338 and icon strings.
9339 (validate_x_resource_name, x_get_resource_string): Measure lengths
9340 of external strings in bytes.
9341 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9342 GetTextExtentPoint32 with NULL title.
9343 (Fx_create_frame): Initialize Qline_spacing.
9344 (w32_load_system_font): Initialize font->double_byte_p.
9345 (x_to_w32_charset): Use Vw32_charset_info_alist.
9346 (Image, busy cursor, tooltip functions): Merged changes from
9347 xfns.c. Not yet functional on Windows.
9348
9349 * w32gui.h (W32FontStruct): Add double_byte_p member.
9350
9351 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9352 (emacs_button_translation): Use it.
9353 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9354 in `mask' to be set.
9355
9356 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9357 menu strings.
9358
9359 * w32term.c: Format and doc changes to bring closer to xterm.c.
9360 (w32_char_font_type): New enum.
9361 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9362 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9363 (w32_encode_char): New function.
9364 (x_encode_char): Removed.
9365 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9366 x_encode_char and w32_font_is_double_byte.
9367 (x_produce_image_glyph): Use image_ascent.
9368 (x_produce_glyphs): Use new version of w32_per_char_metric and
9369 handle NULL return value. Allow extra line spacing.
9370 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9371 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9372 w32_font_type member of glyph instead.
9373 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9374 (fast_find_position): Make sure not to consider rows not visible
9375 in the window.
9376 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9377 w32_menu_display_help with input blocked, as it can abort.
9378 (x_display_and_set_cursor): Choose cursor depending
9379 on buffer-local value of cursor_type.
9380 (x_draw_bar_cursor): Add parameter WIDTH.
9381
9382 * w32term.h (CP_DEFAULT): Define.
9383 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9384
10fc3187
GM
93852000-05-30 Gerd Moellmann <gerd@gnu.org>
9386
9387 * search.c (Fre_search_forward, Fre_search_backward)
9388 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9389
d0555360
KH
93902000-05-30 Kenichi Handa <handa@etl.go.jp>
9391
9392 * coding.c (detect_coding_iso2022): Fix code for checking
9393 CODING_CATEGORY_MASK_ISO_8_2.
9394
f1ad044f
SM
93952000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9396
9397 * regex.c (PREFETCH_NOLIMIT): New function.
9398 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9399
84ec3b4b
GM
94002000-05-29 Gerd Moellmann <gerd@gnu.org>
9401
66254a13
GM
9402 * syntax.c (find_defun_start): Move test for
9403 open_paren_in_column_0_is_defun_start outside of the loop.
9404
49e70dec
GM
9405 * xdisp.c (redisplay_window): Really switch buffers when
9406 displaying mode lines, and temporarily set selected_frame to the
9407 frame of the window that's redisplayed.
9408
84ec3b4b
GM
9409 * xfaces.c (free_realized_faces): Block/unblock input.
9410 (free_realized_multibyte_face): Ditto.
9411
869a3a14
DL
94122000-05-29 Dave Love <fx@gnu.org>
9413
9414 * textprop.c (Qkeymap): New variable.
9415 (syms_of_textprop): Intern it.
9416
9417 * keymap.c: Include intervals.h.
9418 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9419
9420 * Makefile.in (keymap.o): Depend on intervals.h.
9421
9422 * keyboard.c (menu_bar_items, tool_bar_items)
9423 (Fexecute_extended_command): Deal with `keymap' property.
9424 (read_key_sequence): Track map from `keymap' property as well as
9425 `local_map'.
9426
9427 * intervals.c (get_local_map): Extra arg to allow looking for
9428 `keymap' too.
9429
9430 * intervals.h (map_property): New enum.
9431 (get_local_map): Extra arg using it.
9432 (Qkeymap): Declare.
9433
84ec3b4b 9434 * lisp.h (get_local_map): Don't declare here.
869a3a14 9435
89d0c844
KH
94362000-05-29 Kenichi Handa <handa@etl.go.jp>
9437
9438 * Makefile.in (callproc.o): Depend on composite.h.
9439
9440 * callproc.c: Include composite.h.
9441 (Fcall_process): Handle composition correctly.
9442
9443 * coding.h (coding_allocate_composition_data): Extern it.
9444 (coding_restore_composition): Likewise.
9445
9446 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9447 yet allocated, finish decoding with result
9448 CODING_FINISH_INSUFFICIENT_CMP.
9449 (coding_allocate_composition_data): Make it non-static.
9450 (coding_restore_composition): Likewise.
9451
797a084a
EZ
94522000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9453
9454 * charset.c (syms_of_charset): Revert last change.
9455
cf872af5
EZ
94562000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9457
9458 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9459 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9460 Handa.
cf872af5 9461
5b1ae051
EZ
94622000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9463
9464 * charset.c (syms_of_charset): Set width of character sets
9465 eight-bit-control and eight-bit-graphic to 1 column.
9466
34ec9ebe
GM
94672000-05-26 Gerd Moellmann <gerd@gnu.org>
9468
9469 * config.in (HAVE_SPEED_T): New define.
9470
9471 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9472 `extern speed_t'.
9473
dd854dc2
DL
94742000-05-26 Dave Love <fx@gnu.org>
9475
9476 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9477
9478 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9479 (Fsubr_arity): New function.
9480 (syms_of_data): Install them.
9481
ba9f8f95
KH
94822000-05-26 Kenichi Handa <handa@etl.go.jp>
9483
0f3e0672
KH
9484 * charset.c (init_charset_once): Set the table bytes_by_char_head
9485 correctly.
9486
cebefb44
KH
9487 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9488 the default fontset to what Emacs uses by default.
0f3e0672
KH
9489 (check_registry_encoding): This function deleted.
9490 (Fset_fontset_font): Remove the adhoc condition for the default
9491 fontset. Allow cons in FONTNAME.
cebefb44 9492
0f3e0672
KH
9493 * fns.c (map_char_table): Ignore char-table entries for
9494 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9495
7a18af49
KR
94962000-05-25 Ken Raeburn <raeburn@gnu.org>
9497
9498 * emacs.c (main): Initialize keyboard syms before initializing
9499 window code, so face names are available.
9500
d2af47df
SM
95012000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9502
9503 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9504 of an anchor at the beginning of a shy-group.
9505
fc6a6a4e
GM
95062000-05-25 Gerd Moellmann <gerd@gnu.org>
9507
9508 * xdisp.c (handle_invisible_prop): Don't try to skip over
9509 invisible text if end of text is already reached.
9510
005f0d35
DL
95112000-05-25 Dave Love <fx@gnu.org>
9512
02513cdd
DL
9513 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9514
005f0d35
DL
9515 * coding.c (encode_eol): Add null statement after label.
9516
89f6ca4e
EZ
95172000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9518
9519 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9520 2000-05-20.
9521
a4e1759e
KH
95222000-05-25 Kenichi Handa <handa@etl.go.jp>
9523
9524 * ccl.c (ccl_driver): Fix previous change.
9525
eacfd7fe
KH
95262000-05-25 Kenichi Handa <handa@etl.go.jp>
9527
46ab33a9
KH
9528 * coding.c (run_pre_post_conversion_on_str): Set point to the
9529 beginning of buffer before calling coding->post_read_conversion.
9530 (decode_coding_string): Give correct args to
9531 run_pre_post_conversion_on_str.
9532 (encode_coding_string): Likewise.
9533
eacfd7fe
KH
9534 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9535 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9536 eight-bit-graphic correctly.
9537
f8569325
DL
95382000-05-24 Kenichi HANDA <handa@etl.go.jp>
9539
9540 * fileio.c (Finsert_file_contents): Even if a file is not found,
9541 execute codes for setting up coding system. Call
9542 after-insert-file-functions unconditionally.
9543
04545643
GM
95442000-05-24 Gerd Moellmann <gerd@gnu.org>
9545
9546 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9547 BSD_PGRPS are not defined.
9548
747d90ea
KH
95492000-05-24 Kenichi Handa <handa@etl.go.jp>
9550
9551 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9552 DESCRIPTION.
9553 (syms_of_charset): Avoid building same strings.
9554
716e3b88
GM
95552000-05-23 Gerd Moellmann <gerd@gnu.org>
9556
9557 * lread.c (Fload): Add a comment about the meaning of
9558 Vuser_init_file being t.
9559
9560 * puresize.h (BASE_PURESIZE): Increase to 675000.
9561
9562 * s/gnu-linux.h (setpgrp): Don't define it here because this
9563 prevents compilation on GNU/Linux systems with glib 2.2.
9564
9565 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9566 as setpgid.
427ec082 9567
9aeb39fa
EZ
95682000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9569
9570 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9571 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9572 version.
9573 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9574
29ced61b
KH
95752000-05-23 Kenichi Handa <handa@etl.go.jp>
9576
52283633 9577 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9578
3d80f24d
KH
9579 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9580
52283633 9581 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9582
29ced61b
KH
9583 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9584
d7e00792
KH
95852000-05-22 Kenichi Handa <handa@etl.go.jp>
9586
c9d80d38
KH
9587 * keyboard.c (read_char): Allow character codes 128..255 to be
9588 handled by input-method-function.
9589
d7e00792
KH
9590 * insdel.c (adjust_markers_for_replace): Fix previous change.
9591 (adjust_after_replace): If PREV_TEXT is nil, call
9592 adjust_markers_for_insert, not adjust_markers_for_replace.
9593
087121cc 95942000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9595
087121cc
GM
9596 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9597 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9598 [HAVE_GRANDPT]: Define.
9599 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9600
9601 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9602 like SYSV_PTYS.
9603
9604 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9605
9606 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9607
c9671f81
KH
96082000-05-20 Kenichi Handa <handa@etl.go.jp>
9609
9610 The following changes are to handle 8-bit characters in a
9611 multibyte buffer/string without facing with byte combining
9612 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9613 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9614
9615 * Makefile.in (fns.o): Depend on charset.h.
9616
9617 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9618 convert it to unibyte.
9619 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9620
9621 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9622 apparent char boundary.
9623 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9624 0x80..0x9F to/from multibyte form.
9625
9626 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9627 to unibyte.
9628
9629 * callproc.c (Fcall_process): Always encode an argument string if
9630 it is multibyte. Setup src_multibyte and dst_multibyte members of
9631 process_coding properly.
ce75fd23 9632
c9671f81
KH
9633 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9634 SPLIT_NON_ASCII_CHAR.
9635
9636 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9637 as is.
9638 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9639
52283633 9640 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9641 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9642 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9643 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9644 and eight-bit-graphic.
9645 (char_to_string): Likewise. Signal an error for too large
9646 character code.
9647 (char_printable_p): Return 0 for 8-bit characters.
9648 (update_charset_table): Update iso_charset_table only when a final
9649 character is non-negative.
9650 (find_charset_in_text): Renamed from find_charset_in_str.
9651 Arguments and return value changed. Callers changed.
9652 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9653 be -1 if CHARSET is used only internally.
9654 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9655 eight-bit-graphic.
9656 (Fcharset_after): Simplified.
9657 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9658 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9659 (multibyte_chars_in_text): Simplified by assuming there's no
9660 invalid multibyte sequence.
52283633
SM
9661 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9662 (str_as_unibyte): New functions.
9663 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9664 (init_charset_once): Initialization for
9665 LEADING_CODE_8_BIT_CONTROL.
9666 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9667 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9668 eight-bit-control and eight-bit-graphic.
9669
52283633
SM
9670 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9671 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9672 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9673 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9674 (CHARSET_REVERSE_CHARSET): Likewise.
9675 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9676 eight-bit-graphic.
9677 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9678 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9679 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9680 encounter an invalid multibyte sequence.
9681 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9682 sequence is always valid.
9683 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9684 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9685 (CHAR_STRING): For 8-bit characters, call char_to_string.
9686 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9687 multibyte sequence is always valid.
9688 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9689 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9690 (str_as_unibyte): Extern them.
c9671f81 9691 (BCOPY_SHORT): Fix a bug.
52283633 9692 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9693 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9694 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9695 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9696
bd4bde7f 9697 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9698 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9699 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9700 (EMIT_BYTES): New macros.
9701 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9702 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9703 macros deleted.
9704 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9705 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9706 check the validity of multibyte sequence.
9707 (decode_coding_emacs_mule): New function.
9708 (encode_coding_emacs_mule): New macro.
9709 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9710 the source.
9711 (DECODE_ISO_CHARACTER): Just return a character code.
9712 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9713 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9714 EMIT_CHAR to produced decoded characters. Exit the loop only by
9715 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9716 block here.
9717 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9718 only position codes for an invalid character.
9719 (encode_designation_at_bol): Return new destination pointer. 5th
9720 arg DSTP is changed to DST.
9721 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9722 from the source by ONE_MORE_CHAR. Don't handle the case of last
9723 block here.
9724 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9725 macros deleted.
52283633
SM
9726 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9727 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9728 TWO_MORE_BYTES to fetch a byte from the source.
9729 (encode_eol): Pay attention to coding->src_multibyte.
9730 (detect_coding, detect_eol): Preserve members src_multibyte and
9731 dst_multibyte.
9732 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9733 (encoding_buffer_size): Set magnification to 3 for all coding
9734 systems that require encoding.
9735 (ccl_coding_driver): For decoding, be sure that the result is
9736 valid multibyte sequence.
9737 (decode_coding): Initialize coding->errors and coding->result.
9738 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9739 and raw-text, always call decode_eol. Handle the case of last
9740 block here. If not coding->dst_multibyte, convert the resulting
9741 sequence to unibyte.
9742 (encode_coding): Initialize coding->errors and coding->result.
9743 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9744 and raw-text, always call encode_eol. Handle the case of last
9745 block here.
9746 (shrink_decoding_region, shrink_encoding_region): Detect cases
9747 that we can't skip data more rigidly.
9748 (code_convert_region): Setup src_multibyte and dst_multibyte
9749 members of coding. For decoding, if the buffer is multibyte,
9750 convert the source sequence to unibyte in advance. For encoding,
9751 if the buffer is multibyte, convert the resulting sequence to
9752 multibyte afterward.
9753 (run_pre_post_conversion_on_str): New function.
9754 (code_convert_string): Deleted and divided into the following two.
9755 (decode_coding_string, encode_coding_string): New functions.
9756 (code_convert_string1, code_convert_string_norecord): Call one of
9757 above.
9758 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9759 MAKE_NON_ASCII_CHAR.
52283633
SM
9760 (Fset_terminal_coding_system_internal)
9761 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9762 and dst_multibyte members.
9763 (init_coding_once): Initialize iso_code_class with new enum
9764 ISO_control_0 and ISO_control_1.
9765
9766 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9767 devided into ISO_control_0 and ISO_control_1.
9768 (struct coding_system): New members src_multibyte, dst_multibyte,
9769 errors, and result. Delete member fake_multibyte.
9770 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9771 nonzero.
9772 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9773 nonzero.
9774
9775 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9776 (Faset): Likewise.
9777
9778 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9779 multibyte form.
9780 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9781 combining occurs.
9782 (Ftranspose_region): Delete codes for handling byte combining.
9783
9784 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9785 dst_multibyte members of coding. On handling REPLACE on unibyte
9786 buffer, convert the result of decode_coding to unibyte. On
9787 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9788 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9789 multibyteness of the source (buffer or string).
9790
9791 * fns.c (concat): Handle 8-bit characters correctly.
9792 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9793 unibyte in the result.
9794 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9795 valid multibyte form in the result.
9796 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9797 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9798 return -1, signal an error.
9799 (base64_encode_1): New arg MULTIBYTE. Get each character by
9800 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9801 character is found, return -1.
9802 (Fbase64_decode_region): Delete codes for handling byte-combining.
9803 Treat each decoded byte as a unibyte character.
9804 (Fbase64_decode_string): Return unibyte string.
9805 (Fcompare_strings, concat, string_byte_to_char): Use
9806 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9807 FETCH_STRING_CHAR_ADVANCE.
9808 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9809 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9810
9811 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9812 SPLIT_NON_ASCII_CHAR.
9813 (fontset_ref_via_base, fontset_set): Likewise
9814
9815 * insdel.c (adjust_markers_for_record_delete): Deleted.
9816 (adjust_markers_for_insert): Argument changed. Caller changed.
9817 (adjust_markers_for_replace): Likewise.
52283633
SM
9818 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9819 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9820 (copy_text): Delete unused local varialbe c_save. For converting
9821 to multibyte, be sure to make all 8-bit characters in valid
9822 multibyte form.
9823 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9824 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9825 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9826 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9827 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9828 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9829 handling byte combining.
9830 (adjust_before_replace): Deleted.
427ec082 9831
c9671f81
KH
9832 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9833 SPLIT_NON_ASCII_CHAR.
9834 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9835 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9836 (Fkey_description): Likewise.
9837
9838 * lread.c (read1): On reading multibyte string, be sure to make
9839 all 8-bit chararacters in valid multibyte form.
9840 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9841
9842 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9843 unconditionally.
9844
9845 * process.c (Fstart_process): GCPRO current_dir before calling
9846 Ffind_operation_coding_system. Encode arguments here.
9847 (create_process): Don't encode arguments here. Setup
9848 src_multibyte and dst_multibyte members of struct coding.
9849 (read_process_output): Setup src_multibyte and dst_multibyte
9850 members of struct coding. If the output is to multibyte buffer,
9851 always decode the output of the process. Adjust the
52283633 9852 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9853 (send_process): Setup coding->src_multibyte according to the
9854 multibyteness of the source.
9855
52283633 9856 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9857 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9858 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9859
52283633 9860 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9861
9862 * w16select.c (Fw16_set_clipboard_data): Setup members
9863 src_multibyte and dst_multibyte of coding. Adjusted for the
9864 change for find_charset_in_str.
9865 (Fw16_get_clipboard_data): Likewise.
9866
9867 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9868 dst_multibyte of coding.
9869 (x_to_w32_font): Likewise.
9870
9871 * w32select.c (Fw32_set_clipboard_data): Setup members
9872 src_multibyte and dst_multibyte of coding. Adjusted for the
9873 change for find_charset_in_str.
9874 (Fw32_get_clipboard_data): Likewise.
9875
9876 * xdisp.c (get_next_display_element): Handle 8-bit characters
9877 correctly.
52283633
SM
9878 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9879 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9880
9881 * xselect.c (selection_data_to_lisp_data): Setup members
9882 src_multibyte and dst_multibyte of coding. Adjusted for the
9883 change for find_charset_in_str.
9884 (lisp_data_to_selection_data): Likewise.
9885
5f64c9e0
GM
98862000-05-19 Gerd Moellmann <gerd@gnu.org>
9887
52283633 9888 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9889
5f64c9e0
GM
9890 * dispextern.h (Vimage_types): Add extern declaration.
9891
9892 * xdisp.c (Vimage_types): Moved here from xfns.c.
9893 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9894
9895 * xfns.c (Vimages_types): Moved to xdisp.c.
9896 (syms_of_xfns): Move `image-types' to xdisp.c.
9897
9898 * w32fns.c (Vimage_types): Removed.
9899 (syms_of_w32fns): Remove `image-types'.
9900
813086ea
KH
99012000-05-18 Kenichi Handa <handa@etl.go.jp>
9902
9903 * fns.c (map_char_table): Pay attention to character number of
9904 charset. Check the validity of charset at the first level. For
9905 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9906 the default value.
9907
9908 * fontset.c: Include "buffer.h".
9909 (fs_load_font): If the face has fontset, record the face ID in
9910 that fontset.
9911 (Finternal_char_font): New function.
9912 (accumulate_font_info): New function.
9913 (Ffontset_info): Rewritten for the new fontset implementation.
9914 (syms_of_fontset): Register Vdefault_fontset in the first element
9915 of Vfontset_table. Include Vdefault_fontset in
9916 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9917 function.
9918
bdaebbf0
DL
99192000-05-16 Dave Love <fx@gnu.org>
9920
9921 * m/iris5d.h: Deleted -- unused.
9922
cb613bb8
GM
99232000-05-16 Gerd Moellmann <gerd@gnu.org>
9924
b15f3b77
GM
9925 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9926 `invalid' instead of `illegal'.
9927
9928 * indent.c (Fmove_to_column): When ending within a tab, insert
9929 spaces first so that markers at the end of the tab get adjusted.
9930
835c1b36
GM
9931 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9932 buffer list that wasn't selected in that frame.
9933
cb613bb8
GM
9934 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9935 is needed on mescaline, use a 2 char prefix, and call
9936 make_temp_name with second arg non-zero.
9937
9938 * fileio.c (make_temp_name): New function, extracted from
9939 Fmake_temp_name.
9940 (Fmake_temp_name): Use it.
9941
f685bea9
EZ
99422000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9943
52283633 9944 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9945
a1b8d58b
GM
99462000-05-15 Gerd Moellmann <gerd@gnu.org>
9947
9948 * Makefile.in (lisp): Add env.elc.
9949
9950 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9951
a265079f
GM
99522000-05-12 Gerd Moellmann <gerd@gnu.org>
9953
9954 * search.c (Freplace_match): Handle case of `\N' in the
9955 replacement when there's no group N.
9956
da4496b6
GM
99572000-05-11 Gerd Moellmann <gerd@gnu.org>
9958
0ace421a
GM
9959 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9960 of the message to message_dolog.
9961
1172eb8d
GM
9962 * keyboard.c (read_char): Don't clear current message for help
9963 events; let the code handling help events handle this. Change
9964 code detecting help events that should be ignored.
9965
da4496b6
GM
9966 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9967 we're interating over a string.
9968
0623e40f
DL
99692000-05-09 Dave Love <fx@gnu.org>
9970
9971 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9972 that offset before writing. Move gcpro region past call of
9973 Ffile_regular_p.
9974
bae2503b
DL
99752000-05-04 Dave Love <fx@gnu.org>
9976
9977 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9978
ec82fb2f
GM
99792000-05-04 Gerd Moellmann <gerd@gnu.org>
9980
9981 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
9982 of inserted characters when BUF equals the current buffer, and PT
9983 is in front of or equal to FROM.
9984
cbf18892
GM
99852000-05-03 Gerd Moellmann <gerd@gnu.org>
9986
4ff40dd0
GM
9987 * xdisp.c (handle_single_display_prop): If display property value
9988 is invalid, or something not supported on the frame, restore
9989 iterator's position to what it was initially. Make sure to return
9990 0 for invalid and unsupported property values.
9991
cbf18892
GM
9992 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
9993 that x_per_char_metric returns null.
9994
1b0672c3
GM
99952000-05-02 Gerd Moellmann <gerd@gnu.org>
9996
576da55d
GM
9997 * xterm.h (struct face): Add forward declaration.
9998 (struct image): Ditto.
9999 (image_ascent): Add prototype.
10000
10001 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10002 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10003 image_ascent instead of using IMAGE_ASCENT.
10004
10005 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10006 (IMAGE_ASCENT): Removed.
10007
10008 * xfns.c (Qcenter): New variable.
10009 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10010 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10011 (image_ascent): New function.
10012 (lookup_image): Recognize `:ascent center'.
10013 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10014 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10015 (xbm_load): Don't set image's ascent here.
10016 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10017 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10018 check ascent values here.
10019 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10020 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10021 (syms_of_xfns): Initialize Qcenter.
10022
1b0672c3
GM
10023 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10024 to the limits, increase the limits.
10025
0d7811ed
KH
100262000-05-01 Kenichi Handa <handa@etl.go.jp>
10027
10028 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10029 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10030
a943a5ca
GM
100312000-04-28 Gerd Moellmann <gerd@gnu.org>
10032
10033 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10034 taller than the window.
10035
5dba1e29
KH
100362000-04-28 Kenichi Handa <handa@etl.go.jp>
10037
10038 * xfaces.c (realize_x_face): Fix the argument of the second
10039 xassert. BASE_FACE may not be a face for ASCII.
10040
353964e3
GM
100412000-04-27 Gerd Moellmann <gerd@gnu.org>
10042
c76e04a8
GM
10043 * print.c (print_object): Treat print-length < 0 as nil.
10044
10045 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10046
10047 * s/freebsd.h (TERMCAP_OBJ): Removed.
10048 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10049
10050 * lread.c (read1): Don't treat period followed by certain
10051 characters as symbol start.
10052
10053 * xfns.c (slurp_file): New function.
10054 (xbm_image_p): Handle case of in-memory XBM files.
10055 (xbm_scan): Rewritten to work on memory buffers instead of files.
10056 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10057 Work on memory buffers instead of files. If DATA is null test
10058 if buffer looks like an in-memory XBM file.
10059 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10060 memory buffers instead of files.
10061 (xbm_file_p): New function.
10062 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10063
353964e3
GM
10064 * lread.c (end_of_file_error): New function.
10065 (read1): Call it instead of signaling `end-of-file' directly.
10066
427ec082 10067 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10068 with Fprinc instead of Fprin1.
10069
24d744ac
KR
100702000-04-26 Ken Raeburn <raeburn@gnu.org>
10071
10072 * window.c (freeze_window_start): Check that minibuffer scroll
10073 window isn't nil before extracting the window structure pointer
10074 from it.
10075
10076 * undo.c (record_delete): If we hit the end of the undo list, stop
10077 picking elements apart.
10078
7464346d
GM
100792000-04-26 Gerd Moellmann <gerd@gnu.org>
10080
10081 * xdisp.c (display_line): If lines are continued, restore
10082 iterator's ascent/descent information to the values before the
10083 first glyph not fitting on the line.
10084
612839b6
GM
100852000-04-25 Gerd Moellmann <gerd@gnu.org>
10086
10087 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10088 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10089
10090 * dispnew.c (increment_matrix_positions): Renamed from
10091 increment_glyph_matrix_buffer_positions.
10092 (increment_row_positions): Renamed from
10093 increment_glyph_row_buffer_positions.
10094
10095 * dispextern.h: Change names of renamed functions from dispnew.c
10096 in prototypes.
10097
cc181e95
GM
100982000-04-24 Gerd Moellmann <gerd@gnu.org>
10099
abfcc168
GM
10100 * fileio.c (Fdo_auto_save): Create directories for auto-save
10101 list file if necessary.
10102
cc181e95
GM
10103 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10104 from buffer or frame.
10105 (automatic_hscrolling_p): New variable.
10106 (hscroll_windows): Scroll windows horizontally only if automatic
10107 hscrolling is allowed.
10108 (syms_of_xdisp): New variable `automatic-hscrolling'.
10109
10110 * frame.h (struct frame): Add member extra_line_spacing.
10111
10112 * xfns.c (x_set_line_spacing): New function.
10113 (Fx_create_frame): Set line spacing from resources.
10114 (Qline_spacing): New variable.
10115 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10116
cc181e95
GM
10117 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10118
10119 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10120 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10121 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10122 extra_line_spacing from default value.
10123 (init_buffer_once): Initialize default value of extra_line_spacing.
10124
10125 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10126 and extra3.
10127
10128 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10129 prompt_width. Add extra line spacing.
10130
10131 * term.c (produce_glyphs): Remove reference to struct it's
10132 prompt_width.
10133
10134 * dispextern.h (struct it): Remove member prompt_width, add
10135 extra_line_spacing.
10136
58827478
GM
101372000-04-22 Gerd Moellmann <gerd@gnu.org>
10138
10139 * dispnew.c (update_frame_line): When writing a whole line, make
10140 sure cursor is in the right row afterwards, otherwise a use of
10141 capability `ch' in cmgoto might leave the cursor in the row below.
10142
25a87f42
GM
101432000-04-21 Gerd Moellmann <gerd@gnu.org>
10144
10145 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10146
10147 * keyboard.c (timer_check): Fix typo in comment.
10148
54edf5c2
KH
101492000-04-21 Kenichi Handa <handa@etl.go.jp>
10150
10151 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10152 name change: ch -> character.
10153
3a64eef5
GM
101542000-04-20 Gerd Moellmann <gerd@gnu.org>
10155
10156 * keyboard.c (echo_message_buffer): New variable.
10157 (echo_now): Set echo_message_buffer to the echo area buffer used
10158 to display the echo.
10159 (cancel_echoing): Reset echo_message_buffer to nil.
10160 (read_char): Code rewritten that handles canceling an echo or
10161 echoing a dash, respectively.
10162
10163 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10164 directory doesn't exist.
10165
6142fdcb
DL
101662000-04-19 Dave Love <fx@gnu.org>
10167
10168 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10169 (concat): Don't allow numeric args.
10170 (Fconcat): Doc change.
6142fdcb 10171
ac6b5352
SM
101722000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10173
10174 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10175 instead define end_match(1|2) more carefully.
10176 Use GET_CHAR_BEFORE_2 for `begline'.
10177
cb9215e4
GM
101782000-04-19 Gerd Moellmann <gerd@gnu.org>
10179
5e3dac3f
GM
10180 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10181 on 64-bit systems where NULL is defined as `0'.
10182
10183 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10184 the `variable argument list' to make it work on Alpha.
10185
cb9215e4
GM
10186 * m/alpha.h (_LP64) [!_LP64]: Define.
10187 (ORDINARY_LINK): Define for NetBSD.
10188
10189 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10190
f532dca0
DL
101912000-04-19 Dave Love <fx@gnu.org>
10192
c750667e
DL
10193 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10194 change.
10195
10196 * Makefile.in (LIBS): Don't use.
10197 (GETLOADAVG_OBJ): Define again.
10198 (otherobj): Add GETLOADAVG_OBJ.
10199
f532dca0
DL
10200 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10201
1c7e22fd
GM
102022000-04-18 Gerd Moellmann <gerd@gnu.org>
10203
f6d3257b
GM
10204 * lread.c (read_filtered_event): Cancel and start busy cursor.
10205
427ec082 10206 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10207 that the per-character metrics may be null.
10208
e10f64e7
GM
102092000-04-17 Gerd Moellmann <gerd@gnu.org>
10210
0daee095
GM
10211 * buffer.c (clone_per_buffer_values): New function.
10212 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10213 clone_per_buffer_values if CLONE is not nil.
10214
e10f64e7
GM
10215 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10216
38687d43
DL
102172000-04-16 Dave Love <fx@gnu.org>
10218
10219 * Makefile.in: Remove obsolete localcpp stuff.
10220 (GETLOADAVG_OBJ): Don't define.
10221 (obj): Move LIBOBJS...
10222 (otherobj): ... to here.
10223 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10224 whitespace-only lines after the continuation (Irix).
10225
c21c7262
GM
102262000-04-14 Gerd Moellmann <gerd@gnu.org>
10227
10228 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10229
10230 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10231
314767c0
DL
102322000-04-14 Dave Love <fx@gnu.org>
10233
10234 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10235 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10236 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10237 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10238 NLIST_STRUCT.
10239
10240 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10241 autoconfiscated HAVE_GETLOADAVG.
10242
10243 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10244 BROKEN_MKTIME.
10245
a2522dca
GM
102462000-04-14 Gerd Moellmann <gerd@gnu.org>
10247
10248 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10249 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10250
33744b5d
DL
102512000-04-14 Dave Love <fx@gnu.org>
10252
c21c7262 10253 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10254 (INTERVAL_SRC): Convert to make variable.
10255 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10256 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10257 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10258 add LIBOBJS.
10259 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10260 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10261 (shortlisp): Add facemenu, float-sup, frame.
10262 (SOME_MACHINE_LISP): Remove them from here.
10263 (LIBES): Change unused LDLIBS to autoconf LIBS.
10264
10265 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10266
9d3d5916
KH
102672000-04-14 Kenichi Handa <handa@etl.go.jp>
10268
10269 * composite.c (update_compositions): If FROM and TO are not in a
10270 valid range, do nothing.
10271
198e3c7a
GM
102722000-04-13 Gerd Moellmann <gerd@gnu.org>
10273
52283633 10274 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10275
52283633 10276 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10277
10278 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10279 as TERMCAP_OBJ.
10280
055a28c9
EZ
102812000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10282
10283 * fileio.c (a_write): Remove redundant semi-colons.
10284 (e_write): Return -1 if failed to write all the data.
10285 This fixes the changes made at 1999-12-15.
10286
f5c75033
DL
102872000-04-12 Dave Love <fx@gnu.org>
10288
10289 * fns.c (mapcar1): Test for null vals to support mapc.
10290 (Fmapc): New function.
10291
0c3cfc51
EZ
102922000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10293
10294 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10295 (IT_frame_up_to_date): Support the buffer local value of
10296 cursor-type, if defined.
10297
33465a31
DL
102982000-04-10 Dave Love <fx@gnu.org>
10299
10300 * editfns.c (preceding-char, following-char): Doc fix.
10301
6ed56568
KR
103022000-04-10 Ken Raeburn <raeburn@gnu.org>
10303
10304 * Makefile.in (temacs): Revert 2000-03-12 change.
10305
7cf80d4e
JR
103062000-04-10 Jason Rumney <jasonr@gnu.org>
10307
10308 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10309
34f3f342
GM
103102000-04-10 Gerd Moellmann <gerd@gnu.org>
10311
1a1b1895
GM
10312 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10313 area buffer, if it's not set up yet.
10314
34f3f342
GM
10315 * indent.c (compute_motion): Set immediate_quit.
10316
be0dbdab
GM
103172000-04-09 Gerd Moellmann <gerd@gnu.org>
10318
52283633 10319 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10320 (realize_tty_face): Suppress boldness if colors are the inverse of
10321 the default colors, and tty_suppress_bold_inverse_default_colors_p
10322 is set.
10323 (Ftty_suppress_bold_inverse_default_colors): New function.
10324 (syms_of_xfaces): Defsubr it.
10325
be0dbdab
GM
10326 * buffer.c (Frestore_buffer_modified_p): New function.
10327 (syms_of_buffer): Defsubr it.
10328
e8413c3b
KR
103292000-04-08 Ken Raeburn <raeburn@gnu.org>
10330
87f67317
KR
10331 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10332 charset id (int) argument, not a charset (Lisp_Object).
10333
e8413c3b
KR
10334 * coding.h (code_convert_string): Declare.
10335 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10336 object, as the fourth argument to code_convert_string.
10337
52283633 10338 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10339 (Fset_fontset_font): Use EQ to compare lisp objects.
10340
7c752c80
KR
103412000-04-05 Ken Raeburn <raeburn@gnu.org>
10342
c0333abc
KR
10343 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10344 a pointer that looks like a lisp object.
10345 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10346 zero, instead see whether it's an integer object, since they can't
10347 have intervals.
10348 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10349
52283633
SM
10350 * dispnew.c (allocate_matrices_for_frame_redisplay)
10351 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10352 to convert between (unsigned) int values and lisp integers.
10353 * keyboard.c (read_key_sequence): Likewise.
10354 * lread.c (substitute_object_recurse): Likewise.
10355 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10356 * minibuf.c (do_completion, Fminibuffer_complete_word)
10357 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10358 * term.c (produce_special_glyphs): Likewise.
10359
10360 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10361 * print.c (print_preprocess, print_object): Likewise.
10362
10363 * search.c (compile_pattern): Use NILP when checking for nil.
10364
74e49b38
KR
10365 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10366 __OPTIMIZE__]: Provide a GNU C macro version that handles
10367 lisp-object unions.
10368 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10369 field, to better cope with ENABLE_CHECKING and calls that modify a
10370 Lisp_Object using its old value.
10371
685e5ed2
GM
103722000-04-04 Gerd Moellmann <gerd@gnu.org>
10373
c407c570
GM
10374 * window.c (compare_window_configurations): Signal an error
10375 if parameters C1 or C2 aren't window configurations.
10376
685e5ed2
GM
10377 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10378 AFTER_POTENTIAL_GC calls around calls to functions that can
10379 signal an error and thus invoke the debugger.
10380
587a49ab
GM
103812000-04-03 Gerd Moellmann <gerd@gnu.org>
10382
62f20204
GM
10383 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10384 an error if decoding fails.
10385
587a49ab
GM
10386 * keyboard.c (lispy_mouse_names): Variable removed.
10387 (Vlispy_mouse_stem): New variable.
10388 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10389 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10390 for any mouse button number. Increase size of mouse_syms and
10391 button_down_location as needed. Call modify_event_symbol with
10392 different arguments.
10393 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10394 Call modify_event_symbol with different arguments.
10395 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10396 for any button number. Call modify_event_symbol with different
10397 arguments.
10398 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10399 Accept a string for NAME_ALIST_OR_STEM.
10400
10401 * lisp.h (larger_vector): Add prototype.
10402
10403 * fns.c (larger_vector): Make externally visible.
10404
10405 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10406
2d1675e4
SM
104072000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10408
10409 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10410 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10411 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10412 we are between str1 and str2.
10413 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10414 (PATFETCH): Use `TRANSLATE'.
10415 (PATFETCH_RAW): Fetch multibyte char if applicable.
10416 (PATUNFETCH): Remove.
10417 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10418 When writing a char, write it directly into the pattern buffer rather
10419 than going needlessly through a temp char-array.
10420 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10421 multibyte magic and remove the useless `#ifdef emacs'.
10422 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10423 buffer.
10424
10425 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10426 conditional on `emacs'.
10427
10428 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10429
cc2d8c6b
KR
104302000-04-01 Ken Raeburn <raeburn@gnu.org>
10431
10432 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10433 non-union-type versions of XMARK and friends here, because XMARK
10434 and friends won't work on an integer field if NO_UNION_TYPE is not
10435 defined.
52283633 10436 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10437
52283633 10438 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10439 (syms_of_composite): Delete local var NARGS, pass an int as first
10440 argument to Fmake_hash_table.
10441
2387b382
KR
10442 * editfns.c (text_property_stickiness): Use NILP to test
10443 Lisp_Object boolean value.
10444 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10445 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10446 problems reading from and changing the same lisp value in an
10447 XSETSTRING call.
10448
27660e89
GM
104492000-04-01 Gerd Moellmann <gerd@gnu.org>
10450
10451 * term.c (TN_no_color_video): New variable.
10452 (term_init): Intitialize TN_no_color_video.
10453 (enum no_color_bit): New enumeration.
10454 (MAY_USE_WITH_COLORS_P): New macro.
10455 (turn_on_face): Use it to determine if attributes may be used
10456 combined with colors.
10457
3578db3c
KR
104582000-04-01 Ken Raeburn <raeburn@gnu.org>
10459
10460 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10461 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10462 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10463 proper accessor macros.
10464 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10465 (grow_mini_window): Fix typo getting int value of root->height.
10466
6fc556fd
KR
10467 * xdisp.c (compute_string_pos): Fix order of arguments to
10468 string_pos_nchars_ahead.
10469 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10470 count arg to variable-arg routines like Frun_hook_with_args and
10471 Fformat.
587a49ab
GM
10472 (back_to_previous_visible_line_start)
10473 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10474 fixed-arg routines like Fget_char_property and Fmake_string.
10475 (reconsider_clip_changes): Use XINT when comparing integer lisp
10476 objects, or passing them as int arguments.
587a49ab
GM
10477 (mark_window_display_accurate, insert_left_trunc_glyphs)
10478 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10479 storing or passing integer values as lisp objects.
10480 (set_cursor_from_row, highlight_trailing_whitespace): Use
10481 INTEGERP, not implicit test against zero, for glyph object.
10482 (try_window_id): Don't use make_number when we want an int value.
10483
10484 * xfaces.c (xlfd_symbolic_value): Make last argument a
10485 Lisp_Object, to be consistent with callers.
10486 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10487 (lface_hash): Apply XFASTINT to lisp values before folding in.
10488
10489 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10490 fill in window width and height. Pass an int, not a lisp object,
10491 as first arg to Finsert.
10492
6e7b2457
GM
104932000-04-01 Gerd Moellmann <gerd@gnu.org>
10494
610d841e
GM
10495 * xfaces.c (realize_basic_faces): Block input while realizing
10496 the faces.
10497
6e7b2457
GM
10498 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10499
10500 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10501
aa110c0c
GM
105022000-03-31 Gerd Moellmann <gerd@gnu.org>
10503
10504 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10505 or ASCII, handle case that per-char metric is null.
aa110c0c 10506
8801a864
KR
105072000-03-30 Ken Raeburn <raeburn@gnu.org>
10508
c6129d7e
KR
10509 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10510
52283633
SM
10511 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10512 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10513 pointer, using eassert.
10514 * frame.h (XFRAME): Likewise.
10515
52283633
SM
10516 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10517 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10518 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10519 * data.c (set_internal): Likewise.
52283633
SM
10520 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10521 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10522 * fileio.c (auto_save_1): Likewise.
10523 * insdel.c (check_markers): Likewise.
10524 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10525 * undo.c (record_insert): Likewise.
10526 * vmsproc.c (child_sig): Likewise.
10527 * window.c (unshow_buffer, window_loop): Likewise.
10528 * xterm.c (x_erase_phys_cursor): Likewise.
10529
8e7af858
GM
105302000-03-30 Gerd Moellmann <gerd@gnu.org>
10531
10532 * xfns.c (free_image_cache): Free the cache structure itself
10533 last, after all its members have been freed.
10534
10535 * lisp.h (xstrdup): Add prototype.
10536
10537 * alloc.c (xstrdup): Moved here from xfaces.c.
10538 (allocating_for_lisp): Variable removed.
52283633 10539 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10540
10541 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10542 of Fsymbol_value.
10543 (xstrdup): Moved to alloc.c.
10544
e0b8c689
KR
105452000-03-29 Ken Raeburn <raeburn@gnu.org>
10546
b96f9fb7
KR
10547 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10548
10549 * emacs.c (main): Fix sense of no-loadup test.
10550
e0b8c689
KR
10551 * config.in (ENABLE_CHECKING): Undef.
10552
10553 * lisp.h (struct interval): Replace "parent" field with a union of
10554 interval pointer and Lisp_Object; add new bitfield to use as
10555 discriminant. Change other flag fields to bitfields.
10556 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10557 is defined and the supplied test fails, print a message and abort.
10558 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10559
10560 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10561 pointers; abort if the value looks like a lisp object.
52283633
SM
10562 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10563 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10564 Modify for new interval parent definition.
10565
52283633
SM
10566 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10567 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10568 addressable lisp object in the interval structure.
10569 (die): New function.
10570 (suppress_checking): New variable.
10571
10572 * intervals.c (interval_start_pos): Just return 0 if there's no
10573 parent object.
10574
f83c5440
GM
105752000-03-29 Gerd Moellmann <gerd@gnu.org>
10576
10577 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10578 and earlier Emacs versions.
10579
10580 * keyboard.c (Ftop_level): Cancel busy-cursor.
10581
10582 * eval.c (call_debugger): Cancel busy-cursor.
10583
fdce64ff
KH
105842000-03-29 Kenichi Handa <handa@etl.go.jp>
10585
10586 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10587 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10588
f6a3f532
SM
105892000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10590
10591 * regex.c (analyse_first): New function obtained by ripping out most
10592 of re_compile_fastmap and generalizing it a little bit so that it
10593 can also just return whether a given (sub)pattern can match the empty
10594 string or not.
10595 (regex_compile): Use `analyse_first' to decide whether the loop-check
10596 needs to be done or not for *, +, *? and +? (the loop check is costly
10597 for non-greedy repetition).
10598 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10599
e9b309ac
DL
106002000-03-28 Dave Love <fx@gnu.org>
10601
52283633 10602 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10603
e9b309ac
DL
10604 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10605
ed0767d8
SM
106062000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10607
10608 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10609 an expression.
10610 (enum re_opcode_t): Update description of succeed_n.
10611 (PATFETCH): Always define.
10612 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10613 operators, char classes, shy-groups and intervals).
10614 Optimize special cases of intervals so as to only use succeed_n and
10615 jump_n when really needed.
10616 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10617 that we don't have to handle the special cases any more.
10618 Simplify on_failure_jump handling as well.
10619
e11e7e46
JR
106202000-03-28 Jason Rumney <jasonr@gnu.org>
10621
10622 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10623
88faab89
GM
106242000-03-27 Gerd Moellmann <gerd@gnu.org>
10625
182ff242
GM
10626 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10627
10628 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10629
182ff242
GM
10630 * alloc.c (mark_maybe_object): New function.
10631 (mark_memory): Use it.
10632 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10633 (setjmp_tested_p, longjmp_done): New variables.
10634 (test_setjmp): New function.
10635 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10636 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10637
c1005d06
GM
10638 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10639 to DEC_TEXT_POS and INC_TEXT_POS.
10640
10641 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10642 with parameter MULTIBYTE_P.
10643
52283633 10644 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10645
7439e5b9 10646 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10647 buffers because it looks for multibyte character byte sequences
10648 which don't exist in unibyte text.
7439e5b9 10649
d9c545da
GM
10650 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10651
11fd416e 10652 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10653 [DEBUG_X_COLORS]: New functions.
10654 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10655
10656 * xfns.c (x_set_cursor_color): Get color reference counts right.
10657
10658 * xterm.c (x_copy_color): New function.
10659 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10660
10661 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10662 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10663 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10664 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10665 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10666 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10667 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10668 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10669 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10670 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10671
11fd416e
GM
10672 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10673 names for handling per-buffer variables.
d9c545da
GM
10674
10675 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10676 instead of MAX_BUFFER_LOCAL_VARS.
10677 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10678
10679 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10680
88faab89
GM
10681 * xfns.c (x_specified_cursor_type): New function.
10682 (x_set_cursor_type): Use it.
10683
10684 * buffer.h (struct buffer): Add cursor_type.
10685
d80f42b7
SM
106862000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10687
10688 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10689 (print_partial_compiled_pattern, re_compile_fastmap):
10690 Handle new opcode.
d80f42b7
SM
10691 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10692 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10693 executing it as well as when popping it off the stack to find infinite
10694 loops in non-greedy repetition operators.
10695
89e80928
GM
106962000-03-26 Gerd Moellmann <gerd@gnu.org>
10697
3d4ff2dd
GM
10698 * doc.c (Qfunction_documentation): New variable.
10699 (syms_of_doc): Initialize Qfunction_documentation.
10700 (Fdocumentation): If FUNCTION is a symbol with non-nil
10701 `function-documentation' property, return a documentation derived
10702 from that.
10703
bd96bd79
GM
10704 * buffer.c (syms_of_buffer): Add default-cursor-type.
10705 (init_buffer_once): Don't let cursor_type have a local value
10706 in every buffer.
10707
19d1bc27
GM
10708 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10709 on buffer-local value of cursor_type.
10710 (x_draw_bar_cursor): Add parameter WIDTH.
10711
10712 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10713 (init_buffer_once): Set default cursor_type value to t.
10714 Mark cursor_type as local everywhere.
10715 (syms_of_buffer): New per-buffer variable cursor-type.
10716
89e80928
GM
10717 * buffer.h (struct buffer): Remove member local_var_flags,
10718 add local_flags.
10719 (MAX_BUFFER_LOCAL_VARS): New macro.
10720 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10721 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10722 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10723 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10724
52283633 10725 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10726
10727 * category.c (Fset_category_table): Use new macros for per-buffer
10728 variables.
10729
10730 * buffer.c (buffer_permanent_local_flags): Make a char array.
10731 (max_buffer_local_idx): New variable.
10732 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10733 for new handling of per-buffer variables.
10734 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10735 (init_buffer_once): Initialize per-buffer vars differently.
10736 Set max_buffer_local_idx.
10737
10738 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10739 variables.
10740
52283633 10741 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10742
10743 * data.c (do_symval_forwarding, store_symval_forwarding)
10744 (find_symbol_value, set_internal, default_value, Fset_default)
10745 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10746 per-buffer variables.
10747
10748 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10749
9a0dd3dc
GM
107502000-03-24 Gerd Moellmann <gerd@gnu.org>
10751
b68c375f
GM
10752 * xterm.c (x_term_init): Unblock input around call1 of
10753 Qvendor_specific_keysyms.
10754
9a0dd3dc
GM
10755 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10756 (find_defun_start): Consider an open parenthesis in column 0
10757 a defun start only if open_paren_in_column_0_is_defun_start is set.
10758 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10759
7973e637
SM
107602000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10761
10762 * eval.c (Fautoload): Add entry in load-history (if after dump).
10763 * lread.c (load-history): Update docstring.
10764
39210e90
GM
107652000-03-24 Gerd Moellmann <gerd@gnu.org>
10766
10767 * indent.c (Fvertical_motion): Always use the current buffer.
10768 Temporarily change the window's buffer, if necessary.
10769
72db3ab5
GM
107702000-03-23 Gerd Moellmann <gerd@gnu.org>
10771
10772 * xterm.c (fast_find_position): Make sure not to consider rows
10773 not visible in the window.
10774
990b2375
SM
107752000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10776
10777 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10778 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10779
ff4df011
JR
107802000-03-22 Jason Rumney <jasonr@gnu.org>
10781
10782 * w32menu.c (single_submenu): Set help string to NULL if none.
10783 (w32_menu_show): Set help string correctly.
10784 (add-menu-item): Set help string in MIIM_DATA for menu item.
10785 Load SetMenuItemInfoA explicitly.
10786 (w32_menu_display_help): New function.
427ec082 10787
ff4df011
JR
10788 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10789 (QCdata): Moved to xdisp.c.
10790
10791 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10792 (Vw32_charset_to_codepage_alist): Removed.
10793 (Vw32_charset_info_alist): New variable.
52283633
SM
10794 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10795 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10796 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10797 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10798 with TODO comment.
10799 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10800 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10801 Define Vw32_charset_info_alist and w32_charset symbols.
10802
108032000-03-22 Jason Rumney <jasonr@gnu.org>
10804
10805 * makefile.nt (w32bdf.obj): Update dependencies.
10806
10807 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10808
10809 * w32fns.c: Include fontset.h after dispextern.h.
10810 (Fx_create_frame): Do not create fontset.
10811 (w32_load_system_font): Doc fix.
10812 (Fx_close_connection): Free full_name if it is not shared.
10813
10814 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10815 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10816 Callers updated.
ff4df011
JR
10817 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10818 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10819 (w32_font_is_double_byte): New function, needs body.
10820 (x_append_glyph): Set glyph->glyph_not_available_p.
10821 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10822 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10823 character, convert it to a unibyte character.
10824 (struct glyph_string): Delete member `charset'.
10825 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10826 calculating it is found.
10827 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10828 the case that per char metric is not available correctly.
10829 (x_fill_glyph_string): Handle the case that the specific glyph is
10830 not available correctly.
10831 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10832 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10833 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10834 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10835 fontset. Don't call FS_LOAD_FONT.
10836
439d5cb4
KR
108372000-03-22 Ken Raeburn <raeburn@gnu.org>
10838
10839 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10840 (INT_LISPLIKE): New macro.
10841 (NULL_INTERVAL_P): Use it.
52283633
SM
10842 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10843 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10844 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10845
10846 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10847 explicit references to "parent" field of struct interval and
10848 associated unclean type conversions.
52283633
SM
10849 * intervals.c (create_root_interval, root_interval, rotate_right)
10850 (rotate_left, balance_possible_root_interval, split_interval_right)
10851 (split_interval_left, interval_start_pos, find_interval)
10852 (next_interval, previous_interval, update_interval)
10853 (adjust_intervals_for_insertion, delete_node, delete_interval)
10854 (adjust_intervals_for_deletion, merge_interval_right)
10855 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10856 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10857 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10858 Likewise.
10859 * syntax.c (update_syntax_table): Likewise.
10860
10861 * intervals.c (reproduce_tree_obj): New function, like
10862 reproduce_tree but takes a Lisp_Object for the parent. Declare
10863 with prototype.
10864 (graft_intervals_into_buffer): Use it when appropriate.
10865 (reproduce_tree): Declare with prototype.
10866 (balance_possible_root_interval): Check that the parent is a lisp
10867 object before trying to examine its type.
10868
ee1c5b21
GM
108692000-03-22 Gerd Moellmann <gerd@gnu.org>
10870
10871 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10872 as strings only if both are known to be strings.
10873
10874 * s/openbsd.h (LIBS_TERMCAP): Undef.
10875
1fb352e0
SM
108762000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10877
10878 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10879 definitions for non-Emacs compilation.
10880 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10881 outside of `#ifdef emacs'.
10882 (print_partial_compiled_pattern): Update.
10883 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10884 (re_compile_fastmap): Merge handling of charset and charset_not (for
10885 emacs and non-emacs compilation as well).
10886 Similarly for (not)categoryspec and (not)syntaxspec.
10887 Don't use the fastmap when reaching `anychar' since the added
10888 complexity is not justified.
10889 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10890 and (not)syntaxspec. Merge (not)categoryspec.
10891
fdaa1f77
KH
108922000-03-22 Kenichi Handa <handa@etl.go.jp>
10893
52283633
SM
10894 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10895 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10896 --without-x.
fdaa1f77 10897
d152fb46
DL
108982000-03-21 Dave Love <fx@gnu.org>
10899
10900 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10901 doc string.
10902
d2cafc8c
GM
109032000-03-21 Gerd Moellmann <gerd@gnu.org>
10904
10905 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10906 (lface_fully_specified_p): Don't check contents of
10907 LFACE_FONT_INDEX because that attribute is optional.
10908 (realize_x_face): Remove now unwarranted xassert.
10909
9111d4b5
KH
109102000-03-21 Kenichi HANDA <handa@etl.go.jp>
10911
10912 The following changes are to make font selection based on
10913 characters, not charset. In addition, they recover fontset
10914 facilities while utilizing the new font selection mechanism.
10915
6c4bfdc0
KH
10916 * Makefile.in (fontset.o): Depend on dispextern.h.
10917
10918 * alloc.c (mark_face_cache): Don't mark face->registry.
10919
9111d4b5
KH
10920 * dispextern.h (struct glyph): New member glyph_not_available_p.
10921 Use 22 bits for face_id.
10922 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10923 (struct face): Delete member registry, new member ascii_face.
10924 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10925 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10926 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10927 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10928
10929 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10930 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10931 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10932 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10933 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10934 (fs_free_face_fontset, fontset_font_pattern)
10935 (face_suitable_for_char_p, face_for_char)
10936 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10937 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10938 (FS_LOAD_FACE_FONT): New macro.
10939
10940 * fontset.c: All codes rewritten or adjusted for the change of
10941 fontset implementation. Now fontset is represented by char table.
52283633
SM
10942 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10943 Variables removed.
9111d4b5 10944 (my_strcasecmp): Function removed.
52283633 10945 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10946 (AREF, ASIZE): New macros.
52283633
SM
10947 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10948 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10949 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10950 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10951 (fontset_id_valid_p, font_family_registry, fontset_name)
10952 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10953 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10954 New functions.
10955 (fs_load_font): New arg FACE. Caller changed.
10956 (fs_query_fontset): Argument changed. Caller changed.
10957 (Fquery_fontset): call fs_query_fontset.
10958 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10959 Functions removed.
52283633
SM
10960 (clear_fontset_elements, check_registry_encoding)
10961 (check_fontset_name): New functions.
9111d4b5
KH
10962 (syms_of_fontset): Set char-table-extra-slots property of fontset
10963 to 3. Staticpro and initialize Vfontset_table and
10964 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10965
10966 * frame.h (struct frame): Member `fontset_data' removed.
10967 (FRAME_FONTSET_DATA): Macro removed.
10968
10969 * frame.c (make_frame): Don't allocate f->fontset_data.
10970 (Fdelete_frame): Don't free f->fontset_data.
10971
6c4bfdc0
KH
10972 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10973
9111d4b5
KH
10974 * xdisp.c (charset_at_position): Function removed.
10975 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10976 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10977 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10978 Likewise.
10979 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10980 FACE_FOR_CHARSET.
52283633
SM
10981 (get_next_display_element, append_space)
10982 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
10983
10984 * xfaces.c (Qx_charset_registry, Vface_default_registry):
10985 Variables removed.
10986 (clear_font_table, frame_update_line_height, load_face_font):
10987 Adjusted for the change of fontset implementation.
10988 (load_face_fontset_font): Function removed.
10989 (pixel_point_size): New function.
10990 (font_list): Argument type changed. Caller changed.
10991 (LFACE_FONT): New macro.
10992 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
10993 (set_lface_from_font_name): Type of arg FONTNAME is changed to
10994 Lisp_Object. Determine the font name by actually loading a font
10995 by the specified pattern. Set LFACE_FONT (lface) to the specified
10996 pattern. Even if a font is not found, don't try alternatives.
10997 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
10998 (set_font_frame_param): If `font' is specified in lface, use it.
10999 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11000 (lface_same_font_attributes_p): Likewise.
11001 (make_realized_face): Arguent changed. Caller changed. Set
11002 face->ascii_face to face itself.
11003 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11004 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11005 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11006 (free_realized_multibyte_face): New function.
11007 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11008 changed. Caller changed.
11009 (try_font_list): Argument type changed.
11010 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11011 (choose_face_font): Argument changed. Handle fontset properly.
11012 (choose_face_fontset_font): Function removed.
11013 (realize_default_face, realize_named_face): Don't remove the
11014 former face here.
11015 (realize_face): Argument changed. Caller changed. Remove face
52283633 11016 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11017 (realize_x_face): Argument changed. Caller changed. For a
11018 multibyte character, share fontset with base_face. For a single
52283633 11019 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11020 (realize_tty_face): Argument changed. Caller changed.
11021 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11022 (face_at_buffer_position): Don't check multibyte_p for returning
11023 DEFAULT_FACE_ID.
11024 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11025 FACE_SUITABLE_FOR_CHARSET_P.
11026 (syms_of_xfaces): Remove code for Qx_charset_registry and
11027 Vface_default_registry.
11028
6c4bfdc0
KH
11029 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11030 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11031 (x_per_char_metric): Don't try FONT->default_char. Even if
11032 pcm->width is zero, glyph bits may exist.
11033 (x_encode_char): Always initialize char2b->byte1.
11034 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11035 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11036 (x_append_glyph): Set glyph->glyph_not_available_p.
11037 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11038 it->charset. Handle the case that per char metric is not
11039 available. If it->multibyte_p is zero and it->c is a multibyte
11040 character, convert it to a unibyte character.
11041 (struct glyph_string): Delete member `charset'.
11042 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11043 the case that per char metric is not available correctly.
11044 (x_fill_glyph_string): Handle the case that the specific glyph is
11045 not available correctly.
11046 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11047 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11048 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11049 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11050 fontset. Don't call FS_LOAD_FONT.
11051
11052 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11053 (x_create_tip_frame): Likewise.
11054 (Fx_close_connection): Free full_name of font_info.
11055
11056 * fns.c (optimize_sub_char_table): New function.
11057 (Foptimize_char_table): New function.
11058 (syms_of_fns): Defsubr Soptimize_char_table.
11059
b33dd3b0
GM
110602000-03-20 Gerd Moellmann <gerd@gnu.org>
11061
11062 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11063 only if buffer is displayed in some window.
11064
11065 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11066 (try_window_reusing_current_matrix): Don't call scroll run
11067 function if run's current and desired position are the same;
11068 this prevents cursor flickering.
11069
4e8a9132
SM
110702000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11071
11072 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11073
11074 * regex.c (RE_STRING_CHAR): New macro.
11075 (GET_CHAR_AFER_2): Remove.
11076 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11077 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11078 (print_partial_compiled_pattern, re_compile_fastmap)
11079 (re_match_2_internal): Remove on_failure_jump_exclusive.
11080 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11081 optimization only need to work for * (ie. can use of_keep_string_jump).
11082 Remove the special case for .*\n since it is now covered by the general
11083 optimization.
11084 (re_search_2): Don't bother with `room'.
11085 (skip_one_char): New function.
11086 (skip_noops): Simplify since `memory' is not needed any more.
11087 (mutually_exclusive_p): Restructure slightly to use `switch' and
11088 add handling for "all" remaining cases.
11089 (re_match_2_internal): Change on_failure_jump_smart to use
11090 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11091 rather than on_failure_jump_exclusive.
11092
2136fdd4
GM
110932000-03-19 Gerd Moellmann <gerd@gnu.org>
11094
11095 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11096 number of bits per RGB because it's everywhere used as the depth
11097 of the visual.
11098
11099 * term.c (calculate_costs): Remove code dealing with X frames.
11100
18e21ce8 111012000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11102
11103 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11104
d7b511c4
GM
111052000-03-18 Gerd Moellmann <gerd@gnu.org>
11106
11107 * lread.c (read_integer): Unread the last char not consumed.
11108
16b5d424
GM
111092000-03-17 Gerd Moellmann <gerd@gnu.org>
11110
11111 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11112 which are in the process of being deleted.
16b5d424 11113
1fa28578
GM
111142000-03-16 Gerd Moellmann <gerd@gnu.org>
11115
83488cce
GM
11116 * Makefile.in (mostlyclean): Add `*.core'.
11117 (clean): Add `bootstrap-emacs'.
11118
1fa28578
GM
11119 * lread.c (read_integer): New function.
11120 (read1): Support read syntax #o, #x, #b, #r.
11121
99633e97
SM
111222000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11123
1fa28578
GM
11124 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11125 make sure POINTER_TO_OFFSET gives the same value before and after
11126 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11127 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11128 (debug): Now only active if > 0 rather than if != 0.
11129 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11130 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11131 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11132 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11133 (store_op1, store_op2, insert_op1, insert_op2)
11134 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11135 (group_in_compile_stack): Move to after its arg's types are
11136 declared and add a prototype.
99633e97 11137 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11138 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11139 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11140 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11141 indentation of the greedy-op and shy-group code.
99633e97
SM
11142 (at_(beg|end)line_loc_p): Fix argument's types.
11143 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11144 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11145 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11146 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11147 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11148 QUIT unconditionally.
99633e97 11149
699238d9
GM
111502000-03-15 Gerd Moellmann <gerd@gnu.org>
11151
11152 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11153 a sole completion.
11154
11155 * process.c (send_process): Add a hint that the function
11156 can call Lisp code to its comment.
11157
11158 * lread.c (load_dangerous_libraries): New variable.
11159 (Vbytecomp_version_regexp): New variable.
11160 (safe_to_load_p): New function.
11161 (Fload): Handle files not compiled with Emacs specially.
11162 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11163
34e23e5a
GM
111642000-03-14 Gerd Moellmann <gerd@gnu.org>
11165
9c763cca
GM
11166 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11167
11168 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11169 support functions only if HAVE_X11R6_XIM is defined.
11170 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11171
11172 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11173
11174 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11175 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11176 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11177
11178 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11179 (HAVE_X11R6_XIM): Define.
11180
11181 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11182
34e23e5a
GM
11183 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11184 If set, call XSynchronize.
11185
66f0296e
SM
111862000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11187
34e23e5a
GM
11188 * regex.c: Declare a new type `re_char' used throughout the code
11189 for the string char type. It's `const unsigned char' to match the
11190 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11191 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11192 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
11193 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11194 code duplication.
66f0296e
SM
11195
11196 * charset.h (GET_CHAR_AFTER_2): Remove.
11197 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11198
854a025c
KR
111992000-03-12 Ken Raeburn <raeburn@gnu.org>
11200
11201 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11202 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11203 of them try to use backquotes.
11204
b9d2c7e2
DL
112052000-03-12 Dave Love <fx@gnu.org>
11206
11207 * unexelf.c: Restore changes of 1999-10-19.
11208 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11209 fix its type and alignment; copy it from current process.
11210
5e5dff44
GM
112112000-03-12 Gerd Moellmann <gerd@gnu.org>
11212
9b2f3c38
GM
11213 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11214 has been found. Fix bug not computing timer's predecessor.
11215
427ec082 11216 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11217 file name.
11218
e1cff360
GM
11219 * window.c (Fsave_window_excursion): Doc fix.
11220
52283633 11221 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11222
e411ce4b
EZ
112232000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11224
11225 * msdos.c (vga_installed): New function, code moved from
11226 dos_set_window_size.
11227 (Qbar, Qcursor_type, outside_cursor): New variables.
11228 (syms_of_msdos): Intern and staticpro them.
11229 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11230 shape used outside Emacs when called for the first time.
11231 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11232 cursor shape used outside Emacs.
11233 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11234 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11235 type has changed.
11236 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11237 parameters specify the cursor. Make qreverse a global
11238 variable (renamed to Qreverse).
11239
80460654
GM
112402000-03-09 Gerd Moellmann <gerd@gnu.org>
11241
11242 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11243
95cd4c40
SM
112442000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11245
11246 This is a big redesign of failure-stack and register handling, prompted
11247 by bugs revealed when trying to add shy-groups. Overall, what happened
11248 is that loops are now structured a little differently, groups can be
11249 shy and the code is a little simpler.
11250
11251 * regex.h: Update the copyright.
11252 (RE_SHY_GROUPS): New value.
11253 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11254 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11255
80460654
GM
11256 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11257 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11258 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11259 for (start|stop)_memory since they now only take one argument (the
11260 second has becomes unnecessary).
52283633 11261 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11262 (print_compiled_pattern): Use %ld to printf long ints and flush to
11263 make debugging a little easier.
95cd4c40
SM
11264 (union fail_stack_elt): Make the integer unsigned.
11265 (struct fail_stack_type): Add a `frame' element.
11266 (INIT_FAIL_STACK): Init `frame' as well.
11267 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11268 (DEBUG_PUSH, DEBUG_POP): Remove.
11269 (NUM_REG_ITEMS): Remove.
11270 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11271 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11272 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11273 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11274 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11275 New macros.
80460654
GM
11276 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11277 address pushed is not the destination of the jump but the source
11278 of it instead.
95cd4c40
SM
11279 (NUM_FAILURE_ITEMS): Remove.
11280 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11281 registers before the actual failure point). Don't hardcode any
11282 meaning for str==NULL anymore.
95cd4c40 11283 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11284 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11285 Remove.
95cd4c40
SM
11286 (REG_UNSET_VALUE): Use NULL (why not?).
11287 (compile_range): Remove declaration since it doesn't exist.
11288 (struct compile_stack_elt_t): Remove inner_group_offset.
11289 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11290 (regex_grow_registers): Remove dead code.
11291 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11292 (regex_compile): Add shy-groups Change loops to use
11293 on_failure_jump_smart&jump instead of
11294 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11295 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11296 variable to me). Use `jump' instead of `jump_past_alt' and don't
11297 bother with push_dummy_failure in alternatives since it is now
11298 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11299 emacs' for (re)allocating the stack.
11300 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11301 from loop when bufp->can_be_null rather than jumping to `done'.
11302 Avoid jumping backwards so as to ensure termination. Use
11303 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11304 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11305 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11306 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11307 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11308 (lowest_active_reg, highest_active_reg)
11309 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11310 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11311 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11312 variables. Push register (in `start_memory') on the stack rather
11313 than storing it in old_reg(start|end). Remove the cycle detection
11314 from `stop_memory', replaced by the use of on_failure_jump_loop
11315 for greedy loops. Add code for the new on_failure_jump_<foo>.
11316 Remove ad-hoc code in `on_failure_jump' to push more registers in
11317 the case of a loop. Take out code from `maybe_pop_jump' into
11318 separate functions and adapt it to the semantics of
11319 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11320 and push_dummy_failure. Remove dummy_failure handling and
11321 handling of `failures to jump to on_failure_jump' (this last one
11322 was already dead code, it seems).
11323 (group_match_null_string_p, alt_match_null_string_p)
11324 (common_op_match_null_string_p): Remove.
95cd4c40 11325
7397acc4
DL
113262000-03-08 Dave Love <fx@gnu.org>
11327
11328 * config.in: Don't depend on __STDC__ for volatile.
11329 Add POINTER_TYPE, PTR, PROTOTYPES.
11330
11331 * hftctl.c, strftime.c: Use PROTOTYPES.
11332 * eval.c (find_handler_clause): Likewise.
11333
11334 * mem-limits.h: Use POINTER_TYPE.
11335
11336 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11337 (memory_warnings): Declare using POINTER_TYPE.
11338
5e91ff9e
GM
113392000-03-08 Gerd Moellmann <gerd@gnu.org>
11340
feab4fba
GM
11341 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11342
52283633 11343 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11344
5e91ff9e
GM
11345 * xfns.c: Remove obsolete code in #if 0.
11346 (Fx_focus_frame): New function.
11347
a735b7e1
KH
113482000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11349
11350 * coding.c (coding_category_name): Add coding-category-utf-8,
11351 coding-category-utf-16-be, coding-category-utf-16-le.
11352 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11353 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11354 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11355 (detect_coding_utf_8): New function.
11356 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11357 UTF_16_LOW_SURROGATE_P): New macros.
11358 (detect_coding_utf_16): New function
11359 (detect_coding_mask): When priorities are specified, skip any
11360 categories that have `nil' coding-system. Fix bug of returning
11361 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11362 returns a mask not set in PRIORITIES.
11363 (detect_eol_type_in_2_octet_form): New function.
11364 (detect_eol): selects detect_eol_type_XXX to call according to
11365 cooding->category_idx.
11366 (detect_coding_system): Remove `nil' coding-system in the result.
11367 (Fupdate_coding_systems_internal): Update all coding-categories.
11368
52283633
SM
11369 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11370 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11371 New macros.
11372 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11373 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11374 (CODING_CATEGORY_IDX_UTF_16_LE)
11375 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11376 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11377 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11378 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11379
9994cc69
GM
113802000-03-07 Gerd Moellmann <gerd@gnu.org>
11381
e9b4e5ff
GM
11382 * doc.c (Fdocumentation_property): If value is not a string,
11383 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11384
f7daf1e1
GM
11385 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11386 close the display with XtCloseDisplay. This caused a bus error
11387 on OpenWindows.
11388
9994cc69
GM
11389 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11390 complete but not unique.
11391
4336c705
GM
113922000-03-06 Gerd Moellmann <gerd@gnu.org>
11393
18bb0684
GM
11394 * process.c (send_process): Remove local variable `procname' that
11395 might become invalid when a GC happens. Instead, access the
11396 process name slot directly.
11397
4336c705
GM
11398 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11399 orig_height if set.
11400
11401 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11402 orig_height if set.
11403
515d0d0e
EZ
114042000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11405
11406 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11407 glyph matrices have been freed.
11408
100b3cbb
GM
114092000-03-05 Gerd Moellmann <gerd@gnu.org>
11410
50df5e5a 11411 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11412 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11413
11414 * xfns.c (QCdata): Moved to xdisp.c.
11415
11416 * xdisp.c (QCdata): Moved here from xfns.c.
11417 (syms_of_xdisp): Initialize QCdata.
11418
11419 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11420
11421 * window.c (coordinates_in_window): Use
11422 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11423 FRAME_INTERNAL_BORDER_WIDTH.
11424
100b3cbb 11425 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11426 it is obviously invalid.
100b3cbb
GM
11427
11428 * xterm.c (x_term_init): Create a colormap if not using the
11429 default visual.
11430
11431 * xterm.h (select_visual): Change prototype.
11432
11433 * xfns.c (select_visual): Rewritten. Recognize user-specified
11434 visual classes.
11435 (visual_classes): New variable.
11436
64d739c4
GM
114372000-03-04 Gerd Moellmann <gerd@gnu.org>
11438
11439 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11440 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11441 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11442 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11443 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11444 XtNcolormap resources.
11445 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11446 (Fx_create_frame): Initialize color members of x_output structure.
11447 (xpm_load): Pass colormap to XPM lib.
11448
11449 * xfaces.c (x_free_colors): Access colormap of frame using
11450 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11451 when default colormap is used.
11452
11453 * xterm.c (x_term_init): Set Colormap member of x_display_info
11454 structure. Copy colormap if resource `privateColormap' is
11455 specified (PseudoColor only).
11456 (x_setup_relief_color): Access colormap of frame using
11457 FRAME_X_COLORMAP.
11458
11459 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11460 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11461
c3cee013
JR
114622000-03-04 Jason Rumney <jasonr@gnu.org>
11463
11464 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11465 other non-platform-specific equivalents.
64d739c4 11466 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11467 specific functions and macros as their w32 equivalents where
11468 non-platform-specifics are not available.
11469 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11470 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11471 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11472 (frame_update_line_height): Use macros to access f->output_data.
11473 (defined_color): Remove FIXME comments; fixed.
11474 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11475 into #ifdef blocks. Add WINDOWSNT blocks.
11476 (Fx_list_fonts): Use macros for accessing font data.
11477 (set_lface_from_font_name): Different default fonts for X and
11478 WINDOWSNT.
11479 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11480 scalable for backward compatibility.
64d739c4 11481 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11482 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11483
64d739c4 11484 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11485 syms_of_w32faces.
11486
11487 * makefile.nt (w32faces.obj): Remove.
11488 (xfaces.obj): Add.
11489
807cc41c
JR
114902000-03-03 Jason Rumney <jasonr@gnu.org>
11491
11492 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11493 correct parameters.
11494
0007072a
KR
114952000-03-03 Ken Raeburn <raeburn@gnu.org>
11496
11497 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11498 standard ELF definitions here if the system header does not.
11499
71a6ba55
GM
115002000-03-03 Gerd Moellmann <gerd@gnu.org>
11501
11502 * xterm.c (PER_CHAR_METRIC): Removed.
11503 (x_per_char_metric_1, x_default_char): New functions.
11504 (x_per_char_metric): If font's default char is invalid, return
11505 metrics of a suitably chosen usable default char.
11506 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11507 char, replace occurrences of unprintable chars with a suitably
11508 chosen usable default char.
71a6ba55 11509
900fa1f1
GM
115102000-03-02 Gerd Moellmann <gerd@gnu.org>
11511
42f55fe0
GM
11512 * xterm.c (note_mouse_highlight): Return quickly if frame's
11513 glyph matrices have been freed.
11514
11515 * dispnew.c (free_glyphs): Block input while freeing matrices.
11516
900fa1f1
GM
11517 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11518
52283633
SM
11519 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11520 Use x_free_colors.
900fa1f1
GM
11521
11522 * dispextern.h (x_free_colors): Add prototype.
11523
11524 * xfaces.c (x_free_colors): New function.
11525 (unload_color, free_face_colors): Use it.
11526
2f950292
EZ
115272000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11528
11529 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11530
11531 * window.c [MSDOS]: Include msdos.h.
11532
54d04320
DL
115332000-03-02 Dave Love <fx@gnu.org>
11534
11535 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11536
11537 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11538 set C_OPTIMIZE_SWITCH for gcc.
11539
0ba93ac4
KH
115402000-03-02 Kenichi Handa <handa@etl.go.jp>
11541
11542 * coding.c (coding_save_composition): Be sure to allocate
11543 composition data area in coding even if there's no composition in
11544 the current run.
11545
a2bc11d4
JR
115462000-03-01 Jason Rumney <jasonr@gnu.org>
11547
11548 * w32term.c: Equivalent changes to those made to xterm.c on
11549 2000-02-25 and 2000-02-24.
11550
11551 * w32fns.c: Equivalent changes to those made to xfns.c on
11552 2000-02-25 and 2000-02-21.
11553
11554 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11555 correct line-end convention is followed.
11556
11557 * w32menu.c [HAVE_BOXES]: Remove #undef.
11558 (single_keymap_panes): Remove code for simulating checkmarks.
11559 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11560 Remove code for drawing simulated checkmarks.
11561 (w32_menu_show): make unibyte help string correctly.
11562 (add_menu_item): draw standard Windows checkmarks. Draw radio
11563 buttons as radio buttons if possible.
11564
72d19d75
GM
115652000-03-01 Gerd Moellmann <gerd@gnu.org>
11566
2df636f4
GM
11567 * sysdep.c (start_of_text): Don't define this function for NetBSD
11568 with ELF.
11569
427ec082 11570 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11571 Don't define.
11572 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11573 (LINKER): Don't undef if __NetBSD__ is defined.
11574
11575 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11576
11577 * fileio.c [__NetBSD__]: Define `unix'.
11578
72d19d75
GM
11579 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11580
ed4d0512
GM
115812000-02-29 Gerd Moellmann <gerd@gnu.org>
11582
50b1039f
GM
11583 * atimer.c (start_atimer): Don't abort when timers are stopped.
11584 (append_atimer_lists): New function.
11585 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11586 arbitrary lists of stopped and running atimers.
11587
ed4d0512
GM
11588 * atimer.c (cancel_atimer): Handle canceling an atimer when
11589 some timers are stopped.
11590
11591 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11592 after canceling it.
11593
11594 * fns.c (maybe_resize_hash_table): Handle case of new size
11595 coming out as being the same as old size.
11596
387023ee
JR
115972000-02-27 Jason Rumney <jasonr@gnu.org>
11598
11599 * makefile.nt: Add atimer.h to dependencies.
11600 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11601 * w32console.c: Only disable window system features for dispextern.h
11602 (initialize_w32_display): Build a display info for the console.
11603 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11604 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11605 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11606 as 2 button mice.
11607 * w32gui.h (struct W32FontStruct): Revert last change after change
11608 to xdisp.c.
11609 * w32menu.c (single_submenu): Set up help string.
11610 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11611 (w32_dialog_show): Set up help string.
11612 * w32term.c (w32_display_info_for_display): Remove unused function.
11613 (w32_draw_bitmap): Use pre-built bitmaps.
11614 (w32_initialize_display_info): New function to initialize parts of
11615 display info that are common to both GUI and console frames.
11616 (w32_term_init): Use w32_initialize_display_info. Do not set
11617 Vw32_num_mouse_buttons here, as it is not called for console
11618 frames. Build bitmaps for indicating truncated lines etc.
11619 (x_delete_display): Destroy pre-built bitmaps.
11620 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11621 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11622
4516715a
DL
116232000-02-27 Dave Love <fx@gnu.org>
11624
11625 * lisp.h: Add a bunch of prototypes.
11626
171ca836
KH
116272000-02-26 Kenichi Handa <handa@etl.go.jp>
11628
11629 * keyboard.c (read_char): Set `usec' correctly.
11630
4013921d
KH
116312000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11632
11633 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11634 `lambda', set reg[RRR] to the map index.
11635 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11636 reg[RRR] to 0. Otherwise, set it to -1.
11637
9244a058
GM
116382000-02-25 Gerd Moellmann <gerd@gnu.org>
11639
2df636f4 11640 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11641
18e21ce8 116422000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11643
f43d79c1
GM
11644 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11645 and contains a `:', prepend `/:'.
11646
11647 * window.c (select_window_1): If selected_window is nil,
11648 don't "swap out" the buffer's point.
11649 (Fset_window_configuration): Set selected_window to nil
11650 before calling Fselect_window.
11651 (unshow_buffer): Don't set point in buffer from window's point
11652 if another more recently selected window also shows the buffer.
11653
bed0c171
GM
116542000-02-25 Gerd Moellmann <gerd@gnu.org>
11655
449c3c52
GM
11656 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11657
f5b58615
GM
11658 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11659 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11660 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11661 New variables.
f5b58615
GM
11662 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11663 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11664 (hide_busy_cursor): New functions.
11665 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11666
11667 * minibuf.c (read_minibuf): Cancel busy-cursor.
11668
11669 * keyboard.c (command_loop_1): Call start_busy_cursor before
11670 Fcommand_execute and cancel_busy_cursor after it.
11671 (timer_check): Remove busy-cursor code.
11672 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11673 cursor timer.
11674
11675 * process.c (wait_reading_process_input): Remove busy-cursor code.
11676
11677 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11678 Fx_hide_busy_cursor.
11679
11680 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11681 Remove prototyoes.
11682 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11683
11684 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11685
11686 * xterm.c (XTread_socket): Remove busy-cursor code.
11687
4eb8436f
GM
11688 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11689 (build_frame_matrix_from_leaf_window): Put code handling
11690 glyph row's not being a slice of a frame row in #if 0.
11691 (sync_window_with_frame_matrix_rows): New function.
11692 (frame_row_to_window): New function.
11693 (mirror_line_dance): Handle copies between windows.
11694
3cb65b0e
GM
11695 * lread.c (Fload): Use `xfree' instead of `free'.
11696 (init_obarray): Use `xmalloc' instead of `malloc'.
11697
bed0c171
GM
11698 * window.c (Fset_window_buffer): Set WINDOW to the window
11699 after decoding.
2add4349
GM
11700 (coordinates_in_window): Take frame's internal border width
11701 into account.
bed0c171 11702
42088c12
GM
117032000-02-24 Gerd Moellmann <gerd@gnu.org>
11704
11705 * xterm.c (x_display_and_set_cursor): Display cursor of
11706 non-selected windows depending on the setting of
11707 cursor_in_non_selected_windows.
11708
11709 * xdisp.c (cursor_in_non_selected_windows): New variable.
11710 (syms_of_xdisp): DEFVAR_BOOL it.
11711
d1e103b2
GM
117122000-02-23 Gerd Moellmann <gerd@gnu.org>
11713
723e779c
GM
11714 * data.c (Fstring_to_number): If number is greater than what
11715 fits into an integer, return a float.
11716
d1e103b2
GM
11717 * eval.c (specbind): Remove references to
11718 keyword_symbols_constant_flag.
11719
11720 * data.c (keyword_symbols_constant_flag): Removed.
11721 (Fmakunbound, set_internal, syms_of_data): Remove references to
11722 keyword_symbols_constant_flag.
11723
11724 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11725
214f877f
KH
117262000-02-23 Kenichi Handa <handa@etl.go.jp>
11727
11728 * syntax.c (multibyte_syntax_as_symbol): New variable.
11729 (syms_of_syntax): Declare it as a Lisp variable.
11730 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11731 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11732 nonzero, treat all multibyte characters as symbol.
52283633 11733 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11734
130adcb7
EZ
117352000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11736
3cb65b0e 11737 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11738 a deleted frame.
130adcb7 11739
17cbbf95
GM
117402000-02-21 Gerd Moellmann <gerd@gnu.org>
11741
11742 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11743
11744 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11745 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11746
beb0bc36
DL
117472000-02-21 Dave Love <fx@gnu.org>
11748
11749 * frame.c (Vmouse_position_function): New variable.
11750 (Fmouse_position): Use it.
11751 (syms_of_frame): Install it.
11752
11753 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11754
1d92afcd
GM
117552000-02-20 Gerd Moellmann <gerd@gnu.org>
11756
11757 * fileio.c (Finsert_file_contents): Unbind the binding of
11758 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11759
11760 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11761 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11762 (specbind, unbind_to): Handle most common case of non-constant
11763 symbol with trivial value specially.
11764
11765 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11766
18e21ce8 117672000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11768
11769 * data.c (Fmake_variable_buffer_local): Doc fix.
11770 Init found_for_buffer to 0.
11771 (Fmake_variable_frame_local): If the variable has already
11772 been buffer-local, set the check_frame field.
11773
1d4311c3
EZ
117742000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11775
11776 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11777 produced for CODING_MODE_LAST_BLOCK requires.
11778
2dc95ddd
DL
117792000-02-18 Dave Love <fx@gnu.org>
11780
11781 * keyboard.c (echo_keystrokes): Remove declaration.
11782 (Vecho_keystrokes) New variable.
11783 (read_char, record_menu_key, read_key_sequence): Use it to allow
11784 use of float value.
11785 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11786
11787 * lread.c: Undef feature selection macros before defining.
11788
f0930f35
GM
117892000-02-18 Gerd Moellmann <gerd@gnu.org>
11790
11791 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11792 for symbols other than the symbol in question.
11793
e3d4de90
DL
117942000-02-17 Dave Love <fx@gnu.org>
11795
11796 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11797
0b378936
GM
117982000-02-17 Gerd Moellmann <gerd@gnu.org>
11799
d621caf7
GM
11800 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11801
0b378936
GM
11802 * alloc.c (enum mem_type): Compile unconditionally.
11803
3b451f74
EZ
118042000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11805
11806 * xfaces.c (tty_defined_color): Don't return faulire indication
11807 for unspecified-fg and unspecified-bg pseudo-colors.
11808
10689a01
GM
118092000-02-17 Gerd Moellmann <gerd@gnu.org>
11810
1216f5e4
GM
11811 * alloc.c (mark_object): Don't mark symbol names in pure space.
11812 (gc_sweep): Don't unmark symbol names in pure space.
11813
11814 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11815 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11816 [GC_MARK_STACK]: New defines.
427ec082 11817 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11818 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11819
11820 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11821
11822 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11823 allocate_buffer instead of xmalloc.
11824
11825 * alloc.c (toplevel): Include setjmp.h.
11826 (PURE_POINTER_P): New define.
11827 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11828 (Vdead) [GC_MARK_STACK]: New variable.
11829 (lisp_malloc): Add parameter TYPE, call mem_insert if
11830 GC_MARK_STACK is defined.
11831 (allocate_buffer): New function.
427ec082 11832 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11833 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11834 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11835 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11836 (MEM_NIL) [GC_MARK_STACK]: New define.
11837 (struct mem_node) [GC_MARK_STACK]: New structure.
11838 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11839 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11840 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11841 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11842 (mark_stack) [GC_MARK_STACK]: New functions.
11843 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11844 (clear_marks): Removed.
11845 (gc_sweep): Set free conses' car, free floats' type, free
11846 symbols' function to Vdead. Use lisp_free to free buffers.
11847 (init_alloc_once): Initialize Vdead.
11848 (survives_gc_p): Return non-zero for pure objects.
11849
11850 * alloc.c: Add comments throughout the file.
11851
2503c8b1
GM
11852 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11853 that unblocks alarms.
11854
8389e1e2
GM
11855 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11856 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11857 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11858
10689a01 11859 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11860
bfc17d18
KH
118612000-02-17 Kenichi Handa <handa@etl.go.jp>
11862
4a09dee0
KH
11863 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11864 avoid infinite error signaling. Allocate sufficient memory for
11865 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11866
2b927d02
SM
118672000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11868
11869 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11870 depends on the previous behavior.
11871
b49cb764
GM
118722000-02-16 Gerd Moellmann <gerd@gnu.org>
11873
11874 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11875
99e95407
GM
118762000-02-15 Gerd Moellmann <gerd@gnu.org>
11877
11878 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11879
11880 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11881 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11882 write(2).
11883
6ffd3cf7
RS
118842000-02-15 Richard M. Stallman <rms@gnu.org>
11885
11886 * data.c (set_internal): Don't make variable buffer-local
11887 if within a let-binding for the same buffer.
11888 (let_shadows_buffer_binding_p): New function.
11889
11890 * eval.c (specbind): For buffer-local value,
11891 record the current buffer also.
11892 (unbind_to): Cope with that change.
11893
cad53475
GM
118942000-02-15 Gerd Moellmann <gerd@gnu.org>
11895
11896 * window.c (Fsave_window_excursion): Doc fix.
11897
1aa963c8
SM
118982000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11899
11900 * syntax.c (back_comment): Make sure we only consider comment-starters
11901 of the relevant style and return -1 in case of a failure to find the
11902 beginning of the comment.
11903 (Fforward_comment): If back_comment fails, go back to the position just
11904 after the comment-end.
11905 (scan_lists): Add comment describing a very minor bug.
11906
b9b84fd3
SM
119072000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11908
11909 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11910 `completion-regexp-list' in the docstring.
11911
3a28db80
DL
119122000-02-14 Dave Love <fx@gnu.org>
11913
11914 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11915
fb4a568d
SM
119162000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11917
11918 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11919 to Emacs' syntax. Also fix the comment about set/not-set meanings
11920 since Emacs syntax is not the value 0 any more.
11921 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11922 since it's now part of RE_SYNTAX_EMACS.
11923
1063ebb5
DL
119242000-02-12 Dave Love <fx@gnu.org>
11925
52283633 11926 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11927
fb07a302
GM
119282000-02-12 Gerd Moellmann <gerd@gnu.org>
11929
11930 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11931
aaf2320c
DL
119322000-02-12 Dave Love <fx@gnu.org>
11933
11934 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11935
11936 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11937 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11938 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11939
11940 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11941
11942 * s/nextstep.h: Don't define HAVE_ALLOCA.
11943
11944 * config.in: Add vfork bits.
11945
eedf8bde
GM
119462000-02-12 Gerd Moellmann <gerd@gnu.org>
11947
11948 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11949 unwind function to undo the effect of stopping atimers.
11950
52283633 11951 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11952
11953 * atimer.c (stopped_atimers): New variable.
11954 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11955 New functions.
11956
11957 * atimer.h (stop_other_atimers, run_all_atimers)
11958 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11959
eedf8bde
GM
11960 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11961
8476c2f8
KR
119622000-02-11 Ken Raeburn <raeburn@gnu.org>
11963
11964 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11965 library may depend on jpeg.
11966 (atimer.o): Depends on atimer.c.
11967
0e85e4a3
KH
119682000-02-11 Kenichi Handa <handa@etl.go.jp>
11969
11970 * insdel.c (del_range_1): Call update_compositions.
11971 (del_range_both): Call update_compositions just once..
11972
97fa0cc8
DL
119732000-02-10 Dave Love <fx@gnu.org>
11974
11975 * xfns.c (create_frame_xic): Fix initialization of automatic
11976 aggregates for pcc.
11977
25566a3c
KH
119782000-02-09 Kenichi Handa <handa@etl.go.jp>
11979
11980 * ccl.c (CCL_MAKE_CHAR): New macro.
11981 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
11982 registers by CCL_MAKE_CHAR before calling translate_char.
11983 <CCL_TranslateCharacterConstTbl> Likewise.
11984
69da54ba
DL
119852000-02-08 Dave Love <fx@gnu.org>
11986
11987 * lread.c (__EXTENSIONS__): Define.
11988
f7136ee8
GM
119892000-02-08 Gerd Moellmann <gerd@gnu.org>
11990
11991 * puresize.h (BASE_PURESIZE): Increase to 650000.
11992
7768790b
EZ
119932000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11994
11995 * msdos.c (XMenuActivate): Turn off the cursor after displaying
11996 the help message.
11997
38fd211b
EZ
119982000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
11999
12000 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12001 md, mh, mb, mr, and me to the fake termcap entry.
12002
66e4690f
KR
120032000-02-06 Ken Raeburn <raeburn@gnu.org>
12004
12005 * sound.c (sound_cleanup): Don't call device close routine if the
12006 function pointer is null.
12007
a75dfea0
AI
120082000-02-06 Andrew Innes <andrewi@gnu.org>
12009
12010 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12011 around image definitions and prototypes.
12012 (gamma_correct) [WINDOWSNT]: New prototype.
12013
12014 * w32term.c (x_make_frame_visible): Replace call to
12015 input_poll_signal with poll_for_input.
12016
12017 * window.c [WINDOWSNT]: Include w32term.h.
12018
12019 * xdisp.c [WINDOWSNT]: Include w32term.h.
12020
12021 * makefile.nt: Add dependencies on w32gui.h.
12022 (OBJ1): Include atimer.obj.
12023 ($(BLD)\atimer.obj): New dependency rule.
12024
12025 * w32.c (sigmask): New function (does nothing).
12026 (sigunblock): Ditto.
12027
12028 * frame.c [WINDOWSNT]: Include w32term.h.
12029
12030 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12031
12032 * lread.c (syms_of_lread): Fix literal newlines.
12033
12034 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12035 the string constant limit (2048 bytes) in MSVC.
12036 (main): Ditto.
12037
59ddecde
GM
120382000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12039
52283633 12040 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12041 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12042 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12043 dispatch the event.
12044
07590973
DL
120452000-02-04 Dave Love <fx@gnu.org>
12046
12047 * fileio.c: Remove some unused vars.
12048 (_GNU_SOURCE): Define (for euidaccess).
12049
12050 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12051
12052 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12053 gcpro1, gcpro2.
12054 (read_minibuf): Deal with allow_props correctly.
12055
649351f9
EZ
120562000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12057
12058 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12059
66e4690f 120602000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12061
12062 * search.c (compile_pattern): If a cache entry has a nil regexp,
12063 fill in that entry instead of clobbering a previously cached
12064 string regexp.
12065
66e4690f 120662000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12067
12068 * puresize.h (BASE_PURESIZE): Increase to 610000.
12069
d240a249
GM
120702000-02-02 Gerd Moellmann <gerd@gnu.org>
12071
12072 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12073 can GC.
12074
ca91fb26
KH
120752000-02-02 Kenichi Handa <handa@etl.go.jp>
12076
25660570
KH
12077 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12078 instead of incrementing ic directly.
12079 <CCL_WriteExprConst> Likewise.
12080 <ccl_set_expr>: Set ic to jump_address.
12081
ca91fb26
KH
12082 * fileio.c (e_write): Fix the handling of
12083 CODING_FINISH_INSUFFICIENT_SRC.
12084
2ede9689
DL
120852000-02-01 Dave Love <fx@gnu.org>
12086
12087 * editfns.c (Fpropertize): Doc fix.
12088
12089 * process.c (Fstart_process): Doc fix.
12090
12091 * eval.c: Fix various doc strings not to duplicate information
12092 from help-manyarg-func-alist.
12093
52283633 12094 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12095
12096 * doc.c (Vhelp_manyarg_func_alist): New variable.
12097 (Fdocumentation): Use it.
12098 (syms_of_doc): Define it.
12099
b6680a0e
GM
121002000-01-31 Gerd Moellmann <gerd@gnu.org>
12101
2cb750ba
GM
12102 * xterm.c (xim_open_dpy): Remove unused local variable.
12103
52283633 12104 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12105
12106 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12107 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12108
b6680a0e
GM
12109 * fns.c (sweep_weak_table): New function.
12110 (sweep_weak_hash_tables): Use it. Keep on marking until there
12111 is no more change.
12112
994c5afe
GM
121132000-01-30 Gerd Moellmann <gerd@gnu.org>
12114
12115 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12116 that XTread_socket does not crash by trying to call XNoOp on a
12117 closed display.
427ec082 12118
f00276e3
JR
121192000-01-30 Jason Rumney <jasonr@gnu.org>
12120
12121 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12122 Change selected_frame to SELECTED_FRAME ().
12123 (w32_console_mouse_position): Remove #ifndef MULE from around
12124 `insist' parameter.
12125
12126 * makefile.nt: Remove dosfns.obj.
12127
12128 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12129
12130 * w32fns.c (w32_defined_color): Check for valid frame before
12131 applying gamma correction. Eliminate dependency on frame elsewhere.
12132 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12133 (w32_to_x_font): Use resx and resy not height_in and width_in.
12134 (x_to_w32_font): Doc fix.
12135 (xlfd_strip_height): New function to strip and return font height.
12136 (w32_font_match): Compare height separately from rest of xlfd
12137 spec, using xlfd_strip_height.
12138
12139 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12140 width_in. Use w32_defined_color in place of defined_color.
12141
12142 * w32faces.c: Merge more of DOS and X specifics in preparation for
12143 merge with xfaces.c.
12144 (defined_color): Remove FIXME comment.
12145 (tty_color_name): Provide w32-specific function.
12146 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12147
12148 * w32console.c (turn_on_face, turn_off_face): Removed.
12149 (w32_face_attributes): New function.
12150 (Global_variables): Reduce scope where possible.
12151 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12152 fill attribute.
12153 (hl_mode): Don't modify text attributes.
12154 (write_glyphs): Don't do anything if len <= 0. Use
12155 w32_face_attributes to get attributes for drawing. Write
12156 terminating codes using char_attr_normal.
12157 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12158 (update_begin, update_end): Likewise.
12159 (vga_stdcolor_name): New function.
12160 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12161 (Fset_screen_color): Remove char_attr_reverse.
12162
b08e8bb2
GM
121632000-01-29 Gerd Moellmann <gerd@gnu.org>
12164
12165 * xfns.c (xic_set_preeditarea): Take window parameter and
12166 window-relative pixel-positions.
12167
12168 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12169 is its frame's selected window.
12170 (xim_instantiate_callback): Likewise.
12171
12172 * xfns.c (x_create_im): Removed.
12173 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12174 (supported_xim_styles): Renamed from supported_styles.
12175 (best_xim_style): Renamed from best_style.
12176 (create_frame_xic): Renamed from xic_create_frame.
12177 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12178
b08e8bb2
GM
121792000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12180
12181 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12182 our frames, call XFilterEvent with 2nd parameter `None'.
12183 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12184 returning XBufferOverflow.
52283633 12185 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12186 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12187 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12188 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12189 (xim_initialize, xim_close)
12190 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12191 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12192 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12193 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12194
12195 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12196 and `xim_styles'.
12197 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12198 `xic_style' and `xic_xfs'.
12199 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12200 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12201 (FRAME_XIM): Removed.
12202
12203 * xfns.c (supported_styles): New variable.
12204 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12205 (xic_create_xfontset, best_style, xic_create_frame)
12206 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12207 (xic_set_xfontset): New functions.
12208
142e109c
DL
122092000-01-28 Dave Love <fx@gnu.org>
12210
12211 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12212
12213 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12214
b02786f9
GM
122152000-01-28 Gerd Moellmann <gerd@gnu.org>
12216
d060bc9f
GM
12217 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12218 for *scratch* if it already existed.
12219
b02786f9
GM
12220 * emacs.c (USAGE): New macro.
12221 (main): Use it to display usage information.
12222
2c52d7e4
EZ
122232000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12224
12225 Support for the menu-help feature:
12226
52283633 12227 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12228
12229 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12230 part of the line to the termscript file.
12231 (IT_clear_to_end): Clear the entire line, not just its beginning.
12232 (menu_help_message, prev_menu_help_message): New variables.
12233 (IT_menu_make_room): Make room for the help_text member.
12234 (IT_menu_display): New argument disp_help; all callers changed.
12235 If disp_help is non-zero, store the help text of the active menu
12236 item in menu_help_message.
12237 (XMenuAddPane): Initialize the help_text member to NULL.
12238 (XMenuAddSelection): New argument help_text. Store it in the
12239 XMenu structure.
12240 (XMenuActivate): New argument help_callback. If the value of
12241 menu_help_message has changed since the last time, display the
12242 menu help message text while waiting for the mouse to move. Clear
12243 the echo area before exiting.
12244 (XMenuDestroy): Free the help_text member.
12245
ffe0bcd1
GM
122462000-01-27 Gerd Moellmann <gerd@gnu.org>
12247
12248 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12249 XMenuAddSelection. Pass help callback to XMenuActivate.
12250 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12251
50dbd23f
EZ
122522000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12253
12254 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12255 and EMACS_SET_USECS.
12256
f5941bf8
GM
122572000-01-26 Dave Love <fx@gnu.org>
12258
6c67ddee
DL
12259 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12260
f5941bf8
GM
12261 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12262 an error may be signalled.
12263
9e49c990
GM
122642000-01-26 Gerd Moellmann <gerd@gnu.org>
12265
fc3cb460
GM
12266 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12267 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12268
9e49c990
GM
12269 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12270
d0c037d8
GM
122712000-01-25 Gerd Moellmann <gerd@gnu.org>
12272
12273 * charset.c (Fstring): If there is a multibyte char among
12274 the args, always return a multibyte string.
12275
e12489f9
GM
122762000-01-25 Gerd Moellmann <gerd@gnu.org>
12277
12278 * sysdep.c (sys_select): Turn atimers off and on instead of
12279 recording and restoring old alarm handler
12280
12281 * process.c (toplevel): Include atimer.h.
12282 (create_process_1): Rewritten.
12283 (create_process): Use atimers instead of alarm.
12284 (wait_reading_process_input) [hpux]: Turn atimers off instead
12285 of turning off SIGALRM.
12286 (wait_reading_process_input): Turn off atimers instead off
12287 calling stop_polling.
12288
12289 * emacs.c (main): Call init_atimer.
12290
12291 * keyboard.c (toplevel): Include systime.h and atimer.h.
12292 (polling_for_input): Removed because unused.
12293 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12294 (poll_timer): New variable.
12295 (poll_for_input, poll_for_input_1): New functions.
12296 (start_polling, stop_polling): Rewritten.
12297
12298 * keyboard.h (polling_for_input): Removed.
427ec082 12299
e12489f9
GM
12300 * atimer.h, atimer.c: New files.
12301
12302 * Makefile.in (obj): Add atimer.o.
12303 (atimer.o): New target.
12304
12305 * blockinput.h (pending_atimers): Add extern declaration.
12306 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12307
12308 * lisp.h (popup_activated_flag): Add extern declaration.
12309
12310 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12311 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12312 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12313
12314 * xterm.c (toplevel): Include atimer.h.
12315 (toolkit_scroll_bar_interaction): New variable.
12316 (Fxt_process_timeouts): Removed.
12317 (x_process_timeouts): New function.
12318 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12319 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12320 (x_make_frame_visible): Call poll_for_input_1 instead of
12321 input_poll_signal. Don't call alarm.
12322 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12323
1e5279b9
DL
123242000-01-24 Dave Love <fx@gnu.org>
12325
6c67ddee 12326 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12327 Don't use -cckr -- apparently not now necessary.
12328
edf6aeb8
EZ
123292000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12330
12331 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12332 screen boundary.
12333
9badad41
JR
123342000-01-23 Jason Rumney <jasonr@gnu.org>
12335
12336 * w32fns.c (w32_defined_color): Apply gamma correction before
12337 trying to map to the palette.
12338 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12339 to w32_clear_rect.
12340
12341 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12342 here. Callers changed to always pass real device context.
12343 (w32_draw_bitmap): Likewise.
12344 (w32_get_glyph_overhangs): Likewise.
52283633 12345 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12346 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12347 pfnSetScrollInfo and SetScrollRange.
12348 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12349 back into MULE characters after decoding them.
12350 (x_get_glyph_face_and_encoding): Likewise.
12351 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12352 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12353 (x_produce_glyphs): Calculate per char metrics for a character
12354 that we know exists in default font when font_not_found_p is true.
12355
63bd786b
JR
123562000-01-22 Jason Rumney <jasonr@gnu.org>
12357
12358 * makefile.nt (intervals.obj, composite.obj): New modules.
12359 (composite.h): Added as dependency where appropriate.
12360
12361 * w32gui.h (XGCValue): New struct for emulating X GCs.
12362
12363 * w32term.h (XCharStruct): New struct for emulating X.
12364
12365 * w32console.c (turn_on_face, turn_off_face): New functions.
12366 (change_line_highlight): New prototype for new redisplay.
12367 (write_glyphs): Support multibyte text. Support faces.
12368
52283633 12369 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12370
12371 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12372 throughout. struct frame * in place of FRAME_PTR.
12373 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12374 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12375 (w32_get_arg): Renamed from x_get_arg.
12376 (Fx_file_dialog): New function.
12377 (w32_list_fonts): Check cache before asking system.
12378 (Vw32_enable_synthesized_fonts): New variable.
12379 (Vw32_enable_italics): Obsolete, removed.
12380
12381 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12382 Use SELECTED_FRAME macro.
12383
12384 * w32menu.c: Add skeleton support for help strings on menus.
12385 (add_menu_item): Native checkbox and radio support added, but not
12386 yet enabled due to bugs.
12387 (push_menu_item): Add parameters type, selection and help.
12388 Callers updated.
12389 Formatting changes to reduce unnecessary diffs with xmenu.c.
12390
12391 * w32select.c (Fw32_set_clipboard_data): Update call to
12392 find_charset_in_str.
12393
12394 * w32term.c: Complete rewrite for new redisplay based on new
12395 xterm.c with necessary sections merged back in from old w32term.c.
12396
6ffd3cf7 123972000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12398
12399 * data.c (set_internal): Further fix in same criterion.
12400
6ffd3cf7 124012000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12402
12403 * data.c (set_internal): Fix the criteria for whether
12404 to swap out the old cached binding.
12405
60af03f1
DL
124062000-01-19 Dave Love <fx@gnu.org>
12407
12408 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12409
f9be074f
KH
124102000-01-18 Kenichi Handa <handa@etl.go.jp>
12411
12412 * regex.c (re_compile_fastmap): While checking a range table for
12413 `charset', skip flag bits for a character class correctly.
12414
52b8dbf9
GM
124152000-01-17 Gerd Moellmann <gerd@gnu.org>
12416
d36100c9
GM
12417 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12418
52283633 12419 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12420
12421 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12422 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12423
12424 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12425 MENU_ITEMS_ITEM_.*.
12426 (MENU_ITEMS_ITEM_HELP): New enumerator.
12427 (push_menu_item): Add parameter HELP. Record help in menu_items.
12428 (single_menu_item, single_submenu, list_of_items): Call
12429 push_menu_item with new parameter.
12430 (single_submenu): Set help string in widget value.
12431 (menu_highlight_callback): New function.
12432 (set_frame_menubar): Call lw_create_widget with new
12433 parameter list.
12434 (xmenu_show, xdialog_show): Ditto.
12435
3139018f
GM
124362000-01-13 Gerd Moellmann <gerd@gnu.org>
12437
12438 * sound.c (Fplay_sound): Improve doc string.
12439
83c8f461
RS
124402000-01-11 Richard M. Stallman <rms@gnu.org>
12441
12442 * lisp.h (set_internal): Enter the new arg.
12443
12444 * eval.c (specbind): Record buffer-local variables specially,
12445 indicating which buffer's binding was saved.
12446 (unbind_to): Restore buffer-local variables specially
12447 in the proper buffer.
12448
12449 * data.c (set_internal): New arg BUF.
427ec082 12450
83c8f461
RS
12451 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12452 * data.c (Fset): Pass new arg to set_internal.
12453 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12454
1fab1775
GM
124552000-01-11 Gerd Moellmann <gerd@gnu.org>
12456
52283633 12457 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12458
83c8f461 124592000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12460
12461 * minibuf.c (Ftry_completion): Doc fix.
12462
7a85e4df
GM
124632000-01-11 Gerd Moellmann <gerd@gnu.org>
12464
12465 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12466 vector, too.
12467
a970dae4
AS
124682000-01-11 Andreas Schwab <schwab@suse.de>
12469
12470 * coding.c (code_convert_region): Initialize total_skip.
12471
c65d14ee
DL
124722000-01-08 Dave Love <fx@gnu.org>
12473
12474 * eval.c (Fuser_variable_p): Check customizability too.
12475
834938d2
GM
124762000-01-07 Gerd Moellmann <gerd@gnu.org>
12477
12478 * minibuf.c (Fcompleting_read): Doc fix.
12479
e0303cd6
GM
124802000-01-05 Gerd Moellmann <gerd@gnu.org>
12481
8a26744b
GM
12482 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12483 -L /usr/local/lib.
12484
e0303cd6
GM
12485 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12486 Check that input style is supported before trying to create an
12487 IC for it.
12488 (x_window): Call x_create_im.
427ec082 12489
2e471eb5
GM
124902000-01-04 Gerd Moellmann <gerd@gnu.org>
12491
560a7bd2
GM
12492 * xfns.c (current_gif_memory_src): New variable.
12493 (gif_load): Record the address of the current memory source
12494 in current_gif_memory_src.
12495 (gif_read_from_memory): Use current_gif_memory_src.
12496
f9ee84a3
GM
12497 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12498 macros statement form.
12499
d1299cde
GM
12500 * sound.c (struct sound): Renamed from struct sound_file.
12501 (struct sound): Add members `data' and `header_size'.
12502 (enum sound_attr): Add SOUND_DATA.
12503 (current_sound, current_sound_device): Variables renamed from
12504 sound_file and sound_device.
12505 (parse_sound): Parse :data.
12506 (parse_sound): Handle sound data in strings.
12507 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12508 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12509 needed header size.
12510 (wav_play, au_play): Play sounds from string data.
12511
2e471eb5
GM
12512 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12513
12514 * lisp.h: Add prototype for allocate_string_data.
12515
52283633 12516 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12517
12518 * alloc.c (mark_buffer): Remove code in #if 0.
12519 (gc_sweep): Ditto.
12520 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12521 (strings_consed): New variable.
12522 (allocate_string): Set it.
12523 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12524 (Fmemory_use_counts): Return strings_consed. Use Flist.
12525
12526 * alloc.c: General cleanup in comments etc. Remove conditional
12527 compilation for `standalone'.
12528
12529 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12530
12531 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12532 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12533 (DONT_COPY_FLAG): Removed.
12534 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12535 (struct sdata, struct sblock): New
12536 (struct string_block): Rewritten.
12537 (STRINGS_IN_STRING_BLOCK): New macro.
12538 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12539 (large_sblocks, string_blocks, string_free_list): New variables.
12540 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12541 (init_strings): Rewritten.
12542 (allocate_string, allocate_string_data, compact_small_strings)
12543 (free_large_strings, sweep_strings): New functions.
12544 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12545 (struct string_block_head, current_string_block)
12546 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12547 (STRING_PAD): Removed.
12548 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12549 (Fgarbage_collect): Don't set mark bit in large strings.
12550 (mark_object): Mark strings differently. Mark symbol names
12551 differently.
12552 (survives_gc_p): Test marked strings differently.
427ec082 12553 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12554 symbol names.
12555 (compact_strings): Removed.
12556
42608ba8
EZ
125572000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12558
12559 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12560 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12561
e0a09e1a
KH
125622000-01-04 Kenichi Handa <handa@etl.go.jp>
12563
dd9f0750 12564 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12565 in a non-empty buffer.
dd9f0750 12566
3c0f3b15 12567 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12568
44cd3ae5
GM
125692000-01-03 Gerd Moellmann <gerd@gnu.org>
12570
12571 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12572 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12573
12574 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12575
c182a70f
EZ
125762000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12577
12578 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12579 need to test for MSDOS frames.
12580
24480d5b
EZ
125812000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12582
12583 * dosfns.c (unspecified_colors): Remove.
12584 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12585 unspecified_bg.
12586 (msdos_stdcolor_name): Return strings for unspecified fore- and
12587 back-ground colors.
12588
12589 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12590 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12591 (tty_color_name): Return Lisp strings for unspecified fore- and
12592 back-ground colors.
12593 (Finternal_set_lisp_face_attribute): Remove the special treatment
12594 for Qunspecified_{f,b}g.
52283633 12595 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12596
047f434a
GM
125972000-01-03 Gerd Moellmann <gerd@gnu.org>
12598
12599 * xdisp.c (reseat_at_next_visible_line_start): Position before
12600 newline only if ending up on a newline.
12601 (next_element_from_ellipsis): Return success. Handle case of
52283633 12602 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12603 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12604 returns 0.
12605
d684c676
EZ
126062000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12607
12608 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12609 (Fcolor_supported_p): Renamed from face-color-supported-p.
12610
5fe1d139
EZ
126112000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12612
12613 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12614 list of colors renamed to tty-defined-color-alist.
12615 (tty_color_name): Pass the frame to tty-color-by-index.
12616 (realize_tty_face): tty-color-alist is now a function which
12617 accepts the frame as argument.
12618
52283633 12619 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12620
816be8b8
EZ
126212000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12622
12623 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12624 encode_terminal_code.
12625
b635321e
EZ
126262000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12627
12628 * dispnew.c (mode_line_string): Support termcap frames as well.
12629
9b784e96
GM
126302000-01-01 Gerd Moellmann <gerd@gnu.org>
12631
27189709
GM
12632 * syntax.c (Fforward_word): Undo previous change.
12633
12634 * editfns.c (Fconstrain_to_field): Don't constrain if
12635 inhibit-field-text-motion is non-nil.
12636 (Fline_beginning_position): Undo previous change.
12637 (Fline_end_position): Ditto.
12638
12639 * syntax.c (Fforward_word): Notice field boundaries only if
12640 inhibit-field-text-motion is nil.
12641
12642 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12643
12644 * editfns.c (Vinhibit_field_text_motion): New variable.
12645 (inhibit-field-text-motion): New DEFVAR_LISP.
12646 (Fline_beginning_position, Fline_end_position): Notice field
12647 boundaries only if inhibit-field-text-motion is nil.
12648
45158a91
GM
12649 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12650 All calls adjusted.
12651 (x_build_heuristic_mask): Likewise.
12652 (xbm_load_image_from_file): Change error output.
12653 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12654 (gif_load, gs_load, x_kill_gs_process): Ditto.
12655
9b784e96
GM
12656 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12657 color indices when accessing raster pixels.
63cec32f
GM
12658 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12659 one of :file or :data.
12660 (enum pbm_keyword_index): Add PBM_DATA.
12661 (pbm_format): Add :data.
12662 (pbm_image_p): Allow either :file or :data.
12663 (pbm_read_file): New function.
12664 (pbm_scan_number): Rewritten to read from string.
12665 (pbm_load): Support :data.
9b784e96 12666
2cb085db 12667See ChangeLog.8 for earlier changes.
6922b018
KH
12668
12669;; Local Variables:
49b3bd82 12670;; coding: iso-2022-7bit
6922b018 12671;; End:
2a34a036
GM
12672
12673 Copyright (C) 2001 Free Software Foundation, Inc.
12674 Copying and distribution of this file, with or without modification,
12675 are permitted provided the copyright notice and this notice are preserved.