(apropos-symbol): Add `skip' property.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
1aad31e4
PJ
12001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
9180dc8c
PJ
3 * xfaces.c (free_frame_menubar): Add prototype.
4
01f67d2c
PJ
5 * lisp.h (init_window): Add prototype.
6
7 * editfns.c: Include ctype.h.
8
9 * xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
10 (xm_scroll_callback) [USE_MOTIF]: Remove unused variable
11 `percent'.
12 (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
13 variable `sb'.
14
5f351ff1
PJ
15 * xfns.c (Fx_hide_tip): Fix typo in a doc string.
16 (Fx_file_dialog) [USE_MOTIF]: Remove unused variables
17 `popup_activated_flag' and `title'.
18
479dfe87
PJ
19 * doc.c (Fdocumentation_property): Fix typo in a doc string.
20
dff49fc8
PJ
21 * emacs.c (main): Remove extra `;'.
22
248ac615
PJ
23 * atimer.h (struct atimer): Fix typos in a comment.
24
25 * atimer.c: Fix typo.
26
af232c7d
PJ
27 * Makefile.in: Fix typo.
28
29 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 30
d876f455
MB
312001-10-07 Miles Bader <miles@gnu.org>
32
33 * Makefile.in (lisp, shortlisp): Add `button.elc'.
34
0037e2f2
KR
352001-10-07 Ken Raeburn <raeburn@gnu.org>
36
b056f36d
KR
37 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
38 Lisp_Object.
39
0037e2f2
KR
40 * lisp.h (Ffield_end): Declare.
41
1a4372ef
GM
422001-10-07 Gerd Moellmann <gerd@gnu.org>
43
a4a74e8c
GM
44 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
45
46 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
47
48 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
49
50 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
51
1a4372ef
GM
52 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
53 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
54
55 * alloc.c (inhibit_garbage_collection): Simplify.
56 (Fmemory_use_counts): Ditto.
57
58 * data.c (most_positive_fixnum, most_negative_fixnum): New
59 variables.
60 (syms_of_data): DEFVAR_INT most-positive-fixnum and
61 most-negative-fixnum.
62
63 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
64 (FIXNUM_OVERFLOW_P): New macros.
65
4650e362
MB
662001-10-06 Miles Bader <miles@gnu.org>
67
68 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
69 scroll_bar_bottom_shadow_pixel fields.
70 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
71 for the shadows, and tell the toolkit about them if we succeed.
72 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
73 Free scroll-bar shadow colors.
74 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
75 Free scroll-bar shadow colors when the background color changes.
76 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
77 Initialize scroll-bar shadow-color fields.
78
ace64e0a
GM
792001-10-05 Gerd Moellmann <gerd@gnu.org>
80
81 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
82
ec66bdc7
MB
832001-10-05 Miles Bader <miles@gnu.org>
84
85 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
86 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
87 New functions (were in simple.el).
88 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
89 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
90 (syms_of_minibuf): Initialize them.
91
a0fb4492
GM
922001-10-05 Gerd Moellmann <gerd@gnu.org>
93
94 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
95 (tiff_load): Install them as error and warning handler.
96
0bcf87c1
AI
972001-10-04 Andrew Innes <andrewi@gnu.org>
98
99 * w32fns.c (x_to_w32_color): Fix argument to alloca.
100 (w32_load_system_font): Don't believe what GetLanguageFontInfo
101 says; query codepage info directly to determine if font is double
102 byte.
103 (x_to_w32_charset): Handle private format for unknown charsets.
104 Handle wildcards in charset spec, by ignoring them.
105 (w32_codepage_for_font): Fix argument to alloca. Don't remove
106 "*-" prefix from charset.
107 (x_to_w32_font): Enlarge remainder array for safety. Specifically
108 handle the truncated font spec form constructed by font_list_1, so
109 that we correctly identify the charset fields. Don't remove "*-"
110 prefix from charset.
111 (w32_list_synthesized_fonts): Fix argument to alloca.
112
c89e4bc5
GM
1132001-10-04 Stefan Monnier <monnier@cs.yale.edu>
114
115 * window.h (MINI_WINDOW_P): Use NILP.
116
117 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
118
119 * termhooks.h (struct input_event): Use proper type for `kind'.
120
1212001-10-04 Gerd Moellmann <gerd@gnu.org>
122
123 This handles unknown keysyms better than before. For example,
124 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
125 Emacs formerly completely ignored F5. With the change, it derives
126 a key symbol from the name of the X keysym, `ccaron' in this case.
127 Reported by Martin Buchholz.
128
129 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
130 unknown keysyms.
131
132 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
133 that EVENT->code isn't a function key, use the keysym's name.
134
1352001-10-04 Gerd Moellmann <gerd@gnu.org>
136
137 FOREACH is a macro that should make it easier to loop over Lisp
138 lists with checks for cycles and proper lists.
139
140 * lisp.h (LIST_END_P, FOREACH): New macros.
141
1422001-10-04 Gerd Moellmann <gerd@gnu.org>
143
144 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
145 called for a lost connection. Prevent dumping core in this case.
146 Instead print the X error, and exit. On user request.
147
148 * xterm.c (error_msg): New variable.
149 (x_fatal_error_signal): New function.
150 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
151 as fatal_error_signal_hook around the call to XtCloseDisplay.
152
153 * emacs.c (fatal_error_signal_hook): New variable.
154 (fatal_error_signal): Call that function.
155
1562001-10-04 Gerd Moellmann <gerd@gnu.org>
157
158 With this, Emacs prints how much pure storage it will
159 approximately need in case pure storage overflows while dumping.
160
161 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
162 New variables.
163 (init_alloc_once): Initialize new variables.
164 (PURE_POINTER_P): Use new variables.
165 (pure_alloc): If pure storage overflows, allocate from the heap.
166 (check_pure_size): New function.
167 (Fgarbage_collect): Don't GC if pure storage has overflowed.
168
169 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
170 (check_pure_size): Add prototype.
171
172 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
173
1742001-10-04 Gerd Moellmann <gerd@gnu.org>
175
176 This adds a post-gc-hook that's run with GC inhibited.
177 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
178
179 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
180 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
181 (Fgarbage_collect): Run post-gc-hook.
182
1832001-10-04 Gerd Moellmann <gerd@gnu.org>
184
185 This adds `defvaralias' and `indirect-variable'. Changes not
186 directly related to this feature are there to gain the same
187 performance again as before variable aliases.
188
189 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
190 code to get and set symbol values, to take defvaralias into account.
191
192 (Note: the new `constant' bit-flag in symbols would make it
193 possible to define arbitrary read-only variables, e.g. with
194 `defconst'.)
195
196 Documentation is in lispref/variables.texi. Added to NEWS.
197
198 * lisp.h (enum symbol_interned): New enumeration.
199 (struct Lisp_Symbol): Remove member `obarray', add
200 `indirect_variable', `constant', and `interned'.
201 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
202 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
203 (indirect_variable): Add prototype.
204
205 * print.c (print_preprocess, print_object): Test internedness of
206 symbols differently.
207
208 * lread.c (Fintern, Funintern): Set symbol's interned and constant
209 bit-fields.
210 (init_obarray): Likewise for t and nil.
211
212 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
213 (Fdefvaralias): New function.
214 (specbind): Simplify the test if symbol is a constant.
215 (syms_of_eval): Defsubr Fdefvaralias.
216
217 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
218 (Qcyclic_variable_indirection): New variable.
219 (Fkeywordp): Check for internedness differently.
220 (Fmakunbound): Simplify the test if symbol is a constant.
221 (indirect_variable, Findirect_variable): New functions.
222 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
223 aliased symbol.
224 (let_shadows_buffer_binding_p): Check for variable aliases.
225 (set_internal): Simplify the test if SYMBOL is a constant.
226 If SYMBOL has a buffer-local value and is an alias, use the aliased
227 symbol instead.
228 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
229 Sindirect_variable.
230
231 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
232 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
233 set directly.
234
235 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
236
237 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
238 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
239 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
240
ba88ff28
MB
2412001-10-03 Miles Bader <miles@gnu.org>
242
243 * callproc.c (syms_of_callproc): Explicitly state in the
244 documentation for `process-environment' that earlier entries take
245 precedence over later ones.
246
ae1a9581
MB
2472001-10-02 Miles Bader <miles@gnu.org>
248
249 * textprop.c (Fnext_char_property_change)
250 (Fprevious_char_property_change): Remove reference to non-existant
251 argument OBJECT from doc-string.
252
257e3f57
GM
2532001-10-01 Gerd Moellmann <gerd@gnu.org>
254
255 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
256 (try_window_id): Skip back over lines ending in a newline from a
257 string.
258
259 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
260 New bit flag
261
c1f29759
RS
2622001-10-01 Richard M. Stallman <rms@gnu.org>
263
264 * search.c (Freplace_match): Doc fix.
265
c30dce3d
AI
2662001-09-28 Andrew Innes <andrewi@gnu.org>
267
268 * w32menu.c (set_frame_menubar): Take into account that
269 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
270 <raeburn@gnu.org>.
271
03be5931
EZ
2722001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
273
274 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
275
75bec752
PJ
2762001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
277
278 * s/gnu-linux.h: Fix a typo in comment.
279
83100e0a
AS
2802001-09-28 Andreas Schwab <schwab@suse.de>
281
282 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
283 nocombreloc, in case -z combreloc is the default.
284
a74b48cf
GM
2852001-09-28 Gerd Moellmann <gerd@gnu.org>
286
287 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
288 really going on here.
289
09c4719e
SM
2902001-09-27 Stefan Monnier <monnier@cs.yale.edu>
291
292 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
293
f7d5d963
EZ
2942001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
295
296 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
297 utf-8, menu-bar, and latin-N.
298 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
299 unconditionally now.
300 (lisp): Add latin-N, since they are preloaded.
301
9240e746
GM
3022001-09-27 Gerd Moellmann <gerd@gnu.org>
303
14531065
GM
304 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
305 to the left. Some cleanup.
306
9240e746
GM
307 * xdisp.c (display_mode_element): One more case where a string's
308 multibyteness should be used for display.
309
edd1e654
GM
3102001-09-26 Gerd Moellmann <gerd@gnu.org>
311
b02439c8
GM
312 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
313 reading at EOF.
314
032906b1 315 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 316 of the only temporarily set echoing flag for deciding when
032906b1
GM
317 the cancel echoing.
318
319 * keyboard.c (echo_kboard): Make externally visible.
320
321 * lisp.h (echo_kboard): Declare extern.
322
cb617e7c 323 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 324 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
325 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
326 this round of redisplay if make_cursor_line_fully_visible fails.
327 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 328 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
329
330 * dispextern.h (required_matrix_width, required_matrix_height):
331 Add prototypes.
332
09c4719e
SM
333 * dispnew.c (required_matrix_width, required_matrix_height):
334 New functions.
cb617e7c 335 (allocate_matrices_for_window_redisplay)
09c4719e
SM
336 (allocate_matrices_for_frame_redisplay: Use them.
337 Remove parameters CH_DIM.
cb617e7c 338
edd1e654
GM
339 * xdisp.c (display_mode_lines): Temporarily set selected_frame
340 and selected_window to the frame of the window whose mode-lines
341 are displayed, and to the window itself.
342 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 343 here.
edd1e654 344
924b604c
GM
3452001-09-25 Gerd Moellmann <gerd@gnu.org>
346
daba7643
GM
347 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
348 the image cache under us.
349
b7a22712 350 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 351 with a string value, use that string's multibyteness for displaying.
b7a22712 352
ad648212
GM
353 * keyboard.c (read_char): Don't clear a message for a switch-frame
354 event. From Stefan Monnier <monnier@cs.yale.edu>.
355
9f8531e5
GM
356 * xterm.c (fast_find_position) [0]: Add a presumably more correct
357 version for after 21.1.
358
359 * xdisp.c (row_containing_pos): Make externally visible.
360
361 * dispextern.h (row_containing_pos): Add prototype.
362
924b604c
GM
363 * process.c (send_process): Disable composition if from_byte < 0.
364 From Kenichi Handa <handa@etl.go.jp>.
365
6f3f0db4
GM
3662001-09-24 Gerd Moellmann <gerd@gnu.org>
367
c69c0ebc
GM
368 * xterm.c (refreshicon): Function removed.
369
d1182bc4
GM
370 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
371
372 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
373
374 * xterm.c (toplevel): Remove includes in #if 0.
375
6f3f0db4
GM
376 * process.c (sigchld_handler) [LINUX]: Don't return from
377 the signal handler at the end of the loop.
378
59957f85
GM
3792001-09-21 Gerd Moellmann <gerd@gnu.org>
380
09c4719e
SM
381 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
382 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 383
a0528984
EZ
3842001-09-21 Markus Rost <rost@math.ohio-state.edu>
385
386 * Makefile.in (shortlisp): Add ../lisp/env.elc.
387
db92b288
GM
3882001-09-20 Gerd Moellmann <gerd@gnu.org>
389
3fed8ad5
GM
390 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
391 since this function can be called during GC.
392
db92b288
GM
393 * callproc.c (Fcall_process): Handle errors from pipe(2).
394 (child_setup): Delete code in #ifdef vipc.
395
7121b85a
GM
3962001-09-19 Gerd Moellmann <gerd@gnu.org>
397
72f62cb5
GM
398 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
399 (display_mode_element): Display the string from decode_mode_spec
400 depending on its multibyteness.
401
a2697022
GM
402 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
403
7121b85a
GM
404 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
405
bfc97351
GM
4062001-09-18 Gerd Moellmann <gerd@gnu.org>
407
c9063433
GM
408 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
409 recursive_edit_unwind.
410 (recursive_edit_unwind): Set kboard state according to
411 SINGLE-KBOARD.
412
3fbdba3e
GM
413 * buffer.c (modify_overlay): Don't do nothing if START == END;
414 This can still be a modification, for example when an overlay has
415 a before-string or after-string.
416 (Fdelete_overlay): Prevent redisplay optimizations when deleting
417 an overlay with before-string or after-string.
418
1270031d
GM
419 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
420 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
421
bfc97351
GM
422 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
423 first_unchanged_at_end_row is in front of
424 last_unchanged_at_beg_row. This code should be removed after the
425 release of 21.1.
426
d8a973aa
GM
4272001-09-17 Gerd Moellmann <gerd@gnu.org>
428
e18c8b8d
GM
429 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
430 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
431
d8a973aa
GM
432 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
433 versions >= 2.95.
434
ed7d6ba4
EZ
4352001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
436
437 * dired.c (Ffile_attributes): Doc fix.
438
551629f9
GM
4392001-09-14 Gerd Moellmann <gerd@gnu.org>
440
441 * fileio.c (Ffile_symlink_p): Fix last change.
442
443 * filelock.c (current_lock_owner): Fix last change.
444
4c8c7926
GM
4452001-09-13 Gerd Moellmann <gerd@gnu.org>
446
620c4704
GM
447 * filelock.c (current_lock_owner): If readlink returns ERANGE,
448 take that to mean that the buffer is too small.
449
81c3310d
GM
450 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
451 that to mean that the buffer is too small.
452
06fd3792
GM
453 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
454 current buffer's multibyteness when discarding the iterator's
455 stack.
456
4c8c7926
GM
457 * xfns.c (Fx_window_property): Handle case that property gets
458 deleted between the two calls to XGetWindowProperty.
459
9a72e4c1
GM
4602001-09-11 Gerd Moellmann <gerd@gnu.org>
461
bd819d14
GM
462 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
463
a41edd99
GM
464 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
465 in addition to read-only.
466
467 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
468 to t in addition to read-only.
469
470 * lisp.h (Qinhibit_modification_hooks): Declare.
471
472 * insdel.c (Qinhibit_modification_hooks): New variable.
473 (syms_of_insdel): Initialize and staticpro it.
474
d4881c6a
GM
475 * textprop.c (verify_interval_modification): Don't run
476 modification-hooks if inhibit_modification_hooks.
477
478 * dispnew.c (set_window_cursor_after_update): Fix code
479 finding glyph row containing cursor when cursor_in_echo_area
480 is >= 0.
481
9a72e4c1
GM
482 * xdisp.c (init_from_display_pos): Put some code in #if 0.
483 (add_to_log): Use bcopy instead of strcpy.
484 (init_from_display_pos): Use an explicit loop over bytes in
485 overlay strings instead of calling index.
486
f4a374a1
GM
4872001-09-10 Gerd Moellmann <gerd@gnu.org>
488
300e57bd
GM
489 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
490
491 * dispnew.c (direct_output_for_insert): Don't change IT's
492 stop_charpos to something in front of its current position.
493
f4a374a1
GM
494 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
495 `format'.
496
7e4cbc91
RS
4972001-09-10 Richard M. Stallman <rms@gnu.org>
498
499 * frame.c (Fmouse_position): Doc fix.
500
6afad91e
GM
5012001-09-07 Gerd Moellmann <gerd@gnu.org>
502
503 * xdisp.c (init_from_display_pos): Don't compare the result
504 of calling index with NULL.
505
f76e0368
GM
5062001-09-06 Gerd Moellmann <gerd@gnu.org>
507
508 * xfns.c (x_set_background_color): Don't change the colors
509 of the X window of scroll bar widgets.
510
9ead1b60
AI
5112001-09-05 Andrew Innes <andrewi@gnu.org>
512
513 * w32fns.c (w32_createwindow): Undo last change.
514
c3b497b3
GM
5152001-09-05 Gerd Moellmann <gerd@gnu.org>
516
08e1d6df
GM
517 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
518
c3b497b3
GM
519 * xdisp.c (string_buffer_position): Use *single_char_property*
520 functions instead of the *single_property* functions.
521
8f860180
AI
5222001-09-04 Andrew Innes <andrewi@gnu.org>
523
9a72e4c1
GM
524 * w32term.c (w32_read_socket): Add more information to debugging
525 output.
8f860180
AI
526
527 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
528 from Emacs frames, so that calls to GetClipBox in w32term.c
529 correctly report when part of a frame is visible (including
530 scrollbars, etc). This prevents repeated redrawing of frames when
531 only a scrollbar is visible.
532 (w32_wnd_proc): Add more frame information to debugging output.
533
2ee1aa00
SM
5342001-09-03 Stefan Monnier <monnier@cs.yale.edu>
535
536 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
537
e3b22517
GM
5382001-09-03 Gerd Moellmann <gerd@gnu.org>
539
7e376260
GM
540 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
541 help-echo for a string which doesn't have help-echo itself, use
542 get-char-property to obtain the help-echo from the string's buffer
543 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
544 have mouse-face, look ``under'' the string for mouse-face from an
545 overlay.
546 (fast_find_position): Add parameter STOP. In the final row, stop
547 before glyphs having STOP as object. Don't consider glyphs that
548 are not from a buffer.
549
e3b22517
GM
550 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
551
9a249bba
EZ
5522001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
553
554 * fns.c (Fmd5): Doc fix.
555
c9979669
GM
5562001-08-31 Gerd Moellmann <gerd@gnu.org>
557
558 * composite.c (update_compositions): Do nothing if
559 inhibit-modification-hooks is set.
560
9584e63a
GM
5612001-08-30 Gerd Moellmann <gerd@gnu.org>
562
986ec8f2 563 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 564 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
565 glyph matrices etc. in a core dump.
566
92a25631
GM
567 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
568 (syms_of_xdisp): Initialize them.
569 (handle_single_display_prop): Don't change point, bind `object',
570 `position', and `buffer-position' instead to the object having the
2ee1aa00 571 `display' property, position in the object and position in the buffer.
92a25631 572
9584e63a
GM
573 * fileio.c (Finsert_file_contents): Don't change the multibyteness
574 of the buffer if REPLACE is non-nil.
575
d38633a3
GM
5762001-08-29 Gerd Moellmann <gerd@gnu.org>
577
578 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
579
f4fccc1e
EZ
5802001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
581
582 * w32term.c (x_set_glyph_string_background_width)
583 (show_mouse_face): Track the last changes in xterm.c.
584
eaaa65b0
GM
5852001-08-28 Gerd Moellmann <gerd@gnu.org>
586
7b0870b2
GM
587 * xterm.c (x_set_glyph_string_background_width): Set the glyph
588 string's background width so that multi-line mouse-face is drawn
589 to the right edge of the window.
590 (show_mouse_face): Set the row's mouse_face_p flag after drawing
591 glyphs.
592
6b6e2422 593 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 594 before inserting/writing glyphs.
6b6e2422 595
eaaa65b0
GM
596 * xdisp.c (display_mode_element): Use string_byte_to_char to
597 determine character positions in strings, use chars_in_text
598 instead of strwidth.
599 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
600 a matrix as parameter; this is easier to use from GDB.
601
9ad62cf8
MB
6022001-08-28 Miles Bader <miles@gnu.org>
603
2ee1aa00
SM
604 * textprop.c (Fprevious_single_char_property_change)
605 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 606
32171635
GM
6072001-08-27 Gerd Moellmann <gerd@gnu.org>
608
47d57b22
GM
609 * fileio.c (Finsert_file_contents): Allocate, restore, and
610 free composition data in the case of REPLACE not being nil.
611
612 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
613 there exist overlay strings with newlines at POS.
614 (text_outside_line_unchanged_p): Return 0 if changes start at
615 START and overlays exist at START. Likewise for END.
616 (try_window_id): Give up if init_to_row_end returns 0.
617
32171635
GM
618 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
619 unconditionally.
620
e1249666
GM
6212001-08-24 Gerd Moellmann <gerd@gnu.org>
622
33954c45
GM
623 * keymap.c (access_keymap): Return the cdr of the binding of
624 a generic character instead of its definition (KEY . BINDING).
625
e1249666
GM
626 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
627 to 0 also in the REPLACE case.
628
fb4c6c96
AC
6292001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
630
631 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
632 open to determine whether file is readable (as for DOS_NT).
633
59ecf80b
GM
6342001-08-23 Gerd Moellmann <gerd@gnu.org>
635
636 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
637 coding.type is coding_type_no_conversion or coding_type_raw_text,
638 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
639 non-nil instead of just setting enable_multibyte_characters in the
640 buffer to nil.
641
40e33037
GM
6422001-08-22 Gerd Moellmann <gerd@gnu.org>
643
374388c3
GM
644 * dispextern.h (struct face_cache): Add member
645 menu_face_changed_p.
646
647 * xfaces.c (menu_face_changed_default): New variable.
648 (menu_face_changed_count): Variable removed.
649 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
650 the menu_face_changed_default flag, otherwise set the FRAME's
651 menu_face_changed_p flag if the `menu' face has been changed.
652 Prevent calling set_font_frame_param if FRAME is t.
653 (make_face_cache): Initialize cache's menu_face_changed_p
654 from menu_face_changed_default.
655 (realize_basic_faces): Look into the frame's face cache to
656 determine if the menu appearance needs updating.
657
40e33037
GM
658 * keymap.c (access_keymap): Fix last change to not consider
659 IDX when it has modifiers.
660
859ea4b8
GM
6612001-08-21 Gerd Moellmann <gerd@gnu.org>
662
663 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
664 . BINDING) exists, where GENERIC-CHAR is the generic character of
665 the charset of IDX, return BINDING unless there exists a binding
666 for IDX itself.
667
e8660d73
GM
6682001-08-16 Gerd Moellmann <gerd@gnu.org>
669
cca1b1d7
GM
670 * xrdb.c (SYSV): Don't define on Solaris 2.
671 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
672
e8660d73 673 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 674 of the screen line, not text line, containing IT's current position.
e8660d73 675
93aba6fc
GM
6762001-08-15 Gerd Moellmann <gerd@gnu.org>
677
288d4e06
GM
678 * window.c (window_scroll_pixel_based): Don't recenter if
679 PT is partially visible in the window.
680
3452efc2
SM
681 * xterm.c (expose_window_tree, expose_window, expose_line):
682 Return 1 when overwriting mouse-face.
82f053ab
GM
683 (expose_frame): If mouse-face was overwritten, redo it.
684
93aba6fc
GM
685 * xfaces.c (x_update_menu_appearance): Don't call
686 set_frame_menubar, let the next redisplay do it.
687
858a55c1
AI
6882001-08-14 Andrew Innes <andrewi@gnu.org>
689
690 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
691 drawing glyph string.
692
3a990b67
EZ
6932001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
694
695 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
696 running HI-UX/MPP.
697
04386463
GM
6982001-08-14 Gerd Moellmann <gerd@gnu.org>
699
700 * xfaces.c (x_update_menu_appearance): Save and restore value of
701 interrupt_input_blocked.
702
3e6385a4
GM
7032001-08-13 Gerd Moellmann <gerd@gnu.org>
704
b0e619b4
GM
705 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
706 a line start, move back to the line start.
3452efc2 707
0de73d5a
GM
708 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
709 exactly when a mini-buffer is active.
710
3e6385a4
GM
711 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
712 in units of 1/8 character on non window-system frames.
713 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
714
d1b5f629
EZ
7152001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
716
717 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
718 a doc string.
719
eaa2319f
GM
7202001-08-09 Gerd Moellmann <gerd@gnu.org>
721
8e3189f0
GM
722 * keyboard.c (Vpre_help_message): New variable.
723 (syms_of_keyboard): Initialize and staticpro it.
724 (show_help_echo): Record current message before displaying a
725 help-echo, and restore that message when clearing the help.
726
eaa2319f
GM
727 * xfns.c (x_create_im): Remove prototype.
728
729 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
730
731 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 732
eaa2319f
GM
7332001-08-08 Gerd Moellmann <gerd@gnu.org>
734
735 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 736 windows whose height has changed, disable partially visible lines.
eaa2319f 737
17fdcfc8
GM
7382001-08-07 Gerd Moellmann <gerd@gnu.org>
739
22d01aed 740 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 741 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 742
17fdcfc8
GM
743 * xdisp.c (start_display): Don't try to determine the continuation
744 lines width if lines are truncated. It's superfluous and leads to
745 incorrect results if POS is not visible in the window after
746 reseating the iterator at the previous line start.
747
8e3fe78e
GM
7482001-08-06 Gerd Moellmann <gerd@gnu.org>
749
750 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
751
98a8938c
GM
7522001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
753
754 * alloc.c (init_stack): Remove declaration.
755
18f9986a
GM
7562001-08-03 Gerd Moellmann <gerd@gnu.org>
757
5e1f85e0
GM
758 * keyboard.c (read_key_sequence): Check that key is an integer
759 before comparing it with quit_char.
760 (add_command_key): Use larger_vector.
761 (read_char_x_menu_prompt): Instead of converting symbol and
762 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 763 which cannot be confused with valid events.
5e1f85e0
GM
764 (read_char): When reading from Vunread_command_events, check for
765 events of the form (EVENT . disabled) instead of
766 (EVENT . nil).
767
18f9986a
GM
768 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
769 a float, determine the max height from the frame's height.
770
fbc7f2a6
GM
7712001-08-02 Gerd Moellmann <gerd@gnu.org>
772
773 * xdisp.c (redisplay_internal): Take message_cleared_p into
774 account only if minibuf_level == 0.
775
81b1a79d
GM
7762001-08-01 Gerd Moellmann <gerd@gnu.org>
777
e5c60873
GM
778 * xdisp.c (redisplay_internal): Add a check for the last
779 displayed message.
3452efc2 780
6e019995
GM
781 * xdisp.c (message_cleared_p): New variable.
782 (clear_message): Set message_cleared_p when clearing the current
783 message.
784 (redisplay_internal): Look at message_cleared_p to capture
785 the case that the echo area should be cleared.
786
308a74d8
GM
787 * keyboard.c (command_loop_1): Fix spelling of
788 resize_echo_area_exactly.
789
3452efc2 790 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
791
792 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
793
81b1a79d
GM
794 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
795 current matrix when the window gets smaller.
796
ada329e6
EZ
7972001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
798
799 * print.c (strout): Cast the character passed to insert_char to
800 unsigned char, to avoid sign extension when it is promoted to int.
801
ed86208c
GM
8022001-07-31 Gerd Moellmann <gerd@gnu.org>
803
804 * fileio.c (Finsert_file_contents): Don't treat a return value
805 of 0 from emacs_read as an IO error.
806
6594ac22
GM
8072001-07-30 Gerd Moellmann <gerd@gnu.org>
808
cef68af5
GM
809 * keyboard.c (abs): New macro.
810 (double_click_fuzz): New variable.
811 (make_lispy_event): Use it to determine what makes a double-click.
812 (syms_of_keyboard): DEFVAR_INT it.
813
6594ac22
GM
814 * xmenu.c (set_frame_menubar): Take into account that
815 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
816 <raeburn@gnu.org>.
817
75c5350a
GM
8182001-07-27 Gerd Moellmann <gerd@gnu.org>
819
820 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
821
822 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
823 of row's visible height.
824
825 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
826 deal with the first overlay string having an image `display' property.
827 (try_window_reusing_current_matrix, compute_line_metrics):
828 Fix computation of row's visible height for the case that part of the
75c5350a
GM
829 row is invisible above and part of the row is at the same time
830 invisible below the window.
831
ac49effe
GM
8322001-07-26 Gerd Moellmann <gerd@gnu.org>
833
834 * xfns.c (x-show-tip): Doc fix.
3452efc2 835
ac49effe
GM
836 * xfns.c (Vx_max_tooltip_size): New variable.
837 (syms_of_xfns): DEFVAR_LISP it.
838 (Fx_show_tip): Set frame's window_width to the width of the
839 window. Use a maximum tooltip size specified by
840 Vx_max_tooltip_size, if that has valid contents.
841 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 842
8c3b00cb
AI
8432001-07-26 Andrew Innes <andrewi@gnu.org>
844
845 * w32term.c (x_display_list): New variable.
846 (w32_term_init): Set it.
847
848 * w32term.h (x_display_list): New extern.
849
16098288
GM
8502001-07-26 Gerd Moellmann <gerd@gnu.org>
851
852 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
853 is non-nil, instead of when redisplaying_p is non-zero.
854 See comment there.
16098288
GM
855 (mark_window_display_accurate_1): Add an assertion.
856
64c5be50
GM
8572001-07-25 Gerd Moellmann <gerd@gnu.org>
858
e743f599
GM
859 * dispextern.h (struct it): Increase size of ctl_chars to 16.
860
563b384d
GM
861 * xfns.c (Fx_file_dialog): Block/unblock input while processing
862 events so that we get a chance of processing expose events.
863
64c5be50
GM
864 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
865
296808a5
GM
8662001-07-24 Gerd Moellmann <gerd@gnu.org>
867
868 * xfns.c (valid_image_p): Protect better against invalid image
869 specifications. Previous code could signal an error.
870
5247262a
GM
8712001-07-23 Gerd Moellmann <gerd@gnu.org>
872
3452efc2 873 * indent.c (current_column): Fix column computation in the
f1004faf
GM
874 presence of display table entries.
875 (current_column_1, Fmove_to_column, compute_motion): Likewise.
876
dd42b31a
GM
877 * dispnew.c (adjust_glyph_matrix): In the optimization for
878 windows whose height has changed, use the new window height
879 to compute which rows to invalidate.
880
9e5a7f2a
GM
881 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
882 (MAX_10_EXP): New macro.
883 (Fformat): Use it.
884
5247262a
GM
885 * coding.c (code_convert_region): Handle the multibyte case if
886 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
887
177ab8ce
GM
8882001-07-20 Gerd Moellmann <gerd@gnu.org>
889
6e07c0a5
GM
890 * dispextern.h (struct face): Change type of `stipple' to
891 int; it's an ID.
892
177ab8ce
GM
893 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
894
b5b80599
GM
8952001-07-19 Gerd Moellmann <gerd@gnu.org>
896
4e2a256b
GM
897 * dispnew.c (update_window): Don't set the cursor at the end
898 of the update if display update has been paused.
899
3452efc2 900 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 901
c1fd9232
KR
9022001-07-18 Ken Raeburn <raeburn@gnu.org>
903
904 * fns.c (Fset_char_table_default): Check that a charset is defined
905 before checking its dimension.
906
928a85c1
KR
9072001-07-17 Ken Raeburn <raeburn@gnu.org>
908
909 * coding.c (setup_coding_system): Don't do any designation based
910 on reg_bits if charset is not yet defined.
911
fb4c6c96 912 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
913 pointer, using eassert.
914
de11c1ea
GM
9152001-07-17 Gerd Moellmann <gerd@gnu.org>
916
3452efc2
SM
917 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
918 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 919
467f1209
GM
9202001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
921
922 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
923
c3d6be34
GM
9242001-07-16 Gerd Moellmann <gerd@gnu.org>
925
c1d61a7d
GM
926 * fileio.c (unwind_read): Function removed.
927 (read_non_regular, read_non_regular_quit): New functions.
928 (Finsert_file_contents): When reading from non-regular files,
929 arrange to catch a `quit' and terminate the loop. Rearrange
930 code so that a `quit' when reading from a regular file doesn't
931 insert text in the buffer.
932
c3d6be34
GM
933 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
934 Clear faces afterwards.
935 (clear_font_table): Take a x_display_info parameter. Don't free
936 fonts being the default font of any frame on the given display.
937
e06aa1f9
GM
9382001-07-13 Gerd Moellmann <gerd@gnu.org>
939
940 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
941 instead of CHAR_STRING which can signal an error.
942
943 * charset.c (char_to_string_1): Extracted from char_to_string.
944 Return -1 instead of signaling an error.
945 (char_to_string): Use it.
946
947 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
948
176c92e6
SM
9492001-07-12 Stefan Monnier <monnier@cs.yale.edu>
950
951 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
952 is t, don't try to append anything to it.
953
1c56232f
EZ
9542001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
955
956 * dired.c (file_name_completion): Pass dp->d_name to
957 Fstring_match, not elt, which is always nil here.
958
1d2b2268
GM
9592001-07-12 Gerd Moellmann <gerd@gnu.org>
960
961 * xselect.c (x_decline_selection_request): Handle errors
962 caused by receivers that have vanished.
963
964 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
965 ignoring events on foreign windows in #if 0. Always dispatch
966 the event after checking it with x_handle_property_notify.
967
968 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
969 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
970 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
971 (toplevel): Add prototypes for file-local functions.
972 (x_atom_to_symbol): Remove DPYINFO parameter.
973
fe5a0162
SM
9742001-07-11 Stefan Monnier <monnier@cs.yale.edu>
975
976 * w32menu.c (menubar_selection_callback, w32_menu_show):
977 Initialize `entry' to nil.
978 (w32_dialog_show): Remove unused `save_wv' variable.
979 (name_is_separator): Recognize "--:foo" and "--foo-bar".
980
a777242c
GM
9812001-07-11 Gerd Moellmann <gerd@gnu.org>
982
8ee5b6a3
GM
983 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
984
d0e2444e
GM
985 * fileio.c (unwind_read): Print a message when discarding inserted
986 text or switching the buffer to unibyte. Change parameter.
987 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 988
a777242c
GM
989 * fileio.c (unwind_read): New function.
990 (Finsert_file_contents): Record it as unwind-function for
991 the case that reading is interrupted by C-g.
992
ae794295
GM
9932001-07-10 Gerd Moellmann <gerd@gnu.org>
994
fe5a0162 995 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
996 update when scrolling_window returns 0.
997
6b05fae3
GM
998 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
999
1000 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 1001 for the case that x_decode_color signals an error.
6b05fae3 1002
ae794295
GM
1003 * xdisp.c (add_to_log): Do nothing if called asynchronously.
1004
bb6e8cee
GM
10052001-07-09 Gerd Moellmann <gerd@gnu.org>
1006
1007 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
1008 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
1009 around ioctls.
1010
36b40a8a
EZ
10112001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
1012
24b97d4b
EZ
1013 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
1014 doc string line for dos-timezone-offset.
1015
36b40a8a
EZ
1016 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
1017 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1018 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1019 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1020
1021 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1022
0967b4b0
GM
10232001-07-05 Gerd Moellmann <gerd@gnu.org>
1024
f25cfe53
GM
1025 * sound.c: Include Emacs' header files with #include "...".
1026
0967b4b0
GM
1027 * eval.c (specbind): Additionally record the buffer that was
1028 current when a buffer-local or frame-local variable was bound.
1029
c347a1c3
GM
10302001-07-04 Gerd Moellmann <gerd@gnu.org>
1031
1032 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1033 to unibyte characters in unibyte buffers.
1034
6332ca8a
GM
10352001-07-03 Gerd Moellmann <gerd@gnu.org>
1036
38472d44
GM
1037 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1038 the frame on the binding stack. Change format of entries for
1039 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1040 (unbind_to): Handle unbinding a frame-local variable.
1041
6332ca8a 1042 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1043 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1044 (dump_glyph_row): Print row's continuation_lines_width.
1045 (try_window_id): Take the shortcut if ZV is visible in the
1046 window, but there are actually no changes at ZV.
1047
63d1b174
GM
10482001-07-02 Gerd Moellmann <gerd@gnu.org>
1049
4c175203
GM
1050 * xterm.h (x_free_dpy_colors): Add prototype.
1051
1052 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1053 right number of arguments.
1054
0b54ce28
GM
1055 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1056 ($(lwlibdir)TAGS): New target.
4c175203 1057 (TAGS): Fix dependency list.
0b54ce28 1058
63d1b174
GM
1059 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1060 with input blocked.
1061
d827466c
GM
10622001-06-30 Gerd Moellmann <gerd@gnu.org>
1063
1064 * emacs.c (main): Remove extern declaration for sys_nerr, which
1065 isn't used and causes a compilation error with GCC 3.0 on
1066 FreeBSD 4.3.
1067
b5cb1ada
GM
10682001-06-27 Gerd Moellmann <gerd@gnu.org>
1069
a5d3ec3f 1070 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1071 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1072 (toplevel): Include <signal.h> and syssignal.h.
1073
b5cb1ada
GM
1074 * sound.c (vox_configure, vox_close): Turn off atimers
1075 around ioctls.
1076
d9bad487
GM
10772001-06-26 Gerd Moellmann <gerd@gnu.org>
1078
fdbb67fe
GM
1079 * keyboard.c (read_char) <non_reread>: Record the previous idle
1080 start time before calling timer_stop_idle.
1081 (read_char) <reread_first>: After processing a help-echo event,
1082 restore the previous idle start time.
1083
d9bad487
GM
1084 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1085 the start of invisible text.
1086 (setup_for_ellipsis): New function.
1087 (next_overlay_string): After all overlay strings have been
1088 processed, display an ellipsis if necessary.
1089 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1090 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1091
1092 * dispextern.h (struct iterator_stack_entry): Add member
1093 display_ellipsis_p.
1094
2b9c25e0
GM
10952001-06-25 Gerd Moellmann <gerd@gnu.org>
1096
80de57df
GM
1097 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1098 on the value of the wait-for-wm frame parameter.
1099
1100 * xterm.h (struct x_output): Add member wait_for_wm.
1101
1102 * xfns.c (Qwait_for_wm): New variable.
1103 (x_frame_parms): Add entry for `wait-for-wm".
1104 (x_set_wait_for_wm): New function.
1105 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1106 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1107
2b9c25e0
GM
1108 * xdisp.c (try_window_id) <all changes below window end>: Don't
1109 take this shortcut if ZV is visible in the window.
1110 (try_window_id): When checking for window start being in changed
1111 text, don't check that the buffer's size has changed.
1112
f772775c
RS
11132001-06-23 Richard M. Stallman <rms@gnu.org>
1114
1115 * minibuf.c (Fcompleting_read): Doc fix.
1116
fa9090b8
GM
11172001-06-19 Gerd Moellmann <gerd@gnu.org>
1118
1119 * composite.c (Ffind_composition_internal): Accept ZV
1120 and a string's end position as POS.
1121
f6f1beba
GM
11222001-06-18 Gerd Moellmann <gerd@gnu.org>
1123
1124 * composite.c (Ffind_composition_internal): Check POS
1125 for validity.
1126
0ae83348
EZ
11272001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1128
1129 * editfns.c (Fmessage_box): If the frame is not under a window
1130 system, output the message in the echo area.
1131
e4cdc335
RS
11322001-06-14 Richard M. Stallman <rms@gnu.org>
1133
1134 * xdisp.c (try_window_id): When EOB is visible, don't treat
1135 insertion at EOB as if it were "off the bottom of the screen."
1136
a55a5f3c
AI
11372001-06-11 Andrew Innes <andrewi@gnu.org>
1138
1139 * w32proc.c (create_child): Add new parameter is_gui_app.
1140 (w32_executable_type): Add new parameter is_gui_app.
1141 (sys_spawnve): Use it.
1142 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1143 SIGQUIT. This matches better how the signals are interpreted by
1144 MSVC compiled programs.
1145 (syms_of_ntproc): Update docstring.
1146
1b85dc1c
SM
11472001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1148
1149 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1150 well otherwise note_mouse_highlight might optimize away highlighting
1151 if we pass over that same overlay again.
1152
b75f8eab
EZ
11532001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1154
1155 * lread.c (Fload): Document that the argument is run via
1156 substitute-in-file-name.
1157
94843cc1
GM
11582001-05-31 Gerd Moellmann <gerd@gnu.org>
1159
b14659e6
GM
1160 * Makefile.in (bootstrap-doc): New target.
1161 (bootstrap-emacs): Depend on it.
1162
0894672f
GM
1163 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1164 auto-save-list-file-name when shutting down Emacs, because
1165 creating the directory might signal an error, and leaves
1166 Emacs in a strange state.
1167
94843cc1
GM
1168 * term.c: (tty_cursor_hidden): New variable.
1169 (update_begin): Don't call tty_hide_cursor. Clean up.
1170 (update_end, set_terminal_window, set_scroll_region): Clean up.
1171 (ring_bell, reset_terminal_modes): Clean up.
1172 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1173 on tty_cursor_hidden.
1174 (write_glyphs): Call tty_hide_cursor.
1175
db3a49a6
SM
11762001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1177
1178 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1179
8bd189fb
GM
11802001-05-30 Gerd Moellmann <gerd@gnu.org>
1181
6f1be3b9
GM
1182 * xfns.c (enum image_value_type): New enumerator
1183 IMAGE_STRING_OR_NIL_VALUE.
1184 (parse_image_spec): Handle it.
1185 (xbm_format, pbm_format): Use it for :foreground and :background.
1186 (xbm_load, pbm_load): Check for nil color names.
1187
8bd189fb
GM
1188 * xterm.c (note_mouse_highlight): If an overlapping overlay
1189 exists, but we find that we highlight the same overlay as before,
1190 don't do the highlighting again.
1191
7bdba03c
GM
11922001-05-29 Gerd Moellmann <gerd@gnu.org>
1193
4c329aa8
GM
1194 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1195 Protect unibyte strings created by replacing their multibyte
1196 equivalents in menu_items.
1197
e15e2828
GM
1198 * keymap.c (Fsingle_key_description): NUL-terminate the string
1199 buffer before calling build_string.
1200
7bdba03c
GM
1201 * callproc.c (Fcall_process): Deal with decode_coding returning
1202 CODING_FINISH_INCONSISTENT_EOL.
1203
89c8dc6c
GM
12042001-05-28 Gerd Moellmann <gerd@gnu.org>
1205
db3a49a6 1206 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1207 an item's name with its key description in case the description
1208 is a multibyte string.
1209
1210 * keymap.c (Fsingle_key_description): Create a multibyte string
1211 only if necessary.
1212
eb04d6cd
GM
1213 * macros.c (Fstart_kbd_macro): Doc fix.
1214
8bd6307f
GM
1215 * xterm.c (cursor_in_mouse_face_p): New function.
1216 (x_draw_stretch_glyph_string): Use it to choose a different GC
1217 when drawing a cursor within highlighted text.
1218
e26c4089
GM
1219 * editfns.c (char_property_eq): Put in #if 0.
1220
1221 * indent.c (string_display_width): Put in #if 0.
1222
1223 * lread.c (Fload): Remove unused label.
1224
89c8dc6c
GM
1225 * termcap.c (speeds): Put in #if 0.
1226
9a1211f2
GM
12272001-05-18 Gerd Moellmann <gerd@gnu.org>
1228
29148a3f
GM
1229 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1230
9a1211f2
GM
1231 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1232 transformation matrix by 10.
1233
09393d07
GM
12342001-05-16 Gerd Moellmann <gerd@gnu.org>
1235
1236 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1237 only if it's equal to the former foreground pixel color.
db3a49a6 1238 (x_set_foreground_color, x_set_background_color)
09393d07
GM
1239 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1240
460e6bae
GM
12412001-05-16 Dave Love <fx@gnu.org>
1242
1243 * insdel.c (signal_before_change, signal_after_change): Consider a
1244 local change hook which changes the buffer.
99c78ce8
GM
1245
1246 * process.c (read_process_output): Don't call signal_after_change
1247 and update_compositions after insert_from_string_before_markers.
1248
dbcf3c03
GM
12492001-05-16 Gerd Moellmann <gerd@gnu.org>
1250
a90b3d3c
GM
1251 * xfaces.c (split_font_name): Use the right field when
1252 checking for `[...]' syntax.
1253
1b7818b4
GM
1254 * buffer.c (copy_overlays): New function.
1255 (clone_per_buffer_values): Use it.
1256
1257 * buffer.h (OVERLAY_PLIST): New macro.
1258
9bae8781
GM
1259 * keymap.c (Fsingle_key_description): Replace a build_string with
1260 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1261
dbcf3c03
GM
1262 * fontset.c (Ffontset_info): Check that face is non-null
1263 before accessing its fields.
1264
8a1ae4dd
GM
12652001-05-15 Gerd Moellmann <gerd@gnu.org>
1266
18a0a39e
GM
1267 * keyboard.c (read_key_sequence): Prevent generating a fake
1268 prefix key twice.
1269
e335b66a
GM
1270 * xfaces.c (split_font_name): Handle `[...]' for the right
1271 font name fields.
1272
8a1ae4dd
GM
1273 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1274 of CCL_STAT_INVALID_CMD.
1275
3cf80731
SM
12762001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1277
33568849
SM
1278 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1279 in <var> has no default value yet.
1280
3cf80731
SM
1281 * xfaces.c (try_alternative_families): First try the FAMILY.
1282 And if nothing is found in the end, try again with scalable fonts.
1283 (try_font_list): Let try_alternative_families do a bit more of
1284 the work. Only use FAMILY if it is not nil.
1285 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1286
933b0249
GM
12872001-05-14 Gerd Moellmann <gerd@gnu.org>
1288
58e5af83
GM
1289 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1290 pointer shape when show_mouse_face has already done it.
33568849 1291
58e5af83 1292 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1293 full-width rows.
1294
7b16a6bf
GM
1295 * xfaces.c (split_font_name): Make sure to leave the loop
1296 with the right value of `i'.
3cf80731 1297
933b0249
GM
1298 * xfaces.c (split_font_name): Handle matrix transformations
1299 in the pixel and point size fields of XLFD font names.
1300 (xlfd_point_size): Likewise.
1301
dddcbf00
EZ
13022001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1303
3cf80731 1304 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1305 (x_to_w32_font): Add prototype.
1306
7689ef0b
EZ
1307 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1308 redefining, to avoid compiler warnings.
1309
e7c15bba
EZ
1310 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1311
dddcbf00
EZ
1312 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1313 (w32_get_bdf_glyph): Cast between unsigned char and char when
1314 passing arguments to subroutines, to shut up compiler warnings.
1315 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1316 GET_HEX_VAL.
1317
1318 * xfaces.c: Include keyboard.h before frame.h, not after it.
1319
1320 * widget.c: Include keyboard.h before frame.h.
1321
1322 * w32term.h (struct image, struct face): Forward declaration, to
1323 avoid compiler warnings.
1324
7bd2d083
GM
13252001-05-11 Gerd Moellmann <gerd@gnu.org>
1326
47e72862
GM
1327 * keyboard.c (read_key_sequence): Don't modify events when
1328 generating fake prefix keys (mode-line, scroll-bar, ...) since
1329 this prevents proper processing of such events when pushed back
1330 into unread-command-events.
1331
dd5f324b
GM
1332 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1333 actually redrawn. Make the function static.
1334 (note_mouse_highlight): Fix a case where the mouse cursor
1335 was changed back to the text cursor.
1336
1337 * xterm.h (clear_mouse_face): Remove prototype.
1338
d88a79d4
GM
1339 * xdisp.c (try_window_id): Fix the fix and set the right
1340 window_end_vpos.
1341
1342 * xdisp.c (try_window_id): Fix computation of window end in the
1343 case that lines were deleted at the end of the window. Add some
1344 more debug_method_adds.
0416532f 1345
7bd2d083
GM
1346 * xfaces.c (try_alternative_families): New function.
1347 (try_font_list): Use it. If ATTRS specifies a family, check
1348 fonts from that family first.
1349 (choose_face_font): Remove code setting the family part of
1350 the pattern to nil.
1351
23fca891
GM
13522001-05-10 Gerd Moellmann <gerd@gnu.org>
1353
ff9aa2ca
GM
1354 * xdisp.c (try_window_id): Fix case of all changes before
1355 the window start.
7b2654b5 1356
23fca891
GM
1357 * xdisp.c (try_window_id): Add some xasserts.
1358
e9726794
GM
13592001-05-09 Gerd Moellmann <gerd@gnu.org>
1360
1361 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1362
9e53a675
GM
13632001-05-09 Dave Love <fx@gnu.org>
1364
1365 * xdisp.c (GIVE_UP): Fix for K&R C.
1366
0d487c52
GM
13672001-05-09 Gerd Moellmann <gerd@gnu.org>
1368
fe88d421
GM
1369 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1370
0d487c52
GM
1371 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1372 back to the text cursor shape without need.
1373
1e9fc92e
GM
13742001-05-07 Gerd Moellmann <gerd@gnu.org>
1375
a2a6232e
GM
1376 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1377
1378 * dispextern.h (inverse_video): Declare extern.
1379
1e9fc92e
GM
1380 * keyboard.c (delete_kboard): Handle the case that selected_frame
1381 has been deleted in the course of x_connection_closed.
1382
12949a7f
EZ
13832001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1384
7b2654b5
SM
1385 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1386 Fix the change from 2001-04-30.
12949a7f 1387
2fa2f461
GM
13882001-05-03 Gerd Moellmann <gerd@gnu.org>
1389
a779d213
GM
1390 * xfns.c (file_dialog_unmap_cb): New function.
1391 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1392 where a dialog is closed via the window manager.
1393
7b2654b5 1394 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1395 the window start or all below the window end mostly rewritten.
1396 (redisplay_window): Move the tests if try_window_id is
1397 applicable to try_window_id.
1398 (GIVE_UP): New macro.
1399
3356df63
GM
14002001-05-02 Gerd Moellmann <gerd@gnu.org>
1401
a39202f6 1402 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1403 currently being updated, mark the frame garbaged.
1404 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1405 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1406
3356df63
GM
1407 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1408 again if it has already been drawn.
1409
a9d2fd1d
SM
14102001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1411
1412 * syntax.c (update_syntax_table): Check that oldi has the same
1413 properties as old_prop before deciding not to invalidate.
1414
c95fc5f1
GM
14152001-04-30 Gerd Moellmann <gerd@gnu.org>
1416
a9793e45
GM
1417 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1418 read-only text that is so because of text properties.
1419
c95fc5f1 1420 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1421 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1422 windows that are components of a Lucid menu bar.
1423
5a5d9185
GM
14242001-04-27 Gerd Moellmann <gerd@gnu.org>
1425
1426 * term.c (turn_on_face): Fix reverse video handling on terminals
1427 that don't support colors.
1428
ba973f7a
GM
14292001-04-26 Gerd Moellmann <gerd@gnu.org>
1430
1431 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1432 a non-buffer.
1433
8c56a983
GM
14342001-04-25 Gerd Moellmann <gerd@gnu.org>
1435
a728644c
GM
1436 * term.c (toggle_highlight): New function.
1437 (turn_on_face): Change handling of reverse video.
1438
7b2654b5
SM
1439 * process.c (wait_reading_process_input):
1440 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1441
bfd8410f
GM
1442 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1443 of the number of overlays to check.
1444
be2488ca
GM
1445 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1446
8c56a983
GM
1447 * xdisp.c (try_window_id): Fix a case where window_end_pos
1448 and window_end_bytepos were not adjusted.
1449
522d42f7
GM
14502001-04-23 Gerd Moellmann <gerd@gnu.org>
1451
1452 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1453 zero instead of -1.
1454
78c1afb6
EZ
14552001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1456
a9d2fd1d
SM
1457 * process.c (wait_reading_process_input) [!subprocesses]:
1458 Don't reference waiting_for_user_input_p, it's not defined in the
1459 branch without async subprocesses support.
78c1afb6 1460
a2fab450
GM
14612001-04-19 Gerd Moellmann <gerd@gnu.org>
1462
a122a38e
GM
1463 * keyboard.c (delete_kboard): Prevent a dangling reference
1464 from current_kboard to KB, which is freed.
1465
a9d2fd1d
SM
1466 * process.c (wait_reading_process_input):
1467 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1468 read_key_sequence aware of buffer changes from under it.
1469
0f8d6dc7
GM
14702001-04-18 Gerd Moellmann <gerd@gnu.org>
1471
eeffb293
GM
1472 * xfaces.c (Qscalable_fonts_allowed): New variable.
1473 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1474 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1475 removed.
eeffb293 1476 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1477 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1478 for scalable-fonts-allowed to t.
eeffb293 1479
0f8d6dc7
GM
1480 * fileio.c (Finsert_file_contents): If the file size returned from
1481 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1482 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1483
eec2d1de
EZ
14842001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1485
1486 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1487 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1488 (__memalign_hook): Make the two prototypes consistent.
1489
f4f480bd
GM
14902001-04-17 Gerd Moellmann <gerd@gnu.org>
1491
1492 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1493 matrix of mini-windows.
1494
52283633
SM
14952001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1496
1497 * intervals.c (find_interval): Don't rebalance during signal handling.
1498
ec2423c9
GM
14992001-04-11 Gerd Moellmann <gerd@gnu.org>
1500
30cb0001 1501 * fns.c: Include blockinput.h.
52283633 1502
ec2423c9
GM
1503 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1504
719d83ad
GM
15052001-04-10 Gerd Moellmann <gerd@gnu.org>
1506
60f8d735
GM
1507 * fns.c (Fcompare_strings): Fix return values.
1508
afffeb57
GM
1509 * window.c (window_scroll): Change the meaning of N to mean
1510 N screen-fulls or N lines.
1511 (window_scroll_pixel_based, window_scroll_line_based)
1512 (scroll_command, Fscroll_other_window): Change accordingly.
1513
52283633
SM
1514 * window.c (window_scroll_pixel_based, Frecenter):
1515 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1516 height of the window.
1517
1518 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1519 instead of using it.last_visible_y for the height of the window.
52283633 1520
719d83ad 1521 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1522 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1523
1524 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1525 able to write to hidden and system files. From Dan Holmsand
1526 <dan@eyebee.com>.
719d83ad 1527
8ddf3ee1
GM
1528 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1529 Holmsand <dan@eyebee.com>.
719d83ad 1530
522ed7fb
GM
15312001-04-09 Gerd Moellmann <gerd@gnu.org>
1532
9170e5d4
GM
1533 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1534
522ed7fb
GM
1535 * window.c (window_internal_height): Return 1 less if the
1536 window has a header line.
1537
1538 * xdisp.c (try_window_id): When scrolling on a terminal, take
1539 the change of window_internal_height into account.
1540
ceeb3d7d
EZ
15412001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1542
1543 * gmalloc.c (align): If the argument SIZE would overflow
1544 __malloc_ptrdiff_t, fail right away.
1545
63685b9d
GM
15462001-04-06 Gerd Moellmann <gerd@gnu.org>
1547
1548 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1549 Make sure the tooltip is completely visible.
1550 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1551
1552 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1553
1554 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1555
3ffb33bb
DL
15562001-04-06 Dave Love <fx@gnu.org>
1557
52283633
SM
1558 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1559 Fix test of `from'.
3ffb33bb 1560
869fb12c
GM
15612001-04-06 Gerd Moellmann <gerd@gnu.org>
1562
52283633 1563 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1564
869fb12c
GM
1565 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1566
441bf856
GM
15672001-04-05 Gerd Moellmann <gerd@gnu.org>
1568
4d664b04
GM
1569 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1570
52283633 1571 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1572
30ca89f5
GM
1573 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1574 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1575
1576 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1577 shell widget's position only if it is non-null.
1578
52283633
SM
1579 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1580 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1581
81a81c0f
GM
1582 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1583 FILENAME to bring it in synch with the documentation.
1584
441bf856
GM
1585 * xfaces.c (realizing_basic_faces_p): Renamed from
1586 realize_default_face_p.
1587 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1588 (realize_default_face): Don't set the flag.
1589
702a1e8e
GM
15902001-04-04 Gerd Moellmann <gerd@gnu.org>
1591
1013f4e3
GM
1592 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1593
52283633
SM
1594 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1595
1013f4e3
GM
1596 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1597 the buffer that was used for echoing.
1598
702a1e8e
GM
1599 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1600 (first_font_matching): Removed unused function.
1601 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1602 (may_use_scalable_font_p): Remove parameter FONT; rename
1603 parameter NAME to FONT.
1604 (x_face_list_fonts): Fix missing bounds check.
1605 (realizing_default_face_p): New variable.
1606 (realize_default_face): Set and clear that flag.
1607 (x_face_list_fonts): When called during the realization of the
1608 default face, and no matching fonts are found when ignoring
1609 scalable fonts and fonts matching a regexp from
1610 face-ignored-fonts, try without ignoring fonts.
1611
f9dbcda4
GM
16122001-04-03 Gerd Moellmann <gerd@gnu.org>
1613
ad18ffb1
GM
1614 * xfns.c (postprocess_image): New function.
1615 (lookup_image): Call it for all image types except PostScript.
1616 (x_kill_gs_process): Call postprocess_image.
1617
f9dbcda4
GM
1618 * xterm.c (x_use_underline_position_properties): New variable.
1619 (x_draw_glyph_string): Use it.
1620 (syms_of_xterm): DEFVAR_BOOL it.
1621
651f03b6
GM
16222001-04-02 Gerd Moellmann <gerd@gnu.org>
1623
1624 * xterm.c (x_alloc_nearest_color_1): New function.
1625 (x_alloc_nearest_color): Use it.
1626 (x_color_cells): Take a Display as argument, instead of a frame.
1627 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1628 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1629 (x_initialize): Register cvt_string_to_pixel as resource converter
1630 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1631
73d75a62
GM
16322001-03-30 Gerd Moellmann <gerd@gnu.org>
1633
b2046df8
GM
1634 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1635 (set_iterator_to_next): If a string from a display property ends,
1636 consider the case that this might also be the end of an
1637 overlay string having the display property.
1638
52283633 1639 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1640
87d8eba4
GM
1641 * xdisp.c (reseat_to_string): Undo last change.
1642
73d75a62
GM
1643 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1644 matrix of a window when the header line changes, when
1645 new rows are allocated, or when the width changes.
1646
911a2406
EZ
16472001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1648
52283633 1649 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1650
aea51abe
EZ
16512001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1652
1653 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1654 deprecated.
1655
176bc847
GM
16562001-03-29 Gerd Moellmann <gerd@gnu.org>
1657
ed31fabf
GM
1658 * data.c (Fsubr_interactive_form): New function.
1659 (syms_of_data): Defsubr it.
1660
176bc847
GM
1661 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1662 (live_float_p, live_misc_p): Return 1 only if the offset of the
1663 pointer in its block is >= 0.
1664
e59d0e9d
GM
16652001-03-28 Paul Eggert <eggert@twinsun.com>
1666
1667 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1668 microseconds calcuation. Avoid double-rounding problem.
1669 In doc string, warn that the result is approximate.
1670
f827b862
GM
16712001-03-28 Gerd Moellmann <gerd@gnu.org>
1672
30a3f61c
GM
1673 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1674 bind `inhibit-eval-during-redisplay' to t.
1675
1676 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1677
1678 * xdisp.c (inhibit_eval_during_redisplay)
1679 (Qinhibit_eval_during_redisplay): New variables.
1680 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1681 don't eval, return nil instead.
1682 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1683 Initialize Qinhibit_eval_during_redisplay.
1684
e719f5ae
GM
1685 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1686 the iterator's multibyte_p flag.
1687
deb2613a
GM
1688 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1689 instead of setting it to zero; it's incremented for each frame
1690 where the menu face is changed.
1691
52283633
SM
1692 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1693 change bottom shadow accordingly.
1694
1695 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1696 intersections here.
1697 (expose_window): Do it here instead.
52283633 1698 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1699
f827b862
GM
1700 * bytecode.c (BYTE_CODE_QUIT): New macro.
1701 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1702
4bde0ebb
GM
17032001-03-27 Gerd Moellmann <gerd@gnu.org>
1704
607ec83c
GM
1705 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1706 Give up if matrix starts in an ellipsis.
1707 (init_from_display_pos): Do nothing if POS doesn't specify
1708 a dpvec_index but the iterator has such a position.
1709
0245398f
GM
1710 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1711
aba25348
GM
1712 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1713 x/y position is (0, 0) after destroying the menu bar, restore
1714 its original position.
1715
4bde0ebb
GM
1716 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1717 (init_from_display_pos): Use it.
1718 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1719
8cdb267e
GM
17202001-03-26 Gerd Moellmann <gerd@gnu.org>
1721
1722 * xdisp.c (try_window_id): Undo last change.
1723
9948db79
EZ
17242001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1725
1726 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1727
1728 * buffer.c (syms_of_buffer): Doc fix.
1729
2eddf899
GM
17302001-03-26 Gerd Moellmann <gerd@gnu.org>
1731
1732 * xfaces.c (x_update_menu_appearance): Use local variable
1733 popup_path for setting font resources.
1734
6c145d35
EZ
17352001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1736
6a65b1b5
EZ
1737 * frame.c (Fframe_list): Don't reference tip_frame if
1738 HAVE_WINDOW_SYSTEM is not defined.
1739
6c145d35
EZ
1740 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1741 <wl@gnu.org>.
1742
d74c1900
GM
17432001-03-25 Gerd Moellmann <gerd@gnu.org>
1744
20fbd925
GM
1745 * xdisp.c (init_from_display_pos): Test invisible property
1746 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1747
927c5b3b
GM
1748 * xdisp.c (redisplay_internal) <update one window>: Make sure
1749 last_arrow_position and last_arrow_string are set.
1750
d74c1900
GM
1751 * frame.c (Fframe_list): Don't return a tooltip frame.
1752
091f8878
GM
17532001-03-23 Gerd Moellmann <gerd@gnu.org>
1754
52283633
SM
1755 * xdisp.c (mark_window_display_accurate_1): New function,
1756 extracted from mark_window_display_accurate.
1757 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1758 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1759 (mark_window_display_accurate): Use it.
1760 (redisplay_internal): Use it for the selected window.
1761 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1762 for the selected frame.
1763
ac90c44f
GM
1764 * xdisp.c Use make_number, for readability.
1765 (try_window_id): Disable rows below the window end.
1766 (try_window_reusing_current_matrix): Use cursor_row_p.
1767 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1768 of rows.
1769 (init_from_display_pos): If POS specifies a position in a display
1770 vector, maybe get the iterator set up for that ellipsis.
43c09969 1771
091f8878
GM
1772 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1773
991786dd
EZ
17742001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1775
1776 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1777
6c29b43c
GM
17782001-03-23 Gerd Moellmann <gerd@gnu.org>
1779
1780 * xfaces.c (x_update_menu_appearance): Use a different path
1781 for Lucid popup menus.
1782
d8731202
SM
17832001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1784
1785 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1786
1787 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1788 (string_buffer_position): Use `make_number'.
1789
f61a541b
GM
17902001-03-22 Gerd Moellmann <gerd@gnu.org>
1791
3c9e997b
GM
1792 * xfaces.c (x_update_menu_appearance): Renamed from
1793 x_set_menu_face_resources. Use different resources for popups.
1794
1795 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1796 (GC_CHECK_STRING_BYTES): Don't define.
1797
364cd450
GM
1798 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1799 Removed, together with subroutines.
1800 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1801 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1802
d8731202
SM
1803 * dispextern.h (x_set_menu_resources_from_menu_face):
1804 Remove prototype.
364cd450 1805
d8731202 1806 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1807 Remove calls to x_set_menu_resources_from_menu_face.
1808
d8731202
SM
1809 * xfaces.c (xm_set_menu_resources_from_menu_face):
1810 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1811
1812 * xmenu.c: Include widget.h.
1813 (single_submenu): Return int. Some cleanup.
1814 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1815
140330de
GM
18162001-03-21 Gerd Moellmann <gerd@gnu.org>
1817
1818 * xterm.c (x_update_window_end): Handle overwritten mouse face
1819 also for tool bar windows.
1820 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1821 DRAW is DRAW_IMAGE_RAISED.
1822
1741905c
GM
18232001-03-20 Gerd Moellmann <gerd@gnu.org>
1824
fa88947e
GM
1825 * print.c (syms_of_print): Doc fixes.
1826
1741905c
GM
1827 * fns.c (Fmd5): Doc fix.
1828
ade0bee1
GM
18292001-03-19 Gerd Moellmann <gerd@gnu.org>
1830
357e7376
GM
1831 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1832 Clear area of the frame not occupied by the scroll bar.
1833
c2c097cc
GM
1834 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1835 tip frame's root window buffer to *tip* right after creating
1836 the frame.
1837
ade0bee1
GM
1838 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1839 is an integer don't have to be for space characters.
1840
88c6e37e
GM
18412001-03-16 Gerd Moellmann <gerd@gnu.org>
1842
52283633
SM
1843 * indent.c (current_column, current_column_1, Fmove_to_column)
1844 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1845
c62eed76
KH
18462001-03-15 Kenichi Handa <handa@etl.go.jp>
1847
1848 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1849 drawing glyph string.
1850
c899e7e6
GM
18512001-03-15 Gerd Moellmann <gerd@gnu.org>
1852
d0bbfc99
GM
1853 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1854 (command_loop_1): Undo last change.
1855
03d1a189
GM
1856 * xterm.c (fast_find_position): Return the correct vpos.
1857
c899e7e6 1858 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1859 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1860 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1861 Call store_symval_forwarding with BUF null.
1862 (set_internal): Call store_symval_forwarding with the BUF
1863 parameter passed to set_internal. Formerly, the value was always
1864 set in the current buffer; the buffer recorded in specbind for
1865 this case wasn't used.
1866 (arith_driver): Reindent.
1867
52283633
SM
1868 * buffer.c (swap_out_buffer_local_variables):
1869 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1870
1871 * lisp.h (store_symval_forwarding): Change prototype.
1872
1873 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1874
57ac7c81
GM
18752001-03-14 Gerd Moellmann <gerd@gnu.org>
1876
697617d9
GM
1877 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1878 FOR_DELETION. Avoid resizing the mini-window of the selected
1879 frame if FOR_DELETION is set.
1880 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1881 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1882 signature.
1883
1884 * window.c (Fset_window_configuration): Change call to
1885 do_switch_frame to new format.
1886
1887 * keyboard.c (quit_throw_to_read_char): Change call to
1888 do_switch_frame to new format.
1889
1890 * lisp.h (do_switch_frame): Change prototype.
1891
819dce0f
GM
1892 * frame.c (Fframe_parameters): In the `buffer-list' frame
1893 parameter, store the buffer list of FRAME, not the list of the
1894 selected frame.
1895
57ac7c81
GM
1896 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1897 box just because the glyph row's full_width_p flag is set.
1898
65008712
GM
18992001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1900
1901 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1902 skip the padding blanks inserted in extend_face_to_end_of_line,
1903 before checking for trailing whitespace.
1904
159cf431
GM
19052001-03-13 Gerd Moellmann <gerd@gnu.org>
1906
52283633 1907 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1908 Remove special handling for LessTif/Motif.
1909 (toplevel): Don't include Xm/Xm.h.
1910
52283633
SM
1911 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1912 Remove workaround code for LessTif; it doesn't work anymore.
1913
2564ea1b 1914 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1915 Xm/ScrollBarP.h.
afcdc0a1 1916
52283633
SM
1917 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1918 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1919 contemporary LessTif.
1920
52283633
SM
1921 * xfaces.c (xm_set_menu_resources_from_menu_face):
1922 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1923
159cf431
GM
1924 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1925 removing button grabs.
1926
c6f7429a
KH
19272001-03-13 Kenichi Handa <handa@etl.go.jp>
1928
cb82d767
KH
1929 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1930 and clip-large-size-font as obsolete.
1931
c6f7429a
KH
1932 * lread.c (read_multibyte): Check the validity of multibyte
1933 sequence. If invalid, return the first byte.
1934
760cefb5
GM
19352001-03-12 Gerd Moellmann <gerd@gnu.org>
1936
1937 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1938 before running the command; timer functions or process
1939 filters may have set it.
1940
5141f9d0
EZ
19412001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1942
1943 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1944 Doc fix.
1945
b6a15240
GM
19462001-03-12 Gerd Moellmann <gerd@gnu.org>
1947
1948 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1949 to sprintf.
1950
95522746
GM
19512001-03-09 Gerd Moellmann <gerd@gnu.org>
1952
db14cfc5
GM
1953 * dispextern.h (string_buffer_position): Add prototype.
1954
52283633 1955 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1956 (single_display_prop_string_p): New functions.
1957
1958 * xterm.c (note_mouse_highlight): If there's no help-echo on
1959 a string, look at the buffer text ``under'' it.
1960
1961 * keyboard.c (make_lispy_event): Add string info to the event,
1962 analogous to what's done on mode lines.
1963 (read_key_sequence): For a click on a string, consider `local-map'
1964 and `keymap' of that string.
1965
52283633
SM
1966 * keyboard.c (make_lispy_event, make_lispy_movement):
1967 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1968
1969 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1970
1971 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1972 POS; return void.
1973
95522746
GM
1974 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1975 flags argument to emacs_open; it seems to conflict with O_EXCL.
1976
898a399d
KH
19772001-03-09 Kenichi Handa <handa@etl.go.jp>
1978
28cd4910
KH
1979 * composite.h (struct composition): Change types of members;
1980 glyph_len to unsigned, width to unsigned short.
898a399d 1981
4cdf6a6c
AI
19822001-03-08 Andrew Innes <andrewi@gnu.org>
1983
1984 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1985 menu titles.
1986
129004d3
GM
19872001-03-08 Gerd Moellmann <gerd@gnu.org>
1988
221dd3e7
GM
1989 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1990 instead of nil.
1991
52283633 1992 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1993 help-echo in strings.
1994 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1995 (fast_find_string_pos): New function.
1996
52283633
SM
1997 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1998 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1999
2000 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
2001 Handle `mouse-face'.
2002
2003 * dispextern.h (face_at_string_position): Change prototype.
2004
52283633 2005 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 2006
129004d3
GM
2007 * keyboard.c (make_lispy_event): Avoid generating drag events
2008 if the mouse hasn't actually moved to another buffer position.
52283633 2009
80c8ab8c
DL
20102001-03-08 Dave Love <fx@gnu.org>
2011
129004d3 2012 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 2013
989521fd
GM
20142001-03-08 Gerd Moellmann <gerd@gnu.org>
2015
2016 * process.c (Fset_process_window_size): Fix a typo.
2017
bb5c338d
KH
20182001-03-08 Kenichi Handa <handa@etl.go.jp>
2019
2020 * coding.c (detect_coding_sjis): Do more rigid check.
2021 (detect_coding_big5): Likewise.
2022 (decode_coding_sjis_big5): Likewise.
2023 (Fdetect_coding_region): Call detect_coding_system with tailing
2024 anchor byte `\0' for more rigid detection.
52283633 2025 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2026 (Fdetect_coding_string): Likewise.
2027
8b8f9197
SM
20282001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2029
2030 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2031 a string before extracting its data.
2032
3bdf2660
GM
20332001-03-07 Gerd Moellmann <gerd@gnu.org>
2034
2035 * window.c (Frecenter): Rewrite code handling negative values
2036 of ARG on graphical frames.
2037
20382001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2039
2040 * window.c (displayed_window_lines): If W->start is outside the
2041 accessible portion of the buffer, call start_display with BEGV or
2042 ZV instead of W->start.
2043
471f86b9
GM
20442001-03-07 Gerd Moellmann <gerd@gnu.org>
2045
2ab62c6c
GM
2046 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2047
471f86b9
GM
2048 * process.c (Fset_process_filter): Don't crash if the input
2049 file descriptor of PROCESS is closed.
2050 (Fset_process_window_size): Likewise.
2051
101922c3
GM
20522001-03-06 Kenichi Handa <handa@etl.go.jp>
2053
2054 * xterm.c (XTflash): Make the timeout of select shorter, and call
2055 select repeatedly until the desired time expires.
2056
45d051a7
GM
20572001-03-06 Gerd Moellmann <gerd@gnu.org>
2058
2059 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2060
2061 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2062
2063 * lisp.h (Vwindow_list): Declare extern.
2064
8f372c46
EZ
20652001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2066
2067 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2068
f16a7aa5
GM
20692001-03-06 Gerd Moellmann <gerd@gnu.org>
2070
157ae273
GM
2071 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2072 to detect a case where we have to highlight a different region
2073 despite not having left the currently highlighted region.
2074 Set mouse_face_overlay in the x_display_info.
45d051a7 2075 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2076
2077 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2078
2079 * buffer.c (mouse_face_overlay_overlaps): New function.
2080
2081 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2082 (Qmouse_face): Declare extern.
2083
f16a7aa5
GM
2084 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2085 if face_change_count is non-zero.
2086
827afcac
KH
20872001-03-06 Kenichi Handa <handa@etl.go.jp>
2088
2089 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2090 that the source is unibyte.
2091
14c7242e
DL
20922001-03-05 Dave Love <fx@gnu.org>
2093
827afcac 2094 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2095
c28b847b
GM
20962001-03-05 Gerd Moellmann <gerd@gnu.org>
2097
2098 * minibuf.c (read_minibuf): Clean up the binding stack if
2099 called noninteractively.
2100
b86644f2
KH
21012001-03-05 Kenichi Handa <handa@etl.go.jp>
2102
2103 * coding.c (syms_of_coding): Docstring modified.
2104
203682cc 21052001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2106
2107 * charset.c (char_to_string): If a single byte char has modifier
2108 bits that can't be reflected to the character code, ignore them
45d051a7 2109 instead of signaling an error.
b86644f2 2110
e30bd7b7
EZ
21112001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2112
2113 * s/msdos.h: Update copyright notice.
2114
2115 * dosfns.h: Update copyright notice.
2116
2117 * dosfns.c: Update copyright notice.
2118
2119 * msdos.c: Update copyright notice.
2120
b52b65bd
GM
21212001-03-02 Gerd Moellmann <gerd@gnu.org>
2122
2123 * xterm.c (glyph_rect): New function.
2124 (XTmouse_position): Use it to raise the threshold for mouse
2125 movement event generation.
2126
53c4b1e6
EZ
21272001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2128
2129 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2130 specifies (reverse . t), reverse the initial screen colors.
2131 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2132 but we are reversing the colors, set bg_set, not fg_set.
2133 Likewise for setting background-color and reversing: set fg_set.
2134 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2135 in effect.
2136
2137 * xfaces.c (Finternal_set_lisp_face_attribute)
2138 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2139 parameters alist.
2140
f964b4d7
GM
21412001-03-02 Gerd Moellmann <gerd@gnu.org>
2142
ef53d75e
GM
2143 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2144 to a single slash in the middle of file names.
2145
52283633 2146 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2147 Accept only alphanumeric time zone names.
2148
f964b4d7
GM
2149 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2150 or width area.
2151 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2152 a widget to zero height.
52283633 2153
c3c45f65
GM
21542001-03-01 Gerd Moellmann <gerd@gnu.org>
2155
2156 * window.c (Fwindow_end): Call move_it_past_eol only if
2157 ending up on a partially visible line.
2158
028d739a
DL
21592001-03-01 Dave Love <fx@gnu.org>
2160
2161 * ccl.c (Fccl_execute): Doc fix.
2162
57c5889c
GM
21632001-03-01 Gerd Moellmann <gerd@gnu.org>
2164
35f59f6b
GM
2165 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2166 of the tool bar before calling x_figure_window_size.
2167
f84ff02c
GM
2168 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2169 NULL after destroying it, otherwise XTread_socket can access a
2170 destroyed widget when input is unblocked.
2171
8b8f9197 2172 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2173
57c5889c
GM
2174 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2175 same name as before, although there was a change in fontsets.
2176
224227d1
KR
21772001-02-28 Ken Raeburn <raeburn@gnu.org>
2178
4560730a
KR
2179 * lisp.h (Fframe_parameter): Declare.
2180
224227d1 2181 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2182 Lisp_Object.
224227d1 2183
ece93c02
GM
21842001-02-28 Gerd Moellmann <gerd@gnu.org>
2185
11ef99b9
GM
2186 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2187 NULL instead.
2188
2189 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2190 NULL instead.
2191
ece93c02
GM
2192 * alloc.c (toplevel): Include process.h.
2193 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2194 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2195 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2196 (allocate_vector, allocate_hash_table, allocate_window)
2197 (allocate_frame, allocate_process, allocate_other_vector):
2198 New functions.
ece93c02
GM
2199 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2200 (mark_maybe_pointer): New function.
52283633 2201 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2202 remain and not Lisp_Objects.
2203 (min_heap_address, max_heap_address): New variables.
2204 (mem_find): Return MEM_NIL if START is below min_heap_address or
2205 above max_heap_address.
2206 (mem_insert): Compute min_heap_address and max_heap_address.
2207
2208 * process.c (make_process): Use allocate_process.
2209
2210 * frame.c (make_frame): Use allocate_frame.
2211
2212 * window.c (make_window, make_dummy_parent): Use allocate_window.
2213 (Fcurrent_window_configuration): Use allocate_other_vector.
2214
2215 * lisp.h (allocate_vectorlike): Remove prototype.
2216 (allocate_vector, allocate_other_vector, allocate_frame)
2217 (allocate_window, allocate_process, allocate_hash_table):
2218 Add prototypes.
2219
2220 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2221 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2222
063af457
KH
22232001-02-27 Kenichi Handa <handa@etl.go.jp>
2224
2225 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2226 treat the produced bytes as a valid multibyte sequence.
2227
2228 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2229 (ccl_driver) <CCL_WriteMultibyteChar2>:
2230 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
2231 <ccl_finish>: Set ccl->eight_bit_control properly.
2232
2233 * ccl.h (struct ccl_program): New member eight_bit_control.
2234
f58c6494
SM
22352001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2236
2237 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2238 accessible_keymaps_char_table.
2239 (accessible_keymaps_char_table): Obey `is_metized'.
2240 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2241 Lisp_Object.
2242
c596c392
GM
22432001-02-26 Gerd Moellmann <gerd@gnu.org>
2244
2245 * dispnew.c: Check HAVE_TERM_H before including term.h.
2246
425de386
AI
22472001-02-24 Andrew Innes <andrewi@gnu.org>
2248
2249 * makefile.w32-in: Update copyright notice.
2250
2ba11bbd
SM
22512001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2252
2253 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2254
66c56ed1
KH
22552001-02-24 Kenichi Handa <handa@etl.go.jp>
2256
4c1593ce
KH
2257 * Makefile.in (lisp): Add international/utf-8.elc.
2258
66c56ed1
KH
2259 * fontset.c (Fnew_fontset): Fix handling of the case that an
2260 element of FONTLIST is a cons of family and registry.
2261
796ead7e
JR
22622001-02-23 Jason Rumney <jasonr@gnu.org>
2263
2264 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2265 to height unconditionally.
2266
2267 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2268 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2269 (x_insert_glyphs): Call window_box_left to obtain the left
2270 x-coordinate of the area to shift.
2271
2272 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2273 safe_run_hooks.
2274
f6839838
AI
22752001-02-22 Andrew Innes <andrewi@gnu.org>
2276
52283633 2277 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2278 ($(BLD)\dispnew.obj):
2279 ($(BLD)\editfns.obj):
2280 ($(BLD)\fileio.obj):
2281 ($(BLD)\filelock.obj):
2282 ($(BLD)\keyboard.obj):
2283 ($(BLD)\w32proc.obj):
2284 ($(BLD)\process.obj):
2285 ($(BLD)\sysdep.obj): Ditto.
2286
2287 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2288 header files.
52283633
SM
2289 ($(BLD)/dispnew.$(O)):
2290 ($(BLD)/editfns.$(O)):
2291 ($(BLD)/fileio.$(O)):
2292 ($(BLD)/filelock.$(O)):
2293 ($(BLD)/keyboard.$(O)):
2294 ($(BLD)/w32proc.$(O)):
2295 ($(BLD)/process.$(O)):
f6839838
AI
2296 ($(BLD)/sysdep.$(O)): Ditto.
2297
c224f70b
GM
22982001-02-22 Gerd Moellmann <gerd@gnu.org>
2299
51695746
GM
2300 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2301 at the start of the function, check that the \n in it->c is
2302 from the iterator's current position.
52283633 2303
a61b7058
GM
2304 * xdisp.c (handle_single_display_prop): Add parameter
2305 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2306 properties which replace the display of text with something else.
2307 (handle_display_prop): Call handle_single_display_prop with
2308 additional argument saying if we already replaced text display
2309 with something else. Use AREF.
52283633 2310 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2311 (decode_mode_spec_coding): Use AREF and ASIZE.
2312
3473f362
GM
2313 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2314 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2315 * vmstime.h: Files removed.
52283633 2316
2bb58df3
GM
2317 * unexencap.c, unexfx2800.c: Files removed.
2318
c224f70b
GM
2319 * dispnew.c (direct_output_for_insert): Give up if we are showing
2320 a message or just cleared the message because we might need to
2321 resize the echo area window or display an empty echo area.
2322
ffc9ff0c
GM
23232001-02-21 Gerd Moellmann <gerd@gnu.org>
2324
0528abe1
GM
2325 * xdisp.c (redisplay_internal): Do the
2326 mark_window_display_accurate after all windows have been
2327 redisplayed because this call resets flags in buffers which are
2328 needed for proper redisplay.
2329
52283633
SM
2330 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2331 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2332 the old names.
2333
52283633
SM
2334 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2335 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2336
2337 * msdos.h (struct x_output): Rename busy_window to
2338 hourglass_window, busy_p to hourglass_p.
2339
52283633
SM
2340 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2341 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2342
2343 * xfns.c: Rename everything containing *busy_cursor* and similar
2344 to *hourglass*.
2345 (syms_of_w32fns): Rename x-busy-pointer-shape to
2346 x-hourglass-pointer-shape, display-busy-cursor to
2347 display-hourglass, busy-cursor-delay to hourglass-delay.
2348
2349 * w32fns.c: Rename everything containing *busy_cursor* and similar
2350 to *hourglass*.
2351 (syms_of_w32fns): Rename x-busy-pointer-shape to
2352 x-hourglass-pointer-shape, display-busy-cursor to
2353 display-hourglass, busy-cursor-delay to hourglass-delay.
2354
2355 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2356 of its busy_p flag.
2357
2358 * dispextern.h (start_hourglass, cancel_hourglass)
2359 (display_hourglass_p): Renamed from *busy_cursor*.
2360
ab2c5f0a
GM
23612001-02-20 Gerd Moellmann <gerd@gnu.org>
2362
d17e49a8
GM
2363 * keyboard.c (read_char): When an event from unread-command-events
2364 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2365
fa97adf6
GM
2366 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2367 equal to the current buffer.
2368
ab2c5f0a
GM
2369 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2370 nil, otherwise we're left with truncate_lines t when a message
2371 is printed with message-truncate-lines bound to t.
2372
aeac019e
GM
23732001-02-19 Gerd Moellmann <gerd@gnu.org>
2374
c8bc6f65
GM
2375 * window.c (Fmove_to_window_line): Undo last change.
2376 (displayed_window_lines): Call line_bottom_y to determine
2377 the line's bottom position.
2378
2379 * dispextern.h (line_bottom_y): Add prototype.
2380
52283633 2381 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2382 (pos_visible_p): Use it.
2383
980a2d69
GM
2384 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2385 set redisplaying_p to 0 here instead of in Frecursive_edit.
2386 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2387 set redisplaying_p.
2388
52283633 2389 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2390 New variables.
2391 (syms_of_xdisp): Initialize new variables.
2392 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2393 Specbind `inhibit-menubar-update' when updating the menu bar.
2394
65048e97
GM
2395 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2396 safe_run_hooks.
2397
2398 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2399 safe_run_hooks.
2400
a57c4026
GM
2401 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2402 is null.
2403
aeac019e
GM
2404 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2405 to the start of the file.
2406
76846b31
GM
24072001-02-16 Gerd Moellmann <gerd@gnu.org>
2408
f3f053f3 2409 * window.c (set_window_buffer): Fix last change.
52283633 2410
f3f053f3
GM
2411 * window.c (set_window_buffer): Set window's vscroll to 0.
2412
dad75588
GM
2413 * window.c (coordinates_in_window): Increase width of area
2414 where the vertical line can be dragged.
2415
c220b753
GM
2416 * xterm.c (x_set_glyph_string_background_width): Extend the
2417 background face to the end of the drawing area in the text
2418 area, only.
2419
c56b1c1b
GM
2420 * xdisp.c (handle_single_display_prop): Set iterator's position
2421 to where the `display' property starts, like for images.
2422 (dump_glyph): New function.
2423 (dump_glyph_row): Use it. Dump info about marginal areas.
2424
2425 * dispnew.c (direct_output_for_insert): Recognize more cases where
2426 glyphs can be written instead of being inserted.
2427
2428 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2429 the left x-coordinate of the area to shift.
2430
76846b31
GM
2431 * dired.c (directory_files_internal): Set result list to nil
2432 before retrying.
2433
0fc71a77
KH
24342001-02-15 Kenichi Handa <handa@etl.go.jp>
2435
2436 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2437 invalid multibyte sequence, treat *SRC as a character of
2438 eight-bit-graphic.
2439
25078b54
EZ
24402001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2441
2442 * textprop.c (Fset_text_properties): Doc fix.
2443
8399f8a0
GM
24442001-02-15 Gerd Moellmann <gerd@gnu.org>
2445
2446 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2447
9a2a6f73
DL
24482001-02-14 Dave Love <fx@gnu.org>
2449
2450 * coding.c: Doc and message fixes.
2451
bf853fee
AI
24522001-02-14 Andrew Innes <andrewi@gnu.org>
2453
2454 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2455 Emacs frame above the screen size.
2456
78c663d8
GM
24572001-02-14 Gerd Moellmann <gerd@gnu.org>
2458
2459 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2460
7cc9f69f
GM
24612001-02-13 Gerd Moellmann <gerd@gnu.org>
2462
0a411995
GM
2463 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2464 case that TO ends up beyond ZV after running before-change-functions.
2465
5ddc1b75
GM
2466 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2467 the selected window if it is showing the buffer in question.
2468
7cc9f69f
GM
2469 * dired.c (directory_files_internal): Initialize errno.
2470 (toplevel): Include errno.h.
2471
2e6621ca
GM
24722001-02-13 Kenichi Handa <handa@etl.go.jp>
2473
2474 * xfaces.c (best_matching_font): New parameter width_ratio.
2475 Multiply avgwidth by width_ratio.
2476 (choose_face_font): Call best_matching_font with width_ratio
2477 calculated from the column width of C.
2478
60222d69
AI
24792001-02-12 Andrew Innes <andrewi@gnu.org>
2480
2481 The following changes are to draw box lines inside characters area
2482 if line-width is negative.
52283633 2483
60222d69
AI
2484 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2485 face->box_line_width is negative.
2486 (x_produce_stretch_glyph): Likewise.
2487 (x_produce_glyphs): Likewise.
2488 (x_estimate_mode_line_height): Likewise.
2489 (x_draw_glyph_string_background): Likewise.
2490 (x_draw_glyph_string_foreground): Likewise.
2491 (x_draw_composite_glyph_string_foreground): Likewise.
2492 (x_draw_glyph_string_box): Likewise.
2493 (x_draw_image_foreground): Likewise.
2494 (x_draw_image_relief): Likewise.
2495 (x_draw_image_foreground_1): Likewise.
2496 (x_draw_image_glyph_string): Likewise.
2497
9804b846
KH
24982001-02-09 Kenichi Handa <handa@etl.go.jp>
2499
2500 The following changes are to draw box lines inside characters area
2501 if line-width is negative.
52283633 2502
9804b846
KH
2503 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2504 face->box_line_width is negative.
2505 (x_produce_stretch_glyph): Likewise.
2506 (x_produce_glyphs): Likewise.
2507 (x_estimate_mode_line_height): Likewise.
2508 (x_draw_glyph_string_background): Likewise.
2509 (x_draw_glyph_string_foreground): Likewise.
2510 (x_draw_composite_glyph_string_foreground): Likewise.
2511 (x_draw_glyph_string_box): Likewise.
2512 (x_draw_image_foreground): Likewise.
2513 (x_draw_image_relief): Likewise.
2514 (x_draw_image_foreground_1): Likewise.
2515 (x_draw_image_glyph_string): Likewise.
2516
2517 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2518 and :line-width can be negative.
52283633 2519 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2520
49be9f70
JR
25212001-02-09 Jason Rumney <jasonr@gnu.org>
2522
2523 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2524 characters the same as ASCII and latin-1.
2525 (x_display_and_set_cursor): Check for the focus frame's selected
2526 window instead of selected_window.
2527 (x_after_update_window_line): Don't clear if frame's internal
2528 border width is zero.
2529 (x_new_font): Don't change a tooltip's size.
2530 (w32_initialize): Set char_ins_del_ok to 1.
2531
2532 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2533 (x_set_font): If font hasn't changed, avoid recomputing
2534 faces and other things.
52283633
SM
2535 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2536 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2537 (x_create_tip_frame): Prevent changing the tooltip's
2538 background color by specifying a color for the default font
2539 in .Xdefaults.
2540 (Qcancel_timer): New variable.
2541 (syms_of_w32fns): Initialize and staticpro it.
2542 (Fx_hide_tip, Fx_show_tip): Use it.
2543 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2544 the timer.
2545 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2546
2547 * w32.c (init_environment): Duplicate local string before putenv.
2548
555e35d2
SZ
25492001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2550
2551 * charset.c (Fstring): A typo.
2552
19c92c94
KH
25532001-02-09 Kenichi Handa <handa@etl.go.jp>
2554
e47a1c33
KH
2555 * charset.c (Fstring): If all arguments are less than 256, return
2556 a unibyte string.
2557
2558 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2559 return a unibyte string.
2560
19c92c94
KH
2561 * coding.c (code_convert_region): After detecting a coding, if
2562 nothing found, set coding->composing to COMPOSITION_NO.
2563 (decode_coding_string): Likewise.
2564
d8e675f5
SM
25652001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2566
2567 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2568 to avoid overflow.
2569
bd503487
KH
25702001-02-07 Kenichi Handa <handa@etl.go.jp>
2571
2572 * charset.c (parse_str_to_multibyte): New function.
2573
2574 * charset.h (parse_str_to_multibyte): Extern it.
2575
2576 * print.c (print_string): If we are going to print a unibyte
2577 string into a multibyte buffer, convert the string to multibyte by
2578 str_to_multibyte.
2579
a8370d72
AI
25802001-02-06 Andrew Innes <andrewi@gnu.org>
2581
2582 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2583 been created. It seems we can get sent window messages such as
2584 WM_ERASEBKGND before we properly update a frame.
2585
c363a1d6
GM
25862001-02-06 Gerd Moellmann <gerd@gnu.org>
2587
2588 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2589 Avoid some unnecessary cursor positioning.
2590
a08332c0
GM
25912001-02-05 Gerd Moellmann <gerd@gnu.org>
2592
52283633 2593 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2594 (LFACE_AVGWIDTH): New macro.
2595 (LFACEP): Use AREF.
2596 (check_lface_attrs): Check LFACE_AVGWIDTH.
2597 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2598 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2599 (merge_face_vectors): Check LFACE_AVGWIDTH.
2600 (Finternal_make_lisp_face): Use AREF.
2601 (xm_set_menu_resources_from_menu_face)
2602 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2603 (Finternal_lisp_face_empty_p): Use AREF.
2604 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2605 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2606 Compare average widths..
2607 (best_matching_font): Arrange for comparing average widths.
2608
52283633
SM
2609 * dispextern.h (enum lface_attribute_index):
2610 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2611
5cb3c8d4
DL
26122001-02-05 Dave Love <fx@gnu.org>
2613
2614 * puresize.h: Revert last change following loadup.el change.
2615
193fba87
AI
26162001-02-05 Andrew Innes <andrewi@gnu.org>
2617
2618 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2619 invocation of temacs, to work with Windows 2000.
2620 (bootstrap-emacs): Ditto.
2621
e16f52ce
GM
26222001-02-05 Gerd Moellmann <gerd@gnu.org>
2623
7a58ab59
GM
2624 * xterm.c (x_display_and_set_cursor): Check for the focus
2625 frame's selected window instead of selected_window.
2626
e89aaabd
GM
2627 * xdisp.c (try_scrolling): If point is in the line below the
2628 window, make sure to move the iterator at least a canonical
2629 char height down.
2630
52283633 2631 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2632
789ce875
KH
26332001-02-05 Kenichi Handa <handa@etl.go.jp>
2634
52283633
SM
2635 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2636 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2637 (ccl_driver): If the CCL program is terminated because of
2638 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2639 destination instead of throwing them away.
2640
20b28f82
GM
26412001-02-02 Gerd Moellmann <gerd@gnu.org>
2642
79fb38c0
GM
2643 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2644 faces and other things.
2645
20b28f82
GM
2646 * xdisp.c (get_next_display_element): Fix case of empty
2647 display table entry.
2648
5a72551e
EZ
26492001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2650
eb24d0bf
EZ
2651 * editfns.c (Fconstrain_to_field): Doc fix.
2652
6a3f48c7
EZ
2653 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2654 into `thoroughly', to make it consistent with the doc string.
2655
5a72551e
EZ
2656 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2657
01acdb05
GM
26582001-02-01 Gerd Moellmann <gerd@gnu.org>
2659
0353b28f
GM
2660 * search.c (search_buffer): Call set_search_regs with a byte
2661 position, not a character position.
2662
01acdb05
GM
2663 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2664 minibuffer-only,
2665
e86b5133
EZ
26662001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2667
2668 * frame.c (Fmodify_frame_parameters): Doc fix.
2669
7442878f
GM
26702001-01-31 Gerd Moellmann <gerd@gnu.org>
2671
01acdb05
GM
2672 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2673 identifier which is not reserved by Standard C.
52283633 2674
7442878f
GM
2675 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2676
2677 * window.c (enum window_part): New enumeration.
2678 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2679 Qright_bitmap_area.
2680 (coordinates_in_window): Return an enumerator from enum
2681 window_part. Fix handling of right scroll bar.
2682 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2683 `right-fringe' instead of `left-bitmap-area' and
2684 `right-bitmap-area'. Use enumerators from enum window_part
2685 instead of hard-coded integers.
52283633
SM
2686 (check_window_containing, window_from_coordinates):
2687 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2688 (syms_of_window): Replace Qleft_bitmap_area and
2689 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2690
7c132cba
EZ
26912001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2692
2693 * editfns.c (Fformat_time_string): Doc fix.
2694
c359dd9e
SM
26952001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2696
2697 * keymap.c (Fwhere_is_internal): Use the first valid binding
2698 if no ascii binding is found (when firstonly is t).
2699
ce070307
GM
27002001-01-31 Gerd Moellmann <gerd@gnu.org>
2701
b4f30ec5
GM
2702 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2703 instead of Finteractive_p.
2704
2705 * lisp.h (interactive_p): Add prototype.
2706
2707 * eval.c (interactive_p): New function.
2708 (Finteractive_p): Use it.
2709
ce070307
GM
2710 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2711
f57b6e64
DL
27122001-01-31 Dave Love <fx@gnu.org>
2713
d61c7afe
DL
2714 * .gdbinit (hook-run): Define to run xreload.
2715
f57b6e64
DL
2716 * textprop.c (Fset_text_properties): Fix newline in doc string.
2717
eef93f99
GM
27182001-01-30 Gerd Moellmann <gerd@gnu.org>
2719
52283633
SM
2720 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2721 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2722
2723 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2724 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2725 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2726
2727 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2728 height.
2729
d9c1f6f9
DL
27302001-01-30 Dave Love <fx@gnu.org>
2731
2732 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2733 AFTER_POTENTIAL_GC.
2734
e8f044a0
GM
27352001-01-29 Gerd Moellmann <gerd@gnu.org>
2736
52283633
SM
2737 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2738 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2739
8e1db7b3
EZ
27402001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2741
2742 * textprop.c (Fset_text_properties): Doc fix.
2743
4eefd9d2
GM
27442001-01-29 Gerd Moellmann <gerd@gnu.org>
2745
2746 * xdisp.c (forward_to_next_line_start): Remove xassert.
2747
fccb8288
EZ
27482001-01-29 Jason Rumney <jasonr@gnu.org>
2749
4eefd9d2 2750 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2751 returning without releasing it.
2752
76581eab
KH
27532001-01-29 Kenichi Handa <handa@etl.go.jp>
2754
2755 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2756 for '^', '$', and '\0'.
2757
83a96b4d
AC
27582001-01-28 Andrew Choi <akochoi@i-cable.com>
2759
5604ec34
AC
2760 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2761 regex for '^', '$', and '\0'.
2762
83a96b4d
AC
2763 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2764 only if current_sblock has been initialized.
2765
2766 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2767 terminal frame even if it is the only visible frame.
2768
c09a6440
KH
27692001-01-28 Kenichi Handa <handa@etl.go.jp>
2770
2771 * fontset.c (font_family_registry): Even if FONTNAME conform to
2772 XLFD, if it specifies other fields than family and registry,
52283633 2773 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2774 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2775 a signle byte character. Don't set FAMILY part to nil here.
2776 It is handled by the caller choose_face_font.
c09a6440
KH
2777 (Fnew_fontset): Call font_family_registry with FORCE 0.
2778 (Fset_fontset_font): Likewise.
2779
4dcd74e6
GM
27802001-01-27 Gerd Moellmann <gerd@gnu.org>
2781
2782 * xdisp.c (display_line): Don't treat a newline as fitting
2783 on the line.
2784
d2906bf8
GM
27852001-01-26 Gerd Moellmann <gerd@gnu.org>
2786
0130fe1a
GM
2787 * window.c (size_window): Set the window's orig_top to nil when
2788 changing heights, so that a future shrink_mini_window won't
2789 restore a bogus height.
2790
550f0e6a
GM
2791 * frame.c (do_switch_frame): If selected frame has a mini-window,
2792 resize that to exact size.
2793
b7b20fbd
GM
2794 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2795
a47b7816
GM
2796 * xdisp.c (display_line): Simplify check for glyphs fitting
2797 entirely in the line.
2798
d2906bf8
GM
2799 * xfns.c (xic_style): New variable.
2800 (create_frame_xic): Move static variable to global scope for
550f0e6a 2801 the case that `static' gets defined away.
d2906bf8 2802
73df2b1e
KH
28032001-01-26 Kenichi Handa <handa@etl.go.jp>
2804
2805 * coding.c (decode_coding): Set a flag for inhibiting
2806 inconsistent eol.
2807 (code_convert_region): Always set saved_coding_symbol.
2808 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2809 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2810
6613cfc4
GM
28112001-01-25 Gerd Moellmann <gerd@gnu.org>
2812
c5e6e06b
GM
2813 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2814 XClearArea.
2815
2816 * xterm.c (x_after_update_window_line): Don't clear if frame's
2817 internal border width is zero.
2818 (x_clear_area): New function.
2819 (x_after_update_window_line, x_clear_end_of_line)
2820 (x_scroll_bar_create, x_scroll_bar_set_handle)
2821 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2822 instead of XClearArea.
2823
2824 * xterm.h (x_clear_area): Add prototype.
2825
6613cfc4
GM
2826 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2827 which doesn't seem necessary anymore with Lesstif 0.92.
2828
650cc6cc
DL
28292001-01-25 Dave Love <fx@gnu.org>
2830
34ac3367
DL
2831 * puresize.h (BASE_PURESIZE): Up to 720000.
2832
650cc6cc
DL
2833 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2834
5e37dc22
GM
28352001-01-25 Gerd Moellmann <gerd@gnu.org>
2836
e1e441f9
GM
2837 * xdisp.c (echo_area_display): Don't call redisplay_internal
2838 when Emacs is shutting down. We can't run hooks etc. that
2839 would be necessary to do a redisplay.
2840
5e37dc22
GM
2841 * lread.c (read_integer): Use type EMACS_INT instead of int.
2842
0fb94c7f
EZ
28432001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2844
2845 * ccl.c (ccl_driver): Fix last change.
2846
e3778624
KH
28472001-01-25 Kenichi Handa <handa@etl.go.jp>
2848
2849 * ccl.h (sturct ccl_program): New member suppress_error.
2850
bb264518 2851 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2852 insert error message to the output.
2853 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2854
2855 * coding.h (struct coding_system): New member suppress_error.
2856
2857 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2858 (Fset_terminal_coding_system_internal): Set the member
2859 suppress_error to 1.
2860 (Fset_safe_terminal_coding_system_internal): Likewise.
2861
245ed2b1
SM
28622001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2863
2864 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2865 as if it was a `charset'.
2866
f9aaedb6
GM
28672001-01-24 Gerd Moellmann <gerd@gnu.org>
2868
2869 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2870 value in where_is_cache; the next lookup in the cache returns
2871 something bogus if we do.
2872
c3902c3e
EZ
28732001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2874
2875 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2876 if HAVE_WINDOW_SYSTEM isn't defined.
2877
3497f73e
GM
28782001-01-24 Gerd Moellmann <gerd@gnu.org>
2879
e7e41584
GM
2880 * fns.c (sweep_weak_table): Fix code taking items out of
2881 the hash collision chain. Some cleanup.
2882
3497f73e
GM
2883 * xterm.c (x_new_font): Don't change a tooltip's size.
2884
2885 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2886 background color by specifying a color for the default font
2887 in .Xdefaults.
2888
3d48e687
KH
28892001-01-24 Kenichi Handa <handa@etl.go.jp>
2890
96531b20
KH
2891 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2892 a workaround for SunOS 4's cc.
2893 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2894 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2895 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2896 statement.
3d48e687 2897
a30629d2
GM
28982001-01-23 Gerd Moellmann <gerd@gnu.org>
2899
2900 * xterm.c (x_set_window_size_1): New function extracted from
2901 x_set_window_size.
2902 (x_set_window_size): Use it.
2903 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2904 doesn't have a widget, like tooltips.
2905
5a43decf
EZ
29062001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2907
52283633 2908 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2909
b0e98867
KH
29102001-01-23 Kenichi Handa <handa@etl.go.jp>
2911
2912 * fns.c (Fset_char_table_default): Fix to make sub char-table
2913 correctly.
2914
50606b4c
GM
29152001-01-22 Gerd Moellmann <gerd@gnu.org>
2916
cb2ddc53 2917 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2918 a desired tool bar string, even if there are no tool bar items.
2919
57c28064
GM
2920 * xdisp.c (Ftool_bar_lines_needed): New function.
2921 (syms_of_xdisp): Defsubr it.
2922
50606b4c
GM
2923 * editfns.c (Fformat): Don't extend text properties from arguments
2924 to padding chars in the result.
2925
2f169c38
EZ
29262001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2927
2928 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2929
0f32f023
AI
29302001-01-20 Andrew Innes <andrewi@gnu.org>
2931
52283633 2932 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2933 (w32_initialize): Don't set term hooks that aren't actually needed
2934 in windowed mode.
2935
2936 * xfaces.c (realize_default_face):
2937 (realize_face):
2938 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2939
2940 * xdisp.c (handle_single_display_prop): Remove references to
2941 FRAME_W32_CONSOLE_P.
2942
52283633 2943 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2944
2945 * frame.h (output_method): Remove output_w32_console method.
2946 (FRAME_W32_CONSOLE_P): Remove macro.
2947
2948 * frame.c (Qw32_console): Remove variable.
2949 (Fframep): Remove references to it.
2950 (syms_of_frame): Ditto.
2951 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2952
2953 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2954 redefinition.
2955
7173eada
KH
29562001-01-20 Kenichi Handa <handa@etl.go.jp>
2957
2958 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2959
755b45ce
AI
29602001-01-19 Andrew Innes <andrewi@gnu.org>
2961
2962 * w32.c (init_environment): Add a version-independent site-lisp
2963 directory to EMACSLOADPATH, after the version dependent one.
2964
0a949811
GM
29652001-01-19 Gerd Moellmann <gerd@gnu.org>
2966
8501998a
GM
2967 * editfns.c (Fbuffer_substring): Doc fix.
2968
52283633
SM
2969 * xdisp.c (message_dolog, message2, message2_nolog):
2970 Rename parameter LEN to NBYTES.
0a949811 2971
e6ebcbbe
KH
29722001-01-19 Kenichi Handa <handa@etl.go.jp>
2973
200ecca2
KH
2974 * charset.c (strwidth): Use c_string_width.
2975 (c_string_width): New function.
2976 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2977 Caller changed.
2978
2979 * charset.h (c_string_width, lisp_string_width): Extern them.
2980
52283633 2981 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2982
e6ebcbbe
KH
2983 * indent.c (check_composition): Check validity of composition.
2984
200ecca2
KH
2985 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2986 characters by calling c_string_width.
2987 (x_consider_frame_title): Get byte length of frame tile string
2988 correctly.
2989 (display_mode_element): Pay attention to width of non-ASCII
2990 characters by calling strwidth.
2991
8692ca92
GM
29922001-01-18 Gerd Moellmann <gerd@gnu.org>
2993
8962e303
GM
2994 * xfns.c (Qcancel_timer): New variable.
2995 (syms_of_xfns): Initialize and staticpro it.
2996 (Fx_hide_tip, Fx_show_tip): Use it.
2997 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2998 the timer.
2999 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
3000
91523be9
GM
3001 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
3002
3003 * window.h (WINDOW_LIVE_P): New macro.
3004
b0b7ed0e
GM
3005 * window.c (window_size_fixed): New variable.
3006 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
3007 the doc string.
3008
06bccf8e
GM
3009 * eval.c (specbind): If binding a per-buffer variable which
3010 doesn't have a buffer-local value in the current buffer, change
3011 the global value by changing the value of the symbol bound in all
3012 buffers not having their own value, to make it consistent with
3013 what happens with other buffer-local variables.
3014
8692ca92
GM
3015 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
3016
3017 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3018 when searching for a newline.
3019
bb3a3b50
KH
30202001-01-18 Kenichi Handa <handa@etl.go.jp>
3021
3022 * xdisp.c (display_string): Fix previous change.
3023
c2cc16fa
JR
30242001-01-18 Jason Rumney <jasonr@gnu.org>
3025
3026 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3027 GLYPH_DEBUG is defined.
3028 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3029 true for images with `:ascent 100'.
3030 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3031 meantime, use face MOUSE_FACE_ID.
3032 If first glyph isn't a character glyph, use the ASCII NUL
3033 character to determine the face.
3034 (expose_area): Do not treat left margin specially.
3035 (note_mode_line_highlight): If no local_map, check global keymap.
3036 (note_mouse_highlight): Initialize overlay.
52283633 3037 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3038 (show_scroll_bars): Remove unused function.
3039 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3040 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3041 Clip to row.
52283633 3042 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3043 (x_free_frame_resources): Unload relief colors.
3044
9c11f79e
GM
30452001-01-17 Gerd Moellmann <gerd@gnu.org>
3046
3aec8722 3047 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3048 get_next_display_element when the newline is already found.
3049 This may change the iterator's position, when its current position is
3aec8722
GM
3050 equal to the iterator's stop_charpos.
3051
f3ffc2c3
GM
3052 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3053 zero, use this method only at the end of a line.
3054
52283633 3055 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3056 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3057 if SCALABLE_FONTS_P is set.
52283633 3058
d26d6fd9
GM
3059 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3060 so that scalable fonts are included.
3061
9c11f79e
GM
3062 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3063 In the cache, use a key containing the information if scalable
3064 fonts are included.
3065 (x_load_font): Adapt to change of keys in the font cache.
3066
30672001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3068
d26d6fd9
GM
3069 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3070 XListFonts to take advantage of font caching.
3071
9c11f79e
GM
3072 * xterm.c (x_list_fonts): Ensure caching font information when
3073 called for a null frame, which is the case frequently when Emacs
3074 starts.
3075
51446987
GM
30762001-01-17 Gerd Moellmann <gerd@gnu.org>
3077
f864120f
GM
3078 * xfns.c (QCconversion): Replaces QCalgorithm.
3079
3080 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3081
3082 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3083 of :algorithm.
52283633 3084
e37d1417
GM
3085 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3086 not everything could be displayed.
3087
51446987
GM
3088 * line.h, x-list-font.c: Files removed because unused.
3089
9ad4f3e5
AI
30902001-01-17 Andrew Innes <andrewi@gnu.org>
3091
3092 * dired.c (directory_files_internal): Convert result from readdir
3093 to a unibyte string initially, to avoid possible misinterpretation
3094 of some bytes as the internal form of Emacs characters.
3095
2eda09b5
KH
30962001-01-17 Kenichi Handa <handa@etl.go.jp>
3097
3098 * fns.c (concat): Be sure to avoid putting the same `composition'
3099 property on the adjacent regions.
3100
826f3788
GM
31012001-01-16 Gerd Moellmann <gerd@gnu.org>
3102
52283633 3103 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3104 (Fscroll_right, Fscroll_left): Set it here instead, if called
3105 interactively.
3106
d57b83b3
GM
3107 * buffer.c (Fset_buffer_modified_p): Set buffer's
3108 prevent_redisplay_optimizations_p flag.
3109
826f3788 3110 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3111 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3112 with additional arg.
3113
3114 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3115 Change prototype.
826f3788 3116
826f3788
GM
3117 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3118 FROM_WHERE, for debugging.
3119
261d788b
KH
31202001-01-16 Kenichi Handa <handa@etl.go.jp>
3121
3122 * ccl.c (Fregister_ccl_program): Handle the return value of
3123 resolve_symbol_ccl_program correctly.
52283633 3124 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3125
bccee4f2
GM
31262001-01-15 Gerd Moellmann <gerd@gnu.org>
3127
e4ded23c
GM
3128 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3129 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3130
3131 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3132 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3133 the display; we didn't open it.
3134
bccee4f2
GM
3135 * dispnew.c (save_or_restore_current_matrices): Function removed.
3136 (save_current_matrix, restore_current_matrix): New functions.
3137 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3138 restore the frame's current matrix. Due to the glyph pointer
3139 setup done in adjust_glyph_matrix, there is no easy way to make
3140 saving the current matrix in the desired matrix generally correct,
3141 so don't try it.
3142
ebeccffa
KH
31432001-01-15 Kenichi Handa <handa@etl.go.jp>
3144
3145 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3146 truncation glyphs.
3147 (display_line): Optimize for wide characters.
e4ded23c 3148 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3149 partially. On ttys, produce more than one truncation glyph for
3150 multi-column characters that don't fit on the line.
3151
64388126
KH
31522001-01-13 Kenichi Handa <handa@etl.go.jp>
3153
52283633
SM
3154 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3155 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3156
8edb0a6f
JR
31572001-01-13 Jason Rumney <jasonr@gnu.org>
3158
3159 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3160 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3161 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3162 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3163
52283633
SM
3164 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3165 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3166 (x_draw_image_glyph_string): Adapt to change of image margins.
3167
3168 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3169 variables.
3170
3171 * w32bdf.c (search_file_line, get_cached_font_char)
3172 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3173
3174 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3175
3176 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3177 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3178 (Fw32_send_sys_command): Remove unused variables.
3179 (w32_msg_pump): Add parentheses.
3180
3181 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3182 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3183 Add parentheses.
3184
4956d1ef
GM
31852001-01-12 Gerd Moellmann <gerd@gnu.org>
3186
b30623be
GM
3187 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3188 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3189 being a pair of margins.
3190 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3191 to DEFVAR_LISP. Extend doc.
3192
3193 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3194 margins.
3195 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3196 pair of integers `(X . Y)', use X for the horizontal and Y for the
3197 vertical margin.
3198 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3199 (parse_image_spec): Check it.
52283633
SM
3200 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3201 (tiff_format, gif_format, gs_format):
3202 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3203
52283633
SM
3204 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3205 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3206 (x_draw_image_glyph_string): Adapt to the change of image margins.
3207
3208 * dispextern.h (struct image): Replace member `margin' with
3209 `hmargin' and `vmargin'.
3210
4554cc79
GM
3211 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3212 and GLYPHS.
3213
3214 * dispnew.c (update_text_area): Put code which decrements the
3215 stop position when the row's face extends to the end of the
3bffc665 3216 line in #if 0.
4554cc79 3217
3cccce8d
GM
3218 * xfns.c (x_set_mouse_color): Fix color allocation.
3219
4956d1ef
GM
3220 * keyboard.c: Call get_local_map with new argument list.
3221
3222 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3223
3224 * intervals.h (enum map_property): Removed.
3225 (get_local_map): Change prototype.
3226
3227 * keymap.c: Call get_local_map with new argument list.
3228 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3229
2c2ff7f2
GM
32302001-01-11 Gerd Moellmann <gerd@gnu.org>
3231
a23887b9
GM
3232 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3233 of the size needed for the tool bar string. For the last image,
3234 use a `display' property that reaches to the end of the string.
3235
a7ee2d2e
GM
3236 * xselect.c (selection_request_dpyinfo): New variable.
3237 (x_handle_selection_request): Set it.
3238 (x_selection_request_lisp_error): Don't call
3239 x_decline_selection_request if selection request's display has
3240 been closed.
3241
52283633
SM
3242 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3243 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3244
457b792c
GM
32452001-01-10 Dave Love <fx@gnu.org>
3246
3247 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3248 ${SOME_MACHINE_LISP}, not ${lisp}.
3249
c1efd260
GM
32502001-01-10 Gerd Moellmann <gerd@gnu.org>
3251
52283633
SM
3252 * xdisp.c (display_line): On ttys, produce more than one truncation
3253 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3254
ac95a621
GM
3255 * xselect.c (x_reply_selection_request): Add a comment.
3256
c1efd260
GM
3257 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3258 XkbGetNames instead of XkbGetKeyboard.
3259
1bfb1345
DL
32602001-01-10 Dave Love <fx@gnu.org>
3261
3262 * sysdep.c (random): Revert the declaration.
3263
38119822
GM
32642001-01-09 Gerd Moellmann <gerd@gnu.org>
3265
52283633
SM
3266 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3267 Call function string_bytes.
35f464a7
GM
3268 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3269
3270 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3271 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3272 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3273 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3274 the current sblock.
3275 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3276 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3277 after sweeping strings, and at the end.
3278 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3279
38119822
GM
3280 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3281 ensure that pop_message is called.
3282
3283 * keyboard.c (Fexecute_extended_command): Use a
3284 record_unwind_protect to ensure that pop_message is called.
3285
3286 * lisp.h (push_message_unwind): Add prototype.
3287
3288 * xdisp.c (push_message_unwind): New function.
3289
3290 * fileio.c (do_auto_save_unwind): Do the pop_message here
3291 instead of in Fdo_auto_save.
3292 (Fdo_auto_save): Don't call pop_message.
3293
f47a9ec4
KR
32942001-01-08 Ken Raeburn <raeburn@gnu.org>
3295
3296 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3297 in inner block.
3298
a758f97d
GM
32992001-01-08 Gerd Moellmann <gerd@gnu.org>
3300
6d0afc03
GM
3301 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3302 when increasing window's vscroll.
3303
a758f97d
GM
3304 * macros.c (Qkbd_macro_termination_hook): New variable.
3305 (syms_of_macros): Initialize and staticpro it.
3306 (pop_kbd_macro): Run kbd-macro-termination-hook.
3307
3308 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3309
1bfb1345 33102001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3311
3312 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3313 arglist, for documentation's sake.
3314
0dac6924
AI
33152001-01-06 Andrew Innes <andrewi@gnu.org>
3316
3317 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3318 of *.pdb.
3319
8182406a
AI
33202001-01-05 Andrew Innes <andrewi@gnu.org>
3321
3322 * term.c (update_end): Don't check updating_frame; for some reason
3323 this can be 0 sometimes, such as after dismissing a popup menu,
3324 and isn't necessary given the explicit frame argument.
3325
3828218c
GM
33262001-01-05 Gerd Moellmann <gerd@gnu.org>
3327
3328 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3329 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3330
2f5ded21
GM
33312001-01-04 Gerd Moellmann <gerd@gnu.org>
3332
52283633 3333 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3334
3335 * xfns.c (x_create_tip_frame): Preserve the value of
3336 face_change_count around the creation of the tip frame.
52283633 3337
2f5ded21
GM
3338 * xfns.c (last_show_tip_args): New variable.
3339 (compute_tip_xy): New function.
3340 (Fx_show_tip): Reuse an existing tip frame, if possible.
3341 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3342
dfad65fa
DL
33432001-01-04 Dave Love <fx@gnu.org>
3344
64d4ec0f
DL
3345 * editfns.c (Fformat): Doc fix.
3346
dfad65fa
DL
3347 * systime.h (set_file_times): Prototype.
3348
3349 * widget.h (EmacsFrameSetCharSize_): Prototype.
3350
3351 * sysdep.c (random, srandom): Declare explicitly.
3352
3353 * dispextern.h (move_it_vertically_backward): Declare.
3354
85fe3b5e
GM
33552001-01-04 Gerd Moellmann <gerd@gnu.org>
3356
0f2ac578
GM
3357 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3358 like in Fx_create_frame.
3359
482cca61
GM
3360 * xfaces.c (set_font_frame_param): Don't do anything for
3361 non-graphical frames.
3362
85fe3b5e
GM
3363 * window.c (Fdelete_other_windows): Set window's window_end_valid
3364 to nil when changing the window's start. Don't change the
3365 window's start when its top position hasn't changed. If we do,
3366 this will set the window's optional_new_start, which act's like a
3367 force_start during redisplay with C-x 1 M-> under particular
3368 circumstances (see report from Per Starback to emacs-pretest-bug
3369 from 2000-12-13.).
3370
3e99d3b4
GM
33712001-01-03 Gerd Moellmann <gerd@gnu.org>
3372
a77dc1ec
GM
3373 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3374 short cut at the start of the function. Add an assertion.
3375 (reseat_at_next_visible_line_start): Add an assertion.
3376
2f3cad6c
GM
3377 * window.c (Frecenter): When changing the window start, set the
3378 window's window_end_valid to nil.
3379 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3380
3381 * dispextern.h (move_it_past_eol): Add prototype.
3382
3383 * xdisp.c (move_it_past_eol): New function.
3384
3e99d3b4
GM
3385 * window.c (Fwindow_end): Doc fix.
3386
33872001-01-03 Dave Love <fx@gnu.org>
3388
52283633 3389 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3390
bafb434c
GM
33912001-01-03 Gerd Moellmann <gerd@gnu.org>
3392
3393 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3394 the enabled_p flag of the glyph row at window_end_vpos to 0.
3395 (handle_single_display_prop): Fix last change.
3396
5297fb00
RS
33972001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3398
3399 * window.c (Frecenter): Doc fix.
3400
13d6a61c
AI
34012001-01-02 Andrew Innes <andrewi@gnu.org>
3402
3403 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3404
3405 * frame.h (output_method): Add output_w32_console method.
3406 (FRAME_W32_CONSOLE_P): New macro.
3407
3408 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3409 use output_w32_console method.
3410 (Qw32_console): New Lisp_Object.
3411 (Fframep): Return it.
3412 (syms_of_frame): Init it.
52283633 3413 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3414
3415 * xfaces.c (realize_default_face): Set face foreground and
3416 background to unspecified for w32_console frames.
3417 (realize_face): Realize face cache for w32_console frames.
3418 (realize_tty_face): Accept w32_console frames.
3419
52283633 3420 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3421 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3422 necessary, even if running interactively.
3423
3424 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3425 w32_console frames.
3426
52283633
SM
3427 * w32term.c (x_update_begin):
3428 (x_update_end):
3429 (x_clear_frame):
3430 (x_ins_del_lines):
3431 (x_change_line_highlight):
3432 (x_delete_glyphs):
3433 (w32_ring_bell):
3434 (x_update_begin):
3435 (x_update_end):
3436 (w32_reassert_line_highlight):
3437 (w32_frame_rehighlight):
13d6a61c
AI
3438 (w32_frame_raise_lower): Do nothing if not w32 frame.
3439
3440 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3441
3442 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3443 system doesn't tell us directly.
3444 (Fx_display_visual_class): Implement properly.
3445
d6bb0c0d
GM
34462001-01-02 Gerd Moellmann <gerd@gnu.org>
3447
3448 * window.c (Frecenter): Handle centering in graphical frames
3449 specially. Centering on the basis of line counts doesn't work
3450 reliably with variable-height lines.
52283633 3451
315f5865
EZ
34522001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3453
3454 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3455 and al[].
3456
52283633 3457 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3458 (update_compositions): Remove unused variable `hook'.
3459
3460 * intervals.c (get_local_map): Remove unused variable `tem'.
3461
3462 * doprnt.c (doprnt1): Remove unused variable `size'.
3463
3464 * fns.c (Flength): Remove unused variable `tail'.
3465 (Fdelete): Remove unused variable `size'.
3466
3467 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3468 and `gcpro2'.
3469
52283633 3470 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3471
3472 * data.c (find_symbol_value): Remove extra 3rd argument in the
3473 call to swap_in_symval_forwarding.
3474
52283633 3475 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3476
3477 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3478 (trivial_regexp_p): Remove unused variable `c'.
3479 (boyer_moore): Remove unused variable `k'.
3480
3481 * indent.c (current_column): Remove unused variable `stopchar'.
3482 (Fcompute_motion): Remove unused variable `contin'.
3483
3484 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3485
3486 * dired.c (directory_files_internal): Fix a typo in a comment.
3487 Remove an unused variable `handler'.
52283633 3488 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3489 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3490 on BSD4_2.
3491
52283633 3492 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3493
3494 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3495 and `buf'.
3496 (Fmarker_insertion_type): Remove unused variable `buf'.
3497
3498 * insdel.c (make_gap): Remove unused variable `result'.
3499
52283633 3500 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3501 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3502 (menu_bar_items): Remove unused function-scope variable `tem'.
3503
3504 * fontset.c (fontset_ref): Remove unused variable `i'.
3505 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3506 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3507 (make_fontset_for_ascii_face): Remove unused variable `name'.
3508 (fs_load_font): Remove unused variable `font_idx'.
52283633 3509 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3510 (list_fontsets): Remove unused variable `tail'.
3511 (Fnew_fontset): Remove unused variables `family' and `registry'.
3512 (accumulate_font_info): Remove unused variable `tmp'.
3513 (Ffontset_font): Remove unused variable `id'.
3514 (syms_of_fontset): Remove unused variable `i'.
3515
3516 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3517 to x_term_init.
3518 (lookup_image): Remove unused variable `file'.
3519 (xbm_load): Remove unused variables `bitmap_data', `height', and
3520 `width'. Remove function-local variable `i', leave the
3521 block-local one.
3522 (gif_load): Remove unused variable `inc'.
3523
52283633 3524 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3525 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3526 leave only the one in the inner block.
3527
3528 * xfaces.c (face_fontset, realize_default_face): Remove unused
3529 variable `fontset'.
3530 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3531
3532 * term.c (encode_terminal_code): Remove unused variable `c'.
3533
3534 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3535 char *' instead of `char *'.
3536
3537 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3538 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3539 (Fchar_category_set): Remove unused variables `val', `charset',
3540 `c1' and `c2'.
3541
52283633
SM
3542 * coding.c (detect_coding_iso2022, setup_coding_system):
3543 Remove unused variable `i'.
315f5865
EZ
3544 (detect_coding_mask): Remove unused variable `idx'.
3545 (detect_coding): Remove unused variable `i'.
3546 (ccl_coding_driver): Remove unused variable `result'.
3547 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3548 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3549 (encode_coding_string): Remove unused variables `gcpro1' and
3550 `saved_coding_symbol'.
3551 (Ffind_coding_systems_region_internal): Remove function-local
3552 variable args[], leave only the block-local one.
3553 (code_convert_region1): Remove unused variable `len'.
3554
3555 * charset.c (char_printable_p): Remove unused variable `chars'.
3556 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3557 (str_to_multibyte): Remove unused variable `c'.
3558
3559 * window.c (size_window): Remove block-local variable `min_size'.
3560
3561 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3562 `header_line_height'.
3563 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3564 enum display_element_type.
3565
1a8a9daf
GM
35662001-01-02 Gerd Moellmann <gerd@gnu.org>
3567
6dde6abc 3568 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3569 statements that call X. Save away the error message in a local copy.
3570
1883b2c6
GM
3571 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3572 the start.
3573
a13be207
GM
3574 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3575 in or at the start of invisible text.
3576
1a8a9daf
GM
3577 * dispnew.c (update_window): Don't check_current_matrix_flags.
3578
3608c0f9
JR
35792001-01-01 Jason Rumney <jasonr@gnu.org>
3580
3581 * w32fns.c (x_figure_window_size): Do not allow new_height and
3582 new_width of frame to override specified values.
3583
abb1acc4
KH
35842000-12-30 Kenichi Handa <handa@etl.go.jp>
3585
52283633 3586 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3587
762a68ec
GM
35882000-12-29 Gerd Moellmann <gerd@gnu.org>
3589
52283633 3590 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3591 (update_window) [GLYPH_DEBUG]: Call it.
3592 (scrolling_window): Prevent including current rows which are below
3593 what's displayed in the window.
3594
3595 * xdisp.c (try_window_reusing_current_matrix)
3596 <new start <= old start>: Disable rows in the current matrix
3597 which are below the window after scrolling.
52283633 3598
762a68ec
GM
3599 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3600 is zero. It's not worth the complexity.
3601 (invisible_text_between_p): Put in #if 0 because unused.
3602
2d5912c1
GM
36032000-12-28 Gerd Moellmann <gerd@gnu.org>
3604
46f6a258
GM
3605 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3606 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3607
89f93679
GM
3608 * keyboard.c (echo_char): If C is an integer, always call
3609 push_key_description. Former code could signal an invalid
3610 character error.
3611
3612 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3613 If set, print multibyte text.
3614 (Fsingle_key_description): Call push_key_description with
3615 FORCE_MULTIBYTE set.
3616 (describe_buffer_bindings): Likewise.
3617
3618 * lisp.h (push_key_description): Add prototype.
3619
c06017fb
GM
3620 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3621 around the call to redisplay_internal.
3622
f1d2ce7f
GM
3623 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3624
2d5912c1
GM
3625 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3626
9371f831
KH
36272000-12-28 Kenichi Handa <handa@etl.go.jp>
3628
3629 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3630 (ccl_driver): New local variable `extra_bytes'.
3631
3632 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3633
52283633
SM
3634 * coding.c (setup_coding_system):
3635 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3636 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3637
0c80628a
KH
36382000-12-28 Kenichi Handa <handa@etl.go.jp>
3639
3640 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3641 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3642 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3643 (decode_composition_emacs_mule): New function.
3644 (decode_coding_emacs_mule): Decode composition sequence by calling
3645 decode_composition_emacs_mule.
3646 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3647 (encode_coding_emacs_mule): Changed from macro to function.
3648 If a text contains compositions, encode them correctly.
0c80628a
KH
3649 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3650 that decoding and encoding are required.
3651
3e32cc27
GM
36522000-12-27 Gerd Moellmann <gerd@gnu.org>
3653
5e25feee
GM
3654 * xfaces.c (PT_PER_INCH): New macro.
3655 (xlfd_point_size): Compute real point size from font's pixel size.
3656 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3657 instead of 72.
3658
892d8fcd
GM
3659 * .gdbinit: Comment out the line pointing to the Lesstif source
3660 directory.
3661
12c8b416
GM
3662 * window.c (Frecenter): Use displayed_window_lines instead
3663 of window_internal_height.
3664
6061fbf0
GM
3665 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3666 instead of x-toolkit-scroll-bars-p.
3667 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3668
3669 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3670 instead of x-toolkit-scroll-bars-p.
3671 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3672
3e32cc27
GM
3673 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3674 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3675 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3676 New variables.
3677 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3678 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3679 (build_frame_matrix_from_leaf_window): Remove unused code.
3680 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3681 redisplay history.
3682 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3683 (update_window) [GLYPH_DEBUG]: Likewise.
3684 (syms_of_display): Defsubr dump-redisplay-history.
3685
31798cfe
GM
36862000-12-23 Gerd Moellmann <gerd@gnu.org>
3687
f717c2ba
GM
3688 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3689 the end of the prompt. Set echo_after_prompt to the offset
3690 of echoptr in echobuf.
3691
aeb2b8fc
GM
3692 * xdisp.c (init_from_display_pos): Pop until the iterator's
3693 stack is empty; there may be frames for stretch or images
3694 on the stack.
3695
31798cfe
GM
3696 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3697 (save_or_restore_current_matrix): New function for the same
3698 purpose, but more efficient.
3699 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3700
f8156156
EZ
37012000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3702
3703 * xdisp.c (syms_of_xdisp): Fix last change.
3704
bdd6d4e8
GM
37052000-12-23 Gerd Moellmann <gerd@gnu.org>
3706
3707 * xdisp.c (syms_of_xdisp): Doc fix.
3708
3709 * xdisp.c (redisplay_window): Remove label restore_buffers;
3710 use finish_scroll_bars instead to make sure that scroll bars
3711 are redeemed. If we don't do this, flickering can result from
3712 scroll bars being destroyed and recreated.
3713
9436cdf9
JR
37142000-12-22 Jason Rumney <jasonr@gnu.org>
3715
3716 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3717 in the wrong colors when the foreground is not black.
3718 (expose_window): Don't redraw the window that's currently being
3719 updated.
3720
951f9df5
GM
37212000-12-22 Gerd Moellmann <gerd@gnu.org>
3722
856ff7a7
GM
3723 * window.c (size_window): When setting the window's too_small_ok
3724 flag, compare old size with minimum size depending on WIDTH_P,
3725 don't compare with window_min_width.
52283633 3726
951f9df5
GM
3727 * window.c (delete_window): Simplify somewhat.
3728 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3729 freeing window matrices. The flag windows_or_buffers_changed is
3730 set, so the next redisplay will consider all windows; this should
3731 suffice.
3732
886bc933
KH
37332000-12-22 Kenichi Handa <handa@etl.go.jp>
3734
3735 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3736
3737 * ccl.h (struct ccl_program): New member cr_consumed.
3738
3739 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3740 (CCL_READ_CHAR): Handle EOL conversion here.
3741 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3742
177f4e88
GM
37432000-12-21 Gerd Moellmann <gerd@gnu.org>
3744
52283633 3745 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3746
3747 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3748 otherwise tabs of different size compare equal.
3749
3750 * callint.c (Fcall_interactively): Prevent a compiler warning.
3751
3752 * print.c (print_unwind): Return nil.
3753 (PRINTDECLARE): Initialize all local variables.
3754 (print_preprocess): Add a default case.
3755
8e15274f
GM
3756 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3757
3758 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3759
52283633 3760 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3761 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3762
3763 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3764
3765 * dispnew.c (ensure_frame_matrix): Removed.
3766 (save_frame_matrix, restore_frame_matrix): New functions.
3767 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3768
3769 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3770 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3771
99012074
AI
37722000-12-21 Andrew Innes <andrewi@gnu.org>
3773
3774 * w32term.c (x_update_begin): Regenerate the palette here, rather
3775 than for each window.
3776
3777 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3778 palette is NULL, since this corrupts memory! Also get
3779 display_info reference from frame.
3780
29ef7d2d
JR
37812000-12-21 Jason Rumney <jasonr@gnu.org>
3782
3783 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3784
3785 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3786 to avoid returning without releasing it.
3e27fa1f 3787
3f9d67a6
KH
37882000-12-21 Kenichi Handa <handa@etl.go.jp>
3789
587fc3f9
KH
3790 * keymap.c (push_key_description): Don't convert eight-bit-control
3791 and eight-bit-graphic to multibyte character.
3792
3f9d67a6
KH
3793 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3794 generic character and CODE1 is nil, return the smallest character
3795 in CHARSET.
3796
774ba8c9
DL
37972000-12-20 Dave Love <fx@gnu.org>
3798
3799 * s/osf5-0.h (NSIG): Don't redefine.
3800
88416888
SM
38012000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3802
3803 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3804 excluding menu-bar and tool-bar.
3805 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3806 (menu_item_p): Remove.
3807 (where_is_internal_1): Don't ignore menu-items.
3808
a6426c6f
GM
38092000-12-20 Gerd Moellmann <gerd@gnu.org>
3810
03ff8aab
GM
3811 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3812 into account.
3813
3814 * window.c (make_window): Initialize window's min_hscroll.
3815 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3816 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3817 to zero.
3818 (struct saved_window): New member min_hscroll.
3819 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3820 (Fset_window_configuration): Set window's min_hscroll.
3821 (save_window_save): Save window's min_hscroll.
3822 (compare_window_configurations): Compare min_hscroll values.
3823
3824 * window.h (struct window): New member min_hscroll.
3825
3826 * keyboard.c (echo_prompt): Prevent a compiler warning.
3827
8de4aaf8
GM
3828 * xdisp.c (try_cursor_movement): Fix last change. The real
3829 condition is that PT is at the end of the row, and should
3830 be displayed at the start of the next row.
52283633 3831
3f7e3031
GM
3832 * xdisp.c (try_cursor_movement): If we end on a partially
3833 visible line, end we already decided to scroll, return -1.
3834
a6426c6f
GM
3835 * dispextern.h (ensure_frame_matrix): Add prototype.
3836
3837 * window.c (delete_window, Fsplit_window)
3838 (Fset_window_configuration): Call ensure_frame_matrix.
3839
52283633
SM
3840 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3841 New functions.
a6426c6f
GM
3842 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3843 completed, call fake_current_matrices instead of marking frame
3844 garbaged.
3845
57fa2774
JR
38462000-12-20 Jason Rumney <jasonr@gnu.org>
3847
3848 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3849
d925df90
EZ
38502000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3851
3852 * fns.c (Frequire): Doc fix.
3853
7b93a85b
GM
38542000-12-19 Gerd Moellmann <gerd@gnu.org>
3855
52283633 3856 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3857
c74e645b
GM
3858 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3859 currently displaying a message.
3860
7b93a85b
GM
3861 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3862 xterm.h.
3863 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3864
90d97e64
AI
38652000-12-18 Andrew Innes <andrewi@gnu.org>
3866
3867 * w32.c (w32_strerror): New function.
3868
3869 * w32.h (w32_strerror): New extern.
3870
3871 * w32fns.c (Fw32_shell_execute): Use it.
3872
91c9e6ce
GM
38732000-12-18 Gerd Moellmann <gerd@gnu.org>
3874
3875 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3876
6f4745e2
EZ
38772000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3878
3879 * msdos.c (IT_set_face): Obey inverse_video.
3880
c9e088ce
KH
38812000-12-18 Kenichi Handa <handa@etl.go.jp>
3882
3883 * dired.c (directory_files_internal): Always return decoded filenames.
3884
c3695f5f
GM
38852000-12-18 Gerd Moellmann <gerd@gnu.org>
3886
52d8e4ff
GM
3887 * xterm.c (x_connection_closed): Prevent being called recursively
3888 because of an error condition in XtCloseDisplay.
52283633 3889
62be9979
GM
3890 * xdisp.c (init_iterator): If noninteractive, and the frame's
3891 face cache is null, make one.
3892
52283633 3893 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3894
c3695f5f
GM
3895 * process.c (wait_reading_process_input): Check for pending
3896 input when running timers.
3897
78555fbe
EZ
38982000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3899
52283633 3900 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3901
b2b36264
KH
39022000-12-18 Kenichi Handa <handa@etl.go.jp>
3903
3904 * process.c (read_process_output): Don't run a filter if the code
3905 decoder produces nothing but carryover.
3906
9c543fbf
AI
39072000-12-17 Andrew Innes <andrewi@gnu.org>
3908
3909 * w32.c (sys_rename): Only check errno against EEXIST, and not
3910 EACCES, when determining whether rename failed because the target
3911 exists. This was resulting in indefinite looping on Windows 9x if
3912 the source file was locked by another process.
3913
3914 * w32fns.c (Ffile_system_info): New function.
3915 (syms_of_w32fns): Defsubr it.
3916
10c2b5a8
GM
39172000-12-17 Gerd Moellmann <gerd@gnu.org>
3918
b0228ace
GM
3919 * window.c (coordinates_in_window): Fix computation for
3920 position on vertical line between mode lines.
3921
10c2b5a8
GM
3922 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3923 Don't alter tip_frame or tip_window.
3924 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3925 was deleted.
3926
c844a81a
GM
3927 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3928 Don't alter tip_frame or tip_window.
3929 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3930 was deleted.
3931
6c825f8e
EZ
39322000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3933
3934 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3935 be consistent with the doc string. Reported by NAKAJIMA Mikio
3936 <minakaji@osaka.email.ne.jp>.
3937
af4bb4c8
KH
39382000-12-16 Kenichi Handa <handa@etl.go.jp>
3939
3940 * xfaces.c (Vface_ignored_fonts): New variable.
3941 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3942 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3943
8062e53a
GM
39442000-12-15 Gerd Moellmann <gerd@gnu.org>
3945
e87b8809
GM
3946 * dispnew.c (update_window): Detect pending input every nth line
3947 updated, i.e. do it depending on real work done, and not on the
3948 vpos of the line.
3949
3950 * xterm.c (expose_window): Don't redraw the window that's
3951 currently being updated.
3952
a6768cc5
GM
3953 * window.c (Fset_window_point): Remove test for
3954 cursor_in_non_selected_windows.
3955
4ea7fdca
GM
3956 * lread.c (read1): Recognize end of file after `\\'.
3957
8062e53a
GM
3958 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3959 not unwind_create_frame.
3960
bb7959c1
GM
39612000-12-15 Dave Love <fx@gnu.org>
3962
3963 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3964 bcopy & al.
3965
3966 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3967
ced04c42
KH
39682000-12-15 Kenichi Handa <handa@etl.go.jp>
3969
c5443913
KH
3970 * coding.c (setup_coding_system): Clear all members of the struct
3971 coding_system at first.
bc137305
KH
3972 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3973 argument.
3974 (code_convert_region): Don't override coding->src_multibyte and
3975 coding->dst_multibyte.
c5443913 3976
ced04c42
KH
3977 * fns.c (Fmd5): Docstring improved.
3978
c2d7f289
MB
39792000-12-15 Miles Bader <miles@gnu.org>
3980
3981 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3982 are actually marked as mode-lines; otherwise use
3983 estimate_mode_line_height.
3984
9d7d9263
GM
39852000-12-14 Gerd Moellmann <gerd@gnu.org>
3986
3987 * editfns.c (Fformat): Prevent a buffer overrun when the format
3988 specifies a precision.
3989
7cf0153a
EZ
39902000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3991
3992 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3993 argument is outside the range [2..3].
3994
1de0f662
AI
39952000-12-14 Andrew Innes <andrewi@gnu.org>
3996
3997 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3998 nothing to do. Bind inhibit-quit.
3999 (tip_frame): Make it a Lisp_Object.
4000 (x_create_tip_frame): Set tip_frame after it has been added to
4001 Vframe_list.
4002 (Fx_show_tip): Don't set tip_frame here.
52283633 4003 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
4004 (unwind_create_frame, unwind_create_tip_frame): New functions.
4005 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4006 while a frame is only partially constructed.
4007
4008 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4009 (x_free_frame_resources): New function.
4010 (x_destroy_window): Use it.
4011
02387dcc
GM
40122000-12-14 Gerd Moellmann <gerd@gnu.org>
4013
4014 * xfns.c (Fx_backspace_delete_keys_p): New function.
4015 (syms_of_xfns): Defsubr it.
4016
4017 * config.in (HAVE_XKBGETKEYBOARD): Add.
4018
0544ef49
KH
40192000-12-14 Kenichi Handa <handa@etl.go.jp>
4020
98d62747
KH
4021 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4022 Always store string in multibyte representation in echobuf.
4023 (echo_char): Always store string in multibyte representation in
4024 echobuf.
4025 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4026 (read_key_sequence): Adjusted for the change of echo_prompt.
4027
a20193cd
KH
4028 * fns.c (Fmd5): Docstring improved.
4029
191b83b6
KH
4030 * lisp.h (detect_coding_system): Prototype adjusted.
4031
0544ef49
KH
4032 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4033 (detect_coding_emacs_mule, detect_coding_iso2022,)
4034 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4035 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4036 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4037 (detect_coding_mask, detect_coding_system): New argument
4038 MULTIBYTEP. Callers changed.
1da1bb05
KH
4039 (decode_coding_string): Set coding->src_multibyte and
4040 coding->dst_multibyte before calling detect_coding and detect_eol.
4041 Update them after some coding system is detected.
52283633 4042
d5b3eb1b
SM
40432000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4044
4045 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4046
4047 * keyboard.c (menu_bar_items, tool_bar_items):
4048 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4049
f7f8bb69
GM
40502000-12-13 Gerd Moellmann <gerd@gnu.org>
4051
52283633 4052 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4053 New variables.
4054 (unwind_create_frame, unwind_create_tip_frame): New functions.
4055 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4056 while a frame is only partially constructed.
4057
4058 * xterm.h (x_free_frame_resources): Declare.
4059
4060 * xterm.c (x_free_frame_resources): New function.
4061 (x_destroy_window): Use it.
4062
e10da507
GM
4063 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4064 don't interrupt the update for pending input initially, i.e.
4065 update at least some lines.
4066
4067 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4068
d5b3eb1b 4069 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4070
4071 * xfns.c (gray_bitmap_bits): Declare `char *'.
4072
90aa2856
GM
40732000-12-12 Gerd Moellmann <gerd@gnu.org>
4074
4075 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4076 lines start with a relief line.
4077
a308c9cd
DL
40782000-12-12 Dave Love <fx@gnu.org>
4079
4080 * window.c (Fdisplay_buffer): Doc fix.
4081 (Fwindow_list): Remove unused var.
4082
4083 * buffer.h (mmap_set_vars): Declare.
4084
4085 * window.h (Fset_window_point): Declare.
4086
d575011f
EZ
40872000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4088
bf6282d2 4089 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4090 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4091 variable `area'. When looking for a row under (X,Y), give up if some
4092 of the previous rows is not enabled.
d575011f 4093
ecf4d726
GM
40942000-12-12 Gerd Moellmann <gerd@gnu.org>
4095
2ebf6139
GM
4096 * window.c (Fset_window_point): If displaying cursors in windows
4097 other than the selected window, make sure redisplay updates
4098 other windows to show the new value of point in the window.
4099
4100 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4101
bfdb75ee
GM
4102 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4103 the buffer is the sole visible buffer when in the mini-buffer.
4104
52283633 4105 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4106 Bind `inhibit-read-only' to t.
4107 (unwind_with_echo_area_buffer): Use AREF.
4108
c0006262
GM
4109 * xfns.c (Fx_hide_tip): Simplified.
4110
52283633
SM
4111 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4112 instead of `1'.
e9a59cad 4113
ecf4d726
GM
4114 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4115
e5959a9a
GM
41162000-12-11 Gerd Moellmann <gerd@gnu.org>
4117
a3642e49 4118 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4119
44b5a125
GM
4120 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4121 nothing to do. Bind inhibit-quit.
4122 (tip_frame): Make it a Lisp_Object.
4123 (x_create_tip_frame): Set tip_frame after it has been added to
4124 Vframe_list.
4125 (Fx_show_tip): Don't set tip_frame here.
4126
4127 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4128
4129 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4130 Lisp_Object.
4131
4132 * dispextern.h: Change external declaration of tip_frame.
4133
d990421f
GM
4134 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4135 return an empty string.
4136
4db87380
GM
4137 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4138 of the window's update_mode_line flag, since the former is set by
4139 force-mode-line-update, not the latter. This makes
4140 column-number-mode slightly faster.
52283633 4141
e5959a9a
GM
4142 * xdisp.c (try_window_id) <all changes above window start>:
4143 Set the cursor.
4144
169fe44e
GM
41452000-12-11 Paul Eggert <eggert@twinsun.com>
4146
4147 * config.in (HAVE_FTELLO): Remove.
4148 (HAVE_FSEEKO): Add.
4149 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4150 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4151 HAVE_FTELLO.
4152 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4153 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4154
59ec59ae
MB
41552000-12-11 Miles Bader <miles@gnu.org>
4156
4157 * window.c (displayed_window_lines): Don't round up when
4158 converting empty space at bottom to lines.
ff904dd6
MB
4159 Handle non-newline-terminated final lines properly.
4160 (Fwindow_text_height): New function (used to be in lisp).
4161 (syms_of_window): Initialize it.
59ec59ae 4162
42ebfa31
SM
41632000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4164
4165 * syntax.c (scan_lists): Check that the right quote char has the
4166 right Sstring syntax when jumping over strings.
4167 (init_syntax_once): Use Smax rather than 13.
4168
5cdb3cf3
MB
41692000-12-09 Miles Bader <miles@gnu.org>
4170
4171 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4172 with PARTIALLY, inverting the sense.
4173 (window_scroll_pixel_based): Scroll partially visible lines into
4174 place if we hit the beginning or end of the buffer.
a12167c5
MB
4175 (displayed_window_lines): Don't include partially visible lines.
4176 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4177
842b2a94
GM
41782000-12-08 Gerd Moellmann <gerd@gnu.org>
4179
4180 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4181
4182 * tparam.c (tparam1): Change the way buffers are reallocated to be
4183 portable and less obfuscated.
4184
4185 * termcap.c (tgetent): Change the way buffers are reallocated to
4186 be portable and less obfuscated.
4187
4188 * macros.c (store_kbd_macro_char): Change the way buffers are
4189 reallocated to be portable and less obfuscated.
4190
4191 * lread.c (read1): Change the way buffers are reallocated to be
4192 portable and less obfuscated.
4193
4194 * doc.c (Fsubstitute_command_keys): Change the way buffers
4195 are reallocated so that it is portable.
4196
137cad7c
EZ
41972000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4198
4199 * dosfns.c (Ffile_system_info): New function.
4200 (syms_of_dosfns): Defsubr it.
4201
5c7f629c
SM
42022000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4203
4204 * alloc.c (gc_sweep): Add comment.
4205
959e647d
GM
42062000-12-07 Gerd Moellmann <gerd@gnu.org>
4207
52283633
SM
4208 * sound.c (vox_configure): Change order of ioctls.
4209 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4210 Ignore errors when changing volume.
4211 (vox_close): Don't reset the device.
4212
926b7e5e
GM
4213 * process.c (read_process_output): Make sure the process marker's
4214 position is valid when the process buffer is changed in
4215 after-change functions. W3 does that.
52283633 4216
959e647d
GM
4217 * xfns.c (x_free_gcs): New function.
4218
4219 * xterm.h (x_free_gcs): Add prototype.
4220
4221 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4222 freeing GCs here.
4223
4224 * xterm.c (x_destroy_window): Call x_free_gcs so that
4225 resources of non-toolkit X windows will be freed.
4226
478ea067
AI
42272000-12-07 Andrew Innes <andrewi@gnu.org>
4228
4229 * w32fns.c (xlfd_charset_of_font): Fix last change.
4230
fbee3231
DL
42312000-12-06 Dave Love <fx@gnu.org>
4232
67292061
DL
4233 * md5.h (__P): Don't define -- it comes from config.h.
4234
fbee3231
DL
4235 * strftime.c: Change some #if foo to #ifdef foo.
4236
4ee87dbb
AI
42372000-12-06 Andrew Innes <andrewi@gnu.org>
4238
4239 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4240
52283633 4241 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4242 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4243 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4244
9765b4a4
GM
42452000-12-06 Gerd Moellmann <gerd@gnu.org>
4246
d285b373
GM
4247 * alloc.c (gc_sweep): Prevent symbols read during loadup
4248 from being freed.
4249
384333ee
GM
4250 * xdisp.c (underlying_face_id): New function.
4251 (handle_face_prop, face_before_or_after_it_pos): Use it
4252 to determine the face ``under'' a string. Let strings inherit
4253 the face of the buffer under them.
4254
4255 * xfaces.c (face_at_string_position): Update function comment.
52283633 4256
d4b72d58
GM
4257 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4258 matrix if the window's left position has changed; we need to
4259 redraw it in this case.
4260
4261 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4262
e1d05387
GM
4263 * window.c (coordinates_in_window): Check mouse on mode-line or
4264 header-line first.
4265
eb1b0c74
GM
4266 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4267 advertized by the function documentation.
4268
d94d636f
GM
4269 * window.c (syms_of_window): Doc fix.
4270
3887b449
GM
4271 * sound.c (vox_configure): Set volume for left and right channel.
4272 (sound_cleanup): Return nil.
4273
efc8f57a
GM
4274 * xdisp.c (move_it_by_lines): Fix paren typo.
4275
9765b4a4
GM
4276 * xterm.c (x_load_font): Don't use the font's max_bounds for
4277 computing the height of the font. If max_bounds' ascent or
4278 descent are greater than the font's ascent or descent, this means
4279 glyphs overlap, which should be handled now by redisplay.
4280
6529ed87
GM
4281 * window.c (Veven_window_heights): New variable.
4282 (syms_of_window): DEFVAR_LISP it.
4283 (Fdisplay_buffer): Check Veven_window_heights before evening the
4284 window heights.
52283633 4285
0eb2ecde
MB
42862000-12-06 Miles Bader <miles@gnu.org>
4287
4288 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4289 update `default-frame-alist' instead of setting no frame parameters.
4290
03d7a167
KH
42912000-12-06 Kenichi Handa <handa@etl.go.jp>
4292
4293 * composite.c (update_compositions): Fix typo (use the correct
4294 variable).
4295
5f8803c2
JR
42962000-12-05 Jason Rumney <jasonr@gnu.org>
4297
4298 * md5.h: Remove underscores from function declarations.
4299 (__attribute__, __alignof__) [!__GNUC__]: Define.
4300
4301 * md5.c: Delay include of md5.h until after namespace cleaning.
4302
c28a075b
JR
4303 * makefile.w32-in (fns.o): Depend on md5.h
4304 (md5.o): New target.
4305 (sunfns.o): Remove.
4306
4307 * makefile.nt: Likewise.
4308
ff3c7056
JR
43092000-12-05 Jason Rumney <jasonr@altavista.net>
4310
4311 * w32term.c (expose_area): Complete last change.
4312
0c21eeeb
KR
43132000-12-05 Ken Raeburn <raeburn@gnu.org>
4314
4315 * minibuf.c: Include intervals.h.
4316
f201d732
JR
43172000-12-05 Jason Rumney <jasonr@gnu.org>
4318
4319 * w32term.c (x_produce_glyphs): If a font for a component of
4320 a composition is not found, use 1 pixel dot ascent and 0 dot
4321 descent value to avoid displaying terribly tall empty boxes.
4322 (expose_area): Pass x-coordinate relative to the exposed
4323 area to x_draw_glyphs instead of a window-relative coordinate.
4324
21999ab9
GM
43252000-12-05 Gerd Moellmann <gerd@gnu.org>
4326
4d2036e4
GM
4327 * xdisp.c (next_element_from_ellipsis): Save face before selective
4328 display in saved_face_id, and set face_before_selective_p.
4329 (reseat_1): Reset face_before_selective_p.
4330 (append_space, extend_face_to_end_of_line): If iterator's
4331 face_before_selective_p is set, use the face from saved_face_id.
4332 (extend_face_to_end_of_line): For tty frames, make sure to
4333 use the right face id when producing spaces at the end of
4334 the line.
4335
4336 * dispextern.h (struct it): Add face_before_selective_p.
4337
52be17cc
GM
4338 * keyboard.c (record_char): Don't record identical help-echo
4339 events in recent_keys.
4340
8a4f36cc
GM
4341 * xterm.c [USE_X_TOOLKIT]: Close the display.
4342 (xim_close_dpy): Handle case that the display has been closed.
4343
57d6e381
GM
4344 * xterm.c (x_destroy_window): Reset the frame's X window after
4345 destroying it.
4346
21999ab9
GM
4347 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4348 variable window_width.
4349 (line_draw_cost): Fix code skipping over spaces at the end of the
4350 line when must_write_spaces is not set.
4351 (scrolling_window): Fix code inserting runs in list of all runs.
4352
91372bb7
KH
43532000-12-05 Kenichi Handa <handa@etl.go.jp>
4354
4355 * coding.c (setup_coding_system): Be sure to initialize
4356 coding->category_idx.
4357
6c083b4c
GM
43582000-12-04 Gerd Moellmann <gerd@gnu.org>
4359
0c68ce6f 4360 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4361
6452929e
GM
4362 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4363 area to x_draw_glyphs instead of a window-relative coordinate.
4364
d7f31e22
GM
4365 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4366 error in the message.
4367
ae18aa3b
GM
4368 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4369 timer after having read a key. It's not good for code reading
4370 several keys in a loop, like an input method.
4371
caa15ef7
GM
4372 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4373 record undo information for format-decode.
4374
4375 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4376 current buffer is read-only, not if it isn't.
4377
6c083b4c
GM
4378 * keyboard.c (record_char): Record `help-echo' input events
4379 in recent_keys only if they display some help. Don't record
4380 `help-echo' events as macro char.
4381
caa15ef7
GM
43822000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4383
4384 * editfns.c (save_excursion_restore): Don't move point
4385 in another window if it is showing the wrong buffer.
4386 Avoid the call to Fwindow_live_p, for speed.
4387
5a13529b
KH
43882000-12-04 Kenichi Handa <handa@etl.go.jp>
4389
e225faa7
KH
4390 * xfaces.c (struct font_name): New member registry_priority.
4391 (split_font_name): Initialize the above member to zero.
4392 (concat_font_list): New function.
4393 (font_list): Include fonts of all alternative registries.
4394 (FONT_POINT_SIZE_QUANTUM): New macro.
4395 (better_font_p): Ignore point size difference less than
4396 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4397
e89648b4
KH
4398 * xterm.c (x_produce_glyphs): If a font for a component of
4399 a composition is not found, use 1 pixel dot ascent and 0 dot
4400 descent value to avoid displaying terribly tall empty boxes.
4401
5a13529b
KH
4402 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4403
d7935eb6
KR
44042000-12-03 Ken Raeburn <raeburn@gnu.org>
4405
4406 * coding.h (code_convert_string1): Declare.
4407
4408 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4409
52283633 4410 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4411
0dd5e255
JR
44122000-12-02 Jason Rumney <jasonr@gnu.org>
4413
4414 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4415 correctly for single byte character case.
4416 (w32_per_char_metric): Do not try to make any assumptions about
4417 the metrics of BDF fonts.
250cfece 4418 (x_estimate_mode_line_height): If `mode-line' face
52283633 4419 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4420 (note_mouse_highlight): Change the cursor shape on the vertical
4421 border between windows [not enabled].
4422
4423 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4424
4425 * w32fns.c (Fx_create_frame): Reintroduce the call to
4426 face-set-after-frame-defaults.
4427 (Vx_window_horizontal_drag_shape): New variable.
4428 (syms_of_xfns): DEFVAR_LISP it.
4429 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4430 enabled].
0dd5e255 4431
b5d8d2ca
GM
44322000-12-02 Simon Josefsson <simon@josefsson.org>
4433
4434 * fns.c (Fmd5): Use a different logic to decide the coding system
4435 to use.
4436
4437 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4438
fbb87147
EZ
44392000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4440
52283633 4441 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4442
447e9da0
GM
44432000-12-01 Gerd Moellmann <gerd@gnu.org>
4444
7708ced0
GM
4445 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4446 height for YNegative.
4447 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4448 height; also see comment there.
4449
447e9da0
GM
4450 * window.c (coordinates_in_window): Handle computations for
4451 positions on the vertical bar and fringes differently for
4452 window-system frames. Consider some pixels near the vertical bar
4453 as on the bar if the frame doesn't have vertical scroll bars.
4454 Associate positions between mode or header lines with the
4455 right window, the left one.
4456
86d1db20
JR
44572000-12-01 Jason Rumney <jasonr@gnu.org>
4458
4459 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4460
4461 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4462 invalid frame.
4463
a1d58e5b
GM
44642000-12-01 Gerd Moellmann <gerd@gnu.org>
4465
52283633 4466 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4467 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4468 (save_window_save, Fset_window_configuration): Save/restore
4469 window's orig_top and orig_height.
4470
89c609af
JR
44712000-12-01 Jason Rumney <jasonr@gnu.org>
4472
4d177746 4473 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4474
89c609af
JR
4475 * w32fns.c (x_set_cursor_color): Fix last change.
4476
eccc05db
GM
44772000-11-30 Gerd Moellmann <gerd@gnu.org>
4478
31b6671b
GM
4479 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4480 sure that the next redisplay displays the minibuffer, so that
4481 the cursor will be replaced with what the minibuffer wants.
4482
eccc05db
GM
4483 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4484 #ifndef instead of using #if.
4485 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4486 USE_TOOLKIT_SCROLL_BARS is defined.
4487
162de750
JR
44882000-11-30 Jason Rumney <jasonr@gnu.org>
4489
4490 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4491 x_display_cursor.
4492
693c4692
GM
44932000-11-30 Gerd Moellmann <gerd@gnu.org>
4494
4495 * fns.c (Fmd5): Doc fix.
4496
b5d8d2ca 44972000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4498
4499 * fns.c (Fmd5): New function.
4500 (syms_of_fns): Defsubr md5.
4501
4502 * Makefile.in (obj): Add md5.o
4503
b02cd40b
GM
45042000-11-30 Gerd Moellmann <gerd@gnu.org>
4505
edfb795e
GM
4506 * md5.h, md5.c: New files, taken from glibc.
4507
df3aedcf
GM
4508 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4509
b02cd40b 4510 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4511 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4512
8b5176cd
SM
45132000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4514
4515 * eval.c (Frun_hooks): Allow 0 arguments.
4516
346598f1
GM
45172000-11-29 Gerd Moellmann <gerd@gnu.org>
4518
f9396e03
GM
4519 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4520 is over the menu bar widget, say it's not on the frame.
4521
4a967a9b
GM
4522 * xfns.c (Fx_create_frame): Reintroduce the call to
4523 face-set-after-frame-defaults.
4524
346598f1
GM
4525 * eval.c (Fsignal): Reset handling_signal.
4526
222456a1
JR
45272000-11-28 Jason Rumney <jasonr@gnu.org>
4528
4529 * w32menu.c (add_menu_item): Reset menu item text when changing
4530 type to radio button.
4531
8049ddc0
GM
45322000-11-28 Gerd Moellmann <gerd@gnu.org>
4533
346598f1 4534 * xselect.c: Update copyright.
f4f4ee4d 4535
bebe4a2c
GM
4536 * window.c (coordinates_in_window): If on a mode or header line,
4537 but sufficiently close to its start, return ``on vertical
4538 border''. This gives us a way to drag windows horizontally when
4539 using toolkit scroll bars.
4540
4541 * xterm.c (note_mouse_highlight): Change the cursor shape
4542 on the vertical border between windows.
4543
4544 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4545
4546 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4547 (syms_of_xfns): DEFVAR_LISP it.
4548 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4549
8d2c2642
GM
4550 * textprop.c (text_read_only): New function.
4551 (verify_interval_modification): Use it instead of signaling
4552 `text-read-only'. This makes it easier to catch this error
52283633 4553 with a breakpoint.:
8d2c2642 4554
52283633 4555 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4556 not end of line, which includes CR.
4557
5a2bae6c
KH
45582000-11-28 Kenichi Handa <handa@etl.go.jp>
4559
4560 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4561 include no-conversion.
4562
ae31f84d
JR
45632000-11-27 Jason Rumney <jasonr@gnu.org>
4564
4565 * w32fns.c (w32_load_system_font): Always mark font as double byte
4566 if codepage is unicode.
4567
67f1cf4c
GM
45682000-11-27 Gerd Moellmann <gerd@gnu.org>
4569
4a74d071 4570 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4571 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4572
902ae620
GM
4573 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4574 `vertical-line', `mode-line' and `header-line' events.
4575
4576 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4577 of a character, a TAB for instance. This is easier than to set
4578 up the iterator exactly, and it's not a frequent case, so the
4579 additional effort wouldn't really pay off.
4580
c1e279c2
AC
45812000-11-26 Andrew Choi <akochoi@i-cable.com>
4582
67f1cf4c 4583 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4584 init_window_once.
4585
a609568a
JR
45862000-11-25 Jason Rumney <jasonr@gnu.org>
4587
52283633
SM
4588 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4589 Args to window_from_coordinates should be pixel coordinates.
48b21762 4590
a609568a
JR
4591 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4592 redisplay handles them properly.
4593
a658d039
MB
45942000-11-25 Miles Bader <miles@gnu.org>
4595
4596 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4597
d3416cca
JR
45982000-11-24 Jason Rumney <jasonr@gnu.org>
4599
4600 * w32.c (init_environment): Set LANG environment variable based on
4601 locale settings, if not set.
4602
4603 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4604 making tool bar smaller. When clearing the frame, also
4605 clear current matrices. Clear frame when tool bar disappears.
4606 Don't use more lines for the tool-bar than is available.
4607 (x_change_window_heights): New function.
4608
ba193890
GM
46092000-11-24 Gerd Moellmann <gerd@gnu.org>
4610
2be8f184
GM
4611 * xdisp.c (init_from_display_pos): If POS says we're already after
4612 an overlay string ending at POS, make sure to pop the iterator
4613 because it will be in front of that overlay string. When POS is
4614 ZV, we've thereby also ``processed'' overlay strings at ZV.
4615
ba193890
GM
4616 * xfaces.c (lface_from_face_name): Function comment fix.
4617
1862a24e
MB
46182000-11-24 Miles Bader <miles@gnu.org>
4619
4620 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4621 apply `mode-line-inverse-video' -- zero means force display using
4622 the default face, non-zero means display using the specialized face.
4623 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4624
f07fa1b8
KH
46252000-11-23 Kenichi Handa <handa@etl.go.jp>
4626
4627 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4628 hard coded `4'.
4629
2bcdf662
EZ
46302000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4631
4632 * coding.c (decode_coding_emacs_mule): Fix the case of
4633 CODING_EOL_LF, which used uninitialized value of c.
4634
ba8299ff
SM
46352000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4636
4637 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4638
f4117c4d
GM
46392000-11-22 Gerd Moellmann <gerd@gnu.org>
4640
03e757c1
GM
4641 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4642 buffer object.
4643
f4117c4d
GM
4644 * frame.h (struct frame): Replace desired_tool_bar_items,
4645 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4646 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4647
4648 * frame.c (make_frame): Change initialization of tool bar
4649 items accordingly.
4650
4651 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4652 Change references to members deleted from struct frame to use the
f4117c4d
GM
4653 new ones.
4654
4655 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4656 references to members deleted from struct frame to use the new ones.
f4117c4d 4657
52283633 4658 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4659
4660 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4661
4662 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4663 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4664 from struct frame to use the new ones.
4665
f8e2f3f2
MB
46662000-11-23 Miles Bader <miles@gnu.org>
4667
4668 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4669 the face's inverse-video attribute, rather than overriding it.
4670
60e8e0a5
GM
46712000-11-22 Gerd Moellmann <gerd@gnu.org>
4672
4673 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4674 making tool bar smaller.
4675
92dd1b29
DL
46762000-11-22 Dave Love <fx@gnu.org>
4677
4678 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4679
e672fdce
MB
46802000-11-22 Miles Bader <miles@gnu.org>
4681
3a17d6cc
MB
4682 * keyboard.c (Vminibuffer_message_timeout): New variable.
4683 (command_loop_1): Use it to determine message timeout.
4684 (syms_of_keyboard): Initialize it.
4685
60e8e0a5 4686 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4687
e9655d81
KH
46882000-11-22 Kenichi Handa <handa@etl.go.jp>
4689
4690 * sysdep.c: Move the code for declaring h_errno after #include
4691 <netdb.h>.
4692
77270fac
GM
46932000-11-21 Gerd Moellmann <gerd@gnu.org>
4694
cd913aae
GM
4695 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4696 the menu bar when the tooltip is unmapped.
4697
77270fac
GM
4698 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4699 sole visible buffer when we're currently in the mini-buffer, and
4700 give up if so.
52283633 4701
556635d6
JR
47022000-11-21 Jason Rumney <jasonr@gnu.org>
4703
4704 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4705 put on the clipboard.
4706 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4707 copy of what Emacs last put there. If they are the same, do not
52283633 4708 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4709
5b7bde64
MB
47102000-11-22 Miles Bader <miles@gnu.org>
4711
4712 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4713 (syms_of_minibuf): Initialize it.
4714 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4715 to prompt, don't make read-only.
4716
ff23e1dd
GM
47172000-11-21 Gerd Moellmann <gerd@gnu.org>
4718
52283633
SM
4719 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4720 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4721
7aaf4388
GM
4722 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4723
f5f47add 4724 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4725
ff23e1dd
GM
4726 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4727
37c35586
KH
47282000-11-21 Kenichi Handa <handa@etl.go.jp>
4729
4730 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4731 ... #endif scope.
4732
ff9ab414
GM
47332000-11-20 Gerd Moellmann <gerd@gnu.org>
4734
52283633 4735 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4736 screen supports it.
4737
29a01b72
GM
4738 * s/gnu-linux.h: Don't use `#cpu'.
4739
09dfdf85
GM
4740 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4741 not defined in mman.h.
4742
52283633 4743 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4744 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4745 and store an index in the XClientMessageEvent. Storing a
4746 Lisp_Object or pointer can fail on a 64 bit system, since X only
4747 transfers 32 bits.
52283633
SM
4748 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4749
81459ac9
DL
47502000-11-20 Dave Love <fx@gnu.org>
4751
4752 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4753
56c13ae6
GM
47542000-11-20 Gerd Moellmann <gerd@gnu.org>
4755
4756 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4757
495a6df3
KH
47582000-11-20 Kenichi Handa <handa@etl.go.jp>
4759
2bcf3714
KH
4760 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4761 by WIDTH.
4762
495a6df3
KH
4763 * alloc.c (make_string): Fix previous change. Be sure to make
4764 unibyte string correctly.
4765
6d950f4c
GM
47662000-11-19 Gerd Moellmann <gerd@gnu.org>
4767
39b39373
GM
4768 * window.c (Fwindow_list): Change parameter list to be XEmacs
4769 compatible.
4770 (window_list_1): New function.
4771 (window_loop): Use it instead of Fwindow_list.
4772
b95b34e5
GM
4773 * sysdep.c (emacs_ospeed): New variable.
4774 (toplevel): Don't declare ospeed extern.
4775 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4776
4777 * termcap.c (ospeed): Remove.
4778 (tputs) [!emacs]: Remove unused code.
4779 (tgetent): Avoid a compiler warning.
4780
e83dc917
GM
4781 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4782 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4783 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4784
4785 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4786 removed.
4787 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4788 Take the X display as additional argument.
4789 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4790 `Widget' is a pointer type that's not easily stored in Lisp_Object
4791 form in a portable way.
52283633 4792
6d950f4c
GM
4793 * dispnew.c (update_text_area): Fix last change.
4794
e47306e6
GM
47952000-11-18 Gerd Moellmann <gerd@gnu.org>
4796
fb3cd89b
GM
4797 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4798
4799 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4800 clear current matrices.
4801
edaa9aed
GM
4802 * buffer.c (mmap_enlarge): Don't print a message on stderr
4803 if mapping new memory at the end of the existing region fails.
4804
e47306e6
GM
4805 * dispnew.c (update_text_area): Don't skip over equal glyphs
4806 when the last current glyph overlaps the glyph to its right.
4807
509633e3
MB
48082000-11-18 Miles Bader <miles@gnu.org>
4809
4810 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4811 lines that *end* with "..." too (that's the most common case!).
4812
d392e9c5
GM
48132000-11-18 Gerd Moellmann <gerd@gnu.org>
4814
67988445
GM
4815 * xdisp.c (resize_mini_window): Temporarily change to the
4816 mini-window's buffer if necessary.
1bfdbe43 4817
d392e9c5
GM
4818 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4819 the tooltip obscures less text under it.
4820
48212000-11-17 Gerd Moellmann <gerd@gnu.org>
4822
4823 * puresize.h (BASE_PURESIZE): Increase to 700000.
4824
92bb977f
JR
48252000-11-18 Jason Rumney <jasonr@gnu.org>
4826
4827 * w32term.c (w32_draw_bitmap): Use face to set colors.
4828
26fbf20b
DL
48292000-11-17 Dave Love <fx@gnu.org>
4830
4831 * lread.c (Fload): Fix #ifdef for pcc.
4832
100b593b
GM
48332000-11-17 Gerd Moellmann <gerd@gnu.org>
4834
4835 * xdisp.c (pos_visible_p): Compute the default character height
4836 differently.
4837
a288d0d1
GM
48382000-11-16 Gerd Moellmann <gerd@gnu.org>
4839
cac94de6 4840 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4841 knowing the line's height; use the default font's height in that case.
cac94de6 4842
a288d0d1
GM
4843 * xfaces.c (weight_table): Add `demi' with the same meaning as
4844 `demibold'.
4845
981fb6f6
KH
48462000-11-16 Kenichi Handa <handa@etl.go.jp>
4847
2cca872d 4848 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4849 (clear_glyph_row): Delete local static variable null_row.
4850
e5fa381b
JR
48512000-11-15 Jason Rumney <jasonr@gnu.org>
4852
4853 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4854 (w32_alloc_lighter_color): Use new brightness calculations from
4855 xterm.c. Scale delta to be in the range expected by W32.
4856 (w32_draw_relief_rect): Use frame relief colors.
4857
8e42f043
GM
48582000-11-15 Gerd Moellmann <gerd@gnu.org>
4859
6d133d1f
GM
4860 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4861 (Qinhibit_default_face_x_resources): New variable.
4862 (syms_of_frame): Initialize it.
4863 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4864
4865 * xdisp.c (pos_visible_p): Improve function comment.
4866
4867 * lisp.h (BINDING_STACK_SIZE): New macro.
4868
8e42f043
GM
4869 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4870 reading the directory if readdir returns null and errno is EAGAIN
4871 or EINTR.
4872
e8c87124
SM
48732000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4874
4875 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4876 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4877 Set amount_to_scroll to max of dx and scroll_step so that
4878 scroll-conservatively doesn't defeat scroll-step>1.
4879 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4880 scroll-conservatively for line-at-a-time scrolling.
4881
5f0c971d
GM
48822000-11-14 Gerd Moellmann <gerd@gnu.org>
4883
4884 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4885 extra argument.
4886
4887 * xdisp.c (current_mode_line_height, current_header_line_height):
4888 New variables.
4889 (init_xdisp): Initialize them.
4890 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4891 and use exact mode line heights if it is set.
4892
4893 * lisp.h (pos_visible_p): Change prototype.
4894
4895 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4896 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4897 and current_header_line_height first.
52283633
SM
4898 (current_mode_line_height, current_header_line_height):
4899 Declare extern.
5f0c971d 4900
d7361edf
MB
49012000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4902
4903 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4904 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4905 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4906
ee5e440a
MB
49072000-11-14 Miles Bader <miles@gnu.org>
4908
4909 * xterm.c (x_alloc_lighter_color): Include an additive component
4910 too for dark colors, because FACTOR isn't enough.
4911 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4912 New macros.
4913
5ca020fc
GM
49142000-11-13 Gerd Moellmann <gerd@gnu.org>
4915
4916 * keyboard.c (show_help_echo): Call message3_nolog with number of
4917 bytes in the help string as 2nd parameter, instead of the number
4918 of characters.
4919
9d348294
MB
49202000-11-13 Miles Bader <miles@gnu.org>
4921
4922 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4923 (Fload): Use new openp return protocol.
4924 Don't try to use Vload_source_file_function to load .elc files.
4925 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4926 openp return protocol.
4927 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4928
1729bb9a
KH
49292000-11-11 Kenichi Handa <handa@etl.go.jp>
4930
4e677396
KH
4931 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4932
4933 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4934 Defined these macros.
4935 (NLIST_STRUCT): Avoid re-defining it.
4936
1729bb9a
KH
4937 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4938 -I/usr/contrib/X11R6/include.
4939 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4940
a82fe213
JR
49412000-11-10 Jason Rumney <jasonr@gnu.org>
4942
4943 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4944
4945 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4946 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4947
4948 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4949 (Qw32_charset_vietnamese): New symbol.
4950 (xlfd_charset_of_font): New function.
4951 (w32_load_system_font): Use it.
4952 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4953 when Vw32_charset_info_alist is nil to ensure default face always
4954 has font. Use Fcar and Fcdr for safety.
4955 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4956 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4957 pseudo-codepages for special cases.
4958 (w32_to_x_font): New parameter to allow charset portion to be
4959 specified where there is many to one mapping. Callers changed.
4960 (w32_list_fonts): Avoid listing fonts that won't display.
4961
52d89894
GM
49622000-11-10 Gerd Moellmann <gerd@gnu.org>
4963
4964 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4965 (font_list_1): Renamed from font_list.
4966 (font_list): New function, trying alternative registries from
4967 Vface_alternative_font_registry_alist.
4968 (Finternal_set_alternative_font_registry_alist): New function.
4969 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4970 Vface_alternative_font_registry_alist.
4971 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4972
651cd3da
KR
49732000-11-09 Ken Raeburn <raeburn@gnu.org>
4974
4975 * lisp.h (Flooking_at): Declare.
4976
388ac098
GM
49772000-11-09 Gerd Moellmann <gerd@gnu.org>
4978
778fbc46 4979 * dired.c (directory_files_internal): Fix a braino.
52283633 4980
388ac098
GM
4981 * dired.c (directory_files_internal): Add missing GCPRO's.
4982 Some cleanup.
4983
ecaedde1
GM
49842000-11-08 Gerd Moellmann <gerd@gnu.org>
4985
f7eb32aa
GM
4986 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4987 (resize_mini_window): Return quickly if Vresize_mini_window is
4988 nil. Don't return if Vmax_mini_window_height is nil.
4989
4990 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4991 (syms_of_xdisp): Initialize them.
4992 (resize_mini_window): Act according to the setting of
4993 Vresize_mini_window.
4994 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4995
ecaedde1
GM
4996 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4997 scroll bar widget after configuring it, so that it will appear at
4998 the right position from the start.
4999 (XTredeem_scroll_bar): Cleaned up.
5000
3747ef2c
KH
50012000-11-08 Kenichi Handa <handa@etl.go.jp>
5002
5003 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 5004 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
5005 division by two.
5006
5007 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
5008
03391420
DL
50092000-11-07 Dave Love <fx@gnu.org>
5010
7758f1c1 5011 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
5012
5013 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
5014
b5de343d
GM
50152000-11-07 Gerd Moellmann <gerd@gnu.org>
5016
acad3c0b
GM
5017 * window.c (Fset_window_configuration): Don't try to preserve
5018 point in the current buffer, if that buffer is displayed in more
5019 than one window.
5020
b5de343d
GM
5021 * xfaces.c (lookup_named_face): If default face isn't realized,
5022 try to realize it. Return -1 if not successful.
5023 (Fx_list_fonts): Handle case that face cannot be determined.
5024 (Fface_font): Likewise.
5025
cdb1fe49
GM
50262000-11-06 Gerd Moellmann <gerd@gnu.org>
5027
5028 * window.c (displayed_window_lines): Detect partially
5029 visible lines at the bottom correctly.
5030
d3a67486
SM
50312000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5032
5033 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5034 when ensuring we don't do visit in indirect buffer.
5035
ff8dd5d5
KH
50362000-11-06 Kenichi Handa <handa@etl.go.jp>
5037
5038 * composite.h (compose_chars_in_text): Add prototype.
5039
5040 * composite.c (Vcomposition_function_table): New variable.
5041 (Qcomposition_function_table): New variable.
5042 (run_composition_function): Call
5043 Vcompose_chars_after_function with three arguments.
5044 (compose_chars_in_text): New function.
5045 (syms_of_composite): Modified the doc-string of
5046 Vcompose_chars_after_function. Declare composition-function-table
5047 as a lisp variable, and initialize it.
5048
5049 * xfns.c (x_encode_text): Suppress producing escape sequences for
5050 composition.
5051
5052 * xselect.c: Include composite.h.
5053 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5054
d1145f85
AI
50552000-11-05 Andrew Innes <andrewi@gnu.org>
5056
5057 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5058
5059 * sysdep.c (read_input_waiting): Remove extraneous argument to
5060 read_socket_hook.
5061
5062 * w32fns.c (Fx_server_version): Include w32_build_number in the
5063 return list.
5064
5065 * w32heap.c (w32_build_number): New variable.
5066 (cache_system_info): Set it.
5067
5068 * w32heap.h (w32_build_number): Add extern.
5069
5070 * emacs.c (syms_of_emacs): Update docstring for
5071 system-configuration, to reflect the actual usage on MS-Windows.
5072
e85ee976
GM
50732000-10-31 Gerd Moellmann <gerd@gnu.org>
5074
26dcb81b
GM
5075 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5076 process idle timers while waiting for another event.
5077
52283633 5078 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5079 the default face are colored.
5080
e85ee976
GM
5081 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5082 window height hasn't changed.
5083
01b220b6
JR
50842000-10-31 Jason Rumney <jasonr@gnu.org>
5085
5086 * w32term.c (x_produce_glyphs): Handle composite characters.
5087 (x_draw_glyph_string_foreground)
5088 (x_draw_composite_glyph_string_foreground): Restore old font.
5089
4e6b7204
MB
50902000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5091
5092 * minibuf.c (read_minibuf): Reset the undo history just before
5093 starting the recursive-edit.
5094
d4358b37
GM
50952000-10-30 Gerd Moellmann <gerd@gnu.org>
5096
563f68f1
GM
5097 * xfaces.c (menu_face_change_count): New variable.
5098 (Finternal_set_lisp_face_attribute): Increment it for changes
5099 of the `menu' face.
5100 (realize_basic_faces): Reflect changes in the `menu' faces
5101 in menu bars.
5102
82e274d1
GM
5103 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5104 dy obtained from the iterator's y-position after moving from
5105 scroll_margin_pos to PT; see comment there.
52283633 5106
0dbf9fd2
GM
5107 * xdisp.c (safe_eval_handler): Call add_to_log.
5108
906b3b14
GM
5109 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5110 is not a symbol or string.
5111
d4358b37
GM
5112 * xdisp.c (echo_area_display): Don't perform a display update from
5113 inside redisplay. The update will happen anyway at the end of
5114 redisplay, and it can confuse redisplay (GC messages while
5115 redisplaying, for instance.)
5116
70c825df
SM
51172000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5118
cf9b4b0b
SM
5119 * xrdb.c (x_load_resources): Use the class name in the defaults.
5120
70c825df
SM
5121 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5122 (regex_compile): Catch bogus \(\1\).
5123
a1d34b1e
GM
51242000-10-30 Gerd Moellmann <gerd@gnu.org>
5125
cae71efe
GM
5126 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5127 RGB values.
52283633 5128
35efe0a1
GM
5129 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5130 we have a color cache, check that the cached color equals the
5131 allocated color. If not, clear the color cache.
5132
1d3baf74
GM
5133 * window.c (displayed_window_lines): Change buffers if necessary.
5134 Fix computation of displayed lines.
5135
a1d34b1e
GM
5136 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5137 update_menu_bindings to DEFVAR_BOOL.
5138
70737ea9
KH
51392000-10-30 Kenichi Handa <handa@etl.go.jp>
5140
70c825df 5141 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5142
fa0cb51d
KH
5143 * puresize.h (BASE_PURESIZE): Increase to 680000.
5144
70737ea9
KH
5145 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5146
0e4c08e8
JR
51472000-10-29 Jason Rumney <jasonr@gnu.org>
5148
5149 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5150
5151 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5152 (w32_cache_char_metrics): Handle possibility that 'x' does not
5153 exist in a BDF font.
5154 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5155
5156 * w32bdf.h (bdffont): Add nchars.
5157
5158 * w32bdf.c (set_bdf_font_info): Set it.
5159 (w32_BDF_TextOut): Swap byte order of double byte characters.
5160 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5161
45b84006
EZ
51622000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5163
5164 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5165 don't override the colors in frame's param_alist, unless they are
5166 unspecified.
5167
5168 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5169 reverse the effect of the highlight flag.
5170
caf9deee
KR
51712000-10-27 Ken Raeburn <raeburn@gnu.org>
5172
5173 * window.h (Fwindow_live_p): Declare.
5174
ae0b9b46
KR
5175 * undo.c (record_delete): Check that last_undo_buffer is really a
5176 buffer before applying XBUFFER to it.
5177
5178 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5179 Faref.
5180
02067692
SM
51812000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5182
5183 * lisp.h (KEYMAPP): New macro.
5184 (get_keymap): Remove.
5185 (get_keymap_1): Rename get_keymap.
5186
5187 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5188
5189 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5190
5191 * xmenu.c (single_submenu): Use KEYMAPP.
5192 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5193 Use KEYMAPP rather than Fkeymapp.
5194
5195 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5196
5197 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5198 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5199 Use KEYMAPP rather than Fkeymapp.
5200 (single_submenu): Use KEYMAPP.
5201 (w32_menu_show, w32_dialog_show): Use TRUE.
5202
5203 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5204
5205 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5206 (Fkeymapp): Use KEYMAPP.
5207 (get_keymap): Rename from get_keymap_1. Remove old def.
5208 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5209 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5210 (Fminor_mode_key_binding): Don't raise an error if the binding
5211 is not a keymap.
5212 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5213 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5214
5215 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5216 Allow Vspecial_event_map to be autoloaded.
5217 (menu_bar_items): Fetch the keymap rather than using keymapp.
5218 (menu_bar_one_keymap): No need to follow func-indirect any more.
5219 (parse_menu_item): get_keymap_1 -> get_keymap.
5220 (tool_bar_items): Fetch the keymap rather than using keymapp.
5221 (read_key_sequence): Use KEYMAPP.
5222
5223 * intervals.c (get_local_map): Use get_keymap rather than following
5224 function-indirections explicitly.
5225
5226 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5227
f9d80af3
JR
52282000-10-27 Jason Rumney <jasonr@gnu.org>
5229
5230 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5231 point, as Windows has oversized fonts.
5232
5233 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5234
a3ba27da
GM
52352000-10-27 Gerd Moellmann <gerd@gnu.org>
5236
5237 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5238 (freehook, reallochook): Handle null pointer arguments.
5239 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5240
aa3b80cc
SM
52412000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5242
5243 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5244 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5245 Giving in to popular pressure to shut up the compiler with casts.
5246
e24e84cc
GM
52472000-10-27 Gerd Moellmann <gerd@gnu.org>
5248
5249 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5250 signed value, and use a default value computed from the font's
5251 maximum descent.
5252
05ea7ef2
MB
52532000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5254
5255 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5256 that specify a negative underline position can still use underlines.
5257
5258 * window.c (Fpos_visible_in_window_p): Make POS default to
5259 WINDOW's point, not the current buffer's point.
5260
0b95284b
DL
52612000-10-26 Dave Love <fx@gnu.org>
5262
5263 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5264 when it's necessary.
5265
6c5b90af
GM
52662000-10-26 Gerd Moellmann <gerd@gnu.org>
5267
8b6d9dc9
GM
5268 * window.c (size_window): Compute size difference from sum of old
5269 child window sizes instead of from parent's size.
5270
6bc92b2e
GM
5271 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5272 Handle obscured lines at the top of the window.
5273
5274 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5275 down after the last error condition check.
5276
6c5b90af
GM
5277 * frame.c (Fdelete_frame): Run delete-frame-hook.
5278
42f92d4d
KH
52792000-10-26 Kenichi Handa <handa@etl.go.jp>
5280
5281 * coding.c (decode_coding): Fix previous change (check also
5282 CODING_MODE_LAST_BLOCK).
5283
d97151cb
SM
52842000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5285
e7efc503
SM
5286 * regex.c: More `unsigned char' -> `re_char' changes.
5287 Also change several `int' into `re_wchar_t'.
5288 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5289 (PUSH_FAILURE_POINTER): Don't cast any more.
5290 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5291 We want GCC to complain, since this piece of code makes
5292 re_match non-reentrant, which *should* be fixed.
5293 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5294 (EXTEND_BUFFER): Use RETALLOC.
5295 (SET_LIST_BIT): Don't cast.
5296 (re_wchar_t): New type.
5297 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5298 that those two functions will always properly return.
5299 (IMMEDIATE_QUIT_CHECK): Cast to void.
5300 (analyse_first): Use recursion rather than an explicit stack.
5301 (re_compile_fastmap): Can't fail anymore.
5302 (re_search_2): Don't check re_compile_fastmap for failure.
5303 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5304 Now also sets the new value (passed in a new argument).
5305 (re_match_2_internal): Use it.
5306 Also, use a new var `reg' of type size_t when looping through regs
5307 rather than reuse the inappropriate `mcnt'.
5308
d97151cb
SM
5309 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5310 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5311 (where_is_internal): Renamed from Fwhere_is_internal.
5312 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5313 (Fwhere_is_internal): New function wrapping where_is_internal.
5314 (where_is_internal_1): Handle the case where we're filling the cache.
5315 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5316
d5789b65
MB
53172000-10-25 Miles Bader <miles@gnu.org>
5318
5319 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5320
4ecda532
GM
53212000-10-25 Gerd Moellmann <gerd@gnu.org>
5322
5323 * window.c (pos_fully_visible_p): Removed.
5324 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5325 if position is visible and/or fully visible.
5326
5327 * lisp.h (pos_visible_p): Add prototype.
5328
5329 * xdisp.c (pos_visible_p): New function.
5330
68c3a137
KH
53312000-10-25 Kenichi Handa <handa@etl.go.jp>
5332
5333 * process.c (send_process): If OBJECT is t, it means that the data
5334 is from C string, but we should encode it. Before calling
5335 setup_raw_text_coding_system, be sure to flush out data by the
5336 previous coding system.
5337
7ae1c032
MB
53382000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5339
ff4dcd4b
MB
5340 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5341 assignment of startpos to prev when startpos == pos.
5342
7ae1c032
MB
5343 * editfns.c (find_field): Set the field stickiness correctly from
5344 overlay fields. Use renamed `text_property_stickiness'.
5345 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5346 Only check text properties, not overlays.
7ae1c032
MB
5347 * textprop.c (get_char_property_and_overlay): New function.
5348 (Fget_char_property): Use it.
5349 * intervals.h (get_char_property_and_overlay): Add declaration.
5350
49801145
SM
53512000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5352
5353 * keymap.c: Use AREF, ASET and ASIZE macros.
5354 (Fmake_sparse_keymap): Docstring fix.
5355 (synkey): Remove.
5356 (shadow_lookup): Move up.
5357 Handle the case where lookup-key returns an integer.
5358 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5359 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5360 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5361 Simplify/rewrite the keymap-finding code.
5362 Add check for command shadowing, using shadow_lookup.
5363
39e776cd
SM
53642000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5365
5366 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5367 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5368 a symbol.
5369
2488aba5
AI
53702000-10-24 Andrew Innes <andrewi@gnu.org>
5371
5372 * dired.c (directory_files_internal_unwind): New function.
5373 (directory_files_internal): Use it to ensure closedir is called
5374 even if expand-file-name or file-attributes throw, eg. because of
5375 a user interrupt. Also enable immediate_quit while calling
5376 re_search, so that matching can be interrupted as well.
5377
b94fdf61
AI
53782000-10-24 Andrew Innes <andrewi@gnu.org>
5379
5380 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5381 NT-Emacs only.
5382 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5383 so that re_search functions only quit when callers expect them to.
5384
53852000-10-24 Kenichi Handa <handa@etl.go.jp>
5386
5387 * regex.c (regex_compile): Change the way of handling a range from
5388 a char less than 256 to a char not less than 256.
5389
1946f901
GM
53902000-10-24 Gerd Moellmann <gerd@gnu.org>
5391
7ae2f10f
GM
5392 * window.c (size_window): Prevent setting window's width or
5393 height to a negative value (esp. with XSETFASTINT).
5394
5dcab13e
GM
5395 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5396 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5397 (protect_malloc_state) [GC_MALLOC_CHECK &&
5398 GC_PROTECT_MALLOC_STATE]: New function.
5399 (PROTECT_MALLOC_STATE): New macro.
5400 (__malloc_initialize, morecore, _malloc_internal)
5401 (_free_internal) _realloc_internal): Use it to make _heapinfo
5402 read-only outside of gmalloc.
5403
63e1b552
GM
5404 * keymap.c: Update copyright.
5405
1946f901
GM
5406 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5407 a symbol.
5408
4fa09beb
GM
54092000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5410
5411 * filelock.c (unlock_all_files): Use unlock_file to expand each
5412 buffer's file_truename before trying remove its lock file.
5413
23afac01
EZ
54142000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5415
5416 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5417 or CRLF, decode EOLs.
5418
04448b95
KH
54192000-10-24 Kenichi Handa <handa@etl.go.jp>
5420
5421 * window.c (Fdisplay_buffer): Fix doc.
5422
3090a5a5
JR
54232000-10-23 Jason Rumney <jasonr@gnu.org>
5424
5425 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5426 ASCII font of default fontset on Windows.
5427
5428 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5429 xterm.c comment below).
5430
5431 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5432
a83fee2c
GM
54332000-10-23 Gerd Moellmann <gerd@gnu.org>
5434
5435 * xterm.c (x_connection_closed): Reset handling_signal.
5436
52283633 5437 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5438
6ffdb539
MB
54392000-10-23 Miles Bader <miles@gnu.org>
5440
5441 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5442 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5443 maintain old behavior.
5444 * minibuf.c (Fminibuffer_complete): Likewise.
5445
7f1c969b
MB
54462000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5447
5448 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5449 that when a font can't be exactly centered, it errs up rather than
5450 down.
5451
23afac01 54522000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5453
52283633 5454 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5455
1a578e9b
AC
54562000-10-23 Andrew Choi <akochoi@i-cable.com>
5457
5458 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5459
5460 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5461 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5462
5463 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5464 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5465 syms_of_search, x_term_init, and init_keyboard before calling
5466 init_window_once. Also, call syms_of_xmenu.
5467
5468 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5469 default fontset to Monaco.
5470
5471 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5472 NewMacWindow and DisposeMacWindow.
5473 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5474 instead of calling NewMacWindow and setting fields of
5475 f->output_data.mac directly. Call init_frame_faces.
5476 (Fdelete_frame) [macintosh]: Remove unused code.
5477 (Fmodify_frame_parameters) [macintosh]: Call
5478 x_set_frame_parameters instead of mac_set_frame_parameters.
5479
5480 * frame.h [macintosh]: Define menu_bar_lines field in struct
5481 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5482
5483 * keyboard.c [macintosh]: Include macterm.h.
5484 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5485 and menu_bar_activate_event type events as for X and NT.
5486 (make_lispy_event) [macintosh]: Construct lisp events of type
5487 MENU_BAR_EVENT as for X and NT.
5488
5489 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5490 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5491 (sys_subshell) [macintosh]: Remove definition entirely.
5492 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5493 Vwindow_system_version here. Remove initialization of
5494 Vx_bitmap_file_path.
5495 (read_input_waiting): Correct the number of parameters passed to
5496 read_socket_hook.
5497 Move all Macintosh functions to mac/mac.c.
5498
5499 * term.c [macintosh]: Include macterm.h.
5500
5501 * window.c [macintosh]: Include macterm.h.
5502
5503 * xdisp.c [macintosh]: Include macterm.h. Declare
5504 set_frame_menubar and pending_menu_activation.
5505 (echo_area_display) [macintosh]: Do not return if terminal frame
5506 is the selected frame.
5507 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5508 Allow only the selected frame to set menu bar.
5509 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5510 calling FRAME_EXTERNAL_MENU_BAR (f).
5511 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5512
5513 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5514 and check_x. Declare XCreateGC. Define x_create_gc and
5515 x_free_gc. Initialize font_sort_order.
5516 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5517 but call x_list_fonts instead of w32_list_fonts.
5518 (Finternal_face_x_get_resource) [macintosh]: Do not call
5519 display_x_get_resource.
5520 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5521 (realize_x_face) [macintosh]: Load the font if it is specified in
5522 ATTRS.
52283633 5523 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5524
1ffbabe3
SM
55252000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5526
5527 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5528 is nil: since we go to the end of submap anyway, we'd end up
5529 setting nil to nil.
5530 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5531 doesn't obey autoload.
5532
bed43f1d
EZ
55332000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5534
1ffbabe3 5535 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5536
ea4233a7
JR
55372000-10-21 Jason Rumney <jasonr@gnu.org>
5538
5539 * w32term.c (w32_cache_char_metrics): Double check that font is
5540 really fixed pitch before trusting tmPitchAndFamily.
5541
f3d3c491
AI
55422000-10-21 Andrew Innes <andrewi@gnu.org>
5543
5544 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5545
5546 * w32term.h: Extern decl for w32_cache_char_metrics.
5547
5548 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5549
5550 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5551 (w32_unload_font): Free per_char array if present.
5552
5553 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5554 cached information in emulated XFontStruct to handle common cases
5555 quickly. Do not allocate XCharStruct for return.
5556 (w32_native_per_char_metric): New function.
5557 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5558 allocating one.
5559 (x_produce_glyphs): Don't get an HDC. Change calls to
5560 w32_per_char_metric to match arg change above. Remove calls to
5561 free results.
5562 (w32_get_glyph_overhangs): Ditto.
5563 (w32_cache_char_metrics): New function.
5564
5565 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5566 ($(BLD)/casefiddle.$(O)): Remove compile command.
5567 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5568 ($(BLD)/dispnew.obj):
5569 ($(BLD)/keyboard.obj):
5570 ($(BLD)/w32inevt.obj):
5571 ($(BLD)/w32bdf.obj):
5572 ($(BLD)/alloc.obj):
5573 ($(BLD)/buffer.obj):
5574 ($(BLD)/editfns.obj):
5575 ($(BLD)/emacs.obj):
5576 ($(BLD)/fileio.obj):
5577 ($(BLD)/fns.obj):
5578 ($(BLD)/indent.obj):
5579 ($(BLD)/insdel.obj):
5580 ($(BLD)/intervals.obj):
5581 ($(BLD)/minibuf.obj):
5582 ($(BLD)/print.obj):
5583 ($(BLD)/scroll.obj):
5584 ($(BLD)/sysdep.obj):
5585 ($(BLD)/textprop.obj):
5586 ($(BLD)/widget.obj):
f3d3c491
AI
5587 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5588 ($(BLD)/term.obj): Add dependency on dispextern.h.
5589
52283633
SM
5590 * makefile.nt ($(BLD)\dispnew.obj):
5591 ($(BLD)\keyboard.obj):
5592 ($(BLD)\w32inevt.obj):
5593 ($(BLD)\w32bdf.obj):
5594 ($(BLD)\alloc.obj):
5595 ($(BLD)\buffer.obj):
5596 ($(BLD)\editfns.obj):
5597 ($(BLD)\emacs.obj):
5598 ($(BLD)\fileio.obj):
5599 ($(BLD)\fns.obj):
5600 ($(BLD)\indent.obj):
5601 ($(BLD)\insdel.obj):
5602 ($(BLD)\intervals.obj):
5603 ($(BLD)\minibuf.obj):
5604 ($(BLD)\print.obj):
5605 ($(BLD)\scroll.obj):
5606 ($(BLD)\sysdep.obj):
5607 ($(BLD)\textprop.obj):
5608 ($(BLD)\widget.obj):
f3d3c491
AI
5609 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5610 ($(BLD)\term.obj): Add dependency on dispextern.h
5611
18ad4821
EZ
56122000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5613
5614 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5615 with an additional argument of Qt.
5616
de54681a
MB
56172000-10-21 Miles Bader <miles@gnu.org>
5618
5619 * window.c (pos_fully_visible_in_window_p): New function.
5620 (Fpos_visible_in_window_p): Add FULLY argument.
5621 Use pos_fully_visible_in_window_p.
5622 (window_scroll_pixel_based, window_scroll_line_based): Update
5623 calls to Fpos_visible_in_window_p.
5624 * lisp.h (Fpos_visible_in_window_p): Update prototype
5625
13c844fb
GM
56262000-10-20 Gerd Moellmann <gerd@gnu.org>
5627
5628 * alloc.c (toplevel): Conditionalize compilation of mem_*
5629 functions differently.
52283633 5630
d9506268
JR
56312000-10-20 Jason Rumney <jasonr@gnu.org>
5632
5633 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5634 mem_init where it used to be. mem_z etc not defined otherwise.
5635
8094989b
GM
56362000-10-20 Gerd Moellmann <gerd@gnu.org>
5637
5638 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5639 GC_MALLOC_CHECK.
5640 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5641 structure definition and related variabled to the top of the file.
5642 Include this code when GC_MALLOC_CHECK is defined.
5643 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5644 register/unregister allocated region.
5645 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5646 which isn't allocated.
5647 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5648 something which is already in use.
5649 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5650 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5651 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5652 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5653
5654 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5655 _malloc_internal instead of malloc.
5656 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5657 of free.
5658
ea456eb4
AI
56592000-10-20 Andrew Innes <andrewi@gnu.org>
5660
5661 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5662 Windows.
5663 (my_strftime) <macro>: Don't use macro arg list when redefining as
5664 _strftime_copytm.
5665 (my_strftime) <function>: Supply 0 as ut argument.
5666
e64c3a75
JR
56672000-10-19 Jason Rumney <jasonr@altavista.net>
5668
5669 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5670 including dispextern.h, as it stops faces from working.
5671
5672 * w32fns.c (Fx_create_frame): Don't bother calling
5673 face-set-after-frame-default since the caller does it for us
5674 anyway. Clean up calls to x_get_arg to be consistent with X.
5675
5676 * w32term.c (x_produce_glyphs): Handle
5677 unibyte_display_via_language_environment correctly.
5678 (w32_draw_box_rect): Fix the calculation of width and height.
5679
5680 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5681 as it has stopped working.
5682 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5683 menu-bar.
5684
17401c97
GM
56852000-10-19 Gerd Moellmann <gerd@gnu.org>
5686
5687 * eval.c (skip_debugger): Prevent a compiler warning.
5688 (Fcondition_case): Likewise.
5689 (Fbacktrace_frame): Use a null interactive spec.
5690
773272d8
KH
56912000-10-19 Kenichi Handa <handa@etl.go.jp>
5692
5693 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5694
a42943e9
GM
56952000-10-18 Gerd Moellmann <gerd@gnu.org>
5696
e50517d9
GM
5697 * strftime.c: Sync with glibc, file version 1.78.
5698 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5699 should no longer be used according to ISO 8601.
5700
9035a35a
GM
5701 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5702 no map for meta_prefix_char, don't try to use it as a keymap.
5703 Instead, if T_OK is non-zero, look up a default binding, if any,
5704 otherwise, if T_OK is zero, return nil.
5705
a42943e9
GM
5706 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5707 (x_to_xcolors, png_load): Use x_query_color.
5708
52283633
SM
5709 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5710 New functions.
a42943e9
GM
5711 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5712 which can be slow.
5713 (x_copy_color, x_alloc_lighter_color): Likewise.
5714
5715 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5716 (x_query_color, x_query_colors): Add prototype.
5717
5718 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5719 check_string_bytes only if not noninteractive, increase count to 50.
5720
00de2987
MB
57212000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5722
5723 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5724 markers correctly.
5725
54918e2b
GM
57262000-10-17 Gerd Moellmann <gerd@gnu.org>
5727
1f0b3fd2
GM
5728 * alloc.c (pure_bytes_used): Renamed from pureptr.
5729 (ALIGN): New macro.
5730 (pure_alloc): New function.
5731 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5732 Use it.
5733 (Fpurecopy): Use PURE_POINTER_P.
5734
68c5d1db
GM
5735 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5736 PT has moved backward.
52283633 5737
9a038881
GM
5738 * xdisp.c (cursor_row_p): Take continued lines into account.
5739
361b097f
GM
5740 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5741 string's size_byte.
5742 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5743 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5744 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5745 string allocated.
5746
54918e2b
GM
5747 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5748 of selective display off while searching for the next line start.
5749
03ed0806
KH
57502000-10-17 Kenichi Handa <handa@etl.go.jp>
5751
5752 * Makefile.in (term.o): Depend on dispextern.h.
5753
7e05cdaf
SM
57542000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5755
5756 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5757
a6801fd1
GM
57582000-10-16 Gerd Moellmann <gerd@gnu.org>
5759
483de32b
GM
5760 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5761 the iterator at the beginning, so that they can be set later on,
5762 for instance in reseat_at_next_visible_line_start, without being
5763 overwritten.
5764
a6801fd1
GM
5765 * xfns.c (pbm_format): Add :foreground and :background keywords.
5766 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5767 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5768
dbf1fcc1
EZ
57692000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5770
5771 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5772
52283633 5773 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5774
5775 * msdos.c (IT_set_face): Compare highlighted face with the default
5776 face, and invert colors if these faces' colors are identical.
5777 (Fmsdos_remember_default_colors): Don't swap foreground and
5778 background colors in initial_colors[].
5779 (IT_set_frame_parameters): Don't swap frame's foreground and
5780 background pixels. If ALIST includes "(reverse . t)", swap
5781 foreground-color and background-color properties in frame's
5782 param_alist. If the original frame's param_alist doesn't specify
5783 the colors, store unspecified-fg and unspecified-bg, reversed if
5784 required.
5785
5786 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5787 the colors are unspecified and reversed, reverse fore- and back-
5788 ground in the returned value.
5789 (Fframe_parameter): Ditto.
5790
b41fe2c3 57912000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5792
3a6b59d9
GM
5793 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5794 get_last_unchanged_at_beg_row.
5795 (find_first_unchanged_at_end_row): Renamed from
5796 get_first_unchanged_at_end_row.
5797 (find_first_unchanged_at_end_row): Convert assertions to
5798 unconditional tests which abort. When looking for a row in
5799 unchanged text, don't go further back than first_text_row.
5800
b41fe2c3
GM
5801 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5802 Don't add in the last line's height when deciding if the new
5803 position is below the scroll margin.
9d1af64f 5804
b41fe2c3 58052000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5806
5807 * editfns.c (Fconstrain_to_field): Check carefully for field
5808 boundaries if either OLD_POS or NEW_POS has a non-nil field
5809 property, even if they're the same.
5810
c412cb7b
KH
58112000-10-16 Kenichi Handa <handa@etl.go.jp>
5812
5813 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5814 height for XFillRectangle.
5815
5586f3eb
SM
58162000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5817
5818 * syntax.c (Fstring_to_syntax): New function extracted from
5819 Fmodify_syntax_entry.
5820 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5821 (skip_chars, Fforward_comment): Remove unused variables.
5822 (syms_of_syntax): Add defsubr for string-to-syntax.
5823 (describe_syntax): Add code for comment and string fences.
5824
db785038
SM
58252000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5826
5827 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5828 Do the meta->esc mapping. Call get_keyelt before returning.
5829 Start scanning from the second element (the first is always `keymap')
5830 to make it easier to detect when we reach a parent map.
5831 Handle the case of inheriting from a symbol whose function is a map.
5832 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5833 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5834 (get_keyelt, Flookup_key): Update call to access_keymap.
5835 Remove the meta->esc mappings.
5836 (define_as_prefix): Delete old disabled code.
5837 (menu_item_p): New function.
5838 (where_is_internal_1): Skip over the few remaining menu items.
5839 * lisp.h (access_keymap): Update prototype.
5840 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5841 Update call to access_keymap.
5842 (follow_key, read_key_sequence): Update calls to access_keymap.
5843 Remove the meta->esc mappings.
5844
cafafe0b
GM
58452000-10-13 Gerd Moellmann <gerd@gnu.org>
5846
a2e2a7f6
GM
5847 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5848 with additional argument.
5849
cafafe0b
GM
5850 * xdisp.c (cursor_row_p): New function.
5851 (try_cursor_movement, display_line): Use it.
52283633 5852
cafafe0b
GM
5853 * xdisp.c (append_space): Also save/restore iterator's current
5854 character and its length.
5855
5856 * xdisp.c (init_from_display_pos): Add an assertion.
5857 (handle_stop): Don't set iterator's add_overlay_start.
5858 (handle_invisible_prop): Likewise.
5859 (load_overlay_strings): If text under an overlay is invisible,
5860 take both before- and after-strings into account when the iterator
5861 is positioned either at the start or at the end of the overlay.
5862 (forward_to_next_line_start): Rewritten.
5863 (reseat_at_next_visible_line_start): Rewritten.
5864 (set_iterator_to_next): Add parameter RESEAT_P.
5865
5866 * dispextern.h (struct it): Remove member add_overlay_start.
5867 (set_iterator_to_next): Change prototype.
5868
c744452b
KH
58692000-10-13 Kenichi Handa <handa@etl.go.jp>
5870
5871 * coding.c (code_convert_region): Be sure to initialize
5872 coding->category_idx.
e4a3f4e1
KH
5873 (decode_coding_string): Set coding->src_multibyte and
5874 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5875 (encode_coding_string): Set coding->src_multibyte and
5876 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5877
321fd26f
SM
58782000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5879
5880 * xfns.c (Fx_create_frame): Don't bother calling
5881 face-set-after-frame-default since the caller does it for us anyway.
5882
76832439
EZ
58832000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5884
5885 * window.c (coordinates_in_window): Fix detection of vertical line
5886 on character terminals.
5887
2483cf58
GM
58882000-10-12 Gerd Moellmann <gerd@gnu.org>
5889
5890 * editfns.c (save_excursion_save): Additionally record the
5891 selected window.
5892 (save_excursion_restore): If buffer was visible in a window, and a
5893 different window was selected, and the old selected window is
5894 still live, restore point in that window.
5895
eb991b25
KH
58962000-10-12 Kenichi Handa <handa@etl.go.jp>
5897
8a0eba09
KH
5898 * xterm.c (x_produce_glyphs): Handle
5899 unibyte_display_via_language_environment correctly.
5900
20401fcc
KH
5901 * regex.c (regex_compile): Change the way of handling a range from
5902 unibyte char to multibyte char.
5903
5904 * syntax.c (skip_chars): Change the way of handling a range from
5905 unibyte char to multibyte char.
5906
eb991b25
KH
5907 * process.c (read_process_output): Cancel previous change.
5908
365dd325
EZ
59092000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5910
c1b096cb
EZ
5911 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5912
365dd325
EZ
5913 * charset.c (Ffind_charset_string): Doc fix.
5914 (Ffind_charset_region): Doc fix.
5915
eb483c2b
KH
59162000-10-11 Kenichi Handa <handa@mule.m17n.org>
5917
5918 * process.c (read_process_output): Fix previous change. Adjust
5919 multibyteness of text to insert in a buffer by
52283633 5920 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5921
b40bfb99
AS
59222000-10-10 Andreas Schwab <schwab@suse.de>
5923
5924 * alloc.c (mark_object): Remove all workarounds installed on
5925 1993-08-08.
5926
caff31d4
KH
59272000-10-10 Kenichi Handa <handa@etl.go.jp>
5928
52283633 5929 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5930 (base64_encode_1): Make it work for a text of multibyte form.
5931 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5932 case. Don't call str_to_multibyte because base64_decode_1
5933 produces correct multibyte form for eight-bit codes.
52283633 5934 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5935 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5936 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5937 codes.
5938
5939 * charset.h (CHAR_STRING): Optimized for single byte characters.
5940
cba026ef
AS
59412000-10-09 Andreas Schwab <schwab@suse.de>
5942
5943 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5944 -1 after socket is closed, to fall through to error processing.
5945
1e21fe48
EZ
59462000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5947
5948 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5949 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5950 background-color, change also the colors of the default face for
5951 this frame.
5952
a640322e
EZ
59532000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5954
5955 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5956 them extern (they are defined on xfaces.c).
5957 (syms_of_msdos): Don't intern and don't staticpro
5958 Qbackground_color and Qforeground_color.
5959
a115794c
EZ
59602000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5961
5962 * frame.c (Fframe_parameter): For non-windowed frames, if
5963 f->param_alist says foreground or background color is unspecified,
5964 call tty_color_name to return the color name computed from the
5965 frame's current colors.
5966
f5533b63
DL
59672000-10-06 Dave Love <fx@gnu.org>
5968
5969 * terminfo.c (ospeed): Don't declare.
5970
5971 * sysdep.c: Don't include string.h.
5972 (h_errno): Declare conditional also on TRY_AGAIN.
5973
5974 * charset.c (Ffind_charset_string): Doc fix.
5975
52283633 5976 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5977 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5978 error messages.
5979
2b06561a
DL
59802000-10-05 Dave Love <fx@gnu.org>
5981
5982 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5983 position like menu-bar.
5984
ca839c85
GM
59852000-10-05 Gerd Moellmann <gerd@gnu.org>
5986
5987 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5988
5989 * xdisp.c (handle_single_display_prop): Use safe_call1.
5990 (safe_call): Renamed from call_function.
5991 (safe_call1): New function.
5992 (handle_fontified_prop): Use safe_call1 instead of call1.
5993 (safe_eval): Renamed from eval_form.
5994 (safe_eval_handler): Renamed from eval_handler.
5995 (handle_single_display_prop, display_mode_element): Use safe_eval
5996 instead of eval_form.
5997
5998 * xfaces.c (merge_face_heights): Use safe_call instead of
5999 call_function.
6000
6001 * keyboard.c (show_help_echo): Use safe_call instead of
6002 call_function; use safe_eval instead of eval_form.
6003
6004 * lisp.h (safe_call): Renamed from call_function.
6005 (safe_eval): Renamed from eval_form.
6006 (safe_call1): Add prototype.
6007
a3489ece
MB
60082000-10-05 Miles Bader <miles@lsi.nec.co.jp>
6009
6010 * xfns.c (image_ascent): Rearrange ascent calculation for the
6011 has-a-font case.
6012
35810b6f
SM
60132000-10-04 Stefan Monnier <monnier@cs.yale.edu>
6014
6015 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
6016 (where_is_internal_1): Don't bother ignoring menu-items any more.
6017
3dc78168
GM
60182000-10-04 Gerd Moellmann <gerd@gnu.org>
6019
6020 * keyboard.c (update_menu_bindings): New variable.
6021 (parse_menu_item): Use AREF. If update_menu_bindings
6022 is 0, don't update menu bindings.
6023 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6024
1efc2bb9
EZ
60252000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6026
6027 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6028 to `mark_object'.
6029
3f679f55
SM
60302000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6031
6032 * syntax.c (forw_comment): Match nestedness of ender/starter.
6033 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6034 (prev_char_comstart_first): Remove.
6035 (back_comment): Check two-char comment markers more carefully
6036 to better handle overlapping cases like *//* or /* */* */ ...
6037 Match nestedness of ender/starter.
6038
2021ab61
DL
60392000-10-02 Dave Love <fx@gnu.org>
6040
6041 * config.in (HAVE_GAI_STRERROR): Add undef.
6042
6043 * process.c (Fopen_network_stream): Use it.
6044
6045 * m/alpha.h (NO_REMAP): Don't define.
6046
64e6cc18
GM
60472000-10-02 Gerd Moellmann <gerd@gnu.org>
6048
6049 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6050 return with a string converted to an integer or vice versa when
6051 Vmocklisp_arguments is t.
6052 (Fsignal): Likewise. The function can return for `quit'.
6053 (struct gcpro): Declare member `var' to point to a volatile
6054 Lisp_Object.
6055
6056 * eval.c (error): Prevent compiler warning.
6057
b1904cd9
SM
60582000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6059
6060 * keymap.c (keymap_memberp): New function.
6061 (Fset_keymap_parent): Use it.
6062 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6063 Use keymap_memberp to avoid creating cycles.
6064 (access_keymap): Use KEYMAPP.
6065
71c9ec51
GM
60662000-09-30 Gerd Moellmann <gerd@gnu.org>
6067
6068 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6069 gai_strerror. Make sure xerrno is set if connect fails. Improve
6070 error recovery.
71c9ec51 6071
c70c6b58
JR
60722000-09-29 Jason Rumney <jasonr@gnu.org>
6073
6074 * w32term.c (w32_char_font_type, w32_encode_char)
6075 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6076 (w32_bdf_per_char_metric): New function.
6077 (w32_per_char_metric): Use it.
6078 (x_draw_glyph_string_background): Always draw background for BDF
6079 glyphs.
6080
6081 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6082 GDI object which is a scarce resource.
6083
6084 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6085 (get_quoted_string): Fix limit on memchr search.
6086 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6087 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6088 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6089 (get_cached_font_char, cache_char_offset): Use macro
6090 BDF_CODEPOINT_RANGE_COVER_P.
6091 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6092 (clear_cached_bitmap_slots): New function.
6093 (GET_HEX_VALUE): G-Z, g-z are not hex.
6094 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6095 (get_bitmap_with_cache): Use new cache implementation.
6096 (create_offscreen_bitmap): New function.
6097 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6098
6099 * w32term.c (x_produce_glyphs): If the distance from the current
6100 position to the next tab stop is less than a canonical character
6101 width, use the tab stop after that.
6102 (x_draw_glyphs): Handle case START and END are out of bounds more
6103 carefully.
6104 (x_clear_mouse_face): Block/unblock input.
6105 (x_display_and_set_cursor): Don't show a hollow box cursor for
6106 buffers whose cursor_type is nil.
6107
fe01239f
GM
61082000-09-29 Gerd Moellmann <gerd@gnu.org>
6109
52283633 6110 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6111
6112 * dispextern.h (updating_frame): Declare extern.
6113
e7c52f1f
AS
61142000-09-29 Andreas Schwab <schwab@suse.de>
6115
6116 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6117
de6e1f7c
GM
61182000-09-29 Gerd Moellmann <gerd@gnu.org>
6119
25126faa
GM
6120 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6121 use its function definition.
6122 (tool_bar_items): Likewise.
6123
de6e1f7c 6124 * lisp.h (fatal): Declare NO_RETURN.
52283633 6125
454ee39b
KH
61262000-09-29 Kenichi Handa <handa@etl.go.jp>
6127
6128 * keymap.c: Remove the line "#undef NULL".
6129
96301c5f
GM
61302000-09-28 Gerd Moellmann <gerd@gnu.org>
6131
52283633 6132 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6133
efffeeb4
DL
61342000-09-28 Dave Love <fx@gnu.org>
6135
ecb8b666
DL
6136 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6137
dc3cd20f
DL
6138 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6139
6140 * .gdbinit (xreload): Note its need on GNU/Linux.
6141
efffeeb4
DL
6142 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6143 r_alloc, r_alloc_free.
6144
8610d903
KH
61452000-09-28 Kenichi Handa <handa@etl.go.jp>
6146
6147 * syntax.c (skip_chars): Handle negation correctly.
6148
8901d1ac
GM
61492000-09-27 Gerd Moellmann <gerd@gnu.org>
6150
6f22f1ad
GM
6151 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6152 with non-zero FORCE_P argument.
6153
52283633 6154 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6155 Add assertions.
6156
6157 * xdisp.c (window_box_height): Add an assertion.
6158
6159 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6160 tool-bar than is available.
6161 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6162
36f1966f
DL
61632000-09-27 Dave Love <fx@gnu.org>
6164
efffeeb4 6165 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6166
31d929e5
GM
61672000-09-26 Gerd Moellmann <gerd@gnu.org>
6168
c98863bf
GM
6169 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6170 instead of BITS_PER_INT.
6171 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6172 EMACS_UINT, respectively.
6173 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6174
6175 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6176
6177 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6178
77072ab1
GM
6179 * window.c (freeze_window_starts): Construct last argument for
6180 foreach_window differently.
6181
6182 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6183
6184 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6185 EMACS_UINT instead of `int' and `unsigned int'.
6186 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6187
6188 * frame.h (struct frame): Make the `nothing' member of union
6189 output_data an EMACS_INT.
6190
52283633 6191 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6192 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6193 size in the sdata structure.
6194 (SDATA_NBYTES, SDATA_DATA): New macros.
6195 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6196 differently for the different layout of the sdata structure.
6197 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6198 in sdata.
6199 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6200 Check that size recorded in the string size and size recorded in
6201 the sdata structure agree.
6202
3e60b029
DL
62032000-09-25 Dave Love <fx@gnu.org>
6204
6205 * buffer.c: Include stdio.h.
6206
6207 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6208
3e60b029
DL
6209 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6210
6211 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6212 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6213 (__malloc_extra_blocks): Declare as __malloc_size_t.
6214
8ff16b4e
GM
62152000-09-25 Gerd Moellmann <gerd@gnu.org>
6216
755a2ccd
GM
6217 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6218
d8b4516f
GM
6219 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6220 (read_char): If help-echo is showing, preserve the echo area
6221 when redisplaying.
6222
6223 * xdisp.c (help_echo_showing_p): New variable.
6224 (set_message): Reset it to 0.
6225 (init_xdisp): Initialize help_echo_showing_p.
6226
6227 * dispextern.h (help_echo_showing_p): Declare extern.
6228
6229 * config.in: Fix typo in __GNUC_MINOR__.
6230
6231 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6232
b11af2dd
GM
6233 * s/freebsd.h (POSIX_SIGNALS): Define.
6234
8ff16b4e
GM
6235 * xterm.c (x_clear_mouse_face): Block/unblock input.
6236
844eb643
DL
62372000-09-24 Dave Love <fx@gnu.org>
6238
6239 * fns.c (base64_encode_1): Fix last change.
6240
b30ab1b3
GM
62412000-09-22 Gerd Moellmann <gerd@gnu.org>
6242
6243 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6244
6245 * xdisp.c (try_window_reusing_current_matrix): More fixes
6246 for the case window has a header-line.
6247
c6cbe5f0
DL
62482000-09-22 Dave Love <fx@gnu.org>
6249
4c7c1f3f
DL
6250 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6251 a doc string.
6252
6253 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6254
c6cbe5f0
DL
6255 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6256
550a625e
GM
62572000-09-21 Gerd Moellmann <gerd@gnu.org>
6258
4c7c1f3f 6259 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6260 for GCC >= 2.5.
6261
52283633
SM
6262 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6263 Declare NO_RETURN.
fca99116 6264
80d26f99
GM
6265 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6266 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6267 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6268 warnings.
52283633 6269
80d26f99
GM
6270 * marker.c (byte_char_debug_check): Return void.
6271
623a0aae
GM
6272 * xfns.c (Fx_create_frame): Set default frame parameter value
6273 for tool-bar-lines to 1.
6274
6275 * dispnew.c (scrolling_window): Compare y-positions of rows
6276 equal at the start. Some simplification.
6277
6278 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6279 reused rows' y-position in the case window has a header-line, and
6280 new window start is greater than old window start.
6281
42ac0ae5
GM
6282 * process.c (process_sent_to): New variable.
6283 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6284 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6285 Declare more parameters volatile.
6286
550a625e
GM
6287 * lread.c (Vrecursive_load_depth_limit): New variable.
6288 (Fload): Check recursive loads whose recursion depth exceeds
6289 Vrecursive_load_depth_limit.
6290 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6291
8320414c
GM
62922000-09-20 Gerd Moellmann <gerd@gnu.org>
6293
f46c275e
GM
6294 * fileio.c (Fread_file_name): Doc fix.
6295
6296 * editfns.c (Fmessage_or_box): Doc fix.
6297
6298 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6299
b7e11c5b 6300 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6301
8320414c
GM
6302 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6303 symbols are specified, add color translations to the cache.
52283633 6304 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6305 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6306 xpm_cache_color.
6307 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6308 structures to xpm_init_color_cache.
6309
da1608d9
GM
63102000-09-19 Gerd Moellmann <gerd@gnu.org>
6311
52283633 6312 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6313
6badfa25
AI
63142000-09-19 Andrew Innes <andrewi@gnu.org>
6315
6316 * makefile.nt (bootstrap-emacs): Don't change directory.
6317
3a5f42bb
KH
63182000-09-19 Kenichi Handa <handa@etl.go.jp>
6319
1b7649bd
KH
6320 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6321
3a5f42bb
KH
6322 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6323 If output buffer is too small, signal an appropriated error.
6324
9f83cf0b
DL
63252000-09-18 Dave Love <fx@gnu.org>
6326
52283633 6327 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6328 (current_active_maps): Remove redundant get_local_map call.
6329
28c7826c
GM
63302000-09-18 Gerd Moellmann <gerd@gnu.org>
6331
5cefa566
GM
6332 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6333 cursor for buffers whose cursor_type is nil.
52283633 6334
6fed3546
GM
6335 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6336 a feature to implement that is already implemented.
6337 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6338 warnings.
6339
6340 * xfns.c (x_clear_image_1): New function.
6341 (x_clear_image): Use it.
52283633 6342 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6343
05b1f851
GM
6344 * dispnew.c (update_window): Move test for invisible lines
6345 at the top to update_window_line.
6346 (update_window_line): Handle invisible lines here.
6347
f4779de9
GM
6348 * xfns.c (clear_image_cache): Clear current matrices of all
6349 frames sharing an image cache. Block input while freeing
6350 images. Fix timestamp comparison.
6351 (x_clear_image): Also free the mask.
6352
28c7826c
GM
6353 * xfns.c (lookup_image): Block input while loading the image so
6354 that we won't get interrupted in a state where the image isn't yet
6355 set up completely.
6356 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6357 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6358 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6359 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6360
b7412313
GM
63612000-09-16 Gerd Moellmann <gerd@gnu.org>
6362
6363 * dispnew.c (update_window): Make sure to make desired rows
6364 current even if they are completely invisible at the top
6365 of a window.
6366
47e351a3
GM
63672000-09-15 Gerd Moellmann <gerd@gnu.org>
6368
7f8f1edc
GM
6369 * xfns.c (lookup_image): Build mask before applying an algorithm.
6370 Recognize algorithm `disabled'.
6371 (cross_disabled_images): New variable.
6372 (COLOR_INTENSITY): New macro.
6373 (x_detect_edges): Use COLOR_INTENSITY.
6374 (x_disable_image): New function.
6375 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6376
6377 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6378 disabled state, don't apply an image transformation algorithm if
6379 the user specified an image for the disabled state. Use
28c7826c 6380 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6381 user hasn't specified an image.
6382
ebb8f116
GM
6383 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6384 allocation functions with the XPM lib.
6385 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6386 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6387 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6388 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6389 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6390 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6391 functions, if possible, because these handle color allocation
6392 failure more gracefully.
6393 (Fimage_mask_p): New function.
6394
47e351a3
GM
6395 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6396 (Qedge_detection, Qheuristic): New symbols.
6397 (syms_of_xfns): Initialize new symbols.
6398 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6399 `algorithm (edge-detection ...)'.
6400 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6401 (tiff_format, gif_format, gs_format): Add `:mask'.
6402 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6403 (GIF_MASK, GS_MASK): New enumerators.
6404 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6405 (emboss_matrix, laplace_matrix): New variables.
6406 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6407 (x_edge_detection): New functions.
6408 (x_laplace): Rewritten in terms of x_detect_edges.
6409 (x_build_heuristic_mask): If image has a mask, free it.
6410
fe83b953
AI
64112000-09-14 Andrew Innes <andrewi@gnu.org>
6412
6413 * makefile.w32-in: Revert to Unix line endings.
6414
3021e816
AI
64152000-09-14 Andrew Innes <andrewi@gnu.org>
6416
6417 * makefile.w32-in: Standardize indentation somewhat.
6418 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6419 cater for differences between shells.
6420
6421 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6422
2a32b5ea
GM
64232000-09-14 Gerd Moellmann <gerd@gnu.org>
6424
6425 * xterm.c (x_produce_glyphs): If the distance from the current
6426 position to the next tab stop is less than a canonical character
6427 width, use the tab stop after that.
6428
b4331e96
DL
64292000-09-14 Dave Love <fx@gnu.org>
6430
6431 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6432
ef9e4345
GM
64332000-09-14 Gerd Moellmann <gerd@gnu.org>
6434
085536c2
GM
6435 * xdisp.c (handle_fontified_prop): While running fontification
6436 functions, bind `fontification-functions' and
6437 `after-change-functions' to nil.
6438
ef9e4345
GM
6439 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6440 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6441
6442 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6443
6444 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6445 USE_MMAP_FOR_BUFFERS.
6446
6447 * insdel.c (make_gap): Use enlarge_buffer_text.
6448
6449 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6450 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6451 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6452 from former r_alloc_* functions in ralloc.c.
52283633 6453 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6454 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6455 (mmap_init) [REL_ALLOC_MMAP]: New function.
6456 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6457 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6458 BUFFER_FREE.
6459
6460 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6461 (enlarge_buffer_text): Add prototype.
6462
6463 * ralloc.c: Remove everything having to do with the use of mmap.
6464
f8608968
GM
64652000-09-13 Gerd Moellmann <gerd@gnu.org>
6466
2a494b2d
GM
6467 * sound.c (Fplay_sound): Doc fix.
6468
8c907a56
GM
6469 * keyboard.c: Avoid some more compiler warnings.
6470 (parse_tool_bar_item): Ignore cached key bindings.
6471
f8608968
GM
6472 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6473 and allocation of Lisp data.
6474
6ab70e9a
GM
64752000-09-12 Gerd Moellmann <gerd@gnu.org>
6476
d12d0a9b
GM
6477 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6478 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6479 defaults first.
6480
6ab70e9a
GM
6481 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6482
63c36c3c
KH
64832000-09-12 Miyashita Hisashi <himi@meadowy.org>
6484
6485 * ccl.c: Comment fixed.
6486 (MAX_MAP_SET_LEVEL): Increased to 30.
6487 (PUSH_MAPPING_STACK): Enclose with do-while block.
6488 (POP_MAPPING_STACK): Likewise.
6489 (stack_idx_of_map_multiple): New variable.
6490 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6491 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6492 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6493 (ccl_driver) <CCL_MapSingle>: Likewise.
6494 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6495 with the case where looking up process reaches to the end of
6496 map-set, and call CCL programs as the above change.
6497
7ee3bd7b
GM
64982000-09-11 Gerd Moellmann <gerd@gnu.org>
6499
8ec8a5ec
GM
6500 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6501 that might be clobbered by longjmp.
6502 (check_x_display_info, x_decode_color, create_frame_xic)
6503 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6504 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6505
f74b0705
GM
6506 * lread.c (init_lread): Set Vloads_in_progress to nil.
6507 (Fload): Show list of recursively loaded files, when signaling an
6508 error.
6509
7ee3bd7b
GM
6510 * lread.c (Vloads_in_progress): New variable.
6511 (record_load_unwind): New function.
6512 (Fload): Check for recursive loads.
6513 (syms_of_lread): Initialize Vloads_in_progress.
6514 (read_integer, read1): Avoid some compiler warnings.
6515
6516 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6517 compiler warnings.
6518
974e1e5b
MB
65192000-09-11 Miles Bader <miles@gnu.org>
6520
6521 * editfns.c (Fbuffer_string): Doc fix.
6522
9824c4e3
GM
65232000-09-10 Gerd Moellmann <gerd@gnu.org>
6524
6525 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6526
6a72fdd1
KR
65272000-09-09 Ken Raeburn <raeburn@gnu.org>
6528
6529 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6530 whether to include other header files.
6531
28e6fb66
GM
65322000-09-09 Gerd Moellmann <gerd@gnu.org>
6533
52283633 6534 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6535 by Fmemq as a boolean.
28e6fb66 6536
7f8b6551
SM
65372000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6538
6539 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6540
a8710abf
GM
65412000-09-08 Gerd Moellmann <gerd@gnu.org>
6542
d1a02881
GM
6543 * ralloc.c (mmap_fd): Remove initializer which can make it
6544 read-only in a dumped Emacs.
6545 (mmap_fd_1): New variable.
6546 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6547 restore it from there.
6548 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6549 unconditionally so that mmap_fd can be initialized there.
6550 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6551 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6552 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6553
c454aac1
GM
6554 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6555
6556 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6557 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6558
fc653ef2
GM
6559 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6560
3015eec0
GM
6561 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6562 inheritance.
6563
bfe0ee88
GM
6564 * xdisp.c (try_window_id): When trying to locate cursor in
6565 unchanged rows at the top, handle the case that we can't find it.
6566
a8710abf
GM
6567 * xterm.c (x_draw_glyphs): Handle case START and END are out
6568 of bounds more carefully.
6569
6b7d4ae4
DL
65702000-09-08 Dave Love <fx@gnu.org>
6571
423193c5
DL
6572 * s/sol2.h (REL_ALLOC_MMAP): Define.
6573 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6574
6575 * ralloc.c: Don't include string.h (redundant).
6576 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6577 [!MAP_ANON]: Include fcntl.h.
6578 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6579 (r_alloc, r_re_alloc, r_alloc_free)
6580 (mmap_enlarge, mmap_set_vars): Use it.
6581 (r_alloc_init_fd): New function.
6582 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6583 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6584 malloc type.
6585
6586 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6587 Remove vm-limit.o.
6588
6b7d4ae4
DL
6589 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6590 change to __NetBSD__.
6591
44d31981
KH
65922000-09-08 Kenichi Handa <handa@etl.go.jp>
6593
6594 * search.c (compile_pattern): Check the multibyteness of cached
6595 string and PATTERN.
6596
aad40737
MB
65972000-09-08 Miles Bader <miles@gnu.org>
6598
6599 * xfaces.c (default_face_vector): Function removed.
6600 (Finternal_merge_in_global_face): Restore old global/local
6601 attribute override order. Use inline loop instead of calling
6602 default_face_vector.
6603
91a211b5
GM
66042000-09-07 Gerd Moellmann <gerd@gnu.org>
6605
6606 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6607 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6608 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6609 where necessary, in case POINTER_TYPE is `void'.
6610
03419440
EZ
66112000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6612
6613 * frame.c (make_terminal_frame): Initialize frame foreground and
6614 background colors to unspecified, for the initial instance of an
6615 MSDOS frame.
6616
f46f845b
GM
66172000-09-07 Gerd Moellmann <gerd@gnu.org>
6618
24f76fbf
GM
6619 * ralloc.c (mmap_find): Fix overlap computation.
6620 (mmap_enlarge): Compute nbytes before trying to find an
6621 overlapping region.
6622
f46f845b
GM
6623 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6624 instead of `!='.
6625
6626 * lread.c (syms_of_lread): Change value of regexp
6627 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6628
6629 * xmenu.c (xdialog_show): When looking up the selection in
6630 menu_items, take `quote' boundaries into account; this corresponds
6631 to a nil ITEM in x-popup-dialog.
6632
3c014385
KH
66332000-09-07 Kenichi Handa <handa@etl.go.jp>
6634
fd6f711b
KH
6635 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6636 not 0x81.
6637 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6638
3c014385 6639 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6640 encoding, not decoding. Fix the handling of latin-jisx0201.
6641 Check for the charset katakana-jisx0201 too.
3c014385 6642 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6643 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6644
0da3ecef
GM
66452000-09-07 Gerd Moellmann <gerd@gnu.org>
6646
ab0ee409
GM
6647 * xfaces.c (Vparam_value_alist): New variable.
6648 (syms_of_xfaces): Initialize it.
6649 (Finternal_set_lisp_face_attribute): Avoid more consing.
6650
6651 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6652 specially.
6653 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6654 (Qbackground_mode): New variable.
6655 (syms_of_frame_1): Initialize Qbackground_mode.
6656
6657 * lisp.h (Qdisplay): Declare extern.
1091dd67 6658
0da3ecef
GM
6659 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6660 change face on all frames, and change the default for new frames.
6661
b14654b9
DL
66622000-09-07 Dave Love <fx@gnu.org>
6663
6664 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6665
d24fd56f
KH
66662000-09-07 Kenichi Handa <handa@etl.go.jp>
6667
794f3670
KH
6668 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6669
0fddd0dc
KH
6670 * charset.c: Include composite.h
6671 (lisp_string_width): New function.
6672 (Fstring_width): Call lisp_string_width instead of strwidth.
6673
6674 * Makefile.in (charset.o): Depends on composite.h.
6675
d24fd56f
KH
6676 * process.c (read_process_output): Before inserting the decoded
6677 text in the buffer, adjust the multibyteness.
6678
fa0b693c
GM
66792000-09-06 Gerd Moellmann <gerd@gnu.org>
6680
52283633 6681 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6682 buffer's text buffer is null, map new memory.
6683
0a58f946
GM
6684 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6685 POINTER_TYPE and size_t.
6686 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6687 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6688 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6689 [REL_ALLOC_MMAP]: New macros.
6690 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6691 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6692 [REL_ALLOC_MMAP]: New functions.
6693
6694 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6695 before and after unexec.
6696
6697 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6698 text buffers if necessary.
6699
6700 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6701 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6702 in prototypes.
6703
fa0b693c
GM
6704 * config.in (HAVE_MMAP): Add #undef.
6705
877055f6
GM
67062000-09-05 Gerd Moellmann <gerd@gnu.org>
6707
08ba3862
GM
6708 * frame.c (Qdisplay_type): New variable.
6709 (syms_of_frame_1): Initialize it.
6710 (Fframe_parameter): New function that avoids consing.
6711 (syms_of_frame): Defsubr it.
6712
66ffe51c
GM
6713 * buffer.c (Fother_buffer): Consider buffers as invisible when
6714 they are displayed in a window on an invisible frame.
6715
877055f6
GM
6716 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6717 get-largest-window always return nil.
6718
bb970e67
GM
67192000-09-04 Gerd Moellmann <gerd@gnu.org>
6720
6721 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6722 variable; recognize Emacs 19 elc files.
6723
7a3d0e0e
MB
67242000-09-04 Miles Bader <miles@gnu.org>
6725
6726 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6727 before initially popping up the menu, so the menu doesn't flash
52283633 6728 when the face settings are significantly different from the defaults.
7a3d0e0e 6729
14473664
SM
67302000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6731
6732 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6733 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6734 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6735 (BIT_UNIBYTE): Remove.
6736 (re_match_2_internal): Delete corresponding code and streamline the
6737 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6738 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6739 (re_wctype_t): New type.
6740 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6741 (regex_compile): Use them and fix handling of overly long char classes.
6742
c1174479
AI
67432000-09-03 Andrew Innes <andrewi@gnu.org>
6744
f8803e97
AI
6745 * makefile.w32-in: Change to DOS line endings.
6746
c1174479
AI
6747 * s/ms-w32.h (ORDINARY_LINK): New define.
6748
6749 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6750 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6751
6752 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6753 (distclean): Delete them here instead.
6754
44ef7cf6
AI
6755 * w32proc.c (compare_env): Convert to uppercase for comparison,
6756 not lowercase, to match how the native Windows shell works.
6757
49b3bd82
JR
67582000-09-03 Jason Rumney <jasonr@gnu.org>
6759
6760 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6761 CVS changes the line-ends when checking in/out on DOS/Windows.
6762
6763 * makefile.nt (emacs): Do not change directory to run temacs, as
6764 the load-path is set relative to current directory.
6765
a3d35a39
MB
67662000-09-03 Miles Bader <miles@gnu.org>
6767
6768 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6769
d276b0cf
GM
67702000-09-02 Gerd Moellmann <gerd@gnu.org>
6771
715e84c9
GM
6772 * xdisp.c (redisplay_mode_lines): New function.
6773 (display_mode_lines): Return number of mode lines displayed.
6774 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6775 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6776
8892f40b
GM
6777 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6778 string.h and strings.h.
6779 (index) [HAVE_INDEX]: Add prototype.
6780
d276b0cf
GM
6781 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6782 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6783
6784 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6785 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6786
38404229
GM
67872000-09-01 Gerd Moellmann <gerd@gnu.org>
6788
6789 * lread.c (read1): Accept `?' as symbol constituent, for
6790 compatiblity with XEmacs.
6791
c0f9ea08
SM
67922000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6793
6794 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6795 (struct re_pattern_buffer): Remove newline_anchor.
6796 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6797 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6798 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6799 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6800 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6801 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6802 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6803 Get rid of references to newline_anchor.
6804 (regcomp): Allocate and precompute a fastmap.
6805
8c0f83fe
GM
68062000-08-31 Gerd Moellmann <gerd@gnu.org>
6807
6808 * lread.c (openp): GCPRO local variable `filename'.
6809
4bb91c68
SM
68102000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6811
6812 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6813
6814 * regex.c: Merge some changes from GNU libc. Add prototypes.
6815 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6816 Use memcmp and memcpy instead of bcopy and bcmp.
6817 (init_syntax_once): Use ISALNUM.
6818 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6819 (REG_UNSET_VALUE): Remove. Use NULL instead.
6820 (REG_UNSET, re_match_2_internal): Use NULL.
6821 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6822 New macros.
6823 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6824 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6825 (regex_compile): In handle_interval, return an error rather than try to
6826 unfetch the interval if we can't find the closing brace.
6827 Obey the RE_NO_GNU_OPS syntax bit.
6828 (TOLOWER): New macro.
6829 (regcomp): Use it.
6830 (regexec): Allocate regs.start and regs.end as one block.
6831
5226a931
GM
68322000-08-30 Gerd Moellmann <gerd@gnu.org>
6833
868dd24b
GM
6834 * xdisp.c (echo_area_display): Check display_completed instead
6835 of calling detect_input_pending.
6836
6837 * dispnew.c (update_frame): Only set display_completed here; move
6838 the update_begin and update_end calls here from update_frame_1.
6839 (update_frame_1): Don't set display_completed here, don't call
6840 update_begin/update_end.
6841
5226a931
GM
6842 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6843 instead of store_frame_param.
6844
2a8bd25f
GM
68452000-08-29 Gerd Moellmann <gerd@gnu.org>
6846
6847 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6848 desired window matrix hasn't been displayed, use the current row
6849 instead. Make sure that only those frame rows are updated for
6850 which there exists a corresponding enabled desired row.
52283633 6851
ba3478d9
MB
68522000-08-29 Miles Bader <miles@gnu.org>
6853
6854 * xfaces.c (default_face_vector): New function.
6855 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6856
87d0f685
GM
68572000-08-29 Gerd Moellmann <gerd@gnu.org>
6858
6859 * lread.c (openp): Prevent temporary string passed to
6860 Ffile_readable_p from being garbage collected.
6861
6fa86045
DL
68622000-08-28 Dave Love <fx@gnu.org>
6863
6864 * keymap.c (store_in_keymap): Add `static' to declaration.
6865
bb17930d
GM
68662000-08-28 Gerd Moellmann <gerd@gnu.org>
6867
6868 * emacs.c, callint.c, doc.c, editfns.c
6869 (toplevel) [HAVE_STRING_H]: Include string.h.
6870 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6871 (index): Remove prototypes which might conflict with non-standard
6872 definitions of index/strchr.
6873
6874 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6875 (rindex): Define only if !HAVE_RINDEX.
6876
6877 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6878
6879 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6880
87188200
MB
68812000-08-28 Miles Bader <miles@gnu.org>
6882
6883 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6884 made inconsistent by a font-related attribute in FROM.
6885 (merge_face_inheritance): Add function comment.
6886
41a68aef
KH
68872000-08-28 Kenichi Handa <handa@etl.go.jp>
6888
6889 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6890 the 4th arg (PREV_EVENT) Qt to suppress input method.
6891
f7c436c1
SM
68922000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6893
0b32bf0e
SM
6894 * regex.c: Indent cpp directives and remove parens after `defined'.
6895 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6896 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6897 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6898 (re_compile_pattern): Use size_t for length.
6899 (init_syntax_once): Move to a better place.
6900 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6901 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6902
f7c436c1
SM
6903 * syntax.c (back_comment): Detect cases where a comment-starter is
6904 actually inside another comment as in: /* a // b */ c // d \n.
6905 Make it clear that `comstart_pos' is unused for nested comments.
6906
6907 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6908 (KEYMAPP): New macro.
6909 (Fkeymap_parent, Fset_keymap_parent): Use it.
6910 (fix_submap_inheritance): Mark it static.
6911 (define_as_prefix, describe_buffer_bindings, describe_command)
6912 (describe_translation, describe_map): Complete prototypes.
6913
6914 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6915
6916 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6917 to better match the key-lookup behavior.
6918
6288c62f
GM
69192000-08-27 Gerd Moellmann <gerd@gnu.org>
6920
6921 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6922 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6923
e931344e
EZ
69242000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6925
6926 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6927 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6928 (xterm.o): Depend on coding.h
6929
d10dfeef
KH
69302000-08-26 Kenichi Handa <handa@etl.go.jp>
6931
6932 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6933 the corresponding '#endif'.
6934
2d73e8d3
MB
69352000-08-26 Miles Bader <miles@gnu.org>
6936
6937 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6938 * xfaces.c (QCinherit): New variable.
6939 (syms_of_xfaces): Initialize it.
6940 (LFACE_INHERIT): New macro.
6941 (Finternal_get_lisp_face_attribute)
52283633 6942 (merge_face_vector_with_property)
2d73e8d3
MB
6943 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6944 (check_lface_attrs): Allow new types of face height. Check
6945 inherit attribute.
6946 (CYCLE_CHECK): New macro.
6947 (merge_face_inheritance): New function.
6948 (merge_face_vectors): Merge inherited faces too. Add F and
6949 CYCLE_CHECK arguments.
6950 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6951 (lookup_named_face, lookup_derived_face, realize_named_face)
6952 (face_at_string_position, face_at_buffer_position): Supply
6953 new F and CYCLE_CHECK arguments to merge_face_vectors.
6954 (merge_face_heights): New function.
52283633 6955 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6956 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6957 handle relative face heights.
6958 (lface_same_font_attributes_p): Compare heights using EQ.
6959
6ce974d4
KH
69602000-08-26 Kenichi Handa <handa@etl.go.jp>
6961
6962 * charset.c (char_to_string): Check the character validity.
52283633 6963 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6964
dc1e502d
SM
69652000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6966
6967 * regex.c (PUSH_FAILURE_COUNT): New macro.
6968 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6969 Handle popping of a register's or a counter's data.
6970 (POP_FAILURE_POINT): Use the new name.
6971 (re_match_2_internal): Push counter data on the stack for succeed_n,
6972 jump_n and set_number_at and remove misleading dead code in succeed_n.
6973
bd9d0f3f
GM
69742000-08-25 Gerd Moellmann <gerd@gnu.org>
6975
6976 * xdisp.c (redisplay_internal): If considering all windows on all
6977 frames, update the display for each frame as soon as possible,
6978 instead of first building all desired matrices for all frames, and
6979 then updating them all.
6980 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6981
aa5b8e15
GM
69822000-08-24 Gerd Moellmann <gerd@gnu.org>
6983
17494071
GM
6984 * bytecode.c (mark_byte_stack): Add a comment.
6985
52283633
SM
6986 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6987 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6988 a graphical frame.
6989
c543db81
KH
69902000-08-24 Kenichi Handa <handa@etl.go.jp>
6991
d246d5f5
KH
6992 * minibuf.c (do_completion): Always use compare-string, not
6993 string-equal because the latter doesn't pay attention to
6994 multibyteness of strings.
6995
c543db81
KH
6996 * process.c (create_process): Don't setup raw-text coding here.
6997 (Fopen_network_stream): Don't set coding->src_multibyte and
6998 coding->dst_multibyte here.
6999 (read_process_output): For process filter, return unibyte string
7000 if default-enable-multibyte-characters is nil.
7001 (send_process): If OBJECT is multibyte text, be sure to encoded it
7002 by the specified coding system for the process. Otherwise, setup
7003 raw-text coding.
52283633 7004 (init_process): Don't initialize default-process-coding-system here.
c543db81 7005
9b47cfe0
EZ
70062000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
7007
7008 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
7009 <scroll-down-aggressively>: Likewise.
7010
f5a36960
KH
70112000-08-23 Kenichi Handa <handa@etl.go.jp>
7012
7013 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
7014 zero. Set coding->produced_char correctly.
7015
69a7ffa7
AI
70162000-08-22 Andrew Innes <andrewi@gnu.org>
7017
7018 * makefile.w32-in: New file.
7019
7020 * unexw32.c (unexec): Ignore old_name, and use the actual location
7021 of the current executable instead. Base new_name on this.
7022
7023 * w32proc.c (create_child): Remove reference to security
7024 descriptor, which isn't needed and doesn't compile with mingw32.
7025
7026 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7027 up dllimport attributes.
7028 (x_update_window_end): Update prototype.
7029
7030 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7031 extern, which screws up dllimport attributes.
7032
7033 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7034 up dllimport attributes.
7035
7036 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7037 screws up dllimport attributes.
7038
7039 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7040 up dllimport attributes.
7041 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7042 screws up dllimport attributes.
7043
7044 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7045 up dllimport attributes.
7046
7047 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7048 screws up dllimport attributes.
7049
7050 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7051 screws up dllimport attributes.
7052
7053 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7054 up dllimport attributes.
7055
7056 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7057 unnecessary extern, which screws up dllimport attributes.
7058 (main): Ditto.
7059
7060 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7061 up dllimport attributes.
7062
7063 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7064 unnecessary extern, which screws up dllimport attributes.
7065
7066 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7067 screws up dllimport attributes.
7068
7069 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7070 up dllimport attributes.
7071
7072 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7073
52283633
SM
7074 * w32bdf.c (search_file_line):
7075 (set_bdf_font_info):
7076 (seek_char):
7077 (w32_get_bdf_glyph):
69a7ffa7
AI
7078 (w32_BDF_to_x_font): Fix compile warnings.
7079
52283633 7080 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7081
7082 * w32select.c: Include keyboard.h before frame.h.
7083
7084 * w32fns.c (max): Define macro.
7085 (JOHAB_CHARSET): Define if not known.
7086 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7087 (Fx_show_tip): Synch with X version.
7088
7089 * w32xfns.c: Include keyboard.h before frame.h.
7090
7091 * w32fns.c: Include keyboard.h before frame.h.
7092
7093 * w32term.c: Include keyboard.h before frame.h.
7094
7095 * fontset.c: Include keyboard.h before frame.h.
7096
7097 * w32inevt.c: Include keyboard.h before frame.h.
7098 (MOUSE_MOVED): Define if not known.
7099
7100 * minibuf.c: Include keyboard.h before frame.h.
7101
7102 * keyboard.c: Include keyboard.h before frame.h.
7103
7104 * indent.c: Include keyboard.h before frame.h.
7105
7106 * dispnew.c: Include keyboard.h before frame.h.
7107
7108 * buffer.c: Include keyboard.h before frame.h.
7109
7110 * alloc.c: Include keyboard.h before frame.h.
7111
7112 * print.c: Include keyboard.h before frame.h.
7113
7114 * process.c: Include keyboard.h before frame.h.
7115
7116 * scroll.c: Include keyboard.h before frame.h.
7117
7118 * sysdep.c: Include keyboard.h before frame.h.
7119
7120 * term.c: Include keyboard.h before frame.h.
7121
7122 * window.c: Include keyboard.h before frame.h.
7123
7124 * xdisp.c: Include keyboard.h before frame.h.
7125 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7126
7127 * frame.c: Include keyboard.h before frame.h.
7128
7129 * w32heap.h: Undefine min, max.
7130
7131 * w32gui.h: Undefine min, max.
7132
7133 * unexw32.c: Change PUCHAR to PCHAR.
7134 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7135 (relocate_offset):
7136 (get_section_info):
69a7ffa7
AI
7137 (copy_executable_and_dump_data): Remove unnecessary static defs.
7138 (copy_executable_and_dump_data): Fix compile warnings.
7139
7140 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7141
7142 * w32console.c (min): Define macro.
7143 (clear_frame, write_glyphs): Fix compile warning.
7144
52283633 7145 * w32proc.c (compare_env):
69a7ffa7
AI
7146 (find_child_console): Fix compile warning.
7147
7148 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7149 sys_errlist instead of _sys_errlist.
7150 (get_emacs_configuration_options): New function.
7151
7152 * s/ms-w32.h (sys_nerr): Provide default definition.
7153 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7154 name with _ prepended.
7155 (NSIG): Define if not known.
7156 (get_emacs_configuration): Provide extern declaration.
7157 (get_emacs_configuration_options): Provide extern declaration.
7158 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7159
7160 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7161 (map_w32_filename):
69a7ffa7
AI
7162 (read_unc_volume): Fix compile warning.
7163
7164 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7165 definitions from being used.
7166
7167 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7168
52283633 7169 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7170 (open_unc_volume): Make arg const.
7171
7172 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7173 (read_input_waiting): Remove excess parameter.
7174
7175 * w32.c (init_environment): Call _access.
7176 (check_windows_init_file): Call _close.
7177 (init_user_info): Call _putenv.
7178 (init_environment): Call _putenv and _strdup.
7179 (init_ntproc): Reset volume info cache on startup.
7180
7181 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7182 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7183 cannot override the CRT malloc.
7184
7185 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7186 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7187
7188 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7189 unless we are linking with a static CRT.
7190 (RVA_TO_PTR): Cast result to unsigned char*.
7191
7192 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7193 (add_volume_info): Use xstrdup.
7194
25060080
SM
71952000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7196
7197 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7198 (do_completion, Fminibuffer_complete_word): Use it.
7199 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7200 var so it can take non-boolean values.
7201
6917e6bb
GM
72022000-08-21 Gerd Moellmann <gerd@gnu.org>
7203
acb7cc89 7204 * editfns.c (find_field): Formatting changes.
52283633 7205 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7206 changed to prototypes, some new protypes added, some functions
7207 made static.
7208
7209 * lisp.h (set_time_zone_rule): Add prototype.
7210 (use_dialog_box): External declaration.
7211
0bbfdc25
GM
7212 * keyboard.c (gen_help_event): Add parameter SIZE.
7213 (kbd_buffer_events_waiting): Slightly rewritten.
7214 (clear_event): New function.
7215 (kbd_buffer_get_event): Use it, and clear the input_events of
7216 HELP_EVENTs.
7217 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7218 don't fill the newly created array with nils.
7219 (toplevel): Convert some old-style function forward declarations
7220 to prototypes.
7221
7222 * keyboard.h (gen_help_event): Change prototype.
7223
7224 * xterm.c (XTread_socket): Change calls to gen_help_event.
7225
7226 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7227
6917e6bb
GM
7228 * eval.c (Fmacroexpand): Doc fix.
7229
e5cd3d11
JR
72302000-08-20 Jason Rumney <jasonr@gnu.org>
7231
7232 * w32term.h (x_display_info_for_display): Remove as this function
7233 does not exist on W32.
7234
7235 * w32term.c (help_echo_window): New variable.
7236 (syms_of_w32term): staticpro it.
7237 (note_mode_line_highlight): Set it.
7238 (XTextExtents16): Removed as there is no equivalent on W32.
7239 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7240 the X way of doing this will not work for W32.
7241 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7242 (x_draw_image_foreground): Avoid drawing outside of the clip area
7243 when image doesn't have a mask.
7244 (note_mouse_highlight): Process overlays in the right order of
7245 priority. Set help_echo_window.
7246 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7247 because that's more visible for large images.
7248
7249 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7250 name to single_keymap_panes.
7251 (w32_menu_show): Set wv->title when dealing with titles.
7252 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7253
6e69ab8c
MB
72542000-08-21 Miles Bader <miles@gnu.org>
7255
7256 * minibuf.c (do_completion): Try again if we rewrite the input
7257 string, but no completion was done, so that any completion message
7258 will be correct.
7259
511bd4eb
GM
72602000-08-20 Gerd Moellmann <gerd@gnu.org>
7261
7262 * xfaces.c (lface_equal_p): Compare strings differently.
7263 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7264 (realize_tty_face): Use them.
7265 (syms_of_xfaces): Initialize new variables.
7266 (map_tty_color): New function, extracted from realize_tty_face.
7267 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7268 foreground or background color, store the new color name in the
7269 realized face; previous code trying to do this had no effect.
7270 (realize_tty_face): Use map_tty_color.
7271 (Fclear_face_cache): Set face_change_count and ensure thorough
7272 redisplay.
7273
1433385f
GM
72742000-08-19 Gerd Moellmann <gerd@gnu.org>
7275
511bd4eb
GM
7276 * undo.c (record_first_change, record_marker_adjustment): Don't
7277 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7278
419ac0a2
KH
72792000-08-18 Kenichi Handa <handa@etl.go.jp>
7280
7281 * coding.c (decode_coding_string): Set members consumed,
7282 consumed_char, produced, produced_char of *coding correctly. If
7283 decode_coding doesn't consume any byte, don't try anymore.
7284 (encode_coding_string): Likewise.
7285
7eb9e30d
GM
72862000-08-18 Gerd Moellmann <gerd@gnu.org>
7287
511bd4eb
GM
7288 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7289 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7290
7291 * xdisp.c (redisplay_internal): Compare windows for equality with
7292 EQ, instead of applying XWINDOW to something that might not
7293 be a window.
52283633 7294
dd34a735
KH
72952000-08-18 Kenichi Handa <handa@etl.go.jp>
7296
7297 * fontset.c (Finternal_char_font): Search only the selected frame
7298 for a window of the current buffer.
7299
385ff9e3
GM
73002000-08-18 Gerd Moellmann <gerd@gnu.org>
7301
511bd4eb 7302 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7303 Lisp_Objects.
7304
385ff9e3
GM
7305 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7306 second half of a HELP_EVENT is found at the start of kbd_buffer.
7307
d6abb4c7
MB
73082000-08-18 Miles Bader <miles@gnu.org>
7309
4618074a
MB
7310 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7311
d6abb4c7
MB
7312 * editfns.c (save_restriction_save): Rewrite to use markers.
7313 (save_restriction_restore): Rewrite to understand new form of data
7314 saved by save_restriction_save.
7315 (Fsave_restriction): Remove cautionary note in doc-string.
7316
a7b28523
GM
73172000-08-17 Gerd Moellmann <gerd@gnu.org>
7318
7319 * fileio.c (build_annotations): Add a comment explaining the
7320 return value of format-annotate-function. Replace a spurious call
7321 to Flength with a CONSP test. Call format-annotate-function with
7322 a fifth arg specifying how many times the function is been called
7323 in a row, to let it choose temporary buffers appropriately.
7324
03c9ed77
DL
73252000-08-17 Dave Love <fx@gnu.org>
7326
7327 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7328 declare make_temp_name twice.
7329
52283633 7330 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7331 (unreadpure): Give it an arg.
7332
7333 * unexalpha.c: Prototype fatal_unexec, mark_x,
7334 update_dynamic_symbols. Declare unexec as void.
7335
7336 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7337 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7338
7339 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7340 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7341
7342 * alloca.c: Use #error.
7343 [POINTER_TYPE]: Use it.
7344
7345 * eval.c (Fdefvar): Doc fix.
7346
7347 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7348 INITIALIZE_INTERVAL.
7349
7350 * buffer.h: Avoid DECLARE_INTERVALS.
7351
7352 * config.in: Add size_t.
7353
aae41d97
EZ
73542000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7355
7356 * w16select.c (set_clipboard_data): If there's not enough memory
7357 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7358 expects. In case of other failures, return 3.
7359 (system_error_msg): New error message.
7360 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7361 system_error_msg.
7362
65aa5e85
GM
73632000-08-16 Gerd Moellmann <gerd@gnu.org>
7364
7365 * term.c (write_glyphs): Also turn off inverse video after turning
7366 off other appearances in case TS_exit_attribute_mode is not equal
7367 to TS_end_standout_mode.
7368 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7369 with the same face.
7370 (turn_off_face): Reset standout_mode only if
7371 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7372 is equal to TS_end_standout_mode.
7373
ece23901
KH
73742000-08-16 Kenichi Handa <handa@etl.go.jp>
7375
9d7bcb2e
KH
7376 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7377 sequence at the end of the source block.
7378
ece23901
KH
7379 * ccl.c (Fccl_program_p): Docstring modified.
7380 (Fccl_execute): Likewise.
7381 (Fccl_execute_on_string): Likewise.
7382
5e30eaa2
EZ
73832000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7384
7385 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7386
290602fd
KH
73872000-08-16 Kenichi Handa <handa@etl.go.jp>
7388
7389 The following changes are mainly to fix bugs of
7390 encode/decode-coding-string failing if encoding/decoding return
7391 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7392 variable conversion_buffer.
7393
7394 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7395 decrement dst_end to avoid buffer overflow in the later call of
7396 string_as_multibyte
7397
7398 * coding.h (conversion_buffer_size, conversion_buffer)
7399 (get_conversion_buffer): Extern deleted.
7400
7401 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7402 (conversion_buffer, conversion_buffer_size): Variables deleted.
7403 (get_conversion_buffer): Function deleted.
7404 (struct conversion_buffer): New structure.
7405 (MAX_ALLOCA): New macro.
7406 (allocate_conversion_buffer): New macro.
7407 (extend_conversion_buffer, free_conversion_buffer): New functions.
7408 (ccl_coding_driver): Set coding->result.
7409 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7410 this is the last block of source.
7411 (encode_coding): Likewise. Handle the source block as the last
7412 one only when the whole source text is consumed.
7413 (decode_coding_string): Handle the case that the output buffer is
7414 too small to decode the whole source text. Use
7415 allocate_conversion_buffer, extend_conversion_buffer and
7416 free_conversion_buffer, not get_conversion_buffer.
7417 (encode_coding_string): Likewise.
7418 (init_coding): Function deleted.
52283633 7419 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7420
7421 * emacs.c (main): Don't call init_coding.
7422
52283633 7423 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7424
7425 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7426 (insert_glyphs): Likewise.
7427
7428 * w32console.c (write_glyphs): Use a locally declared
7429 conversion_buffer.
7430
b9f80d41
EZ
74312000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7432
7433 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7434 member of display_info is NULL.
7435
32dc52f7
GM
74362000-08-15 Gerd Moellmann <gerd@gnu.org>
7437
52283633 7438 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7439
32dc52f7 7440 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7441 appearances with capability `me'.
32dc52f7
GM
7442 (write_glyphs): Switch on inverse video before each face change.
7443
4eb22d33
DL
74442000-08-14 Dave Love <fx@gnu.org>
7445
7446 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7447 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7448 (lisp_free): Declare and make static.
7449
7450 * window.c: Fix embedded comment.
7451 (syms_of_window): Fix doc string.
7452
90cbf47e
GM
74532000-08-14 Gerd Moellmann <gerd@gnu.org>
7454
52283633 7455 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7456 make sure to print `C-' before `M-', like in the manual.
7457
440fc135
GM
74582000-08-11 Gerd Moellmann <gerd@gnu.org>
7459
7460 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7461 since they aren't relocated anymore.
52283633 7462 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7463
7464 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7465 partially visible line which is smaller than the window's height.
440fc135 7466
6e264fad
KH
74672000-08-11 Kenichi Handa <handa@etl.go.jp>
7468
7469 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7470 the multibyte form of eight-bit-control characters.
6e264fad
KH
7471 (Fccl_execute_on_string): Initialize ccl->multibyte.
7472
7473 * ccl.h (struct ccl_program): New member multibyte.
7474
7475 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7476
c371f69a
KH
74772000-08-11 Kenichi Handa <handa@etl.go.jp>
7478
7479 * regex.c (regex_compile) <normal_char>: Pay attention to
7480 multibyteness.
7481 (analyse_first) <exactn>: Setup fastmap correctly for
7482 eight-bit-control characters.
7483
74842000-08-11 Kenichi Handa <handa@etl.go.jp>
7485
52283633 7486 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7487
7488 * keyboard.c (make_lispy_event): Handle the new event type
7489 multibyte_char_keystroke.
7490
7491 * xterm.c: Include coding.h.
7492 (XTread_socket): Work around a bug of XmbLookupString. If the
7493 input is from XIM, decode it according to the current locale. In
7494 that case, generate multibyte_char_keystroke events.
7495
b8ddbe71
KH
74962000-08-11 Kenichi Handa <handa@etl.go.jp>
7497
7498 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7499 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7500
47589c8c
GM
75012000-08-10 Gerd Moellmann <gerd@gnu.org>
7502
7503 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7504 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7505 (move_it_in_display_line_to): Record iterator's ascent and descent
7506 before producing glyphs, and restore them when we know the glyph
7507 doesn't fit on the line.
7508 (move_it_to): Restructured so that it's easier to debug. If
7509 moving to a vpos, and not moving to an x or character position,
7510 stop as soon as the specified vpos is reached; don't move further
7511 into that line because that might change the computed line height.
7512 (try_cursor_movement): New function, extracted from the cursor
7513 movement branch of redisplay_window. If ending on a partially
7514 visible line, don't try to scroll if the cursor line is taller
7515 than the window.
7516 (redisplay_window): Use try_cursor_movement.
7517
7518 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7519 because that function doesn't cope with variable-height lines.
7520
7521 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7522 box cursor because that's better visible for large images.
52283633 7523
c51bacd6
MB
75242000-08-10 Miles Bader <miles@gnu.org>
7525
7526 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7527
bea56df7
GM
75282000-08-10 Gerd Moellmann <gerd@gnu.org>
7529
7530 * xdisp.c (Vmessages_buffer_name): New variable.
7531 (message_dolog): Use it.
7532 (syms_of_xdisp): Initialize it.
7533
99cd7364
EZ
75342000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7535
52283633 7536 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7537 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7538 redundant now that keyboard.h is included.
7539
7d093d56
EZ
75402000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7541
7542 * keyboard.c (kbd_buffer_events_waiting): New function.
7543
7544 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7545
7546 * msdos.c: Include keyboard.h.
7547 (XMenuActivate): Empty no_event events from the event buffer. If
7548 no events are left after that, call clear_input_pending.
7549 (mouse_clear_clicks): New function, code moved from mouse_init.
7550 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7551 mouse driver to ``forget'' any past clicks.
7552
7553 * Makefile.in (msdos.o): Depend on keyboard.h.
7554
41e757a6
GM
75552000-08-09 Gerd Moellmann <gerd@gnu.org>
7556
8e7bd231
GM
7557 * lisp.h (input_pending): External declaration.
7558
7559 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7560
8e7bd231
GM
7561 * xdisp.c (echo_area_display): Display thoroughly if input is
7562 pending. Bind redisplay-dont-pause to t during the redisplay.
7563 in case input is pending.
7564
7565 * dispnew.c (Qredisplay_dont_pause): New variable.
7566 (syms_of_display): Initialize and staticpro it.
7567 (update_frame_1): Don't interrupt the display for pending input if
7568 redisplay_dont_pause is set.
52283633 7569
43028b7e
GM
7570 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7571
41e757a6
GM
7572 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7573
2f2174fa
KH
75742000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7575
7576 * callproc.c (Fcall_process): Terminate the unwind-protect around
7577 the post-read-conversion of coding system.
7578
0a6fd67e
MB
7579 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7580 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7581 * buffer.h (overlays_at): Update prototype.
7582 * xdisp.c (next_overlay_change): Update call to overlays_at.
7583 * xfaces.c (face_at_buffer_position): Likewise.
7584 * textprop.c (Fget_char_property): Likewise.
7585 * xterm.c (note_mouse_highlight): Likewise.
7586
0c80756e
MB
7587 * minibuf.c (do_completion): Don't consider a simple change of
7588 case as `completion'.
7589
975f250a
KR
75902000-08-08 Ken Raeburn <raeburn@gnu.org>
7591
52283633 7592 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7593 * undo.c (record_delete): Make sure last_point_position_buffer is
7594 a buffer before comparing pointers.
7595
7596 * coding.h (decode_coding_string): Declare.
7597
7598 * intervals.h (Fprevious_single_char_property_change): Declare.
7599
7600 * textprop.c (Fprevious_single_char_property_change): Don't do
7601 arithmetic directly on lisp objects.
7602
52283633 7603 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7604
7605 * keyboard.h (menu_item_eval_property): Declare.
7606
7607 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7608 reuse as buffer name, instead of recreating (and discarding) every
7609 time a message is logged.
7610 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7611 (current_message_1, truncate_message_1, set_message_1)
7612 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7613 (current_message, truncate_echo_area, display_echo_area)
7614 (resize_echo_area_axactly): Changed calls.
b347b3fd 7615
975f250a 7616 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7617 Lisp object.
975f250a 7618 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7619 must be an integer, not a Lisp object.
975f250a 7620
46dc9912
KH
76212000-08-08 Kenichi Handa <handa@etl.go.jp>
7622
7623 * charset.c (Fchar_width): Doc fix.
7624
9f6d1a6c
GM
76252000-08-08 Gerd Moellmann <gerd@gnu.org>
7626
7627 * charset.c (Fstring_width): Doc fix.
7628
ff3d9573
GM
76292000-08-07 Gerd Moellmann <gerd@gnu.org>
7630
41e757a6 7631 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7632 line, clear ascent and descent members of the iterator structure;
7633 the height of the continued line does not affect the height of the
7634 continuation line.
7635 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7636 line taller than the window.
7637 (redisplay_window) <forced window start>: Handle case that the
7638 middle of the window is not found in any row.
7639 (dump_glyph_row): Show more information.
7640 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7641 first text line in a glyph matrix.
7642
7643 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7644 of the clip area when image doesn't have a mask.
7645
70fc58b3
GM
7646 * fns.c (sweep_weak_table): Fix survival conditions for
7647 key-or-value and key-and-value weakness.
7648
7649 * .gdbinit (xhashtable): New command.
7650
ac0e96ee
GM
7651 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7652 tables out of the list of all weak hash tables.
7653
ff3d9573
GM
7654 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7655 a new buffer is created, make sure echo_area_buffer[] references
7656 the new buffer.
7657
e0d8827b
EZ
76582000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7659
7660 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7661 the doc string.
7662
c6f35378
KH
76632000-08-07 Kenichi Handa <handa@etl.go.jp>
7664
7665 * syntax.c (skip_chars): Fix previous change. Make the handling
7666 of unibyte string consistent with that of regex search.
7667
1fd4c450
GM
76682000-08-05 Gerd Moellmann <gerd@gnu.org>
7669
e49aa397
GM
7670 * xmenu.c (popup_get_selection): Use xfree instead of free.
7671
7672 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7673
7674 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7675
7676 * callproc.c (child_setup): Use xfree instead of free.
7677
7678 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7679 instead of malloc.
7680 (run_mac_command, closedir): Use `xfree' instead of `free'.
7681
7682 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7683
7684 * eval.c (error): Use xfree instead of free.
7685
1fd4c450
GM
7686 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7687
7688 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7689 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7690
82d497fc
KH
76912000-08-05 Kenichi Handa <handa@etl.go.jp>
7692
7693 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7694 conversion.
7695
59f953a2
NF
76962000-08-04 Noah Friedman <friedman@splode.com>
7697
7698 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7699 docstring.
7700
688351f2
GM
77012000-08-04 Gerd Moellmann <gerd@gnu.org>
7702
7703 * syntax.c (skip_chars): Fix typo in error message.
7704
2dad51cc
AS
77052000-08-04 Andreas Schwab <schwab@suse.de>
7706
7707 * m/ia64.h: Moved from s/ia64.h.
7708
99bb2c60
KH
77092000-08-04 Kenichi Handa <handa@etl.go.jp>
7710
082a1df2
KH
7711 * process.c (read_process_output): Big simplification. Handle
7712 composition and post-read-conversion of coding system correctly.
7713 (send_process): Handle composition correctly.
7714
7715 * callproc.c (Fcall_process): Handle post-read-conversion of
7716 coding system if any.
7717
99bb2c60
KH
7718 * coding.c (decode_coding_iso2022): More strict check for handling
7719 single shifting.
082a1df2
KH
7720 (coding_restore_composition): Pay attention to the case that
7721 cmp_data is not set properly (because of invalid code in the
7722 source text).
7723 (run_pre_post_conversion_on_str): Include text properties in the
7724 resulting string.
7725 (decode_coding_string): Set members of coding correctly.
99bb2c60 7726
f4988be7
GM
77272000-08-03 Gerd Moellmann <gerd@gnu.org>
7728
7729 * s/ia64.h: New file.
7730
7731 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7732 Use NULL instead of 0 at the end of variable argument list of
7733 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7734 sizeof (int) < sizeof (void *).
7735
7736 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7737 of variable argument lists of XtVaGetValues and XtVaSetValues.
7738
7739 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7740 variable argument lists of XtVaGetValues and XtVaSetValues.
7741
ead53494
GM
77422000-08-02 Gerd Moellmann <gerd@gnu.org>
7743
7744 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7745 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7746
7747 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7748 prototype.
7749
7750 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7751 in call to Fsingle_key_description.
7752
7753 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7754 Callers changed.
7755
77562000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7757
7758 * window.c (display_buffer_reuse_frames): New variable.
7759 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7760 frames displaying BUFFER.
52283633 7761 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7762
10b0f752
MB
77632000-08-01 Miles Bader <miles@gnu.org>
7764
7765 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7766 when to constrain NEW_POS (they were pretty screwed up before).
7767
16425c4a
EZ
77682000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7769
7770 * msdos.c (run_msdos_command): Save and restore the master
7771 environment, for the case that child_setup signals an error.
7772 When mirroring slashes in DOS shell commands, don't fail when
7773 argv[2] has embedded blanks.
da288c14
EZ
7774 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7775 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7776 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7777
7778 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7779 using alloca; free it after run_msdos_command returns.
7780
27f73852
DL
77812000-07-27 Dave Love <fx@gnu.org>
7782
52283633
SM
7783 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7784 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7785
7786 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7787
c0261b5e
EZ
77882000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7789
7790 * editfns.c (lisp_time_argument): Fix last change.
7791
b548072f
GM
77922000-07-27 Gerd Moellmann <gerd@gnu.org>
7793
3ab82477
GM
7794 * fns.c (Fdelete): Make it work on vectors and strings in addition
7795 to lists.
7796
b548072f
GM
7797 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7798 (syms_of_fns): Initialize new variables.
52283633 7799 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7800 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7801 weakness, with t meaning the same as `key-and-value'.
7802
91ae8751
KH
78032000-07-27 Kenichi Handa <handa@etl.go.jp>
7804
7805 * coding.h (struct coding_system): Member safe_charset deleted.
7806
7807 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7808 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7809 New variables.
91ae8751
KH
7810 (coding_safe_chars): New function.
7811 (CODING_SAFE_CHAR_P): New macro.
7812 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7813 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7814 (detect_coding_iso2022): New local variable safe_chars.
7815 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7816 safe_charsets member of the coding system.
7817 (decode_coding_iso2022): New local variable safe_chars.
7818 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7819 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7820 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7821 (ENCODE_UNSAFE_CHARACTER): New macro.
7822 (encode_coding_iso2022): New local variable safe_chars. Check
7823 unsafe chars.
7824 (setup_coding_system): Delete the code to initialize
7825 coding->safe_charses
7826 (intersection, find_safe_codings): New functions.
7827 (Ffind_coding_systems_region_internal): New function.
7828 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7829 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7830 variable and initialize it.
7831
7832 * fns.c (char_table_ref_and_index): New function.
7833
7834 * lisp.h (char_table_ref_and_index): Add prototype.
7835
34a7a267
SS
78362000-07-26 Sam Steingold <sds@gnu.org>
7837
7838 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7839 (Ffloat_time): New built-in Lisp function.
34a7a267 7840
a95cb10a
GM
78412000-07-26 Gerd Moellmann <gerd@gnu.org>
7842
3353ef5a
GM
7843 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7844 for the character code.
7845
7846 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7847 GNU/Linux.
7848
a95cb10a
GM
7849 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7850 if called for a popup menu.
7851 (xmenu_show): Store help string in widget values.
7852
b4a12321
DL
78532000-07-26 Dave Love <fx@gnu.org>
7854
7855 * syswait.h: Move some definitions.
7856 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7857 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7858 perspicuous definitions.
7859 (WTERMSIG): Fix bit pattern used.
7860
13f5ad37
KH
78612000-07-26 Kenichi Handa <handa@etl.go.jp>
7862
7863 * print.c (print_object): If vector printing is truncated, print
7864 "..." to indicate it as well as the case of list printing.
7865
070fe99c
GM
78662000-07-25 Gerd Moellmann <gerd@gnu.org>
7867
969065c3
GM
7868 * xdisp.c (next_element_from_display_vector): Improve comments.
7869
7870 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7871 for the character code, and the rest for the face id as in 20.x.
7872 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7873
7874 * window.c (window_display_table): Cleaned up.
7875
070fe99c
GM
7876 * syntax.c (Fforward_word): Add last arg nil in call of
7877 Fconstrain_to_field.
7878
bad77ef7
EZ
78792000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7880
969065c3 7881 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7882 identical but for the letter-case, don't call
7883 barf_or_query_if_file_exists.
bad77ef7 7884
c28da489
MB
78852000-07-25 Miles Bader <miles@gnu.org>
7886
7887 * editfns.c (find_field): Honor special `boundary' fields.
7888 (Qboundary): New variables.
7889 (syms_of_editfns): Initialize Qboundary.
7890 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7891 Use scan_buffer instead of find_before_next_newline, because it
7892 allows us to detect the boundary case where there's a newline at
7893 the search limit.
7894 * lisp.h (Fconstrain_to_field): Update external declaration.
7895
e3c31fd5
GM
78962000-07-24 Gerd Moellmann <gerd@gnu.org>
7897
7898 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7899 if that is nil.
c28da489 7900
c66c29a2
DL
79012000-07-24 Dave Love <fx@gnu.org>
7902
7903 * s/sunos4-0.h, s/sol2.h:
7904 (LIBS_TERMCAP): Move from m/sparc.h.
7905
7906 * m/sparc.h (TERMINFO): Moved to system files (probably only
7907 relevant for sunos4 judging by its vintage).
7908 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7909 __arch64__.
7910
fbe0a958
EZ
79112000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7912
7913 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7914 name to single_keymap_panes.
7915
7d88e5c9
AS
79162000-07-24 Andreas Schwab <schwab@suse.de>
7917
7918 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7919
e024b101
GM
79202000-07-24 Gerd Moellmann <gerd@gnu.org>
7921
7922 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7923 parameters instead of using int parameters. Expect FN to accept
7924 EMACS_INT parameters.
7925 (display_echo_area, resize_echo_area_axactly, current_message)
7926 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7927 with new argument list.
7928 (resize_mini_window_1): New callback function.
7929 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7930 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7931
25c1a9ce
KH
79322000-07-24 Kenichi Handa <handa@etl.go.jp>
7933
7934 * fontset.c (fontset_ref): Remove INLINE declaration.
7935 (fontset_ref_via_base): Likewise.
7936 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7937 to downcase.
7938
7f987ac0
EZ
79392000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7940
7941 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7942 correct order of priority. If help echo was found in an overlay,
7943 use that overlay as the object in which the help echo was found.
7944
e2db3069
MB
79452000-07-22 Miles Bader <miles@gnu.org>
7946
7947 * textprop.c (Fprevious_single_char_property_change): The initial
7948 property value should be from the position preceding POSITION, not
7949 following it.
7950
5e3203e4
EZ
79512000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7952
7953 * coding.c (syms_of_coding): Doc fix for
7954 inhibit-iso-escape-detection.
7955
62145073
GM
79562000-07-21 Gerd Moellmann <gerd@gnu.org>
7957
c20aeb83
GM
7958 * xterm.c (note_mouse_highlight): Process overlays in the right
7959 order of priority.
34a7a267 7960
743934db
GM
7961 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7962
7963 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7964 overlay, use that overlay as the object in which the help was found.
743934db 7965
d1dc7e43 7966 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7967
62145073
GM
7968 * window.c (foreach_window): Instead of a fake variable argument
7969 list, take one USER_DATA argument.
7970 (foreach_window_1): Likewise, and call callback functions with two
7971 args, the window and USER_DATA.
7972 (struct check_window_data): New struct.
7973 (check_window_containing): Use it.
7974 (window_from_coordinates): Set up a struct check_window_data for
7975 foreach_window.
7976 (add_window_to_list, freeze_window_start): Change parameters
7977 according to new calling convention.
7978
7979 * window.h (foreach_window): Change prototype.
7980
7981 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7982
79832000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7984
7985 * xmenu.c (menu_help_callback): Call show_help_echo with
7986 additional arguments OBJECT and POS.
7987
11270583
KH
79882000-07-21 Kenichi Handa <handa@etl.go.jp>
7989
07b14857
KH
7990 * data.c (Faset): Allow storing any multibyte character in a
7991 string. Convert unibyte string to multibyte if necessary.
7992
11270583
KH
7993 * xfns.c (x_encode_text): New function.
7994 (x_set_name): Use x_encode_text.
7995 (x_set_title): Likewise.
7996
7997 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7998
7999 * xterm.h (x_encode_text): Add prototype.
8000
bc75b4fd
DL
80012000-07-20 Dave Love <fx@gnu.org>
8002
8003 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
8004 xfree, not free.
8005
48c14970
EZ
80062000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
8007
8008 * msdos.c (help_echo_window): New variable.
8009 (syms_of_msdos): Initialize and staticpro it.
8010 (IT_note_mode_line_highlight): Set help_echo_window.
8011 (IT_note_mouse_highlight): Ditto.
8012 (dos_rawgetc): Store help_echo_window in the second event produced
8013 for HELP_EVENTs.
8014
8015 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
8016 Record the object that generated the help echo and the position of
8017 that object in help_echo_object and help_echo_pos. Record that
8018 some glyphs in a row are displayed in mouse-face.
8019 (IT_update_begin): Don't clear mouse highlight unless one of the
8020 enabled glyph rows is marked as being displayed in mouse-face.
8021 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8022 and position recorded in help_echo_object and help_echo_pos to the
8023 event queue.
8024 (IT_menu_display): Accept a new argument PN: the pane number of
8025 the current menu pane. Record the pane number and the item
8026 number of the item which has associated help string.
8027 (XMenuActivate): Update the prototype for help_callback in
8028 function declaration. Call IT_menu_display with the current menu
8029 pane number as an additional argument. Call help_callback with
8030 two additional arguments: the pane number and the item number of
8031 the menu item associated with the help text.
8032 (help_echo_object, help_echo_pos): New variables.
8033 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8034
8035 * msdos.h (XMenuActivate): Update prototype.
8036
4279296d
GM
80372000-07-19 Gerd Moellmann <gerd@gnu.org>
8038
47db06aa
GM
8039 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8040 Add some more prototypes.
8041
8042 * xterm.c, xterm.h: Add some more prototypes.
8043
8044 * lisp.h (Fnext_single_char_property_change): Add prototype.
8045
8046 * dispnew.c (direct_output_for_insert): Remove confusing
8047 outer local variable mouse_face_overwritten_p.
8048 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8049
4279296d
GM
8050 * alloc.c (allocate_string_data): Don't copy old string contents.
8051
670acd62
KH
80522000-07-19 Kenichi Handa <handa@etl.go.jp>
8053
8054 * coding.c (code_convert_region): Delete text properties before
8055 shrinking the conversion region.
8056
7cea38bc
GM
80572000-07-18 Gerd Moellmann <gerd@gnu.org>
8058
dc1cac59
GM
8059 * dispnew.c (update_text_area): Write the whole row if it
8060 has mouse-face in it.
8061
85a8aca9
GM
8062 * xfaces.c (face-alternative-font-family-alist): Remove
8063 DEFVAR_LISP; staticpro instead.
8064
34a7a267 8065 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8066 new arguments.
8067
8068 * keyboard.c (show_help_echo): Add parameter WINDOW.
8069 (read_char): Call show_help_echo with window extracted from Lisp
8070 help event.
8071 (gen_help_event): Add parameter WINDOW.
8072
8073 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8074
8075 * xterm.c (help_echo_window): New variable.
52283633 8076 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8077 (XTread_socket): Pass help_echo_window to gen_help_event.
8078 (syms_of_xterm): Initialize and staticpro help_echo_window.
8079
f8276b77
DL
80802000-07-18 Dave Love <fx@gnu.org>
8081
52283633 8082 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8083
088831a6
GM
80842000-07-18 Gerd Moellmann <gerd@gnu.org>
8085
3d6cd763
GM
8086 * alloc.c (allocate_string_data): If string had already data
8087 assigned, copy old contents to new string data.
8088
8089 * coding.c (syms_of_coding): Fix typo in spelling of variable
8090 `inhibit-iso-escape-detection'.
8091
088831a6
GM
8092 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8093
8094 * Makefile.in: Add dependencies on dispextern.h.
8095 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8096 `free'; both can conflict with system header files.
8097
bc8a8d55
KH
80982000-07-18 Kenichi Handa <handa@etl.go.jp>
8099
8100 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8101 undefined.
8102
069f5950
DL
81032000-07-18 Dave Love <fx@gnu.org>
8104
8105 * window.c (Fwindow_list): Declare arg `window'.
8106
aa96c820
KH
81072000-07-18 Kenichi Handa <handa@etl.go.jp>
8108
8109 * coding.c (setup_coding_system): Don't override the explicitly
8110 specified designations.
8111
06be8d32
MB
81122000-07-15 Miles Bader <miles@gnu.org>
8113
8114 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8115 from `text_property_eq' and `text_property_stickiness', respectively.
8116 (find_field, Fconstrain_to_field, char_property_eq)
8117 (char_property_stickiness): Changed to call char-property functions
8118 instead of text-property-only ones.
8119
8120 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8121 `next_single_char_property_change'). Do more error checking, and
8122 cleanup limit behavior.
8123 (Fprevious_single_char_property_change): New function.
8124 (syms_of_textprop): Initialize new subrs.
8125
8126 * xdisp.c (display_prop_end, invisible_text_between_p):
8127 Call Fnext_single_char_property_change instead of
8128 next_single_char_property_change.
8129
3fddcdc3
JR
81302000-07-15 Jason Rumney <jasonr@gnu.org>
8131
8132 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8133 after menu is finished with.
8134 (add_menu_item): Only consider wv->title as a menu title.
8135 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8136
8137 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8138 null title.
8139 (FONT_REGEXP): Remove unused macro, and its sub-components.
8140 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8141
8142 * w32term.c (help_echo_object, help_echo_pos): New variables.
8143 (note_mode_line_highlight): Store additional information about the
8144 help-echo in help_echo_object and help_echo_pos. Check both
8145 `local-map' and `keymap' properties for changing the cursor
8146 (note_mouse_highlight): Store additional information about the
8147 help-echo in help_echo_object and help_echo_pos.
8148 (note_tool_bar_highlight): Set help_echo_object to nil and
8149 help_echo_pos to -1.
8150 (w32_read_socket): Use gen_help_event instead of filling
8151 input_events manually.
8152 (syms_of_w32term): Staticpro help_echo_object.
8153 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8154 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8155 (x_clear_mouse_face): New function.
8156 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8157 (x_update_window_begin): No need to turn off the mouse
8158 highlight here.
8159 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8160 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8161 (x_fill_stretch_glyph_string): Consume runs of stretch
8162 glyphs instead of a single one.
8163 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8164 with new argument list.
8165 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8166 (x_append_glyph, x_append_composite_glyph)
8167 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8168 changes in struct glyph starting 1999-12-27. See comments for
8169 xterm.c on 2000-07-05.
8170
178c5d9c
SS
81712000-07-14 Sam Steingold <sds@gnu.org>
8172
8173 * xfaces.c (realize_x_face): Fix the last patch:
8174 check `default_face' before dereferencing.
8175
6fe533f6
DL
81762000-07-14 Dave Love <fx@gnu.org>
8177
069f5950 8178 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8179
dd7b81cf
KH
81802000-07-14 Kenichi Handa <handa@etl.go.jp>
8181
0693904a 8182 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8183 default_face's fontset, not using the default fontset.
0693904a 8184
dd7b81cf
KH
8185 * coding.c (inhibit_iso_escape_detection): New variable.
8186 (syms_of_coding): Make it a Lisp variable.
8187 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8188 nonzero, ignore ISO2022's escape sequence.
8189
d5aa31d8
GM
81902000-07-14 Gerd Moellmann <gerd@gnu.org>
8191
e5acf0ca
GM
8192 * alloca.c (malloc) [emacs]: Define as xmalloc.
8193
bd23a692
GM
8194 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8195 use that instead of the mouse position. Add parameters DX and DY.
8196
8197 * dispextern.h (Fx_show_tip): Adjust number of parameters
8198 in prototype.
8199
9662da0b
GM
8200 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8201 if HELP is a function, call it with OBJECT and POS as parameters
8202 to get the help to display.
8203 (gen_help_event, kbd_buffer_store_help_event): New functions.
8204 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8205 (read_char): Call show_help_echo with new parameters.
8206
178c5d9c 8207 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8208 Add prototypes.
8209
8210 * xterm.c (help_echo_object, help_echo_pos): New variables.
8211 (note_mode_line_highlight): Store additional information about the
8212 help-echo in help_echo_object and help_echo_pos. Check both
8213 `local-map' and `keymap' properties for changing the cursor
8214 (note_mouse_highlight): Store additional information about the
8215 help-echo in help_echo_object and help_echo_pos.
8216 (note_tool_bar_highlight): Set help_echo_object to nil and
8217 help_echo_pos to -1.
8218 (XTread_socket): Use gen_help_event instead of filling
8219 input_events manually.
8220 (syms_of_xterm): Staticpro help_echo_object.
8221
8222 * xmenu.c (menu_highlight_callback): Use
8223 kbd_buffer_store_help_event instead of setting up and input_event
8224 structure manually.
8225
8226 * xdisp.c (eval_form): GCPRO argument sexpr.
8227 (call_function): New function.
8228 (handle_single_display_prop): Use call_function and FUNCTIONP
8229 instead of checking whether if font_height is a symbol and
8230 using eval_form.
8231
8232 * eval.c (internal_condition_case_2): New function.
8233
8234 * lisp.h (FUNCTIONP): New macro.
8235 (internal_condition_case_2, call_function): Add prototypes.
8236
d5aa31d8
GM
8237 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8238 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8239 Always set `arg' member of input_events.
8240 (construct_menu_click): Unused function removed.
8241
8242 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8243
8244 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8245 (construct_drag_n_drop, x_scroll_bar_handle_click)
8246 (w32_read_socket): Always set `arg' member of input_events.
8247
8248 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8249
8250 * lisp.h (eval_form): Add prototype.
8251
8252 * xdisp.c (eval_form): Make it externally visible.
8253
0f1a9b23
GM
82542000-07-13 Gerd Moellmann <gerd@gnu.org>
8255
8256 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8257 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8258 consing. For prefix events, store the frame in the `arg' slot of
8259 the event, otherwise store the key there.
8260 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8261 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8262
8263 * xmenu.c (menu_highlight_callback): Store help string in the
8264 `arg' member of the input event; don't cons.
8265 (menubar_selection_callback): Use the `arg' slot of input events
8266 to queue additional information, instead of consing.
8267
8268 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8269
8270 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8271 TOOL_BAR_EVENTs.
8272 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8273
8274 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8275 input events to queue additional information, instead of consing.
8276
8277 * keyboard.c (kbd_buffer_gcpro): Renamed from
8278 kbd_buffer_frame_or_window. Now used for all Lisp objects
8279 referenced from the input queue.
8280 (kbd_buffer_store_event): Always use structure assignment for
8281 copying input events. Record all Lisp objects referenced from
8282 events in kbd_buffer_gcpro.
8283 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8284 differently from input events. Test for prefix menu_bar_events
8285 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8286 event in kbd_buffer_gcpro to nil.
8287 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8288 frame_or_window is equal to its arg member as prefix events.
8289 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8290 used by an input event to nil.
8291 (init_keyboard): Use two times the size of the input queue
8292 for kbd_buffer_gcpro.
8293 (syms_of_keyboard): Likewise.
8294
52283633
SM
8295 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8296 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8297
8298 * termhooks.h (struct input_event): Add member `arg'.
8299 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8300 (USER_SIGNAL_EVENT): Renamed from user_signal.
8301
8302 * xfaces.c (ASET): Remove definition.
8303
8304 * lisp.h (AREF, ASET, ASIZE): New macros.
8305
8306 * fontset.c (AREF, ASIZE): Remove definitions.
8307
8308 * fns.c (AREF): Remove definition.
178c5d9c 8309
0f1a9b23
GM
8310 * composite.c (AREF): Remove definition.
8311
712eaef2
GM
83122000-07-12 Gerd Moellmann <gerd@gnu.org>
8313
d8ee7803
GM
8314 * dispnew.c (redraw_overlapped_rows): Add missing local.
8315 (scrolling_window): Remove debug code.
8316
712eaef2
GM
8317 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8318 Before scrolling, turn off a mouse-highlight in the window
8319 being scrolled.
8320
8321 * xterm.c (x_update_window_end): Add parameter
8322 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8323 redisplay in XTframe_up_to_date.
8324 (x_clear_mouse_face): New function.
8325 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8326
8327 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8328 current glyph row.
8329 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8330 it when any row is written to that contains glyphs highlighted in
8331 mouse-face.
8332 (update_window): Call the window update end hook with new
8333 parameter MOUSE_FACE_OVERWRITTEN_P.
8334 (direct_output_for_insert): Give up if row contains mouse-face.
8335
8336 * dispextern.h (struct redisplay_interface): Add parameter
8337 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8338 (clear_mouse_face): New function pointer member.
8339
02010917
SM
83402000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8341
8342 * syntax.c (back_comment): Use one switch rather than a few `if's.
8343 Obey open_paren_in_column_0_is_defun_start.
8344 When reverting to the `slow' method, try to nicely handle the case
8345 of nested comments by checking that the comment-starter we found
8346 does indeed match the comment-ender.
8347 (scan_sexps_forward, scan_sexps_forward):
8348 Ignore excessive opening parenthesis rather than throwing an error.
8349
d76c03ea
GM
83502000-07-11 Gerd Moellmann <gerd@gnu.org>
8351
8352 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8353 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8354
8355 * dispnew.c (direct_output_forward_char): Give up if currently
8356 displaying a message instead of the minibuffer contents.
8357
8358 * xterm.c (x_update_window_begin): No need to turn off the mouse
8359 highlight here.
8360 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8361 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8362
8363 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8364 compare the mouse_face_p flags of both rows.
8365
8366 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8367
d55ead18
EZ
83682000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8369
8370 * keyboard.c (show_help_echo): Accept additional parameter
8371 ok_to_overwrite_keystroke_echo.
8372 (read_char): Call show_help_echo with a zero
8373 ok_to_overwrite_keystroke_echo argument.
52283633 8374 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8375 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8376 ok_to_overwrite_keystroke_echo argument.
8377 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8378 non-zero ok_to_overwrite_keystroke_echo argument.
8379
df75b1a3
GM
83802000-07-10 Gerd Moellmann <gerd@gnu.org>
8381
4b92c49a
GM
8382 * xdisp.c (try_window_id): If changes are all below what is
8383 displayed in the window, and point is in the window, we still
8384 might have to find point on the display.
8385
8386 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8387 glyphs instead of a single one.
8388 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8389 with new argument list.
8390 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8391
df75b1a3
GM
8392 * keymap.c (get_keymap_1): Add comment that this function can GC.
8393 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8394 comment that functions can GC.
8395 (Fset_keymap_parent): GCPRO arg KEYMAP.
8396
4314cf3e
EZ
83972000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8398
8399 * msdos.c (XMenuActivate): After exiting the menu, restore the
8400 echo area message and erase it.
8401
ab49ce15
KH
84022000-07-10 Kenichi Handa <handa@etl.go.jp>
8403
8404 * fontset.c (Ffontset_info): Make the return value more compatible
8405 with that of Emacs 20.
8406
090a072f
GM
84072000-07-07 Gerd Moellmann <gerd@gnu.org>
8408
8409 * eval.c (Fsignal): Handle case that backtrace_list is null.
8410
f92de4a6
KH
84112000-07-07 Kenichi Handa <handa@etl.go.jp>
8412
8413 * ccl.c (Fccl_execute): Typo fixed.
8414
dd8888a1
GM
84152000-07-06 Gerd Moellmann <gerd@gnu.org>
8416
e5c81191 8417 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8418
dd8888a1
GM
8419 * window.c (Fwindow_list): Reverse list at the end.
8420 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8421 means allow windows on OWINDOW's frame, only.
8422 (window_loop): Simplified; use Fwindow_list.
8423
8424 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8425
485266d0
GM
84262000-07-05 Gerd Moellmann <gerd@gnu.org>
8427
8428 * xterm.c (XTread_socket): Increment handling_signal at the start,
8429 decrement it at the end.
8430
8431 * eval.c (handling_signal): New variable.
8432 (Fsignal): Abort if handling_signal is non-zero.
8433
8434 * lisp.h (handling_signal): External declaration.
178c5d9c 8435
485266d0
GM
8436 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8437
80fcd514
KR
84382000-07-05 Ken Raeburn <raeburn@gnu.org>
8439
8440 Sound support for NetBSD through "Linux emulation" support:
8441 * config.in (HAVE_SOUNDCARD_H): Undef.
8442 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8443 * Makefile.in (LIBSOUND): New variable.
8444 (LIBES): Include it.
52283633
SM
8445 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8446 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8447 (vox_open): Use DEFAULT_SOUND_DEVICE.
8448 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8449
d5c5cddd
GM
84502000-07-05 Gerd Moellmann <gerd@gnu.org>
8451
8452 * print.c (print_error_message): If Vsignaling_function is set,
8453 show it in *Messages*.
8454
8455 * lisp.h (Vsignaling_function): External declaration.
8456
8457 * eval.c (Vsignaling_function): New variable.
8458 (Fsignal): Compute it.
8459 (syms_of_eval): Staticpro it.
8460
65171e3a
DL
84612000-07-05 Dave Love <fx@gnu.org>
8462
8463 * syswait.h: Use the autoconf recommended approach. Old code
8464 #if'd out in case we need to revert.
8465
178c5d9c 8466 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8467
e2c46326
AI
84682000-07-05 Andrew Innes <andrewi@gnu.org>
8469
8470 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8471 when non-NULL instead of __morecore, to take account of buffer
8472 memory. This also solves a problem with spurious memory warnings
8473 on Windows.
8474
8475 * ralloc.c: Make real_morecore non-static.
8476
8477 * eval.c (internal_condition_case): Comment out abort if
8478 interrupt_input_blocked is not zero.
8479
8480 * makefile.nt: Add support for `bootstrap' and related targets.
8481 Include minimal debug info in emacs.exe in release build.
8482 Remove all dependencies on lisp.h, and fixup some others.
8483
8484 * w32.c (init_environment): Install code from 20.7 for providing
8485 default values for environment variables, based on the
8486 executable's own location.
52283633 8487 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8488 (sys_socket): Install socket inheritance bug fix from 20.7.
8489
8490 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8491 here via blockinput.h).
8492
a027a91b
SM
84932000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8494
e4b31601
SM
8495 * w32menu.c (w32_menu_display_help):
8496 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8497
8498 * keyboard.h (show_help_echo): Declare.
8499
8500 * keyboard.c (show_help_echo): New function, extracted from read_char.
8501 Feval its `msg' argument if it's a cons cell.
8502 (read_char): Use it.
4cf8d9d5 8503 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8504
178c5d9c 8505 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8506 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8507 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8508 (dos_rawgetc):
8509 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8510 (note_tool_bar_highlight, w32_read_socket):
8511 Do not gratuitously ignore non-string `help-echo' properties.
8512
88d75730
GM
85132000-07-05 Gerd Moellmann <gerd@gnu.org>
8514
969f7e79
GM
8515 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8516
71201b00
GM
8517 * window.c (delete_all_subwindows): Reset Vwindow_list.
8518
88d75730
GM
8519 * xterm.c (x_append_glyph, x_append_composite_glyph)
8520 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8521 changes in struct glyph starting 1999-12-27. Some bit-fields of
8522 struct glyph were not set, which made glyphs unequal when compared
8523 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8524 effects were the result. This also depended on the contents of
8525 memory returned by xmalloc. If flickering happens again, activate
8526 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8527 gone with that, chances are that it is caused by something similar.
88d75730
GM
8528
8529 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8530
88d75730
GM
8531 * dispextern.h: Add some comments.
8532
8533 * window.c (add_window_to_list): Add parameter LIST.
8534 (window_list): Order list so that, for each frame, windows are
8535 in canonical order, and so that frames appear in the list in
8536 the order given by Vframe_list.
8537 (next_window): Reverse the handling of NEXT_P.
8538
53654733
GM
85392000-07-04 Gerd Moellmann <gerd@gnu.org>
8540
87efd256
GM
8541 * window.c (Vwindow_list): New variable.
8542 (make_window, delete_window): Set Vwindow_list to nil.
8543 (check_window_containing): New function.
8544 (window_from_coordinates): Rewritten.
8545 (add_window_to_list, window_list, candidate_window_p)
8546 (decode_next_window_args, next_window): New functions.
52283633 8547 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8548 (Fwindow_list): New function.
8549 (Fother_window): Cleaned up.
8550 (foreach_window): Add a longer "variable argument list". Let
8551 callback function return 0 to indicate that cycling over windows
8552 should stop.
8553 (foreach_window_1): Likewise.
8554 (freeze_window_start): Return int.
8555 (init_window): New function.
8556 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8557
8558 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8559 input_event with bzero.
8560 (main): Call init_window.
8561
53654733
GM
8562 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8563 a menu filter.
8564
4a8c194f
KH
85652000-07-04 Kenichi Handa <handa@etl.go.jp>
8566
8567 * composite.h (make_composition_value_copy): Extern it.
8568
8569 * composite.c (make_composition_value_copy): New function.
8570
8571 * editfns.c (Fformat): While copying text properties, make each
8572 composition property value a copy.
8573
8574 * fns.c (concat): While copying text properties, make each
8575 composition property value a copy.
8576
831a6cb0
GM
85772000-07-03 Gerd Moellmann <gerd@gnu.org>
8578
2f516940
GM
8579 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8580
178c5d9c 8581 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8582 marked already.
8583
831a6cb0
GM
8584 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8585 include those frames as candidates which have their focus
8586 redirected to the minibuffer frame.
8587
d9c4f922
SM
85882000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8589
8590 * fns.c (Fputhash): Return `value' rather than nil.
8591
3780bc22
GM
85922000-06-30 Gerd Moellmann <gerd@gnu.org>
8593
97d176db
GM
8594 * frame.c (next_frame): Don't check focus redirection in case
8595 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8596 unless their focus is redirected, which contradicts the
8597 specification of next-frame, and leads to infinite loops in
8598 certain situations when cycling through windows with next-window.
8599
dca9961d
KH
86002000-06-30 Kenichi Handa <handa@etl.go.jp>
8601
8602 * coding.c (code_convert_region): Even if the length of text is
8603 zero, try to convert it if coding->type is coding_type_ccl.
8604 (decode_coding_string, encode_coding_string): Likewise.
8605
d5483ab1
GM
86062000-06-28 Gerd Moellmann <gerd@gnu.org>
8607
af5c25e1 8608 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8609 the display if windows_or_buffers_changed.
af5c25e1
GM
8610
8611 * dispnew.c (struct row_entry): New structure.
8612 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8613 (row_table_size, old_lines, new_lines, old_lines_size)
8614 (new_lines_size, run_pool, runs_size, runs): New variables.
8615 (add_row_entry): New function.
8616 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8617 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8618 holding them in local variables. Use a larger hash table whose
8619 size depends on glyph matrix sizes. Don't use bzero to clear the
8620 hash table; instead, clear used slots only.
8621
8622 * fns.c (next_almost_prime): Make it externally visible.
8623
8624 * lisp.h (next_almost_prime): Add prototype.
8625
d5483ab1
GM
8626 * s/isc4-0.h (sigunblock): Define.
8627
8628 * s/sco5.h (sigunblock): Define.
8629
93e40f40
DL
86302000-06-27 Dave Love <fx@gnu.org>
8631
8632 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8633 (moved to osf5-0.h).
8634 [!NOT_C_CODE]: Protect string.h stuff.
8635
8636 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8637 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8638
3c4b7685
GM
86392000-06-27 Gerd Moellmann <gerd@gnu.org>
8640
97d176db 8641 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8642 below the last line from the needed window height.
8643
32cad0aa
SM
86442000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8645
8646 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8647 (Fwidget_get): Use it.
8648 (syms_of_fns): Defsubr it.
8649
2c69ced2
GM
86502000-06-26 Gerd Moellmann <gerd@gnu.org>
8651
178c5d9c 8652 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8653 display info for XIM.
8654 (xim_open_dpy): Likewise.
8655 (xim_close_dpy): Don't free the display info's XIM.
8656
8657 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8658
8659 * config.in (USE_XIM): New define.
8660
3fc720e4
GM
8661 * keymap.c (get_keyelt): For menu-items containing a `:filter
8662 FILTER', apply FILTER to the menu-item's definition to get the
8663 real definition to use.
8664
8665 * lisp.h (QCfilter): External declaration.
8666
2c69ced2
GM
8667 * xfns.c (Fimage_size): New function.
8668 (syms_of_xfns): Defsubr it.
8669
f978b2a2
AS
86702000-06-26 Andreas Schwab <schwab@suse.de>
8671
8672 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8673 Fstring_as_unibyte.
8674
94cc7892
DL
86752000-06-25 Dave Love <fx@gnu.org>
8676
52283633 8677 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8678
8679 * Makefile.in (blockinput.h): Depend on atimer.h.
8680 (atimer.h): Depend on systime.h.
8681
52283633 8682 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8683
52283633 8684 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8685
8686 * lisp.h (swap_in_global_binding): Declare.
8687
b8c24556
KR
86882000-06-24 Ken Raeburn <raeburn@gnu.org>
8689
8690 * process.c (Fopen_network_stream): Turn off atimers for duration
8691 of call to connect. (Patch from Gerd.)
8692
8cf8560b
DL
86932000-06-23 Dave Love <fx@gnu.org>
8694
511c7541
DL
8695 * ralloc.c: Maybe include unistd.h
8696
8cf8560b
DL
8697 * emacs.c (setgrp): Undefine before defining.
8698 (malloc_warning, set_time_zone_rule, index): Prototype.
8699
8700 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8701 HAVE_STRUCT_TIMEZONE.
8702
8703 * s/osf1.h: Move string.h hack here from alpha.h and make it
8704 conditional.
8705 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8706 _XOPEN_SOURCE.
8707 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8708 (SOCKLEN_TYPE): Don't define.
8709
8710 * m/alpha.h: Remove string.h hack.
8711
8712 * s/osf5-0.h: New file.
8713
8714 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8715 include time.h, done by systime.h.
8716 [__FreeBSD__]: Remove redundant includes.
8717
3fc720e4 8718 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8719 (delete_temp_file): Return Qnil to avoid warning.
8720
8721 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8722
8723 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8724 HAVE_X_WINDOWS.
8725
8726 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8727
8728 * composite.h (compose_text): Declare.
8729
8730 * xterm.c: Don't include sys/types.h unconditionally. Don't
8731 protect its inclusion with !USG (following xmenu.c).
8732
ea055732
GM
87332000-06-23 Gerd Moellmann <gerd@gnu.org>
8734
8735 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8736 in x_create_frame.
8737
74b01b80
EZ
87382000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8739
8740 * coding.c (decode_eol_post_ccl): Special handling for undecided
8741 and inconsistent EOL types.
8742
64f3a166
GM
87432000-06-22 Gerd Moellmann <gerd@gnu.org>
8744
16cf31f7
GM
8745 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8746 trough color and main window's background color.
8747
52283633 8748 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8749
8750 * xterm.h (Xt_app_con): External declaration.
8751
8752 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8753
486a103d
GM
8754 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8755
64f3a166
GM
8756 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8757 (handle_invisible_prop): Record the start of invisible text in
8758 it->add_overlay_start.
8759 (struct overlay_entry): Add member `overlay'.
8760 (handle_overlay_change): Simplify.
8761 (next_overlay_string): After having processed overlay strings at the
8762 end of the buffer, record that fact in
8763 it->overlay_strings_at_end_processed_p.
8764 (compare_overlay_entries): If before- and after-strings come
8765 from the same overlay, let before-strings come first.
8766 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8767 (load_overlay_strings): Take it->add_overlay_start into account
8768 when adding overlay strings.
8769
8770 * dispextern.h (struct it): Add member add_overlay_start.
8771
bb746ea6
DL
87722000-06-22 Dave Love <fx@gnu.org>
8773
8774 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8775
8776 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8777
a8f573f3
KH
87782000-06-22 Kenichi Handa <handa@etl.go.jp>
8779
8780 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8781 is greater than 0.
8782
9f2bbc92
DL
87832000-06-21 Dave Love <fx@gnu.org>
8784
178c5d9c 8785 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8786
3ee5041c
SM
87872000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8788
8789 * syntax.c (back_comment): Simplify string-parity counting (with
8790 the added benefit of handling multiple string-styles as long as
8791 they are not intertwined).
8792 Jump to the slow code as soon as a comment starter is found in
8793 a "string_lossage" position. Fixes the case: " /* " /* " */.
8794
4c343001
DL
87952000-06-21 Dave Love <fx@gnu.org>
8796
8797 * Makefile.in: Use GETLOADAVG_LIBS.
8798
8799 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8800 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8801
e6365855
SM
88022000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8803
8804 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8805 (Fforward_comment, scan_lists):
8806 Check the comstyle of single-char comment-starters.
8807 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8808 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8809 Check the comstyle of single-char comment-starters.
8810 Clarify control-flow around the Scomment case.
e6365855 8811
5700d2cc
DL
88122000-06-20 Dave Love <fx@gnu.org>
8813
d355bd8a
SM
8814 * fns.c (make_hash_table, maybe_resize_hash_table):
8815 Cast arg of next_almost_prime.
5700d2cc 8816
178c5d9c 8817 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8818
8819 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8820 and unistd.h.
8821
4a27bdfb
GM
88222000-06-20 Gerd Moellmann <gerd@gnu.org>
8823
a61d762c 8824 * keyboard.c (adjust_point_for_property): Check if display
52283633 8825 property should be treated as intangible by looking at its value.
a61d762c 8826
178c5d9c 8827 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8828 (display_prop_intangible_p): New functions.
8829
8830 * dispextern.h (display_prop_intangible_p): Add prototype.
8831
8832 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8833
4a27bdfb
GM
8834 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8835 argument to sigprocmask.
8836
8837 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8838 argument to sigprocmask.
8839
8840 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8841 sigprocmask_set, and pass a pointer to it to sigprocmask.
8842
8843 * sysdep.c (sigprocmask_set): New variable.
8844
8845 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8846 report_file_error.
8847
427ec082
SS
88482000-06-20 Sam Steingold <sds@gnu.org>
8849
8850 * xrdb.c: Don't declare xmalloc, xrealloc.
8851
8972fe79 88522000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8853
8854 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8855 (re_comp): Cast gettext return value to avoid complaints when
8856 !HAVE_LIBINTL.
8857
074b6efe
DL
88582000-06-20 Dave Love <fx@gnu.org>
8859
52283633 8860 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8861
5700d2cc 8862 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8863
d355bd8a 8864 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8865
8866 * m/alpha.h: Don't declare xmalloc, xrealloc.
8867
0af4f205
DL
8868 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8869
8870 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8871
8872 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8873
8874 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8875 HAVE_GETWD.
8876
074b6efe
DL
8877 * keyboard.h (poll_for_input_1): Declare.
8878
8879 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8880
8881 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8882
8883 * doprnt.c: Don't declare xmalloc, xrealloc.
8884
8885 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8886 (getenv, ctime, getwd): Removed.
8887 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8888
8889 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8890 x_set_tool_bar_lines.
8891
8892 * config.in: Add HAVE_GETWD. Move some definitions above
8893 machine/system includes.
8894
68a5e97b
KH
88952000-06-20 Kenichi Handa <handa@etl.go.jp>
8896
95417e1e
KH
8897 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8898
68a5e97b
KH
8899 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8900 contain information about ENCODING.
8901
8902 * fontset.c (FONTSET_ASCII): Use the first element of char table
8903 for an ASCII font, not defalt slot.
8904 (fontset_ref_via_base): If FONTSET doesn't contain information for
8905 C, try the default fontset.
8906 (make_fontset): Don't copy the default fontset.
8907 (fontset_font_pattern): Likewise.
8908 (accumulate_font_info): If ELT is nil, use the corresponding
8909 element in the default fontset.
8910
3b4fa1b2
DL
89112000-06-19 Dave Love <fx@gnu.org>
8912
943e731c
DL
8913 * syntax.c (Fparse_partial_sexp): Doc fix.
8914
8915 * regex.h: Test PROTOTYPES as well as __STDC__.
8916
3b4fa1b2
DL
8917 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8918 errno, strerror. Put text after #endif in comment.
8919
52283633 8920 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8921
8922 * xterm.c (x_frame_of_widget): Likewise.
8923
cdf0357b
GM
89242000-06-19 Gerd Moellmann <gerd@gnu.org>
8925
8926 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8927 to Vfundamental_mode_abbrev_table.
8928
8929 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8930 bogus objects are marked. This slows down GC by ~80 percent, but
8931 it might be worth trying when debugging GC-related problems.
8932 This feature requires conservative stack marking to be enabled.
8933
8934 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8935 returns XLookupChars, reset `modifiers' to zero.
8936
998e9f8c
DL
89372000-06-19 Dave Love <fx@gnu.org>
8938
8939 * mktime.c: Unprotoized.
8940
18e21ce8 89412000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8942
8943 * data.c (set_internal): If variable is frame-local,
8944 store the new value immediately into the frame parameter alist.
8945
140c4ac6
KR
89462000-06-19 Ken Raeburn <raeburn@gnu.org>
8947
14358466
KR
8948 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8949 in the custom handler pointer.
8950
140c4ac6
KR
8951 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8952 value, or checks for CHAR_META can fail when Lisp_Object is a
8953 union type.
8954 * keymap.c (get_keyelt): Likewise.
8955
10d7bf84
KH
89562000-06-19 Kenichi Handa <handa@etl.go.jp>
8957
8958 * ccl.h (struct ccl_program): New member eol_type.
8959 (struct ccl_spec): New member cr_carryover.
8960
8961 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8962 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8963
8964 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8965 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8966 (decode_eol_post_ccl): New function.
8967 (decode_coding): Don't detect EOL format here for CCL based coding
8968 systems.
8969 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8970 decode_eol_post_ccl after running the CCL program.
8971 (code_convert_region): Don't detect EOL format here for CCL based
8972 coding systems.
8973 (decode_coding_string): Likewise.
8974
52e386c2
KR
89752000-06-18 Ken Raeburn <raeburn@gnu.org>
8976
8977 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8978 when treating it as an integer.
8979
8980 * coding.h (encode_coding_string): Declare.
8981
8982 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8983 it as an integer.
8984
8985 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8986 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8987 to be passed to get_local_map.
8988
8989 * sound.c (Fplay_sound): Don't call make_number on
8990 Frun_hook_with_args count argument.
8991
8992 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8993 for lisp objects in X event structure data field, when lisp
8994 objects are represented with unions.
8995 (x_scroll_bar_to_input_event): Ditto.
8996
b357b9d4
KR
89972000-06-16 Ken Raeburn <raeburn@gnu.org>
8998
8999 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
9000 termination of string. Fix sense of test whether
9001 Vline_number_display_limit is an integer.
b357b9d4 9002
a871441d
GM
90032000-06-16 Gerd Moellmann <gerd@gnu.org>
9004
a9021acd
GM
9005 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
9006 only if HAVE_X_WINDOWS.
9007
6344985d
GM
9008 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
9009 of titles.
9010
427ec082 9011 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
9012 out of bounds.
9013
228b083e
EZ
90142000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
9015
9016 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
9017 of its headers.
9018
c25b53a2
KH
90192000-06-15 Kenichi Handa <handa@etl.go.jp>
9020
9021 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9022 start of the while loop.
9023
a6981b11
GM
90242000-06-15 Gerd Moellmann <gerd@gnu.org>
9025
e9924e52
GM
9026 * atimer.c (alarm_signal_handler): Add forward declaration.
9027
a6981b11
GM
9028 * data.c (set_internal): Remove debug code.
9029
25fa6deb
GM
90302000-06-14 Gerd Moellmann <gerd@gnu.org>
9031
dce6b995
GM
9032 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9033
9f817ea4
GM
9034 * unexec.c (toplevel) [COFF]: Include coff.h.
9035
9036 * s/lynxos.h: New file.
9037
9038 * keymap.c (Fsingle_key_description): Enclose function key and
9039 event symbol names in angle brackets.
9040
8a4e3c0c
GM
9041 * xdisp.c (setup_echo_area_for_printing): Call
9042 message_log_maybe_newline if message_buf_print is not set.
9043
9044 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9045 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9046 function does something useful even when message_buf_print is
9047 already set.
9048
52283633
SM
9049 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9050 New variables.
25fa6deb
GM
9051 (ensure_echo_area_buffers): Initialize echo buffer's
9052 truncate lines setting to nil.
9053 (with_echo_area_buffer): Don't set the echo buffer's truncate
9054 lines setting here.
8a4e3c0c 9055 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9056 of message_truncate_lines.
9057 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9058 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9059 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9060
9061 * keyboard.c (read_char): Bind message-truncate-lines to t
9062 while displaying a help-echo.
9063
9064 * lisp.h (Qmessage_truncate_lines): External declaration.
9065
163dcff3
GM
90662000-06-13 Gerd Moellmann <gerd@gnu.org>
9067
1681ead6
GM
9068 * xdisp.c (Vline_number_display_limit): Renamed from
9069 line_number_display_limit.
9070 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9071 Extend documentation string. Initialize
9072 Vline_number_display_limit to nil meaning no limit.
9073 (decode_mode_spec): Use Vline_number_display_limit with its new
9074 meaning.
9075
163dcff3
GM
9076 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9077
18e21ce8 90782000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9079
9080 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9081
163dcff3
GM
9082 * xfns.c (x_set_frame_parameters): Comment fix.
9083
9084 * frame.c (store_frame_param): Call swap_in_global_binding if the
9085 variable's current binding was chosen based on this frame.
9086
9087 * data.c (swap_in_global_binding): New function.
9088
a704139d
EZ
90892000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9090
9091 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9092 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9093
9b6610db
EZ
90942000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9095
9096 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9097
c68833d2
JR
90982000-06-12 Jason Rumney <jasonr@gnu.org>
9099
9100 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9101
9102 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9103
9104 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9105
9106 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9107
ed1056b3
GM
91082000-06-12 Gerd Moellmann <gerd@gnu.org>
9109
9110 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9111 (syms_of_xfaces): Defsubr Sdump_colors.
9112 (x_free_colors): Don't treat b&w specially on default visual.
9113 (x_free_dpy_colors): New function.
9114 (free_face_colors): Don't check visual class; it's done
9115 in x_free_colors.
9116
9117 * xterm.c (x_frame_of_widget): New function.
9118 (x_alloc_nearest_color_for_widget): Use it.
9119 (x_copy_dpy_color): New function.
9120 (x_destroy_window): Free various colors.
9121
5050a2ef
KH
91222000-06-12 Kenichi Handa <handa@etl.go.jp>
9123
9124 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9125
9126 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9127
9128 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9129
9130 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9131
9132 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9133
fb1b041d
DL
91342000-06-11 Dave Love <fx@gnu.org>
9135
9136 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9137
ff96b5f4
EZ
91382000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9139
9140 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9141
db8eeecd
GM
91422000-06-11 Gerd Moellmann <gerd@gnu.org>
9143
ed1056b3 9144 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9145 to `XEvent *'.
9146
49b71c5f
KH
91472000-06-10 Kenichi Handa <handa@etl.go.jp>
9148
c479bd55
KH
9149 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9150 (regex_compile): Fix the code for handling the case of single byte
9151 char and multibyte char being mixed in a range within [...].
9152
ff6a65c2
KH
9153 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9154 and dst_multibyte members of coding.
9155
49b71c5f
KH
9156 * charset.c (update_charset_table): Update the table
9157 bytes_by_char_head.
9158 (init_charset_once): Initialize elements of bytes_by_char_head to
9159 1 except for leading codes for private charases.
9160
9161 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9162 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9163
9e80b57d
KR
91642000-06-09 Ken Raeburn <raeburn@gnu.org>
9165
9166 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9167 access the data it doesn't point to.
9168
f83fe4b4
GM
91692000-06-08 Gerd Moellmann <gerd@gnu.org>
9170
9171 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9172 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9173 event queue. This is necessary because Emacs otherwise won't
9174 perform a switch-frame to a new frame until some other event, for
9175 example a keystroke event, forces it to do so. This has various
9176 effects, one visible being that the cursor of a frame created with
9177 C-x 5 2 or switched to with a window manager key binding like
9178 A-TAB stays hollow because selected_window isn't on the newly
9179 focused frame until the switch-frame is performed.
9180
9181 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9182 generating a switch-frame event if necessary.
9183
9184 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9185
9186 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9187 it's an integer.
9188
0890801b
KH
91892000-06-08 Kenichi Handa <handa@etl.go.jp>
9190
52283633 9191 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9192
173cbca8
GM
91932000-06-07 Gerd Moellmann <gerd@gnu.org>
9194
3091c2a6
GM
9195 * window.c (displayed_window_lines): Take empty lines at
9196 the bottom of a window into account.
427ec082 9197
f38952fe
GM
9198 * window.c (displayed_window_lines): New function.
9199 (Fmove_to_window_line): Use displayed_window_lines to determine
9200 the number of lines to move, instead of using the window's height.
9201
9202 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9203 to stop reading, even if the form read sets point to a different
9204 value when evaluated.
9205
427ec082 9206 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9207 put the cursor.
9208
6ba6c818
KH
92092000-06-07 Kenichi Handa <handa@etl.go.jp>
9210
9211 * fileio.c (e_write): Free composition data if stored in
9212 coding->cmp_data.
9213
5f1aea9a
GM
92142000-06-06 Gerd Moellmann <gerd@gnu.org>
9215
666852af
GM
9216 * xdisp.c (display_line): Set row's and iterator's
9217 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9218 Set cursor even if row ends in the middle of a character.
9219 (dump_glyph_row): Print values of new flags.
9220 (redisplay_window) <cursor movement in unchanged window>: When
9221 point has been moved forward, and PT is at the end of the cursor
9222 row, don't place the cursor in the next row if the cursor row ends
9223 in the middle of a character or at ZV.
9224
9225 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9226 (struct glyph_row): Add starts_in_middle_of_char_p and
9227 ends_in_middle_of_char_p.
9228 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9229 ends_in_middle_of_char_p flag.
9230 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9231
d13f3e2e
GM
9232 * term.c (append_glyph): Revert change of 2000-06-06.
9233
9234 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9235 padding glyph not fitting on line as whole character not
9236 fitting on line.
9237
5f1aea9a
GM
9238 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9239 this isn't true for images with `:ascent 100'.
9240
10cda9b0
KH
92412000-06-06 Kenichi Handa <handa@etl.go.jp>
9242
ed00559d
KH
9243 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9244 as modified if it is originally unmodified.
9245
10cda9b0
KH
9246 * term.c (encode_terminal_code): Change the way to check if
9247 terminal coding does any conversion.
9248 (append_glyph): Set glyph->pixel_width correctly.
9249
9250 * xdisp.c (display_line): While checking line continuation, pay
9251 attention to a padding glyph.
9252
1969fae2
GM
92532000-06-05 Gerd Moellmann <gerd@gnu.org>
9254
9255 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9256
162ccef4
DL
92572000-06-05 Dave Love <fx@gnu.org>
9258
f19f32dd
DL
9259 * xdisp.c: Include fontset.h.
9260
9261 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9262
9263 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9264
9265 * dispnew.c: Conditionally include term.h.
9266
9267 * coding.h: Declare code_convert_string_norecord.
9268
9269 * frame.h (struct frame): Use volatile unconditionally.
9270
9271 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9272
9273 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9274
9275 * systime.h: Protect against multiple inclusion.
9276 (timezone) [USG5_4]: Define as time_t.
9277
9278 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9279 (Foptimize_char_table, make_temp_name): Declare.
9280
9281 * Makefile.in (xdisp.o): Depend on fontset.h.
9282
9283 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9284
9285 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9286 (Foptimize_char_table, make_temp_name): Declare.
9287
427ec082 9288 * s/irix4-0.h:
162ccef4
DL
9289 * s/irix5-0.h:
9290 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9291
2082fe81
DL
92922000-06-02 Dave Love <fx@gnu.org>
9293
9294 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9295
dcf671d2
GM
92962000-06-02 Gerd Moellmann <gerd@gnu.org>
9297
9298 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9299 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9300 be freed.
9301
9302 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9303 glyph, use the ASCII NUL character to determine the face.
9304
d42122a3
DL
93052000-06-02 Dave Love <fx@gnu.org>
9306
9307 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9308 (VFORK_RETURN_TYPE): Remove.
427ec082 9309
d42122a3
DL
9310 * config.in: Add NO_MATHERR.
9311
dd432f16
DL
93122000-06-01 Dave Love <fx@gnu.org>
9313
90aa4ea8
DL
9314 * cmds.c (internal_self_insert): Don't check
9315 Vbefore_change_function, Vafter_change_function.
9316
9317 * insdel.c (signal_before_change, signal_after_change): Likewise.
9318
9319 * buffer.c (Vbefore_change_function, Vafter_change_function):
9320 Variables and their initializations deleted.
9321
2330c9d4
DL
9322 * callint.c (Fcall_interactively): Doc fix.
9323
dd432f16
DL
9324 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9325
bf9e8804
DL
93262000-05-31 Dave Love <fx@gnu.org>
9327
9328 * textprop.c: Revert last change -- duplicated.
9329
3694b4ab
GM
93302000-05-31 Gerd Moellmann <gerd@gnu.org>
9331
9332 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9333 in #if 0.
9334
9335 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9336
f14156cd
JR
93372000-05-31 Jason Rumney <jasonr@gnu.org>
9338
8119aab8
JR
9339 * search.c (Fre_search_forward, Fre_search_backward)
9340 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9341
f14156cd
JR
9342 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9343
4aab9be3
JR
93442000-05-30 Jason Rumney <jasonr@gnu.org>
9345
9346 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9347 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9348
52283633 9349 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9350
9351 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9352 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9353 expand a nil default_filename.
9354
9355 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9356 pointer to glyph_to_pixel_coords, not a frame.
9357
9358 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9359 coding.h to dependencies.
9360
9361 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9362
9363 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9364 window pointer to be consistent with w32term.c and xterm.c.
9365
9366 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9367 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9368 (Qline_spacing, Qcenter): New variables.
9369 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9370 (x_set_line_spacing): New function.
52283633 9371 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9372 (x_specified_cursor_type): New function.
9373 (x_set_cursor_type): Use it.
9374 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9375 and icon strings.
9376 (validate_x_resource_name, x_get_resource_string): Measure lengths
9377 of external strings in bytes.
9378 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9379 GetTextExtentPoint32 with NULL title.
9380 (Fx_create_frame): Initialize Qline_spacing.
9381 (w32_load_system_font): Initialize font->double_byte_p.
9382 (x_to_w32_charset): Use Vw32_charset_info_alist.
9383 (Image, busy cursor, tooltip functions): Merged changes from
9384 xfns.c. Not yet functional on Windows.
9385
9386 * w32gui.h (W32FontStruct): Add double_byte_p member.
9387
9388 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9389 (emacs_button_translation): Use it.
9390 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9391 in `mask' to be set.
9392
9393 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9394 menu strings.
9395
9396 * w32term.c: Format and doc changes to bring closer to xterm.c.
9397 (w32_char_font_type): New enum.
9398 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9399 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9400 (w32_encode_char): New function.
9401 (x_encode_char): Removed.
9402 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9403 x_encode_char and w32_font_is_double_byte.
9404 (x_produce_image_glyph): Use image_ascent.
9405 (x_produce_glyphs): Use new version of w32_per_char_metric and
9406 handle NULL return value. Allow extra line spacing.
9407 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9408 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9409 w32_font_type member of glyph instead.
9410 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9411 (fast_find_position): Make sure not to consider rows not visible
9412 in the window.
9413 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9414 w32_menu_display_help with input blocked, as it can abort.
9415 (x_display_and_set_cursor): Choose cursor depending
9416 on buffer-local value of cursor_type.
9417 (x_draw_bar_cursor): Add parameter WIDTH.
9418
9419 * w32term.h (CP_DEFAULT): Define.
9420 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9421
10fc3187
GM
94222000-05-30 Gerd Moellmann <gerd@gnu.org>
9423
9424 * search.c (Fre_search_forward, Fre_search_backward)
9425 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9426
d0555360
KH
94272000-05-30 Kenichi Handa <handa@etl.go.jp>
9428
9429 * coding.c (detect_coding_iso2022): Fix code for checking
9430 CODING_CATEGORY_MASK_ISO_8_2.
9431
f1ad044f
SM
94322000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9433
9434 * regex.c (PREFETCH_NOLIMIT): New function.
9435 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9436
84ec3b4b
GM
94372000-05-29 Gerd Moellmann <gerd@gnu.org>
9438
66254a13
GM
9439 * syntax.c (find_defun_start): Move test for
9440 open_paren_in_column_0_is_defun_start outside of the loop.
9441
49e70dec
GM
9442 * xdisp.c (redisplay_window): Really switch buffers when
9443 displaying mode lines, and temporarily set selected_frame to the
9444 frame of the window that's redisplayed.
9445
84ec3b4b
GM
9446 * xfaces.c (free_realized_faces): Block/unblock input.
9447 (free_realized_multibyte_face): Ditto.
9448
869a3a14
DL
94492000-05-29 Dave Love <fx@gnu.org>
9450
9451 * textprop.c (Qkeymap): New variable.
9452 (syms_of_textprop): Intern it.
9453
9454 * keymap.c: Include intervals.h.
9455 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9456
9457 * Makefile.in (keymap.o): Depend on intervals.h.
9458
9459 * keyboard.c (menu_bar_items, tool_bar_items)
9460 (Fexecute_extended_command): Deal with `keymap' property.
9461 (read_key_sequence): Track map from `keymap' property as well as
9462 `local_map'.
9463
9464 * intervals.c (get_local_map): Extra arg to allow looking for
9465 `keymap' too.
9466
9467 * intervals.h (map_property): New enum.
9468 (get_local_map): Extra arg using it.
9469 (Qkeymap): Declare.
9470
84ec3b4b 9471 * lisp.h (get_local_map): Don't declare here.
869a3a14 9472
89d0c844
KH
94732000-05-29 Kenichi Handa <handa@etl.go.jp>
9474
9475 * Makefile.in (callproc.o): Depend on composite.h.
9476
9477 * callproc.c: Include composite.h.
9478 (Fcall_process): Handle composition correctly.
9479
9480 * coding.h (coding_allocate_composition_data): Extern it.
9481 (coding_restore_composition): Likewise.
9482
9483 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9484 yet allocated, finish decoding with result
9485 CODING_FINISH_INSUFFICIENT_CMP.
9486 (coding_allocate_composition_data): Make it non-static.
9487 (coding_restore_composition): Likewise.
9488
797a084a
EZ
94892000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9490
9491 * charset.c (syms_of_charset): Revert last change.
9492
cf872af5
EZ
94932000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9494
9495 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9496 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9497 Handa.
cf872af5 9498
5b1ae051
EZ
94992000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9500
9501 * charset.c (syms_of_charset): Set width of character sets
9502 eight-bit-control and eight-bit-graphic to 1 column.
9503
34ec9ebe
GM
95042000-05-26 Gerd Moellmann <gerd@gnu.org>
9505
9506 * config.in (HAVE_SPEED_T): New define.
9507
9508 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9509 `extern speed_t'.
9510
dd854dc2
DL
95112000-05-26 Dave Love <fx@gnu.org>
9512
9513 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9514
9515 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9516 (Fsubr_arity): New function.
9517 (syms_of_data): Install them.
9518
ba9f8f95
KH
95192000-05-26 Kenichi Handa <handa@etl.go.jp>
9520
0f3e0672
KH
9521 * charset.c (init_charset_once): Set the table bytes_by_char_head
9522 correctly.
9523
cebefb44
KH
9524 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9525 the default fontset to what Emacs uses by default.
0f3e0672
KH
9526 (check_registry_encoding): This function deleted.
9527 (Fset_fontset_font): Remove the adhoc condition for the default
9528 fontset. Allow cons in FONTNAME.
cebefb44 9529
0f3e0672
KH
9530 * fns.c (map_char_table): Ignore char-table entries for
9531 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9532
7a18af49
KR
95332000-05-25 Ken Raeburn <raeburn@gnu.org>
9534
9535 * emacs.c (main): Initialize keyboard syms before initializing
9536 window code, so face names are available.
9537
d2af47df
SM
95382000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9539
9540 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9541 of an anchor at the beginning of a shy-group.
9542
fc6a6a4e
GM
95432000-05-25 Gerd Moellmann <gerd@gnu.org>
9544
9545 * xdisp.c (handle_invisible_prop): Don't try to skip over
9546 invisible text if end of text is already reached.
9547
005f0d35
DL
95482000-05-25 Dave Love <fx@gnu.org>
9549
02513cdd
DL
9550 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9551
005f0d35
DL
9552 * coding.c (encode_eol): Add null statement after label.
9553
89f6ca4e
EZ
95542000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9555
9556 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9557 2000-05-20.
9558
a4e1759e
KH
95592000-05-25 Kenichi Handa <handa@etl.go.jp>
9560
9561 * ccl.c (ccl_driver): Fix previous change.
9562
eacfd7fe
KH
95632000-05-25 Kenichi Handa <handa@etl.go.jp>
9564
46ab33a9
KH
9565 * coding.c (run_pre_post_conversion_on_str): Set point to the
9566 beginning of buffer before calling coding->post_read_conversion.
9567 (decode_coding_string): Give correct args to
9568 run_pre_post_conversion_on_str.
9569 (encode_coding_string): Likewise.
9570
eacfd7fe
KH
9571 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9572 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9573 eight-bit-graphic correctly.
9574
f8569325
DL
95752000-05-24 Kenichi HANDA <handa@etl.go.jp>
9576
9577 * fileio.c (Finsert_file_contents): Even if a file is not found,
9578 execute codes for setting up coding system. Call
9579 after-insert-file-functions unconditionally.
9580
04545643
GM
95812000-05-24 Gerd Moellmann <gerd@gnu.org>
9582
9583 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9584 BSD_PGRPS are not defined.
9585
747d90ea
KH
95862000-05-24 Kenichi Handa <handa@etl.go.jp>
9587
9588 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9589 DESCRIPTION.
9590 (syms_of_charset): Avoid building same strings.
9591
716e3b88
GM
95922000-05-23 Gerd Moellmann <gerd@gnu.org>
9593
9594 * lread.c (Fload): Add a comment about the meaning of
9595 Vuser_init_file being t.
9596
9597 * puresize.h (BASE_PURESIZE): Increase to 675000.
9598
9599 * s/gnu-linux.h (setpgrp): Don't define it here because this
9600 prevents compilation on GNU/Linux systems with glib 2.2.
9601
9602 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9603 as setpgid.
427ec082 9604
9aeb39fa
EZ
96052000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9606
9607 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9608 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9609 version.
9610 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9611
29ced61b
KH
96122000-05-23 Kenichi Handa <handa@etl.go.jp>
9613
52283633 9614 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9615
3d80f24d
KH
9616 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9617
52283633 9618 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9619
29ced61b
KH
9620 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9621
d7e00792
KH
96222000-05-22 Kenichi Handa <handa@etl.go.jp>
9623
c9d80d38
KH
9624 * keyboard.c (read_char): Allow character codes 128..255 to be
9625 handled by input-method-function.
9626
d7e00792
KH
9627 * insdel.c (adjust_markers_for_replace): Fix previous change.
9628 (adjust_after_replace): If PREV_TEXT is nil, call
9629 adjust_markers_for_insert, not adjust_markers_for_replace.
9630
087121cc 96312000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9632
087121cc
GM
9633 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9634 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9635 [HAVE_GRANDPT]: Define.
9636 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9637
9638 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9639 like SYSV_PTYS.
9640
9641 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9642
9643 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9644
c9671f81
KH
96452000-05-20 Kenichi Handa <handa@etl.go.jp>
9646
9647 The following changes are to handle 8-bit characters in a
9648 multibyte buffer/string without facing with byte combining
9649 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9650 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9651
9652 * Makefile.in (fns.o): Depend on charset.h.
9653
9654 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9655 convert it to unibyte.
9656 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9657
9658 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9659 apparent char boundary.
9660 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9661 0x80..0x9F to/from multibyte form.
9662
9663 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9664 to unibyte.
9665
9666 * callproc.c (Fcall_process): Always encode an argument string if
9667 it is multibyte. Setup src_multibyte and dst_multibyte members of
9668 process_coding properly.
ce75fd23 9669
c9671f81
KH
9670 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9671 SPLIT_NON_ASCII_CHAR.
9672
9673 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9674 as is.
9675 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9676
52283633 9677 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9678 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9679 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9680 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9681 and eight-bit-graphic.
9682 (char_to_string): Likewise. Signal an error for too large
9683 character code.
9684 (char_printable_p): Return 0 for 8-bit characters.
9685 (update_charset_table): Update iso_charset_table only when a final
9686 character is non-negative.
9687 (find_charset_in_text): Renamed from find_charset_in_str.
9688 Arguments and return value changed. Callers changed.
9689 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9690 be -1 if CHARSET is used only internally.
9691 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9692 eight-bit-graphic.
9693 (Fcharset_after): Simplified.
9694 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9695 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9696 (multibyte_chars_in_text): Simplified by assuming there's no
9697 invalid multibyte sequence.
52283633
SM
9698 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9699 (str_as_unibyte): New functions.
9700 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9701 (init_charset_once): Initialization for
9702 LEADING_CODE_8_BIT_CONTROL.
9703 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9704 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9705 eight-bit-control and eight-bit-graphic.
9706
52283633
SM
9707 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9708 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9709 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9710 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9711 (CHARSET_REVERSE_CHARSET): Likewise.
9712 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9713 eight-bit-graphic.
9714 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9715 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9716 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9717 encounter an invalid multibyte sequence.
9718 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9719 sequence is always valid.
9720 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9721 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9722 (CHAR_STRING): For 8-bit characters, call char_to_string.
9723 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9724 multibyte sequence is always valid.
9725 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9726 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9727 (str_as_unibyte): Extern them.
c9671f81 9728 (BCOPY_SHORT): Fix a bug.
52283633 9729 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9730 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9731 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9732 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9733
bd4bde7f 9734 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9735 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9736 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9737 (EMIT_BYTES): New macros.
9738 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9739 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9740 macros deleted.
9741 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9742 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9743 check the validity of multibyte sequence.
9744 (decode_coding_emacs_mule): New function.
9745 (encode_coding_emacs_mule): New macro.
9746 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9747 the source.
9748 (DECODE_ISO_CHARACTER): Just return a character code.
9749 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9750 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9751 EMIT_CHAR to produced decoded characters. Exit the loop only by
9752 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9753 block here.
9754 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9755 only position codes for an invalid character.
9756 (encode_designation_at_bol): Return new destination pointer. 5th
9757 arg DSTP is changed to DST.
9758 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9759 from the source by ONE_MORE_CHAR. Don't handle the case of last
9760 block here.
9761 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9762 macros deleted.
52283633
SM
9763 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9764 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9765 TWO_MORE_BYTES to fetch a byte from the source.
9766 (encode_eol): Pay attention to coding->src_multibyte.
9767 (detect_coding, detect_eol): Preserve members src_multibyte and
9768 dst_multibyte.
9769 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9770 (encoding_buffer_size): Set magnification to 3 for all coding
9771 systems that require encoding.
9772 (ccl_coding_driver): For decoding, be sure that the result is
9773 valid multibyte sequence.
9774 (decode_coding): Initialize coding->errors and coding->result.
9775 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9776 and raw-text, always call decode_eol. Handle the case of last
9777 block here. If not coding->dst_multibyte, convert the resulting
9778 sequence to unibyte.
9779 (encode_coding): Initialize coding->errors and coding->result.
9780 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9781 and raw-text, always call encode_eol. Handle the case of last
9782 block here.
9783 (shrink_decoding_region, shrink_encoding_region): Detect cases
9784 that we can't skip data more rigidly.
9785 (code_convert_region): Setup src_multibyte and dst_multibyte
9786 members of coding. For decoding, if the buffer is multibyte,
9787 convert the source sequence to unibyte in advance. For encoding,
9788 if the buffer is multibyte, convert the resulting sequence to
9789 multibyte afterward.
9790 (run_pre_post_conversion_on_str): New function.
9791 (code_convert_string): Deleted and divided into the following two.
9792 (decode_coding_string, encode_coding_string): New functions.
9793 (code_convert_string1, code_convert_string_norecord): Call one of
9794 above.
9795 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9796 MAKE_NON_ASCII_CHAR.
52283633
SM
9797 (Fset_terminal_coding_system_internal)
9798 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9799 and dst_multibyte members.
9800 (init_coding_once): Initialize iso_code_class with new enum
9801 ISO_control_0 and ISO_control_1.
9802
9803 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9804 devided into ISO_control_0 and ISO_control_1.
9805 (struct coding_system): New members src_multibyte, dst_multibyte,
9806 errors, and result. Delete member fake_multibyte.
9807 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9808 nonzero.
9809 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9810 nonzero.
9811
9812 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9813 (Faset): Likewise.
9814
9815 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9816 multibyte form.
9817 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9818 combining occurs.
9819 (Ftranspose_region): Delete codes for handling byte combining.
9820
9821 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9822 dst_multibyte members of coding. On handling REPLACE on unibyte
9823 buffer, convert the result of decode_coding to unibyte. On
9824 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9825 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9826 multibyteness of the source (buffer or string).
9827
9828 * fns.c (concat): Handle 8-bit characters correctly.
9829 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9830 unibyte in the result.
9831 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9832 valid multibyte form in the result.
9833 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9834 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9835 return -1, signal an error.
9836 (base64_encode_1): New arg MULTIBYTE. Get each character by
9837 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9838 character is found, return -1.
9839 (Fbase64_decode_region): Delete codes for handling byte-combining.
9840 Treat each decoded byte as a unibyte character.
9841 (Fbase64_decode_string): Return unibyte string.
9842 (Fcompare_strings, concat, string_byte_to_char): Use
9843 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9844 FETCH_STRING_CHAR_ADVANCE.
9845 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9846 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9847
9848 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9849 SPLIT_NON_ASCII_CHAR.
9850 (fontset_ref_via_base, fontset_set): Likewise
9851
9852 * insdel.c (adjust_markers_for_record_delete): Deleted.
9853 (adjust_markers_for_insert): Argument changed. Caller changed.
9854 (adjust_markers_for_replace): Likewise.
52283633
SM
9855 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9856 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9857 (copy_text): Delete unused local varialbe c_save. For converting
9858 to multibyte, be sure to make all 8-bit characters in valid
9859 multibyte form.
9860 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9861 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9862 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9863 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9864 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9865 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9866 handling byte combining.
9867 (adjust_before_replace): Deleted.
427ec082 9868
c9671f81
KH
9869 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9870 SPLIT_NON_ASCII_CHAR.
9871 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9872 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9873 (Fkey_description): Likewise.
9874
9875 * lread.c (read1): On reading multibyte string, be sure to make
9876 all 8-bit chararacters in valid multibyte form.
9877 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9878
9879 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9880 unconditionally.
9881
9882 * process.c (Fstart_process): GCPRO current_dir before calling
9883 Ffind_operation_coding_system. Encode arguments here.
9884 (create_process): Don't encode arguments here. Setup
9885 src_multibyte and dst_multibyte members of struct coding.
9886 (read_process_output): Setup src_multibyte and dst_multibyte
9887 members of struct coding. If the output is to multibyte buffer,
9888 always decode the output of the process. Adjust the
52283633 9889 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9890 (send_process): Setup coding->src_multibyte according to the
9891 multibyteness of the source.
9892
52283633 9893 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9894 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9895 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9896
52283633 9897 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9898
9899 * w16select.c (Fw16_set_clipboard_data): Setup members
9900 src_multibyte and dst_multibyte of coding. Adjusted for the
9901 change for find_charset_in_str.
9902 (Fw16_get_clipboard_data): Likewise.
9903
9904 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9905 dst_multibyte of coding.
9906 (x_to_w32_font): Likewise.
9907
9908 * w32select.c (Fw32_set_clipboard_data): Setup members
9909 src_multibyte and dst_multibyte of coding. Adjusted for the
9910 change for find_charset_in_str.
9911 (Fw32_get_clipboard_data): Likewise.
9912
9913 * xdisp.c (get_next_display_element): Handle 8-bit characters
9914 correctly.
52283633
SM
9915 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9916 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9917
9918 * xselect.c (selection_data_to_lisp_data): Setup members
9919 src_multibyte and dst_multibyte of coding. Adjusted for the
9920 change for find_charset_in_str.
9921 (lisp_data_to_selection_data): Likewise.
9922
5f64c9e0
GM
99232000-05-19 Gerd Moellmann <gerd@gnu.org>
9924
52283633 9925 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9926
5f64c9e0
GM
9927 * dispextern.h (Vimage_types): Add extern declaration.
9928
9929 * xdisp.c (Vimage_types): Moved here from xfns.c.
9930 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9931
9932 * xfns.c (Vimages_types): Moved to xdisp.c.
9933 (syms_of_xfns): Move `image-types' to xdisp.c.
9934
9935 * w32fns.c (Vimage_types): Removed.
9936 (syms_of_w32fns): Remove `image-types'.
9937
813086ea
KH
99382000-05-18 Kenichi Handa <handa@etl.go.jp>
9939
9940 * fns.c (map_char_table): Pay attention to character number of
9941 charset. Check the validity of charset at the first level. For
9942 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9943 the default value.
9944
9945 * fontset.c: Include "buffer.h".
9946 (fs_load_font): If the face has fontset, record the face ID in
9947 that fontset.
9948 (Finternal_char_font): New function.
9949 (accumulate_font_info): New function.
9950 (Ffontset_info): Rewritten for the new fontset implementation.
9951 (syms_of_fontset): Register Vdefault_fontset in the first element
9952 of Vfontset_table. Include Vdefault_fontset in
9953 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9954 function.
9955
bdaebbf0
DL
99562000-05-16 Dave Love <fx@gnu.org>
9957
9958 * m/iris5d.h: Deleted -- unused.
9959
cb613bb8
GM
99602000-05-16 Gerd Moellmann <gerd@gnu.org>
9961
b15f3b77
GM
9962 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9963 `invalid' instead of `illegal'.
9964
9965 * indent.c (Fmove_to_column): When ending within a tab, insert
9966 spaces first so that markers at the end of the tab get adjusted.
9967
835c1b36
GM
9968 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9969 buffer list that wasn't selected in that frame.
9970
cb613bb8
GM
9971 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9972 is needed on mescaline, use a 2 char prefix, and call
9973 make_temp_name with second arg non-zero.
9974
9975 * fileio.c (make_temp_name): New function, extracted from
9976 Fmake_temp_name.
9977 (Fmake_temp_name): Use it.
9978
f685bea9
EZ
99792000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9980
52283633 9981 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9982
a1b8d58b
GM
99832000-05-15 Gerd Moellmann <gerd@gnu.org>
9984
9985 * Makefile.in (lisp): Add env.elc.
9986
9987 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9988
a265079f
GM
99892000-05-12 Gerd Moellmann <gerd@gnu.org>
9990
9991 * search.c (Freplace_match): Handle case of `\N' in the
9992 replacement when there's no group N.
9993
da4496b6
GM
99942000-05-11 Gerd Moellmann <gerd@gnu.org>
9995
0ace421a
GM
9996 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9997 of the message to message_dolog.
9998
1172eb8d
GM
9999 * keyboard.c (read_char): Don't clear current message for help
10000 events; let the code handling help events handle this. Change
10001 code detecting help events that should be ignored.
10002
da4496b6
GM
10003 * xdisp.c (handle_single_display_prop): Don't try to set PT if
10004 we're interating over a string.
10005
0623e40f
DL
100062000-05-09 Dave Love <fx@gnu.org>
10007
10008 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
10009 that offset before writing. Move gcpro region past call of
10010 Ffile_regular_p.
10011
bae2503b
DL
100122000-05-04 Dave Love <fx@gnu.org>
10013
10014 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
10015
ec82fb2f
GM
100162000-05-04 Gerd Moellmann <gerd@gnu.org>
10017
10018 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10019 of inserted characters when BUF equals the current buffer, and PT
10020 is in front of or equal to FROM.
10021
cbf18892
GM
100222000-05-03 Gerd Moellmann <gerd@gnu.org>
10023
4ff40dd0
GM
10024 * xdisp.c (handle_single_display_prop): If display property value
10025 is invalid, or something not supported on the frame, restore
10026 iterator's position to what it was initially. Make sure to return
10027 0 for invalid and unsupported property values.
10028
cbf18892
GM
10029 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10030 that x_per_char_metric returns null.
10031
1b0672c3
GM
100322000-05-02 Gerd Moellmann <gerd@gnu.org>
10033
576da55d
GM
10034 * xterm.h (struct face): Add forward declaration.
10035 (struct image): Ditto.
10036 (image_ascent): Add prototype.
10037
10038 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10039 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10040 image_ascent instead of using IMAGE_ASCENT.
10041
10042 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10043 (IMAGE_ASCENT): Removed.
10044
10045 * xfns.c (Qcenter): New variable.
10046 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10047 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10048 (image_ascent): New function.
10049 (lookup_image): Recognize `:ascent center'.
10050 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10051 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10052 (xbm_load): Don't set image's ascent here.
10053 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10054 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10055 check ascent values here.
10056 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10057 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10058 (syms_of_xfns): Initialize Qcenter.
10059
1b0672c3
GM
10060 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10061 to the limits, increase the limits.
10062
0d7811ed
KH
100632000-05-01 Kenichi Handa <handa@etl.go.jp>
10064
10065 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10066 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10067
a943a5ca
GM
100682000-04-28 Gerd Moellmann <gerd@gnu.org>
10069
10070 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10071 taller than the window.
10072
5dba1e29
KH
100732000-04-28 Kenichi Handa <handa@etl.go.jp>
10074
10075 * xfaces.c (realize_x_face): Fix the argument of the second
10076 xassert. BASE_FACE may not be a face for ASCII.
10077
353964e3
GM
100782000-04-27 Gerd Moellmann <gerd@gnu.org>
10079
c76e04a8
GM
10080 * print.c (print_object): Treat print-length < 0 as nil.
10081
10082 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10083
10084 * s/freebsd.h (TERMCAP_OBJ): Removed.
10085 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10086
10087 * lread.c (read1): Don't treat period followed by certain
10088 characters as symbol start.
10089
10090 * xfns.c (slurp_file): New function.
10091 (xbm_image_p): Handle case of in-memory XBM files.
10092 (xbm_scan): Rewritten to work on memory buffers instead of files.
10093 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10094 Work on memory buffers instead of files. If DATA is null test
10095 if buffer looks like an in-memory XBM file.
10096 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10097 memory buffers instead of files.
10098 (xbm_file_p): New function.
10099 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10100
353964e3
GM
10101 * lread.c (end_of_file_error): New function.
10102 (read1): Call it instead of signaling `end-of-file' directly.
10103
427ec082 10104 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10105 with Fprinc instead of Fprin1.
10106
24d744ac
KR
101072000-04-26 Ken Raeburn <raeburn@gnu.org>
10108
10109 * window.c (freeze_window_start): Check that minibuffer scroll
10110 window isn't nil before extracting the window structure pointer
10111 from it.
10112
10113 * undo.c (record_delete): If we hit the end of the undo list, stop
10114 picking elements apart.
10115
7464346d
GM
101162000-04-26 Gerd Moellmann <gerd@gnu.org>
10117
10118 * xdisp.c (display_line): If lines are continued, restore
10119 iterator's ascent/descent information to the values before the
10120 first glyph not fitting on the line.
10121
612839b6
GM
101222000-04-25 Gerd Moellmann <gerd@gnu.org>
10123
10124 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10125 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10126
10127 * dispnew.c (increment_matrix_positions): Renamed from
10128 increment_glyph_matrix_buffer_positions.
10129 (increment_row_positions): Renamed from
10130 increment_glyph_row_buffer_positions.
10131
10132 * dispextern.h: Change names of renamed functions from dispnew.c
10133 in prototypes.
10134
cc181e95
GM
101352000-04-24 Gerd Moellmann <gerd@gnu.org>
10136
abfcc168
GM
10137 * fileio.c (Fdo_auto_save): Create directories for auto-save
10138 list file if necessary.
10139
cc181e95
GM
10140 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10141 from buffer or frame.
10142 (automatic_hscrolling_p): New variable.
10143 (hscroll_windows): Scroll windows horizontally only if automatic
10144 hscrolling is allowed.
10145 (syms_of_xdisp): New variable `automatic-hscrolling'.
10146
10147 * frame.h (struct frame): Add member extra_line_spacing.
10148
10149 * xfns.c (x_set_line_spacing): New function.
10150 (Fx_create_frame): Set line spacing from resources.
10151 (Qline_spacing): New variable.
10152 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10153
cc181e95
GM
10154 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10155
10156 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10157 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10158 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10159 extra_line_spacing from default value.
10160 (init_buffer_once): Initialize default value of extra_line_spacing.
10161
10162 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10163 and extra3.
10164
10165 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10166 prompt_width. Add extra line spacing.
10167
10168 * term.c (produce_glyphs): Remove reference to struct it's
10169 prompt_width.
10170
10171 * dispextern.h (struct it): Remove member prompt_width, add
10172 extra_line_spacing.
10173
58827478
GM
101742000-04-22 Gerd Moellmann <gerd@gnu.org>
10175
10176 * dispnew.c (update_frame_line): When writing a whole line, make
10177 sure cursor is in the right row afterwards, otherwise a use of
10178 capability `ch' in cmgoto might leave the cursor in the row below.
10179
25a87f42
GM
101802000-04-21 Gerd Moellmann <gerd@gnu.org>
10181
10182 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10183
10184 * keyboard.c (timer_check): Fix typo in comment.
10185
54edf5c2
KH
101862000-04-21 Kenichi Handa <handa@etl.go.jp>
10187
10188 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10189 name change: ch -> character.
10190
3a64eef5
GM
101912000-04-20 Gerd Moellmann <gerd@gnu.org>
10192
10193 * keyboard.c (echo_message_buffer): New variable.
10194 (echo_now): Set echo_message_buffer to the echo area buffer used
10195 to display the echo.
10196 (cancel_echoing): Reset echo_message_buffer to nil.
10197 (read_char): Code rewritten that handles canceling an echo or
10198 echoing a dash, respectively.
10199
10200 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10201 directory doesn't exist.
10202
6142fdcb
DL
102032000-04-19 Dave Love <fx@gnu.org>
10204
10205 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10206 (concat): Don't allow numeric args.
10207 (Fconcat): Doc change.
6142fdcb 10208
ac6b5352
SM
102092000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10210
10211 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10212 instead define end_match(1|2) more carefully.
10213 Use GET_CHAR_BEFORE_2 for `begline'.
10214
cb9215e4
GM
102152000-04-19 Gerd Moellmann <gerd@gnu.org>
10216
5e3dac3f
GM
10217 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10218 on 64-bit systems where NULL is defined as `0'.
10219
10220 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10221 the `variable argument list' to make it work on Alpha.
10222
cb9215e4
GM
10223 * m/alpha.h (_LP64) [!_LP64]: Define.
10224 (ORDINARY_LINK): Define for NetBSD.
10225
10226 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10227
f532dca0
DL
102282000-04-19 Dave Love <fx@gnu.org>
10229
c750667e
DL
10230 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10231 change.
10232
10233 * Makefile.in (LIBS): Don't use.
10234 (GETLOADAVG_OBJ): Define again.
10235 (otherobj): Add GETLOADAVG_OBJ.
10236
f532dca0
DL
10237 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10238
1c7e22fd
GM
102392000-04-18 Gerd Moellmann <gerd@gnu.org>
10240
f6d3257b
GM
10241 * lread.c (read_filtered_event): Cancel and start busy cursor.
10242
427ec082 10243 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10244 that the per-character metrics may be null.
10245
e10f64e7
GM
102462000-04-17 Gerd Moellmann <gerd@gnu.org>
10247
0daee095
GM
10248 * buffer.c (clone_per_buffer_values): New function.
10249 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10250 clone_per_buffer_values if CLONE is not nil.
10251
e10f64e7
GM
10252 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10253
38687d43
DL
102542000-04-16 Dave Love <fx@gnu.org>
10255
10256 * Makefile.in: Remove obsolete localcpp stuff.
10257 (GETLOADAVG_OBJ): Don't define.
10258 (obj): Move LIBOBJS...
10259 (otherobj): ... to here.
10260 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10261 whitespace-only lines after the continuation (Irix).
10262
c21c7262
GM
102632000-04-14 Gerd Moellmann <gerd@gnu.org>
10264
10265 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10266
10267 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10268
314767c0
DL
102692000-04-14 Dave Love <fx@gnu.org>
10270
10271 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10272 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10273 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10274 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10275 NLIST_STRUCT.
10276
10277 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10278 autoconfiscated HAVE_GETLOADAVG.
10279
10280 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10281 BROKEN_MKTIME.
10282
a2522dca
GM
102832000-04-14 Gerd Moellmann <gerd@gnu.org>
10284
10285 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10286 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10287
33744b5d
DL
102882000-04-14 Dave Love <fx@gnu.org>
10289
c21c7262 10290 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10291 (INTERVAL_SRC): Convert to make variable.
10292 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10293 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10294 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10295 add LIBOBJS.
10296 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10297 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10298 (shortlisp): Add facemenu, float-sup, frame.
10299 (SOME_MACHINE_LISP): Remove them from here.
10300 (LIBES): Change unused LDLIBS to autoconf LIBS.
10301
10302 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10303
9d3d5916
KH
103042000-04-14 Kenichi Handa <handa@etl.go.jp>
10305
10306 * composite.c (update_compositions): If FROM and TO are not in a
10307 valid range, do nothing.
10308
198e3c7a
GM
103092000-04-13 Gerd Moellmann <gerd@gnu.org>
10310
52283633 10311 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10312
52283633 10313 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10314
10315 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10316 as TERMCAP_OBJ.
10317
055a28c9
EZ
103182000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10319
10320 * fileio.c (a_write): Remove redundant semi-colons.
10321 (e_write): Return -1 if failed to write all the data.
10322 This fixes the changes made at 1999-12-15.
10323
f5c75033
DL
103242000-04-12 Dave Love <fx@gnu.org>
10325
10326 * fns.c (mapcar1): Test for null vals to support mapc.
10327 (Fmapc): New function.
10328
0c3cfc51
EZ
103292000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10330
10331 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10332 (IT_frame_up_to_date): Support the buffer local value of
10333 cursor-type, if defined.
10334
33465a31
DL
103352000-04-10 Dave Love <fx@gnu.org>
10336
10337 * editfns.c (preceding-char, following-char): Doc fix.
10338
6ed56568
KR
103392000-04-10 Ken Raeburn <raeburn@gnu.org>
10340
10341 * Makefile.in (temacs): Revert 2000-03-12 change.
10342
7cf80d4e
JR
103432000-04-10 Jason Rumney <jasonr@gnu.org>
10344
10345 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10346
34f3f342
GM
103472000-04-10 Gerd Moellmann <gerd@gnu.org>
10348
1a1b1895
GM
10349 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10350 area buffer, if it's not set up yet.
10351
34f3f342
GM
10352 * indent.c (compute_motion): Set immediate_quit.
10353
be0dbdab
GM
103542000-04-09 Gerd Moellmann <gerd@gnu.org>
10355
52283633 10356 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10357 (realize_tty_face): Suppress boldness if colors are the inverse of
10358 the default colors, and tty_suppress_bold_inverse_default_colors_p
10359 is set.
10360 (Ftty_suppress_bold_inverse_default_colors): New function.
10361 (syms_of_xfaces): Defsubr it.
10362
be0dbdab
GM
10363 * buffer.c (Frestore_buffer_modified_p): New function.
10364 (syms_of_buffer): Defsubr it.
10365
e8413c3b
KR
103662000-04-08 Ken Raeburn <raeburn@gnu.org>
10367
87f67317
KR
10368 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10369 charset id (int) argument, not a charset (Lisp_Object).
10370
e8413c3b
KR
10371 * coding.h (code_convert_string): Declare.
10372 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10373 object, as the fourth argument to code_convert_string.
10374
52283633 10375 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10376 (Fset_fontset_font): Use EQ to compare lisp objects.
10377
7c752c80
KR
103782000-04-05 Ken Raeburn <raeburn@gnu.org>
10379
c0333abc
KR
10380 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10381 a pointer that looks like a lisp object.
10382 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10383 zero, instead see whether it's an integer object, since they can't
10384 have intervals.
10385 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10386
52283633
SM
10387 * dispnew.c (allocate_matrices_for_frame_redisplay)
10388 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10389 to convert between (unsigned) int values and lisp integers.
10390 * keyboard.c (read_key_sequence): Likewise.
10391 * lread.c (substitute_object_recurse): Likewise.
10392 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10393 * minibuf.c (do_completion, Fminibuffer_complete_word)
10394 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10395 * term.c (produce_special_glyphs): Likewise.
10396
10397 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10398 * print.c (print_preprocess, print_object): Likewise.
10399
10400 * search.c (compile_pattern): Use NILP when checking for nil.
10401
74e49b38
KR
10402 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10403 __OPTIMIZE__]: Provide a GNU C macro version that handles
10404 lisp-object unions.
10405 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10406 field, to better cope with ENABLE_CHECKING and calls that modify a
10407 Lisp_Object using its old value.
10408
685e5ed2
GM
104092000-04-04 Gerd Moellmann <gerd@gnu.org>
10410
c407c570
GM
10411 * window.c (compare_window_configurations): Signal an error
10412 if parameters C1 or C2 aren't window configurations.
10413
685e5ed2
GM
10414 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10415 AFTER_POTENTIAL_GC calls around calls to functions that can
10416 signal an error and thus invoke the debugger.
10417
587a49ab
GM
104182000-04-03 Gerd Moellmann <gerd@gnu.org>
10419
62f20204
GM
10420 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10421 an error if decoding fails.
10422
587a49ab
GM
10423 * keyboard.c (lispy_mouse_names): Variable removed.
10424 (Vlispy_mouse_stem): New variable.
10425 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10426 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10427 for any mouse button number. Increase size of mouse_syms and
10428 button_down_location as needed. Call modify_event_symbol with
10429 different arguments.
10430 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10431 Call modify_event_symbol with different arguments.
10432 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10433 for any button number. Call modify_event_symbol with different
10434 arguments.
10435 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10436 Accept a string for NAME_ALIST_OR_STEM.
10437
10438 * lisp.h (larger_vector): Add prototype.
10439
10440 * fns.c (larger_vector): Make externally visible.
10441
10442 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10443
2d1675e4
SM
104442000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10445
10446 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10447 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10448 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10449 we are between str1 and str2.
10450 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10451 (PATFETCH): Use `TRANSLATE'.
10452 (PATFETCH_RAW): Fetch multibyte char if applicable.
10453 (PATUNFETCH): Remove.
10454 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10455 When writing a char, write it directly into the pattern buffer rather
10456 than going needlessly through a temp char-array.
10457 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10458 multibyte magic and remove the useless `#ifdef emacs'.
10459 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10460 buffer.
10461
10462 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10463 conditional on `emacs'.
10464
10465 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10466
cc2d8c6b
KR
104672000-04-01 Ken Raeburn <raeburn@gnu.org>
10468
10469 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10470 non-union-type versions of XMARK and friends here, because XMARK
10471 and friends won't work on an integer field if NO_UNION_TYPE is not
10472 defined.
52283633 10473 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10474
52283633 10475 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10476 (syms_of_composite): Delete local var NARGS, pass an int as first
10477 argument to Fmake_hash_table.
10478
2387b382
KR
10479 * editfns.c (text_property_stickiness): Use NILP to test
10480 Lisp_Object boolean value.
10481 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10482 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10483 problems reading from and changing the same lisp value in an
10484 XSETSTRING call.
10485
27660e89
GM
104862000-04-01 Gerd Moellmann <gerd@gnu.org>
10487
10488 * term.c (TN_no_color_video): New variable.
10489 (term_init): Intitialize TN_no_color_video.
10490 (enum no_color_bit): New enumeration.
10491 (MAY_USE_WITH_COLORS_P): New macro.
10492 (turn_on_face): Use it to determine if attributes may be used
10493 combined with colors.
10494
3578db3c
KR
104952000-04-01 Ken Raeburn <raeburn@gnu.org>
10496
10497 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10498 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10499 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10500 proper accessor macros.
10501 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10502 (grow_mini_window): Fix typo getting int value of root->height.
10503
6fc556fd
KR
10504 * xdisp.c (compute_string_pos): Fix order of arguments to
10505 string_pos_nchars_ahead.
10506 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10507 count arg to variable-arg routines like Frun_hook_with_args and
10508 Fformat.
587a49ab
GM
10509 (back_to_previous_visible_line_start)
10510 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10511 fixed-arg routines like Fget_char_property and Fmake_string.
10512 (reconsider_clip_changes): Use XINT when comparing integer lisp
10513 objects, or passing them as int arguments.
587a49ab
GM
10514 (mark_window_display_accurate, insert_left_trunc_glyphs)
10515 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10516 storing or passing integer values as lisp objects.
10517 (set_cursor_from_row, highlight_trailing_whitespace): Use
10518 INTEGERP, not implicit test against zero, for glyph object.
10519 (try_window_id): Don't use make_number when we want an int value.
10520
10521 * xfaces.c (xlfd_symbolic_value): Make last argument a
10522 Lisp_Object, to be consistent with callers.
10523 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10524 (lface_hash): Apply XFASTINT to lisp values before folding in.
10525
10526 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10527 fill in window width and height. Pass an int, not a lisp object,
10528 as first arg to Finsert.
10529
6e7b2457
GM
105302000-04-01 Gerd Moellmann <gerd@gnu.org>
10531
610d841e
GM
10532 * xfaces.c (realize_basic_faces): Block input while realizing
10533 the faces.
10534
6e7b2457
GM
10535 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10536
10537 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10538
aa110c0c
GM
105392000-03-31 Gerd Moellmann <gerd@gnu.org>
10540
10541 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10542 or ASCII, handle case that per-char metric is null.
aa110c0c 10543
8801a864
KR
105442000-03-30 Ken Raeburn <raeburn@gnu.org>
10545
c6129d7e
KR
10546 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10547
52283633
SM
10548 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10549 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10550 pointer, using eassert.
10551 * frame.h (XFRAME): Likewise.
10552
52283633
SM
10553 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10554 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10555 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10556 * data.c (set_internal): Likewise.
52283633
SM
10557 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10558 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10559 * fileio.c (auto_save_1): Likewise.
10560 * insdel.c (check_markers): Likewise.
10561 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10562 * undo.c (record_insert): Likewise.
10563 * vmsproc.c (child_sig): Likewise.
10564 * window.c (unshow_buffer, window_loop): Likewise.
10565 * xterm.c (x_erase_phys_cursor): Likewise.
10566
8e7af858
GM
105672000-03-30 Gerd Moellmann <gerd@gnu.org>
10568
10569 * xfns.c (free_image_cache): Free the cache structure itself
10570 last, after all its members have been freed.
10571
10572 * lisp.h (xstrdup): Add prototype.
10573
10574 * alloc.c (xstrdup): Moved here from xfaces.c.
10575 (allocating_for_lisp): Variable removed.
52283633 10576 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10577
10578 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10579 of Fsymbol_value.
10580 (xstrdup): Moved to alloc.c.
10581
e0b8c689
KR
105822000-03-29 Ken Raeburn <raeburn@gnu.org>
10583
b96f9fb7
KR
10584 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10585
10586 * emacs.c (main): Fix sense of no-loadup test.
10587
e0b8c689
KR
10588 * config.in (ENABLE_CHECKING): Undef.
10589
10590 * lisp.h (struct interval): Replace "parent" field with a union of
10591 interval pointer and Lisp_Object; add new bitfield to use as
10592 discriminant. Change other flag fields to bitfields.
10593 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10594 is defined and the supplied test fails, print a message and abort.
10595 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10596
10597 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10598 pointers; abort if the value looks like a lisp object.
52283633
SM
10599 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10600 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10601 Modify for new interval parent definition.
10602
52283633
SM
10603 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10604 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10605 addressable lisp object in the interval structure.
10606 (die): New function.
10607 (suppress_checking): New variable.
10608
10609 * intervals.c (interval_start_pos): Just return 0 if there's no
10610 parent object.
10611
f83c5440
GM
106122000-03-29 Gerd Moellmann <gerd@gnu.org>
10613
10614 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10615 and earlier Emacs versions.
10616
10617 * keyboard.c (Ftop_level): Cancel busy-cursor.
10618
10619 * eval.c (call_debugger): Cancel busy-cursor.
10620
fdce64ff
KH
106212000-03-29 Kenichi Handa <handa@etl.go.jp>
10622
10623 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10624 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10625
f6a3f532
SM
106262000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10627
10628 * regex.c (analyse_first): New function obtained by ripping out most
10629 of re_compile_fastmap and generalizing it a little bit so that it
10630 can also just return whether a given (sub)pattern can match the empty
10631 string or not.
10632 (regex_compile): Use `analyse_first' to decide whether the loop-check
10633 needs to be done or not for *, +, *? and +? (the loop check is costly
10634 for non-greedy repetition).
10635 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10636
e9b309ac
DL
106372000-03-28 Dave Love <fx@gnu.org>
10638
52283633 10639 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10640
e9b309ac
DL
10641 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10642
ed0767d8
SM
106432000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10644
10645 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10646 an expression.
10647 (enum re_opcode_t): Update description of succeed_n.
10648 (PATFETCH): Always define.
10649 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10650 operators, char classes, shy-groups and intervals).
10651 Optimize special cases of intervals so as to only use succeed_n and
10652 jump_n when really needed.
10653 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10654 that we don't have to handle the special cases any more.
10655 Simplify on_failure_jump handling as well.
10656
e11e7e46
JR
106572000-03-28 Jason Rumney <jasonr@gnu.org>
10658
10659 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10660
88faab89
GM
106612000-03-27 Gerd Moellmann <gerd@gnu.org>
10662
182ff242
GM
10663 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10664
10665 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10666
182ff242
GM
10667 * alloc.c (mark_maybe_object): New function.
10668 (mark_memory): Use it.
10669 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10670 (setjmp_tested_p, longjmp_done): New variables.
10671 (test_setjmp): New function.
10672 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10673 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10674
c1005d06
GM
10675 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10676 to DEC_TEXT_POS and INC_TEXT_POS.
10677
10678 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10679 with parameter MULTIBYTE_P.
10680
52283633 10681 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10682
7439e5b9 10683 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10684 buffers because it looks for multibyte character byte sequences
10685 which don't exist in unibyte text.
7439e5b9 10686
d9c545da
GM
10687 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10688
11fd416e 10689 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10690 [DEBUG_X_COLORS]: New functions.
10691 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10692
10693 * xfns.c (x_set_cursor_color): Get color reference counts right.
10694
10695 * xterm.c (x_copy_color): New function.
10696 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10697
10698 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10699 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10700 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10701 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10702 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10703 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10704 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10705 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10706 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10707 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10708
11fd416e
GM
10709 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10710 names for handling per-buffer variables.
d9c545da
GM
10711
10712 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10713 instead of MAX_BUFFER_LOCAL_VARS.
10714 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10715
10716 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10717
88faab89
GM
10718 * xfns.c (x_specified_cursor_type): New function.
10719 (x_set_cursor_type): Use it.
10720
10721 * buffer.h (struct buffer): Add cursor_type.
10722
d80f42b7
SM
107232000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10724
10725 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10726 (print_partial_compiled_pattern, re_compile_fastmap):
10727 Handle new opcode.
d80f42b7
SM
10728 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10729 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10730 executing it as well as when popping it off the stack to find infinite
10731 loops in non-greedy repetition operators.
10732
89e80928
GM
107332000-03-26 Gerd Moellmann <gerd@gnu.org>
10734
3d4ff2dd
GM
10735 * doc.c (Qfunction_documentation): New variable.
10736 (syms_of_doc): Initialize Qfunction_documentation.
10737 (Fdocumentation): If FUNCTION is a symbol with non-nil
10738 `function-documentation' property, return a documentation derived
10739 from that.
10740
bd96bd79
GM
10741 * buffer.c (syms_of_buffer): Add default-cursor-type.
10742 (init_buffer_once): Don't let cursor_type have a local value
10743 in every buffer.
10744
19d1bc27
GM
10745 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10746 on buffer-local value of cursor_type.
10747 (x_draw_bar_cursor): Add parameter WIDTH.
10748
10749 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10750 (init_buffer_once): Set default cursor_type value to t.
10751 Mark cursor_type as local everywhere.
10752 (syms_of_buffer): New per-buffer variable cursor-type.
10753
89e80928
GM
10754 * buffer.h (struct buffer): Remove member local_var_flags,
10755 add local_flags.
10756 (MAX_BUFFER_LOCAL_VARS): New macro.
10757 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10758 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10759 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10760 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10761
52283633 10762 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10763
10764 * category.c (Fset_category_table): Use new macros for per-buffer
10765 variables.
10766
10767 * buffer.c (buffer_permanent_local_flags): Make a char array.
10768 (max_buffer_local_idx): New variable.
10769 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10770 for new handling of per-buffer variables.
10771 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10772 (init_buffer_once): Initialize per-buffer vars differently.
10773 Set max_buffer_local_idx.
10774
10775 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10776 variables.
10777
52283633 10778 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10779
10780 * data.c (do_symval_forwarding, store_symval_forwarding)
10781 (find_symbol_value, set_internal, default_value, Fset_default)
10782 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10783 per-buffer variables.
10784
10785 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10786
9a0dd3dc
GM
107872000-03-24 Gerd Moellmann <gerd@gnu.org>
10788
b68c375f
GM
10789 * xterm.c (x_term_init): Unblock input around call1 of
10790 Qvendor_specific_keysyms.
10791
9a0dd3dc
GM
10792 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10793 (find_defun_start): Consider an open parenthesis in column 0
10794 a defun start only if open_paren_in_column_0_is_defun_start is set.
10795 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10796
7973e637
SM
107972000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10798
10799 * eval.c (Fautoload): Add entry in load-history (if after dump).
10800 * lread.c (load-history): Update docstring.
10801
39210e90
GM
108022000-03-24 Gerd Moellmann <gerd@gnu.org>
10803
10804 * indent.c (Fvertical_motion): Always use the current buffer.
10805 Temporarily change the window's buffer, if necessary.
10806
72db3ab5
GM
108072000-03-23 Gerd Moellmann <gerd@gnu.org>
10808
10809 * xterm.c (fast_find_position): Make sure not to consider rows
10810 not visible in the window.
10811
990b2375
SM
108122000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10813
10814 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10815 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10816
ff4df011
JR
108172000-03-22 Jason Rumney <jasonr@gnu.org>
10818
10819 * w32menu.c (single_submenu): Set help string to NULL if none.
10820 (w32_menu_show): Set help string correctly.
10821 (add-menu-item): Set help string in MIIM_DATA for menu item.
10822 Load SetMenuItemInfoA explicitly.
10823 (w32_menu_display_help): New function.
427ec082 10824
ff4df011
JR
10825 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10826 (QCdata): Moved to xdisp.c.
10827
10828 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10829 (Vw32_charset_to_codepage_alist): Removed.
10830 (Vw32_charset_info_alist): New variable.
52283633
SM
10831 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10832 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10833 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10834 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10835 with TODO comment.
10836 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10837 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10838 Define Vw32_charset_info_alist and w32_charset symbols.
10839
108402000-03-22 Jason Rumney <jasonr@gnu.org>
10841
10842 * makefile.nt (w32bdf.obj): Update dependencies.
10843
10844 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10845
10846 * w32fns.c: Include fontset.h after dispextern.h.
10847 (Fx_create_frame): Do not create fontset.
10848 (w32_load_system_font): Doc fix.
10849 (Fx_close_connection): Free full_name if it is not shared.
10850
10851 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10852 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10853 Callers updated.
ff4df011
JR
10854 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10855 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10856 (w32_font_is_double_byte): New function, needs body.
10857 (x_append_glyph): Set glyph->glyph_not_available_p.
10858 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10859 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10860 character, convert it to a unibyte character.
10861 (struct glyph_string): Delete member `charset'.
10862 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10863 calculating it is found.
10864 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10865 the case that per char metric is not available correctly.
10866 (x_fill_glyph_string): Handle the case that the specific glyph is
10867 not available correctly.
10868 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10869 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10870 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10871 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10872 fontset. Don't call FS_LOAD_FONT.
10873
439d5cb4
KR
108742000-03-22 Ken Raeburn <raeburn@gnu.org>
10875
10876 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10877 (INT_LISPLIKE): New macro.
10878 (NULL_INTERVAL_P): Use it.
52283633
SM
10879 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10880 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10881 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10882
10883 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10884 explicit references to "parent" field of struct interval and
10885 associated unclean type conversions.
52283633
SM
10886 * intervals.c (create_root_interval, root_interval, rotate_right)
10887 (rotate_left, balance_possible_root_interval, split_interval_right)
10888 (split_interval_left, interval_start_pos, find_interval)
10889 (next_interval, previous_interval, update_interval)
10890 (adjust_intervals_for_insertion, delete_node, delete_interval)
10891 (adjust_intervals_for_deletion, merge_interval_right)
10892 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10893 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10894 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10895 Likewise.
10896 * syntax.c (update_syntax_table): Likewise.
10897
10898 * intervals.c (reproduce_tree_obj): New function, like
10899 reproduce_tree but takes a Lisp_Object for the parent. Declare
10900 with prototype.
10901 (graft_intervals_into_buffer): Use it when appropriate.
10902 (reproduce_tree): Declare with prototype.
10903 (balance_possible_root_interval): Check that the parent is a lisp
10904 object before trying to examine its type.
10905
ee1c5b21
GM
109062000-03-22 Gerd Moellmann <gerd@gnu.org>
10907
10908 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10909 as strings only if both are known to be strings.
10910
10911 * s/openbsd.h (LIBS_TERMCAP): Undef.
10912
1fb352e0
SM
109132000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10914
10915 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10916 definitions for non-Emacs compilation.
10917 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10918 outside of `#ifdef emacs'.
10919 (print_partial_compiled_pattern): Update.
10920 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10921 (re_compile_fastmap): Merge handling of charset and charset_not (for
10922 emacs and non-emacs compilation as well).
10923 Similarly for (not)categoryspec and (not)syntaxspec.
10924 Don't use the fastmap when reaching `anychar' since the added
10925 complexity is not justified.
10926 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10927 and (not)syntaxspec. Merge (not)categoryspec.
10928
fdaa1f77
KH
109292000-03-22 Kenichi Handa <handa@etl.go.jp>
10930
52283633
SM
10931 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10932 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10933 --without-x.
fdaa1f77 10934
d152fb46
DL
109352000-03-21 Dave Love <fx@gnu.org>
10936
10937 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10938 doc string.
10939
d2cafc8c
GM
109402000-03-21 Gerd Moellmann <gerd@gnu.org>
10941
10942 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10943 (lface_fully_specified_p): Don't check contents of
10944 LFACE_FONT_INDEX because that attribute is optional.
10945 (realize_x_face): Remove now unwarranted xassert.
10946
9111d4b5
KH
109472000-03-21 Kenichi HANDA <handa@etl.go.jp>
10948
10949 The following changes are to make font selection based on
10950 characters, not charset. In addition, they recover fontset
10951 facilities while utilizing the new font selection mechanism.
10952
6c4bfdc0
KH
10953 * Makefile.in (fontset.o): Depend on dispextern.h.
10954
10955 * alloc.c (mark_face_cache): Don't mark face->registry.
10956
9111d4b5
KH
10957 * dispextern.h (struct glyph): New member glyph_not_available_p.
10958 Use 22 bits for face_id.
10959 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10960 (struct face): Delete member registry, new member ascii_face.
10961 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10962 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10963 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10964 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10965
10966 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10967 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10968 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10969 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10970 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10971 (fs_free_face_fontset, fontset_font_pattern)
10972 (face_suitable_for_char_p, face_for_char)
10973 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10974 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10975 (FS_LOAD_FACE_FONT): New macro.
10976
10977 * fontset.c: All codes rewritten or adjusted for the change of
10978 fontset implementation. Now fontset is represented by char table.
52283633
SM
10979 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10980 Variables removed.
9111d4b5 10981 (my_strcasecmp): Function removed.
52283633 10982 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10983 (AREF, ASIZE): New macros.
52283633
SM
10984 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10985 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10986 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10987 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10988 (fontset_id_valid_p, font_family_registry, fontset_name)
10989 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10990 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10991 New functions.
10992 (fs_load_font): New arg FACE. Caller changed.
10993 (fs_query_fontset): Argument changed. Caller changed.
10994 (Fquery_fontset): call fs_query_fontset.
10995 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10996 Functions removed.
52283633
SM
10997 (clear_fontset_elements, check_registry_encoding)
10998 (check_fontset_name): New functions.
9111d4b5
KH
10999 (syms_of_fontset): Set char-table-extra-slots property of fontset
11000 to 3. Staticpro and initialize Vfontset_table and
11001 Vdefault_fontset. Defsubr fontset_font and fontset_list.
11002
11003 * frame.h (struct frame): Member `fontset_data' removed.
11004 (FRAME_FONTSET_DATA): Macro removed.
11005
11006 * frame.c (make_frame): Don't allocate f->fontset_data.
11007 (Fdelete_frame): Don't free f->fontset_data.
11008
6c4bfdc0
KH
11009 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
11010
9111d4b5
KH
11011 * xdisp.c (charset_at_position): Function removed.
11012 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
11013 (handle_face_prop, reseat_to_string, set_iterator_to_next)
11014 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
11015 Likewise.
11016 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
11017 FACE_FOR_CHARSET.
52283633
SM
11018 (get_next_display_element, append_space)
11019 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11020
11021 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11022 Variables removed.
11023 (clear_font_table, frame_update_line_height, load_face_font):
11024 Adjusted for the change of fontset implementation.
11025 (load_face_fontset_font): Function removed.
11026 (pixel_point_size): New function.
11027 (font_list): Argument type changed. Caller changed.
11028 (LFACE_FONT): New macro.
11029 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11030 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11031 Lisp_Object. Determine the font name by actually loading a font
11032 by the specified pattern. Set LFACE_FONT (lface) to the specified
11033 pattern. Even if a font is not found, don't try alternatives.
11034 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11035 (set_font_frame_param): If `font' is specified in lface, use it.
11036 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11037 (lface_same_font_attributes_p): Likewise.
11038 (make_realized_face): Arguent changed. Caller changed. Set
11039 face->ascii_face to face itself.
11040 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11041 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11042 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11043 (free_realized_multibyte_face): New function.
11044 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11045 changed. Caller changed.
11046 (try_font_list): Argument type changed.
11047 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11048 (choose_face_font): Argument changed. Handle fontset properly.
11049 (choose_face_fontset_font): Function removed.
11050 (realize_default_face, realize_named_face): Don't remove the
11051 former face here.
11052 (realize_face): Argument changed. Caller changed. Remove face
52283633 11053 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11054 (realize_x_face): Argument changed. Caller changed. For a
11055 multibyte character, share fontset with base_face. For a single
52283633 11056 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11057 (realize_tty_face): Argument changed. Caller changed.
11058 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11059 (face_at_buffer_position): Don't check multibyte_p for returning
11060 DEFAULT_FACE_ID.
11061 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11062 FACE_SUITABLE_FOR_CHARSET_P.
11063 (syms_of_xfaces): Remove code for Qx_charset_registry and
11064 Vface_default_registry.
11065
6c4bfdc0
KH
11066 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11067 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11068 (x_per_char_metric): Don't try FONT->default_char. Even if
11069 pcm->width is zero, glyph bits may exist.
11070 (x_encode_char): Always initialize char2b->byte1.
11071 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11072 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11073 (x_append_glyph): Set glyph->glyph_not_available_p.
11074 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11075 it->charset. Handle the case that per char metric is not
11076 available. If it->multibyte_p is zero and it->c is a multibyte
11077 character, convert it to a unibyte character.
11078 (struct glyph_string): Delete member `charset'.
11079 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11080 the case that per char metric is not available correctly.
11081 (x_fill_glyph_string): Handle the case that the specific glyph is
11082 not available correctly.
11083 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11084 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11085 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11086 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11087 fontset. Don't call FS_LOAD_FONT.
11088
11089 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11090 (x_create_tip_frame): Likewise.
11091 (Fx_close_connection): Free full_name of font_info.
11092
11093 * fns.c (optimize_sub_char_table): New function.
11094 (Foptimize_char_table): New function.
11095 (syms_of_fns): Defsubr Soptimize_char_table.
11096
b33dd3b0
GM
110972000-03-20 Gerd Moellmann <gerd@gnu.org>
11098
11099 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11100 only if buffer is displayed in some window.
11101
11102 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11103 (try_window_reusing_current_matrix): Don't call scroll run
11104 function if run's current and desired position are the same;
11105 this prevents cursor flickering.
11106
4e8a9132
SM
111072000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11108
11109 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11110
11111 * regex.c (RE_STRING_CHAR): New macro.
11112 (GET_CHAR_AFER_2): Remove.
11113 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11114 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11115 (print_partial_compiled_pattern, re_compile_fastmap)
11116 (re_match_2_internal): Remove on_failure_jump_exclusive.
11117 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11118 optimization only need to work for * (ie. can use of_keep_string_jump).
11119 Remove the special case for .*\n since it is now covered by the general
11120 optimization.
11121 (re_search_2): Don't bother with `room'.
11122 (skip_one_char): New function.
11123 (skip_noops): Simplify since `memory' is not needed any more.
11124 (mutually_exclusive_p): Restructure slightly to use `switch' and
11125 add handling for "all" remaining cases.
11126 (re_match_2_internal): Change on_failure_jump_smart to use
11127 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11128 rather than on_failure_jump_exclusive.
11129
2136fdd4
GM
111302000-03-19 Gerd Moellmann <gerd@gnu.org>
11131
11132 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11133 number of bits per RGB because it's everywhere used as the depth
11134 of the visual.
11135
11136 * term.c (calculate_costs): Remove code dealing with X frames.
11137
18e21ce8 111382000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11139
11140 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11141
d7b511c4
GM
111422000-03-18 Gerd Moellmann <gerd@gnu.org>
11143
11144 * lread.c (read_integer): Unread the last char not consumed.
11145
16b5d424
GM
111462000-03-17 Gerd Moellmann <gerd@gnu.org>
11147
11148 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11149 which are in the process of being deleted.
16b5d424 11150
1fa28578
GM
111512000-03-16 Gerd Moellmann <gerd@gnu.org>
11152
83488cce
GM
11153 * Makefile.in (mostlyclean): Add `*.core'.
11154 (clean): Add `bootstrap-emacs'.
11155
1fa28578
GM
11156 * lread.c (read_integer): New function.
11157 (read1): Support read syntax #o, #x, #b, #r.
11158
99633e97
SM
111592000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11160
1fa28578
GM
11161 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11162 make sure POINTER_TO_OFFSET gives the same value before and after
11163 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11164 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11165 (debug): Now only active if > 0 rather than if != 0.
11166 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11167 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11168 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11169 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11170 (store_op1, store_op2, insert_op1, insert_op2)
11171 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11172 (group_in_compile_stack): Move to after its arg's types are
11173 declared and add a prototype.
99633e97 11174 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11175 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11176 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11177 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11178 indentation of the greedy-op and shy-group code.
99633e97
SM
11179 (at_(beg|end)line_loc_p): Fix argument's types.
11180 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11181 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11182 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11183 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11184 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11185 QUIT unconditionally.
99633e97 11186
699238d9
GM
111872000-03-15 Gerd Moellmann <gerd@gnu.org>
11188
11189 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11190 a sole completion.
11191
11192 * process.c (send_process): Add a hint that the function
11193 can call Lisp code to its comment.
11194
11195 * lread.c (load_dangerous_libraries): New variable.
11196 (Vbytecomp_version_regexp): New variable.
11197 (safe_to_load_p): New function.
11198 (Fload): Handle files not compiled with Emacs specially.
11199 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11200
34e23e5a
GM
112012000-03-14 Gerd Moellmann <gerd@gnu.org>
11202
9c763cca
GM
11203 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11204
11205 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11206 support functions only if HAVE_X11R6_XIM is defined.
11207 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11208
11209 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11210
11211 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11212 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11213 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11214
11215 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11216 (HAVE_X11R6_XIM): Define.
11217
11218 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11219
34e23e5a
GM
11220 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11221 If set, call XSynchronize.
11222
66f0296e
SM
112232000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11224
34e23e5a
GM
11225 * regex.c: Declare a new type `re_char' used throughout the code
11226 for the string char type. It's `const unsigned char' to match the
11227 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11228 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11229 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
11230 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11231 code duplication.
66f0296e
SM
11232
11233 * charset.h (GET_CHAR_AFTER_2): Remove.
11234 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11235
854a025c
KR
112362000-03-12 Ken Raeburn <raeburn@gnu.org>
11237
11238 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11239 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11240 of them try to use backquotes.
11241
b9d2c7e2
DL
112422000-03-12 Dave Love <fx@gnu.org>
11243
11244 * unexelf.c: Restore changes of 1999-10-19.
11245 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11246 fix its type and alignment; copy it from current process.
11247
5e5dff44
GM
112482000-03-12 Gerd Moellmann <gerd@gnu.org>
11249
9b2f3c38
GM
11250 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11251 has been found. Fix bug not computing timer's predecessor.
11252
427ec082 11253 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11254 file name.
11255
e1cff360
GM
11256 * window.c (Fsave_window_excursion): Doc fix.
11257
52283633 11258 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11259
e411ce4b
EZ
112602000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11261
11262 * msdos.c (vga_installed): New function, code moved from
11263 dos_set_window_size.
11264 (Qbar, Qcursor_type, outside_cursor): New variables.
11265 (syms_of_msdos): Intern and staticpro them.
11266 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11267 shape used outside Emacs when called for the first time.
11268 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11269 cursor shape used outside Emacs.
11270 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11271 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11272 type has changed.
11273 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11274 parameters specify the cursor. Make qreverse a global
11275 variable (renamed to Qreverse).
11276
80460654
GM
112772000-03-09 Gerd Moellmann <gerd@gnu.org>
11278
11279 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11280
95cd4c40
SM
112812000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11282
11283 This is a big redesign of failure-stack and register handling, prompted
11284 by bugs revealed when trying to add shy-groups. Overall, what happened
11285 is that loops are now structured a little differently, groups can be
11286 shy and the code is a little simpler.
11287
11288 * regex.h: Update the copyright.
11289 (RE_SHY_GROUPS): New value.
11290 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11291 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11292
80460654
GM
11293 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11294 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11295 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11296 for (start|stop)_memory since they now only take one argument (the
11297 second has becomes unnecessary).
52283633 11298 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11299 (print_compiled_pattern): Use %ld to printf long ints and flush to
11300 make debugging a little easier.
95cd4c40
SM
11301 (union fail_stack_elt): Make the integer unsigned.
11302 (struct fail_stack_type): Add a `frame' element.
11303 (INIT_FAIL_STACK): Init `frame' as well.
11304 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11305 (DEBUG_PUSH, DEBUG_POP): Remove.
11306 (NUM_REG_ITEMS): Remove.
11307 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11308 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11309 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11310 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11311 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11312 New macros.
80460654
GM
11313 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11314 address pushed is not the destination of the jump but the source
11315 of it instead.
95cd4c40
SM
11316 (NUM_FAILURE_ITEMS): Remove.
11317 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11318 registers before the actual failure point). Don't hardcode any
11319 meaning for str==NULL anymore.
95cd4c40 11320 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11321 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11322 Remove.
95cd4c40
SM
11323 (REG_UNSET_VALUE): Use NULL (why not?).
11324 (compile_range): Remove declaration since it doesn't exist.
11325 (struct compile_stack_elt_t): Remove inner_group_offset.
11326 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11327 (regex_grow_registers): Remove dead code.
11328 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11329 (regex_compile): Add shy-groups Change loops to use
11330 on_failure_jump_smart&jump instead of
11331 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11332 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11333 variable to me). Use `jump' instead of `jump_past_alt' and don't
11334 bother with push_dummy_failure in alternatives since it is now
11335 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11336 emacs' for (re)allocating the stack.
11337 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11338 from loop when bufp->can_be_null rather than jumping to `done'.
11339 Avoid jumping backwards so as to ensure termination. Use
11340 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11341 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11342 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11343 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11344 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11345 (lowest_active_reg, highest_active_reg)
11346 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11347 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11348 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11349 variables. Push register (in `start_memory') on the stack rather
11350 than storing it in old_reg(start|end). Remove the cycle detection
11351 from `stop_memory', replaced by the use of on_failure_jump_loop
11352 for greedy loops. Add code for the new on_failure_jump_<foo>.
11353 Remove ad-hoc code in `on_failure_jump' to push more registers in
11354 the case of a loop. Take out code from `maybe_pop_jump' into
11355 separate functions and adapt it to the semantics of
11356 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11357 and push_dummy_failure. Remove dummy_failure handling and
11358 handling of `failures to jump to on_failure_jump' (this last one
11359 was already dead code, it seems).
11360 (group_match_null_string_p, alt_match_null_string_p)
11361 (common_op_match_null_string_p): Remove.
95cd4c40 11362
7397acc4
DL
113632000-03-08 Dave Love <fx@gnu.org>
11364
11365 * config.in: Don't depend on __STDC__ for volatile.
11366 Add POINTER_TYPE, PTR, PROTOTYPES.
11367
11368 * hftctl.c, strftime.c: Use PROTOTYPES.
11369 * eval.c (find_handler_clause): Likewise.
11370
11371 * mem-limits.h: Use POINTER_TYPE.
11372
11373 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11374 (memory_warnings): Declare using POINTER_TYPE.
11375
5e91ff9e
GM
113762000-03-08 Gerd Moellmann <gerd@gnu.org>
11377
feab4fba
GM
11378 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11379
52283633 11380 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11381
5e91ff9e
GM
11382 * xfns.c: Remove obsolete code in #if 0.
11383 (Fx_focus_frame): New function.
11384
a735b7e1
KH
113852000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11386
11387 * coding.c (coding_category_name): Add coding-category-utf-8,
11388 coding-category-utf-16-be, coding-category-utf-16-le.
11389 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11390 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11391 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11392 (detect_coding_utf_8): New function.
11393 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11394 UTF_16_LOW_SURROGATE_P): New macros.
11395 (detect_coding_utf_16): New function
11396 (detect_coding_mask): When priorities are specified, skip any
11397 categories that have `nil' coding-system. Fix bug of returning
11398 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11399 returns a mask not set in PRIORITIES.
11400 (detect_eol_type_in_2_octet_form): New function.
11401 (detect_eol): selects detect_eol_type_XXX to call according to
11402 cooding->category_idx.
11403 (detect_coding_system): Remove `nil' coding-system in the result.
11404 (Fupdate_coding_systems_internal): Update all coding-categories.
11405
52283633
SM
11406 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11407 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11408 New macros.
11409 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11410 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11411 (CODING_CATEGORY_IDX_UTF_16_LE)
11412 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11413 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11414 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11415 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11416
9994cc69
GM
114172000-03-07 Gerd Moellmann <gerd@gnu.org>
11418
e9b4e5ff
GM
11419 * doc.c (Fdocumentation_property): If value is not a string,
11420 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11421
f7daf1e1
GM
11422 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11423 close the display with XtCloseDisplay. This caused a bus error
11424 on OpenWindows.
11425
9994cc69
GM
11426 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11427 complete but not unique.
11428
4336c705
GM
114292000-03-06 Gerd Moellmann <gerd@gnu.org>
11430
18bb0684
GM
11431 * process.c (send_process): Remove local variable `procname' that
11432 might become invalid when a GC happens. Instead, access the
11433 process name slot directly.
11434
4336c705
GM
11435 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11436 orig_height if set.
11437
11438 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11439 orig_height if set.
11440
515d0d0e
EZ
114412000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11442
11443 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11444 glyph matrices have been freed.
11445
100b3cbb
GM
114462000-03-05 Gerd Moellmann <gerd@gnu.org>
11447
50df5e5a 11448 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11449 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11450
11451 * xfns.c (QCdata): Moved to xdisp.c.
11452
11453 * xdisp.c (QCdata): Moved here from xfns.c.
11454 (syms_of_xdisp): Initialize QCdata.
11455
11456 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11457
11458 * window.c (coordinates_in_window): Use
11459 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11460 FRAME_INTERNAL_BORDER_WIDTH.
11461
100b3cbb 11462 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11463 it is obviously invalid.
100b3cbb
GM
11464
11465 * xterm.c (x_term_init): Create a colormap if not using the
11466 default visual.
11467
11468 * xterm.h (select_visual): Change prototype.
11469
11470 * xfns.c (select_visual): Rewritten. Recognize user-specified
11471 visual classes.
11472 (visual_classes): New variable.
11473
64d739c4
GM
114742000-03-04 Gerd Moellmann <gerd@gnu.org>
11475
11476 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11477 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11478 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11479 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11480 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11481 XtNcolormap resources.
11482 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11483 (Fx_create_frame): Initialize color members of x_output structure.
11484 (xpm_load): Pass colormap to XPM lib.
11485
11486 * xfaces.c (x_free_colors): Access colormap of frame using
11487 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11488 when default colormap is used.
11489
11490 * xterm.c (x_term_init): Set Colormap member of x_display_info
11491 structure. Copy colormap if resource `privateColormap' is
11492 specified (PseudoColor only).
11493 (x_setup_relief_color): Access colormap of frame using
11494 FRAME_X_COLORMAP.
11495
11496 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11497 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11498
c3cee013
JR
114992000-03-04 Jason Rumney <jasonr@gnu.org>
11500
11501 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11502 other non-platform-specific equivalents.
64d739c4 11503 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11504 specific functions and macros as their w32 equivalents where
11505 non-platform-specifics are not available.
11506 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11507 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11508 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11509 (frame_update_line_height): Use macros to access f->output_data.
11510 (defined_color): Remove FIXME comments; fixed.
11511 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11512 into #ifdef blocks. Add WINDOWSNT blocks.
11513 (Fx_list_fonts): Use macros for accessing font data.
11514 (set_lface_from_font_name): Different default fonts for X and
11515 WINDOWSNT.
11516 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11517 scalable for backward compatibility.
64d739c4 11518 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11519 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11520
64d739c4 11521 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11522 syms_of_w32faces.
11523
11524 * makefile.nt (w32faces.obj): Remove.
11525 (xfaces.obj): Add.
11526
807cc41c
JR
115272000-03-03 Jason Rumney <jasonr@gnu.org>
11528
11529 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11530 correct parameters.
11531
0007072a
KR
115322000-03-03 Ken Raeburn <raeburn@gnu.org>
11533
11534 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11535 standard ELF definitions here if the system header does not.
11536
71a6ba55
GM
115372000-03-03 Gerd Moellmann <gerd@gnu.org>
11538
11539 * xterm.c (PER_CHAR_METRIC): Removed.
11540 (x_per_char_metric_1, x_default_char): New functions.
11541 (x_per_char_metric): If font's default char is invalid, return
11542 metrics of a suitably chosen usable default char.
11543 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11544 char, replace occurrences of unprintable chars with a suitably
11545 chosen usable default char.
71a6ba55 11546
900fa1f1
GM
115472000-03-02 Gerd Moellmann <gerd@gnu.org>
11548
42f55fe0
GM
11549 * xterm.c (note_mouse_highlight): Return quickly if frame's
11550 glyph matrices have been freed.
11551
11552 * dispnew.c (free_glyphs): Block input while freeing matrices.
11553
900fa1f1
GM
11554 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11555
52283633
SM
11556 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11557 Use x_free_colors.
900fa1f1
GM
11558
11559 * dispextern.h (x_free_colors): Add prototype.
11560
11561 * xfaces.c (x_free_colors): New function.
11562 (unload_color, free_face_colors): Use it.
11563
2f950292
EZ
115642000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11565
11566 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11567
11568 * window.c [MSDOS]: Include msdos.h.
11569
54d04320
DL
115702000-03-02 Dave Love <fx@gnu.org>
11571
11572 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11573
11574 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11575 set C_OPTIMIZE_SWITCH for gcc.
11576
0ba93ac4
KH
115772000-03-02 Kenichi Handa <handa@etl.go.jp>
11578
11579 * coding.c (coding_save_composition): Be sure to allocate
11580 composition data area in coding even if there's no composition in
11581 the current run.
11582
a2bc11d4
JR
115832000-03-01 Jason Rumney <jasonr@gnu.org>
11584
11585 * w32term.c: Equivalent changes to those made to xterm.c on
11586 2000-02-25 and 2000-02-24.
11587
11588 * w32fns.c: Equivalent changes to those made to xfns.c on
11589 2000-02-25 and 2000-02-21.
11590
11591 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11592 correct line-end convention is followed.
11593
11594 * w32menu.c [HAVE_BOXES]: Remove #undef.
11595 (single_keymap_panes): Remove code for simulating checkmarks.
11596 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11597 Remove code for drawing simulated checkmarks.
11598 (w32_menu_show): make unibyte help string correctly.
11599 (add_menu_item): draw standard Windows checkmarks. Draw radio
11600 buttons as radio buttons if possible.
11601
72d19d75
GM
116022000-03-01 Gerd Moellmann <gerd@gnu.org>
11603
2df636f4
GM
11604 * sysdep.c (start_of_text): Don't define this function for NetBSD
11605 with ELF.
11606
427ec082 11607 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11608 Don't define.
11609 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11610 (LINKER): Don't undef if __NetBSD__ is defined.
11611
11612 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11613
11614 * fileio.c [__NetBSD__]: Define `unix'.
11615
72d19d75
GM
11616 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11617
ed4d0512
GM
116182000-02-29 Gerd Moellmann <gerd@gnu.org>
11619
50b1039f
GM
11620 * atimer.c (start_atimer): Don't abort when timers are stopped.
11621 (append_atimer_lists): New function.
11622 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11623 arbitrary lists of stopped and running atimers.
11624
ed4d0512
GM
11625 * atimer.c (cancel_atimer): Handle canceling an atimer when
11626 some timers are stopped.
11627
11628 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11629 after canceling it.
11630
11631 * fns.c (maybe_resize_hash_table): Handle case of new size
11632 coming out as being the same as old size.
11633
387023ee
JR
116342000-02-27 Jason Rumney <jasonr@gnu.org>
11635
11636 * makefile.nt: Add atimer.h to dependencies.
11637 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11638 * w32console.c: Only disable window system features for dispextern.h
11639 (initialize_w32_display): Build a display info for the console.
11640 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11641 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11642 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11643 as 2 button mice.
11644 * w32gui.h (struct W32FontStruct): Revert last change after change
11645 to xdisp.c.
11646 * w32menu.c (single_submenu): Set up help string.
11647 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11648 (w32_dialog_show): Set up help string.
11649 * w32term.c (w32_display_info_for_display): Remove unused function.
11650 (w32_draw_bitmap): Use pre-built bitmaps.
11651 (w32_initialize_display_info): New function to initialize parts of
11652 display info that are common to both GUI and console frames.
11653 (w32_term_init): Use w32_initialize_display_info. Do not set
11654 Vw32_num_mouse_buttons here, as it is not called for console
11655 frames. Build bitmaps for indicating truncated lines etc.
11656 (x_delete_display): Destroy pre-built bitmaps.
11657 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11658 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11659
4516715a
DL
116602000-02-27 Dave Love <fx@gnu.org>
11661
11662 * lisp.h: Add a bunch of prototypes.
11663
171ca836
KH
116642000-02-26 Kenichi Handa <handa@etl.go.jp>
11665
11666 * keyboard.c (read_char): Set `usec' correctly.
11667
4013921d
KH
116682000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11669
11670 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11671 `lambda', set reg[RRR] to the map index.
11672 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11673 reg[RRR] to 0. Otherwise, set it to -1.
11674
9244a058
GM
116752000-02-25 Gerd Moellmann <gerd@gnu.org>
11676
2df636f4 11677 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11678
18e21ce8 116792000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11680
f43d79c1
GM
11681 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11682 and contains a `:', prepend `/:'.
11683
11684 * window.c (select_window_1): If selected_window is nil,
11685 don't "swap out" the buffer's point.
11686 (Fset_window_configuration): Set selected_window to nil
11687 before calling Fselect_window.
11688 (unshow_buffer): Don't set point in buffer from window's point
11689 if another more recently selected window also shows the buffer.
11690
bed0c171
GM
116912000-02-25 Gerd Moellmann <gerd@gnu.org>
11692
449c3c52
GM
11693 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11694
f5b58615
GM
11695 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11696 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11697 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11698 New variables.
f5b58615
GM
11699 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11700 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11701 (hide_busy_cursor): New functions.
11702 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11703
11704 * minibuf.c (read_minibuf): Cancel busy-cursor.
11705
11706 * keyboard.c (command_loop_1): Call start_busy_cursor before
11707 Fcommand_execute and cancel_busy_cursor after it.
11708 (timer_check): Remove busy-cursor code.
11709 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11710 cursor timer.
11711
11712 * process.c (wait_reading_process_input): Remove busy-cursor code.
11713
11714 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11715 Fx_hide_busy_cursor.
11716
11717 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11718 Remove prototyoes.
11719 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11720
11721 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11722
11723 * xterm.c (XTread_socket): Remove busy-cursor code.
11724
4eb8436f
GM
11725 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11726 (build_frame_matrix_from_leaf_window): Put code handling
11727 glyph row's not being a slice of a frame row in #if 0.
11728 (sync_window_with_frame_matrix_rows): New function.
11729 (frame_row_to_window): New function.
11730 (mirror_line_dance): Handle copies between windows.
11731
3cb65b0e
GM
11732 * lread.c (Fload): Use `xfree' instead of `free'.
11733 (init_obarray): Use `xmalloc' instead of `malloc'.
11734
bed0c171
GM
11735 * window.c (Fset_window_buffer): Set WINDOW to the window
11736 after decoding.
2add4349
GM
11737 (coordinates_in_window): Take frame's internal border width
11738 into account.
bed0c171 11739
42088c12
GM
117402000-02-24 Gerd Moellmann <gerd@gnu.org>
11741
11742 * xterm.c (x_display_and_set_cursor): Display cursor of
11743 non-selected windows depending on the setting of
11744 cursor_in_non_selected_windows.
11745
11746 * xdisp.c (cursor_in_non_selected_windows): New variable.
11747 (syms_of_xdisp): DEFVAR_BOOL it.
11748
d1e103b2
GM
117492000-02-23 Gerd Moellmann <gerd@gnu.org>
11750
723e779c
GM
11751 * data.c (Fstring_to_number): If number is greater than what
11752 fits into an integer, return a float.
11753
d1e103b2
GM
11754 * eval.c (specbind): Remove references to
11755 keyword_symbols_constant_flag.
11756
11757 * data.c (keyword_symbols_constant_flag): Removed.
11758 (Fmakunbound, set_internal, syms_of_data): Remove references to
11759 keyword_symbols_constant_flag.
11760
11761 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11762
214f877f
KH
117632000-02-23 Kenichi Handa <handa@etl.go.jp>
11764
11765 * syntax.c (multibyte_syntax_as_symbol): New variable.
11766 (syms_of_syntax): Declare it as a Lisp variable.
11767 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11768 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11769 nonzero, treat all multibyte characters as symbol.
52283633 11770 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11771
130adcb7
EZ
117722000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11773
3cb65b0e 11774 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11775 a deleted frame.
130adcb7 11776
17cbbf95
GM
117772000-02-21 Gerd Moellmann <gerd@gnu.org>
11778
11779 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11780
11781 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11782 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11783
beb0bc36
DL
117842000-02-21 Dave Love <fx@gnu.org>
11785
11786 * frame.c (Vmouse_position_function): New variable.
11787 (Fmouse_position): Use it.
11788 (syms_of_frame): Install it.
11789
11790 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11791
1d92afcd
GM
117922000-02-20 Gerd Moellmann <gerd@gnu.org>
11793
11794 * fileio.c (Finsert_file_contents): Unbind the binding of
11795 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11796
11797 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11798 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11799 (specbind, unbind_to): Handle most common case of non-constant
11800 symbol with trivial value specially.
11801
11802 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11803
18e21ce8 118042000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11805
11806 * data.c (Fmake_variable_buffer_local): Doc fix.
11807 Init found_for_buffer to 0.
11808 (Fmake_variable_frame_local): If the variable has already
11809 been buffer-local, set the check_frame field.
11810
1d4311c3
EZ
118112000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11812
11813 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11814 produced for CODING_MODE_LAST_BLOCK requires.
11815
2dc95ddd
DL
118162000-02-18 Dave Love <fx@gnu.org>
11817
11818 * keyboard.c (echo_keystrokes): Remove declaration.
11819 (Vecho_keystrokes) New variable.
11820 (read_char, record_menu_key, read_key_sequence): Use it to allow
11821 use of float value.
11822 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11823
11824 * lread.c: Undef feature selection macros before defining.
11825
f0930f35
GM
118262000-02-18 Gerd Moellmann <gerd@gnu.org>
11827
11828 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11829 for symbols other than the symbol in question.
11830
e3d4de90
DL
118312000-02-17 Dave Love <fx@gnu.org>
11832
11833 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11834
0b378936
GM
118352000-02-17 Gerd Moellmann <gerd@gnu.org>
11836
d621caf7
GM
11837 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11838
0b378936
GM
11839 * alloc.c (enum mem_type): Compile unconditionally.
11840
3b451f74
EZ
118412000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11842
11843 * xfaces.c (tty_defined_color): Don't return faulire indication
11844 for unspecified-fg and unspecified-bg pseudo-colors.
11845
10689a01
GM
118462000-02-17 Gerd Moellmann <gerd@gnu.org>
11847
1216f5e4
GM
11848 * alloc.c (mark_object): Don't mark symbol names in pure space.
11849 (gc_sweep): Don't unmark symbol names in pure space.
11850
11851 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11852 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11853 [GC_MARK_STACK]: New defines.
427ec082 11854 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11855 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11856
11857 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11858
11859 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11860 allocate_buffer instead of xmalloc.
11861
11862 * alloc.c (toplevel): Include setjmp.h.
11863 (PURE_POINTER_P): New define.
11864 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11865 (Vdead) [GC_MARK_STACK]: New variable.
11866 (lisp_malloc): Add parameter TYPE, call mem_insert if
11867 GC_MARK_STACK is defined.
11868 (allocate_buffer): New function.
427ec082 11869 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11870 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11871 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11872 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11873 (MEM_NIL) [GC_MARK_STACK]: New define.
11874 (struct mem_node) [GC_MARK_STACK]: New structure.
11875 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11876 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11877 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11878 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11879 (mark_stack) [GC_MARK_STACK]: New functions.
11880 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11881 (clear_marks): Removed.
11882 (gc_sweep): Set free conses' car, free floats' type, free
11883 symbols' function to Vdead. Use lisp_free to free buffers.
11884 (init_alloc_once): Initialize Vdead.
11885 (survives_gc_p): Return non-zero for pure objects.
11886
11887 * alloc.c: Add comments throughout the file.
11888
2503c8b1
GM
11889 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11890 that unblocks alarms.
11891
8389e1e2
GM
11892 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11893 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11894 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11895
10689a01 11896 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11897
bfc17d18
KH
118982000-02-17 Kenichi Handa <handa@etl.go.jp>
11899
4a09dee0
KH
11900 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11901 avoid infinite error signaling. Allocate sufficient memory for
11902 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11903
2b927d02
SM
119042000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11905
11906 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11907 depends on the previous behavior.
11908
b49cb764
GM
119092000-02-16 Gerd Moellmann <gerd@gnu.org>
11910
11911 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11912
99e95407
GM
119132000-02-15 Gerd Moellmann <gerd@gnu.org>
11914
11915 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11916
11917 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11918 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11919 write(2).
11920
6ffd3cf7
RS
119212000-02-15 Richard M. Stallman <rms@gnu.org>
11922
11923 * data.c (set_internal): Don't make variable buffer-local
11924 if within a let-binding for the same buffer.
11925 (let_shadows_buffer_binding_p): New function.
11926
11927 * eval.c (specbind): For buffer-local value,
11928 record the current buffer also.
11929 (unbind_to): Cope with that change.
11930
cad53475
GM
119312000-02-15 Gerd Moellmann <gerd@gnu.org>
11932
11933 * window.c (Fsave_window_excursion): Doc fix.
11934
1aa963c8
SM
119352000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11936
11937 * syntax.c (back_comment): Make sure we only consider comment-starters
11938 of the relevant style and return -1 in case of a failure to find the
11939 beginning of the comment.
11940 (Fforward_comment): If back_comment fails, go back to the position just
11941 after the comment-end.
11942 (scan_lists): Add comment describing a very minor bug.
11943
b9b84fd3
SM
119442000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11945
11946 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11947 `completion-regexp-list' in the docstring.
11948
3a28db80
DL
119492000-02-14 Dave Love <fx@gnu.org>
11950
11951 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11952
fb4a568d
SM
119532000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11954
11955 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11956 to Emacs' syntax. Also fix the comment about set/not-set meanings
11957 since Emacs syntax is not the value 0 any more.
11958 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11959 since it's now part of RE_SYNTAX_EMACS.
11960
1063ebb5
DL
119612000-02-12 Dave Love <fx@gnu.org>
11962
52283633 11963 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11964
fb07a302
GM
119652000-02-12 Gerd Moellmann <gerd@gnu.org>
11966
11967 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11968
aaf2320c
DL
119692000-02-12 Dave Love <fx@gnu.org>
11970
11971 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11972
11973 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11974 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11975 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11976
11977 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11978
11979 * s/nextstep.h: Don't define HAVE_ALLOCA.
11980
11981 * config.in: Add vfork bits.
11982
eedf8bde
GM
119832000-02-12 Gerd Moellmann <gerd@gnu.org>
11984
11985 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11986 unwind function to undo the effect of stopping atimers.
11987
52283633 11988 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11989
11990 * atimer.c (stopped_atimers): New variable.
11991 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11992 New functions.
11993
11994 * atimer.h (stop_other_atimers, run_all_atimers)
11995 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11996
eedf8bde
GM
11997 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11998
8476c2f8
KR
119992000-02-11 Ken Raeburn <raeburn@gnu.org>
12000
12001 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
12002 library may depend on jpeg.
12003 (atimer.o): Depends on atimer.c.
12004
0e85e4a3
KH
120052000-02-11 Kenichi Handa <handa@etl.go.jp>
12006
12007 * insdel.c (del_range_1): Call update_compositions.
12008 (del_range_both): Call update_compositions just once..
12009
97fa0cc8
DL
120102000-02-10 Dave Love <fx@gnu.org>
12011
12012 * xfns.c (create_frame_xic): Fix initialization of automatic
12013 aggregates for pcc.
12014
25566a3c
KH
120152000-02-09 Kenichi Handa <handa@etl.go.jp>
12016
12017 * ccl.c (CCL_MAKE_CHAR): New macro.
12018 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12019 registers by CCL_MAKE_CHAR before calling translate_char.
12020 <CCL_TranslateCharacterConstTbl> Likewise.
12021
69da54ba
DL
120222000-02-08 Dave Love <fx@gnu.org>
12023
12024 * lread.c (__EXTENSIONS__): Define.
12025
f7136ee8
GM
120262000-02-08 Gerd Moellmann <gerd@gnu.org>
12027
12028 * puresize.h (BASE_PURESIZE): Increase to 650000.
12029
7768790b
EZ
120302000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12031
12032 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12033 the help message.
12034
38fd211b
EZ
120352000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12036
12037 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12038 md, mh, mb, mr, and me to the fake termcap entry.
12039
66e4690f
KR
120402000-02-06 Ken Raeburn <raeburn@gnu.org>
12041
12042 * sound.c (sound_cleanup): Don't call device close routine if the
12043 function pointer is null.
12044
a75dfea0
AI
120452000-02-06 Andrew Innes <andrewi@gnu.org>
12046
12047 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12048 around image definitions and prototypes.
12049 (gamma_correct) [WINDOWSNT]: New prototype.
12050
12051 * w32term.c (x_make_frame_visible): Replace call to
12052 input_poll_signal with poll_for_input.
12053
12054 * window.c [WINDOWSNT]: Include w32term.h.
12055
12056 * xdisp.c [WINDOWSNT]: Include w32term.h.
12057
12058 * makefile.nt: Add dependencies on w32gui.h.
12059 (OBJ1): Include atimer.obj.
12060 ($(BLD)\atimer.obj): New dependency rule.
12061
12062 * w32.c (sigmask): New function (does nothing).
12063 (sigunblock): Ditto.
12064
12065 * frame.c [WINDOWSNT]: Include w32term.h.
12066
12067 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12068
12069 * lread.c (syms_of_lread): Fix literal newlines.
12070
12071 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12072 the string constant limit (2048 bytes) in MSVC.
12073 (main): Ditto.
12074
59ddecde
GM
120752000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12076
52283633 12077 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12078 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12079 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12080 dispatch the event.
12081
07590973
DL
120822000-02-04 Dave Love <fx@gnu.org>
12083
12084 * fileio.c: Remove some unused vars.
12085 (_GNU_SOURCE): Define (for euidaccess).
12086
12087 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12088
12089 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12090 gcpro1, gcpro2.
12091 (read_minibuf): Deal with allow_props correctly.
12092
649351f9
EZ
120932000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12094
12095 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12096
66e4690f 120972000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12098
12099 * search.c (compile_pattern): If a cache entry has a nil regexp,
12100 fill in that entry instead of clobbering a previously cached
12101 string regexp.
12102
66e4690f 121032000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12104
12105 * puresize.h (BASE_PURESIZE): Increase to 610000.
12106
d240a249
GM
121072000-02-02 Gerd Moellmann <gerd@gnu.org>
12108
12109 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12110 can GC.
12111
ca91fb26
KH
121122000-02-02 Kenichi Handa <handa@etl.go.jp>
12113
25660570
KH
12114 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12115 instead of incrementing ic directly.
12116 <CCL_WriteExprConst> Likewise.
12117 <ccl_set_expr>: Set ic to jump_address.
12118
ca91fb26
KH
12119 * fileio.c (e_write): Fix the handling of
12120 CODING_FINISH_INSUFFICIENT_SRC.
12121
2ede9689
DL
121222000-02-01 Dave Love <fx@gnu.org>
12123
12124 * editfns.c (Fpropertize): Doc fix.
12125
12126 * process.c (Fstart_process): Doc fix.
12127
12128 * eval.c: Fix various doc strings not to duplicate information
12129 from help-manyarg-func-alist.
12130
52283633 12131 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12132
12133 * doc.c (Vhelp_manyarg_func_alist): New variable.
12134 (Fdocumentation): Use it.
12135 (syms_of_doc): Define it.
12136
b6680a0e
GM
121372000-01-31 Gerd Moellmann <gerd@gnu.org>
12138
2cb750ba
GM
12139 * xterm.c (xim_open_dpy): Remove unused local variable.
12140
52283633 12141 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12142
12143 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12144 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12145
b6680a0e
GM
12146 * fns.c (sweep_weak_table): New function.
12147 (sweep_weak_hash_tables): Use it. Keep on marking until there
12148 is no more change.
12149
994c5afe
GM
121502000-01-30 Gerd Moellmann <gerd@gnu.org>
12151
12152 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12153 that XTread_socket does not crash by trying to call XNoOp on a
12154 closed display.
427ec082 12155
f00276e3
JR
121562000-01-30 Jason Rumney <jasonr@gnu.org>
12157
12158 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12159 Change selected_frame to SELECTED_FRAME ().
12160 (w32_console_mouse_position): Remove #ifndef MULE from around
12161 `insist' parameter.
12162
12163 * makefile.nt: Remove dosfns.obj.
12164
12165 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12166
12167 * w32fns.c (w32_defined_color): Check for valid frame before
12168 applying gamma correction. Eliminate dependency on frame elsewhere.
12169 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12170 (w32_to_x_font): Use resx and resy not height_in and width_in.
12171 (x_to_w32_font): Doc fix.
12172 (xlfd_strip_height): New function to strip and return font height.
12173 (w32_font_match): Compare height separately from rest of xlfd
12174 spec, using xlfd_strip_height.
12175
12176 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12177 width_in. Use w32_defined_color in place of defined_color.
12178
12179 * w32faces.c: Merge more of DOS and X specifics in preparation for
12180 merge with xfaces.c.
12181 (defined_color): Remove FIXME comment.
12182 (tty_color_name): Provide w32-specific function.
12183 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12184
12185 * w32console.c (turn_on_face, turn_off_face): Removed.
12186 (w32_face_attributes): New function.
12187 (Global_variables): Reduce scope where possible.
12188 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12189 fill attribute.
12190 (hl_mode): Don't modify text attributes.
12191 (write_glyphs): Don't do anything if len <= 0. Use
12192 w32_face_attributes to get attributes for drawing. Write
12193 terminating codes using char_attr_normal.
12194 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12195 (update_begin, update_end): Likewise.
12196 (vga_stdcolor_name): New function.
12197 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12198 (Fset_screen_color): Remove char_attr_reverse.
12199
b08e8bb2
GM
122002000-01-29 Gerd Moellmann <gerd@gnu.org>
12201
12202 * xfns.c (xic_set_preeditarea): Take window parameter and
12203 window-relative pixel-positions.
12204
12205 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12206 is its frame's selected window.
12207 (xim_instantiate_callback): Likewise.
12208
12209 * xfns.c (x_create_im): Removed.
12210 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12211 (supported_xim_styles): Renamed from supported_styles.
12212 (best_xim_style): Renamed from best_style.
12213 (create_frame_xic): Renamed from xic_create_frame.
12214 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12215
b08e8bb2
GM
122162000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12217
12218 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12219 our frames, call XFilterEvent with 2nd parameter `None'.
12220 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12221 returning XBufferOverflow.
52283633 12222 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12223 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12224 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12225 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12226 (xim_initialize, xim_close)
12227 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12228 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12229 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12230 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12231
12232 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12233 and `xim_styles'.
12234 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12235 `xic_style' and `xic_xfs'.
12236 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12237 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12238 (FRAME_XIM): Removed.
12239
12240 * xfns.c (supported_styles): New variable.
12241 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12242 (xic_create_xfontset, best_style, xic_create_frame)
12243 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12244 (xic_set_xfontset): New functions.
12245
142e109c
DL
122462000-01-28 Dave Love <fx@gnu.org>
12247
12248 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12249
12250 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12251
b02786f9
GM
122522000-01-28 Gerd Moellmann <gerd@gnu.org>
12253
d060bc9f
GM
12254 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12255 for *scratch* if it already existed.
12256
b02786f9
GM
12257 * emacs.c (USAGE): New macro.
12258 (main): Use it to display usage information.
12259
2c52d7e4
EZ
122602000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12261
12262 Support for the menu-help feature:
12263
52283633 12264 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12265
12266 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12267 part of the line to the termscript file.
12268 (IT_clear_to_end): Clear the entire line, not just its beginning.
12269 (menu_help_message, prev_menu_help_message): New variables.
12270 (IT_menu_make_room): Make room for the help_text member.
12271 (IT_menu_display): New argument disp_help; all callers changed.
12272 If disp_help is non-zero, store the help text of the active menu
12273 item in menu_help_message.
12274 (XMenuAddPane): Initialize the help_text member to NULL.
12275 (XMenuAddSelection): New argument help_text. Store it in the
12276 XMenu structure.
12277 (XMenuActivate): New argument help_callback. If the value of
12278 menu_help_message has changed since the last time, display the
12279 menu help message text while waiting for the mouse to move. Clear
12280 the echo area before exiting.
12281 (XMenuDestroy): Free the help_text member.
12282
ffe0bcd1
GM
122832000-01-27 Gerd Moellmann <gerd@gnu.org>
12284
12285 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12286 XMenuAddSelection. Pass help callback to XMenuActivate.
12287 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12288
50dbd23f
EZ
122892000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12290
12291 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12292 and EMACS_SET_USECS.
12293
f5941bf8
GM
122942000-01-26 Dave Love <fx@gnu.org>
12295
6c67ddee
DL
12296 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12297
f5941bf8
GM
12298 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12299 an error may be signalled.
12300
9e49c990
GM
123012000-01-26 Gerd Moellmann <gerd@gnu.org>
12302
fc3cb460
GM
12303 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12304 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12305
9e49c990
GM
12306 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12307
d0c037d8
GM
123082000-01-25 Gerd Moellmann <gerd@gnu.org>
12309
12310 * charset.c (Fstring): If there is a multibyte char among
12311 the args, always return a multibyte string.
12312
e12489f9
GM
123132000-01-25 Gerd Moellmann <gerd@gnu.org>
12314
12315 * sysdep.c (sys_select): Turn atimers off and on instead of
12316 recording and restoring old alarm handler
12317
12318 * process.c (toplevel): Include atimer.h.
12319 (create_process_1): Rewritten.
12320 (create_process): Use atimers instead of alarm.
12321 (wait_reading_process_input) [hpux]: Turn atimers off instead
12322 of turning off SIGALRM.
12323 (wait_reading_process_input): Turn off atimers instead off
12324 calling stop_polling.
12325
12326 * emacs.c (main): Call init_atimer.
12327
12328 * keyboard.c (toplevel): Include systime.h and atimer.h.
12329 (polling_for_input): Removed because unused.
12330 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12331 (poll_timer): New variable.
12332 (poll_for_input, poll_for_input_1): New functions.
12333 (start_polling, stop_polling): Rewritten.
12334
12335 * keyboard.h (polling_for_input): Removed.
427ec082 12336
e12489f9
GM
12337 * atimer.h, atimer.c: New files.
12338
12339 * Makefile.in (obj): Add atimer.o.
12340 (atimer.o): New target.
12341
12342 * blockinput.h (pending_atimers): Add extern declaration.
12343 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12344
12345 * lisp.h (popup_activated_flag): Add extern declaration.
12346
12347 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12348 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12349 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12350
12351 * xterm.c (toplevel): Include atimer.h.
12352 (toolkit_scroll_bar_interaction): New variable.
12353 (Fxt_process_timeouts): Removed.
12354 (x_process_timeouts): New function.
12355 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12356 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12357 (x_make_frame_visible): Call poll_for_input_1 instead of
12358 input_poll_signal. Don't call alarm.
12359 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12360
1e5279b9
DL
123612000-01-24 Dave Love <fx@gnu.org>
12362
6c67ddee 12363 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12364 Don't use -cckr -- apparently not now necessary.
12365
edf6aeb8
EZ
123662000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12367
12368 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12369 screen boundary.
12370
9badad41
JR
123712000-01-23 Jason Rumney <jasonr@gnu.org>
12372
12373 * w32fns.c (w32_defined_color): Apply gamma correction before
12374 trying to map to the palette.
12375 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12376 to w32_clear_rect.
12377
12378 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12379 here. Callers changed to always pass real device context.
12380 (w32_draw_bitmap): Likewise.
12381 (w32_get_glyph_overhangs): Likewise.
52283633 12382 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12383 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12384 pfnSetScrollInfo and SetScrollRange.
12385 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12386 back into MULE characters after decoding them.
12387 (x_get_glyph_face_and_encoding): Likewise.
12388 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12389 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12390 (x_produce_glyphs): Calculate per char metrics for a character
12391 that we know exists in default font when font_not_found_p is true.
12392
63bd786b
JR
123932000-01-22 Jason Rumney <jasonr@gnu.org>
12394
12395 * makefile.nt (intervals.obj, composite.obj): New modules.
12396 (composite.h): Added as dependency where appropriate.
12397
12398 * w32gui.h (XGCValue): New struct for emulating X GCs.
12399
12400 * w32term.h (XCharStruct): New struct for emulating X.
12401
12402 * w32console.c (turn_on_face, turn_off_face): New functions.
12403 (change_line_highlight): New prototype for new redisplay.
12404 (write_glyphs): Support multibyte text. Support faces.
12405
52283633 12406 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12407
12408 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12409 throughout. struct frame * in place of FRAME_PTR.
12410 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12411 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12412 (w32_get_arg): Renamed from x_get_arg.
12413 (Fx_file_dialog): New function.
12414 (w32_list_fonts): Check cache before asking system.
12415 (Vw32_enable_synthesized_fonts): New variable.
12416 (Vw32_enable_italics): Obsolete, removed.
12417
12418 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12419 Use SELECTED_FRAME macro.
12420
12421 * w32menu.c: Add skeleton support for help strings on menus.
12422 (add_menu_item): Native checkbox and radio support added, but not
12423 yet enabled due to bugs.
12424 (push_menu_item): Add parameters type, selection and help.
12425 Callers updated.
12426 Formatting changes to reduce unnecessary diffs with xmenu.c.
12427
12428 * w32select.c (Fw32_set_clipboard_data): Update call to
12429 find_charset_in_str.
12430
12431 * w32term.c: Complete rewrite for new redisplay based on new
12432 xterm.c with necessary sections merged back in from old w32term.c.
12433
6ffd3cf7 124342000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12435
12436 * data.c (set_internal): Further fix in same criterion.
12437
6ffd3cf7 124382000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12439
12440 * data.c (set_internal): Fix the criteria for whether
12441 to swap out the old cached binding.
12442
60af03f1
DL
124432000-01-19 Dave Love <fx@gnu.org>
12444
12445 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12446
f9be074f
KH
124472000-01-18 Kenichi Handa <handa@etl.go.jp>
12448
12449 * regex.c (re_compile_fastmap): While checking a range table for
12450 `charset', skip flag bits for a character class correctly.
12451
52b8dbf9
GM
124522000-01-17 Gerd Moellmann <gerd@gnu.org>
12453
d36100c9
GM
12454 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12455
52283633 12456 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12457
12458 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12459 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12460
12461 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12462 MENU_ITEMS_ITEM_.*.
12463 (MENU_ITEMS_ITEM_HELP): New enumerator.
12464 (push_menu_item): Add parameter HELP. Record help in menu_items.
12465 (single_menu_item, single_submenu, list_of_items): Call
12466 push_menu_item with new parameter.
12467 (single_submenu): Set help string in widget value.
12468 (menu_highlight_callback): New function.
12469 (set_frame_menubar): Call lw_create_widget with new
12470 parameter list.
12471 (xmenu_show, xdialog_show): Ditto.
12472
3139018f
GM
124732000-01-13 Gerd Moellmann <gerd@gnu.org>
12474
12475 * sound.c (Fplay_sound): Improve doc string.
12476
83c8f461
RS
124772000-01-11 Richard M. Stallman <rms@gnu.org>
12478
12479 * lisp.h (set_internal): Enter the new arg.
12480
12481 * eval.c (specbind): Record buffer-local variables specially,
12482 indicating which buffer's binding was saved.
12483 (unbind_to): Restore buffer-local variables specially
12484 in the proper buffer.
12485
12486 * data.c (set_internal): New arg BUF.
427ec082 12487
83c8f461
RS
12488 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12489 * data.c (Fset): Pass new arg to set_internal.
12490 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12491
1fab1775
GM
124922000-01-11 Gerd Moellmann <gerd@gnu.org>
12493
52283633 12494 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12495
83c8f461 124962000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12497
12498 * minibuf.c (Ftry_completion): Doc fix.
12499
7a85e4df
GM
125002000-01-11 Gerd Moellmann <gerd@gnu.org>
12501
12502 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12503 vector, too.
12504
a970dae4
AS
125052000-01-11 Andreas Schwab <schwab@suse.de>
12506
12507 * coding.c (code_convert_region): Initialize total_skip.
12508
c65d14ee
DL
125092000-01-08 Dave Love <fx@gnu.org>
12510
12511 * eval.c (Fuser_variable_p): Check customizability too.
12512
834938d2
GM
125132000-01-07 Gerd Moellmann <gerd@gnu.org>
12514
12515 * minibuf.c (Fcompleting_read): Doc fix.
12516
e0303cd6
GM
125172000-01-05 Gerd Moellmann <gerd@gnu.org>
12518
8a26744b
GM
12519 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12520 -L /usr/local/lib.
12521
e0303cd6
GM
12522 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12523 Check that input style is supported before trying to create an
12524 IC for it.
12525 (x_window): Call x_create_im.
427ec082 12526
2e471eb5
GM
125272000-01-04 Gerd Moellmann <gerd@gnu.org>
12528
560a7bd2
GM
12529 * xfns.c (current_gif_memory_src): New variable.
12530 (gif_load): Record the address of the current memory source
12531 in current_gif_memory_src.
12532 (gif_read_from_memory): Use current_gif_memory_src.
12533
f9ee84a3
GM
12534 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12535 macros statement form.
12536
d1299cde
GM
12537 * sound.c (struct sound): Renamed from struct sound_file.
12538 (struct sound): Add members `data' and `header_size'.
12539 (enum sound_attr): Add SOUND_DATA.
12540 (current_sound, current_sound_device): Variables renamed from
12541 sound_file and sound_device.
12542 (parse_sound): Parse :data.
12543 (parse_sound): Handle sound data in strings.
12544 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12545 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12546 needed header size.
12547 (wav_play, au_play): Play sounds from string data.
12548
2e471eb5
GM
12549 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12550
12551 * lisp.h: Add prototype for allocate_string_data.
12552
52283633 12553 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12554
12555 * alloc.c (mark_buffer): Remove code in #if 0.
12556 (gc_sweep): Ditto.
12557 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12558 (strings_consed): New variable.
12559 (allocate_string): Set it.
12560 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12561 (Fmemory_use_counts): Return strings_consed. Use Flist.
12562
12563 * alloc.c: General cleanup in comments etc. Remove conditional
12564 compilation for `standalone'.
12565
12566 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12567
12568 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12569 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12570 (DONT_COPY_FLAG): Removed.
12571 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12572 (struct sdata, struct sblock): New
12573 (struct string_block): Rewritten.
12574 (STRINGS_IN_STRING_BLOCK): New macro.
12575 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12576 (large_sblocks, string_blocks, string_free_list): New variables.
12577 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12578 (init_strings): Rewritten.
12579 (allocate_string, allocate_string_data, compact_small_strings)
12580 (free_large_strings, sweep_strings): New functions.
12581 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12582 (struct string_block_head, current_string_block)
12583 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12584 (STRING_PAD): Removed.
12585 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12586 (Fgarbage_collect): Don't set mark bit in large strings.
12587 (mark_object): Mark strings differently. Mark symbol names
12588 differently.
12589 (survives_gc_p): Test marked strings differently.
427ec082 12590 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12591 symbol names.
12592 (compact_strings): Removed.
12593
42608ba8
EZ
125942000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12595
12596 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12597 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12598
e0a09e1a
KH
125992000-01-04 Kenichi Handa <handa@etl.go.jp>
12600
dd9f0750 12601 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12602 in a non-empty buffer.
dd9f0750 12603
3c0f3b15 12604 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12605
44cd3ae5
GM
126062000-01-03 Gerd Moellmann <gerd@gnu.org>
12607
12608 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12609 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12610
12611 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12612
c182a70f
EZ
126132000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12614
12615 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12616 need to test for MSDOS frames.
12617
24480d5b
EZ
126182000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12619
12620 * dosfns.c (unspecified_colors): Remove.
12621 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12622 unspecified_bg.
12623 (msdos_stdcolor_name): Return strings for unspecified fore- and
12624 back-ground colors.
12625
12626 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12627 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12628 (tty_color_name): Return Lisp strings for unspecified fore- and
12629 back-ground colors.
12630 (Finternal_set_lisp_face_attribute): Remove the special treatment
12631 for Qunspecified_{f,b}g.
52283633 12632 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12633
047f434a
GM
126342000-01-03 Gerd Moellmann <gerd@gnu.org>
12635
12636 * xdisp.c (reseat_at_next_visible_line_start): Position before
12637 newline only if ending up on a newline.
12638 (next_element_from_ellipsis): Return success. Handle case of
52283633 12639 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12640 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12641 returns 0.
12642
d684c676
EZ
126432000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12644
12645 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12646 (Fcolor_supported_p): Renamed from face-color-supported-p.
12647
5fe1d139
EZ
126482000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12649
12650 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12651 list of colors renamed to tty-defined-color-alist.
12652 (tty_color_name): Pass the frame to tty-color-by-index.
12653 (realize_tty_face): tty-color-alist is now a function which
12654 accepts the frame as argument.
12655
52283633 12656 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12657
816be8b8
EZ
126582000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12659
12660 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12661 encode_terminal_code.
12662
b635321e
EZ
126632000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12664
12665 * dispnew.c (mode_line_string): Support termcap frames as well.
12666
9b784e96
GM
126672000-01-01 Gerd Moellmann <gerd@gnu.org>
12668
27189709
GM
12669 * syntax.c (Fforward_word): Undo previous change.
12670
12671 * editfns.c (Fconstrain_to_field): Don't constrain if
12672 inhibit-field-text-motion is non-nil.
12673 (Fline_beginning_position): Undo previous change.
12674 (Fline_end_position): Ditto.
12675
12676 * syntax.c (Fforward_word): Notice field boundaries only if
12677 inhibit-field-text-motion is nil.
12678
12679 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12680
12681 * editfns.c (Vinhibit_field_text_motion): New variable.
12682 (inhibit-field-text-motion): New DEFVAR_LISP.
12683 (Fline_beginning_position, Fline_end_position): Notice field
12684 boundaries only if inhibit-field-text-motion is nil.
12685
45158a91
GM
12686 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12687 All calls adjusted.
12688 (x_build_heuristic_mask): Likewise.
12689 (xbm_load_image_from_file): Change error output.
12690 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12691 (gif_load, gs_load, x_kill_gs_process): Ditto.
12692
9b784e96
GM
12693 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12694 color indices when accessing raster pixels.
63cec32f
GM
12695 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12696 one of :file or :data.
12697 (enum pbm_keyword_index): Add PBM_DATA.
12698 (pbm_format): Add :data.
12699 (pbm_image_p): Allow either :file or :data.
12700 (pbm_read_file): New function.
12701 (pbm_scan_number): Rewritten to read from string.
12702 (pbm_load): Support :data.
9b784e96 12703
2cb085db 12704See ChangeLog.8 for earlier changes.
6922b018
KH
12705
12706;; Local Variables:
49b3bd82 12707;; coding: iso-2022-7bit
6922b018 12708;; End:
2a34a036
GM
12709
12710 Copyright (C) 2001 Free Software Foundation, Inc.
12711 Copying and distribution of this file, with or without modification,
12712 are permitted provided the copyright notice and this notice are preserved.