*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
CommitLineData
1aad31e4
PJ
12001-10-08 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
2
dff49fc8
PJ
3 * emacs.c (main): Remove extra `;'.
4
248ac615
PJ
5 * atimer.h (struct atimer): Fix typos in a comment.
6
7 * atimer.c: Fix typo.
8
af232c7d
PJ
9 * Makefile.in: Fix typo.
10
11 * README: Remove obsolete part mentioning removed VMS file.
1aad31e4 12
d876f455
MB
132001-10-07 Miles Bader <miles@gnu.org>
14
15 * Makefile.in (lisp, shortlisp): Add `button.elc'.
16
0037e2f2
KR
172001-10-07 Ken Raeburn <raeburn@gnu.org>
18
b056f36d
KR
19 * minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
20 Lisp_Object.
21
0037e2f2
KR
22 * lisp.h (Ffield_end): Declare.
23
1a4372ef
GM
242001-10-07 Gerd Moellmann <gerd@gnu.org>
25
a4a74e8c
GM
26 * keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.
27
28 * insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.
29
30 * floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.
31
32 * dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.
33
1a4372ef
GM
34 * bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
35 (METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.
36
37 * alloc.c (inhibit_garbage_collection): Simplify.
38 (Fmemory_use_counts): Ditto.
39
40 * data.c (most_positive_fixnum, most_negative_fixnum): New
41 variables.
42 (syms_of_data): DEFVAR_INT most-positive-fixnum and
43 most-negative-fixnum.
44
45 * lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
46 (FIXNUM_OVERFLOW_P): New macros.
47
4650e362
MB
482001-10-06 Miles Bader <miles@gnu.org>
49
50 * xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
51 scroll_bar_bottom_shadow_pixel fields.
52 * xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
53 for the shadows, and tell the toolkit about them if we succeed.
54 (x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
55 Free scroll-bar shadow colors.
56 * xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
57 Free scroll-bar shadow colors when the background color changes.
58 (Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
59 Initialize scroll-bar shadow-color fields.
60
ace64e0a
GM
612001-10-05 Gerd Moellmann <gerd@gnu.org>
62
63 * fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.
64
ec66bdc7
MB
652001-10-05 Miles Bader <miles@gnu.org>
66
67 * minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
68 (Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
69 New functions (were in simple.el).
70 (Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
71 (read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
72 (syms_of_minibuf): Initialize them.
73
a0fb4492
GM
742001-10-05 Gerd Moellmann <gerd@gnu.org>
75
76 * xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
77 (tiff_load): Install them as error and warning handler.
78
0bcf87c1
AI
792001-10-04 Andrew Innes <andrewi@gnu.org>
80
81 * w32fns.c (x_to_w32_color): Fix argument to alloca.
82 (w32_load_system_font): Don't believe what GetLanguageFontInfo
83 says; query codepage info directly to determine if font is double
84 byte.
85 (x_to_w32_charset): Handle private format for unknown charsets.
86 Handle wildcards in charset spec, by ignoring them.
87 (w32_codepage_for_font): Fix argument to alloca. Don't remove
88 "*-" prefix from charset.
89 (x_to_w32_font): Enlarge remainder array for safety. Specifically
90 handle the truncated font spec form constructed by font_list_1, so
91 that we correctly identify the charset fields. Don't remove "*-"
92 prefix from charset.
93 (w32_list_synthesized_fonts): Fix argument to alloca.
94
c89e4bc5
GM
952001-10-04 Stefan Monnier <monnier@cs.yale.edu>
96
97 * window.h (MINI_WINDOW_P): Use NILP.
98
99 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.
100
101 * termhooks.h (struct input_event): Use proper type for `kind'.
102
1032001-10-04 Gerd Moellmann <gerd@gnu.org>
104
105 This handles unknown keysyms better than before. For example,
106 after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
107 Emacs formerly completely ignored F5. With the change, it derives
108 a key symbol from the name of the X keysym, `ccaron' in this case.
109 Reported by Martin Buchholz.
110
111 * xterm.c (XTread_socket): Return a non_ascii_keystroke for
112 unknown keysyms.
113
114 * keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
115 that EVENT->code isn't a function key, use the keysym's name.
116
1172001-10-04 Gerd Moellmann <gerd@gnu.org>
118
119 FOREACH is a macro that should make it easier to loop over Lisp
120 lists with checks for cycles and proper lists.
121
122 * lisp.h (LIST_END_P, FOREACH): New macros.
123
1242001-10-04 Gerd Moellmann <gerd@gnu.org>
125
126 On some systems, XtCloseDisplay seems to cause a SIGSEGV when
127 called for a lost connection. Prevent dumping core in this case.
128 Instead print the X error, and exit. On user request.
129
130 * xterm.c (error_msg): New variable.
131 (x_fatal_error_signal): New function.
132 (x_connection_closed): Set error_msg. Install x_fatal_error_signal
133 as fatal_error_signal_hook around the call to XtCloseDisplay.
134
135 * emacs.c (fatal_error_signal_hook): New variable.
136 (fatal_error_signal): Call that function.
137
1382001-10-04 Gerd Moellmann <gerd@gnu.org>
139
140 With this, Emacs prints how much pure storage it will
141 approximately need in case pure storage overflows while dumping.
142
143 * alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
144 New variables.
145 (init_alloc_once): Initialize new variables.
146 (PURE_POINTER_P): Use new variables.
147 (pure_alloc): If pure storage overflows, allocate from the heap.
148 (check_pure_size): New function.
149 (Fgarbage_collect): Don't GC if pure storage has overflowed.
150
151 * lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
152 (check_pure_size): Add prototype.
153
154 * emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.
155
1562001-10-04 Gerd Moellmann <gerd@gnu.org>
157
158 This adds a post-gc-hook that's run with GC inhibited.
159 Requested by Francois Pinard. XEmacs has it. Added to NEWS.
160
161 * alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
162 (syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
163 (Fgarbage_collect): Run post-gc-hook.
164
1652001-10-04 Gerd Moellmann <gerd@gnu.org>
166
167 This adds `defvaralias' and `indirect-variable'. Changes not
168 directly related to this feature are there to gain the same
169 performance again as before variable aliases.
170
171 You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
172 code to get and set symbol values, to take defvaralias into account.
173
174 (Note: the new `constant' bit-flag in symbols would make it
175 possible to define arbitrary read-only variables, e.g. with
176 `defconst'.)
177
178 Documentation is in lispref/variables.texi. Added to NEWS.
179
180 * lisp.h (enum symbol_interned): New enumeration.
181 (struct Lisp_Symbol): Remove member `obarray', add
182 `indirect_variable', `constant', and `interned'.
183 (SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
184 (SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
185 (indirect_variable): Add prototype.
186
187 * print.c (print_preprocess, print_object): Test internedness of
188 symbols differently.
189
190 * lread.c (Fintern, Funintern): Set symbol's interned and constant
191 bit-fields.
192 (init_obarray): Likewise for t and nil.
193
194 * eval.c Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
195 (Fdefvaralias): New function.
196 (specbind): Simplify the test if symbol is a constant.
197 (syms_of_eval): Defsubr Fdefvaralias.
198
199 * data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
200 (Qcyclic_variable_indirection): New variable.
201 (Fkeywordp): Check for internedness differently.
202 (Fmakunbound): Simplify the test if symbol is a constant.
203 (indirect_variable, Findirect_variable): New functions.
204 (swap_in_symval_forwarding): If SYMBOL is an alias, use the
205 aliased symbol.
206 (let_shadows_buffer_binding_p): Check for variable aliases.
207 (set_internal): Simplify the test if SYMBOL is a constant.
208 If SYMBOL has a buffer-local value and is an alias, use the aliased
209 symbol instead.
210 (syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
211 Sindirect_variable.
212
213 * bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
214 (Fbyte_code) <varset>: Simplify the test if symbol's value can be
215 set directly.
216
217 * alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.
218
219 * abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
220 * minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
221 SET_SYMBOL_VALUE macros instead of accessing symbol values directly.
222
ba88ff28
MB
2232001-10-03 Miles Bader <miles@gnu.org>
224
225 * callproc.c (syms_of_callproc): Explicitly state in the
226 documentation for `process-environment' that earlier entries take
227 precedence over later ones.
228
ae1a9581
MB
2292001-10-02 Miles Bader <miles@gnu.org>
230
231 * textprop.c (Fnext_char_property_change)
232 (Fprevious_char_property_change): Remove reference to non-existant
233 argument OBJECT from doc-string.
234
257e3f57
GM
2352001-10-01 Gerd Moellmann <gerd@gnu.org>
236
237 * xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
238 (try_window_id): Skip back over lines ending in a newline from a
239 string.
240
241 * dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
242 New bit flag
243
c1f29759
RS
2442001-10-01 Richard M. Stallman <rms@gnu.org>
245
246 * search.c (Freplace_match): Doc fix.
247
c30dce3d
AI
2482001-09-28 Andrew Innes <andrewi@gnu.org>
249
250 * w32menu.c (set_frame_menubar): Take into account that
251 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
252 <raeburn@gnu.org>.
253
03be5931
EZ
2542001-09-30 Eli Zaretskii <eliz@is.elta.co.il>
255
256 * frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.
257
75bec752
PJ
2582001-09-28 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
259
260 * s/gnu-linux.h: Fix a typo in comment.
261
83100e0a
AS
2622001-09-28 Andreas Schwab <schwab@suse.de>
263
264 * s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
265 nocombreloc, in case -z combreloc is the default.
266
a74b48cf
GM
2672001-09-28 Gerd Moellmann <gerd@gnu.org>
268
269 * m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
270 really going on here.
271
09c4719e
SM
2722001-09-27 Stefan Monnier <monnier@cs.yale.edu>
273
274 * search.c (trivial_regexp_p): Catch \{N,M\} as well.
275
f7d5d963
EZ
2762001-09-27 Eli Zaretskii <eliz@is.elta.co.il>
277
278 * Makefile.in (shortlisp): Resync with loadup.el: add backquote,
279 utf-8, menu-bar, and latin-N.
280 (SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
281 unconditionally now.
282 (lisp): Add latin-N, since they are preloaded.
283
9240e746
GM
2842001-09-27 Gerd Moellmann <gerd@gnu.org>
285
14531065
GM
286 * xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
287 to the left. Some cleanup.
288
9240e746
GM
289 * xdisp.c (display_mode_element): One more case where a string's
290 multibyteness should be used for display.
291
edd1e654
GM
2922001-09-26 Gerd Moellmann <gerd@gnu.org>
293
b02439c8
GM
294 * fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
295 reading at EOF.
296
032906b1 297 * xdisp.c (with_echo_area_buffer): Use echo_kboard instead
5b397024 298 of the only temporarily set echoing flag for deciding when
032906b1
GM
299 the cancel echoing.
300
301 * keyboard.c (echo_kboard): Make externally visible.
302
303 * lisp.h (echo_kboard): Declare extern.
304
cb617e7c 305 * xdisp.c (make_cursor_line_fully_visible): Return 0 and set
5b397024 306 fonts_changed_p if we need larger matrices due to vscrolling.
cb617e7c
GM
307 (try_scrolling, try_cursor_movement, redisplay_window): Give up on
308 this round of redisplay if make_cursor_line_fully_visible fails.
309 (CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
09c4719e 310 (try_cursor_movement, try_scrolling): Use them instead of integers.
cb617e7c
GM
311
312 * dispextern.h (required_matrix_width, required_matrix_height):
313 Add prototypes.
314
09c4719e
SM
315 * dispnew.c (required_matrix_width, required_matrix_height):
316 New functions.
cb617e7c 317 (allocate_matrices_for_window_redisplay)
09c4719e
SM
318 (allocate_matrices_for_frame_redisplay: Use them.
319 Remove parameters CH_DIM.
cb617e7c 320
edd1e654
GM
321 * xdisp.c (display_mode_lines): Temporarily set selected_frame
322 and selected_window to the frame of the window whose mode-lines
323 are displayed, and to the window itself.
324 (redisplay_window, redisplay_mode_lines): Don't set selected_frame
09c4719e 325 here.
edd1e654 326
924b604c
GM
3272001-09-25 Gerd Moellmann <gerd@gnu.org>
328
daba7643
GM
329 * xfns.c (x_kill_gs_process): Recognize if someone has cleared
330 the image cache under us.
331
b7a22712 332 * xdisp.c (display_mode_element): If the mode element is a symbol
09c4719e 333 with a string value, use that string's multibyteness for displaying.
b7a22712 334
ad648212
GM
335 * keyboard.c (read_char): Don't clear a message for a switch-frame
336 event. From Stefan Monnier <monnier@cs.yale.edu>.
337
9f8531e5
GM
338 * xterm.c (fast_find_position) [0]: Add a presumably more correct
339 version for after 21.1.
340
341 * xdisp.c (row_containing_pos): Make externally visible.
342
343 * dispextern.h (row_containing_pos): Add prototype.
344
924b604c
GM
345 * process.c (send_process): Disable composition if from_byte < 0.
346 From Kenichi Handa <handa@etl.go.jp>.
347
6f3f0db4
GM
3482001-09-24 Gerd Moellmann <gerd@gnu.org>
349
c69c0ebc
GM
350 * xterm.c (refreshicon): Function removed.
351
d1182bc4
GM
352 * Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.
353
354 * sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.
355
356 * xterm.c (toplevel): Remove includes in #if 0.
357
6f3f0db4
GM
358 * process.c (sigchld_handler) [LINUX]: Don't return from
359 the signal handler at the end of the loop.
360
59957f85
GM
3612001-09-21 Gerd Moellmann <gerd@gnu.org>
362
09c4719e
SM
363 * sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
364 Terminate only if kill returns -1, and errno is ESRCH.
59957f85 365
a0528984
EZ
3662001-09-21 Markus Rost <rost@math.ohio-state.edu>
367
368 * Makefile.in (shortlisp): Add ../lisp/env.elc.
369
db92b288
GM
3702001-09-20 Gerd Moellmann <gerd@gnu.org>
371
3fed8ad5
GM
372 * process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
373 since this function can be called during GC.
374
db92b288
GM
375 * callproc.c (Fcall_process): Handle errors from pipe(2).
376 (child_setup): Delete code in #ifdef vipc.
377
7121b85a
GM
3782001-09-19 Gerd Moellmann <gerd@gnu.org>
379
72f62cb5
GM
380 * xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
381 (display_mode_element): Display the string from decode_mode_spec
382 depending on its multibyteness.
383
a2697022
GM
384 * s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.
385
7121b85a
GM
386 * m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.
387
bfc97351
GM
3882001-09-18 Gerd Moellmann <gerd@gnu.org>
389
c9063433
GM
390 * keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
391 recursive_edit_unwind.
392 (recursive_edit_unwind): Set kboard state according to
393 SINGLE-KBOARD.
394
3fbdba3e
GM
395 * buffer.c (modify_overlay): Don't do nothing if START == END;
396 This can still be a modification, for example when an overlay has
397 a before-string or after-string.
398 (Fdelete_overlay): Prevent redisplay optimizations when deleting
399 an overlay with before-string or after-string.
400
1270031d
GM
401 * s/netbsd.h (C_SWITCH_SYSTEM): Add.
402 (LD_SWITCH_SYSTEM): Include /usr/local/lib.
403
bfc97351
GM
404 * xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
405 first_unchanged_at_end_row is in front of
406 last_unchanged_at_beg_row. This code should be removed after the
407 release of 21.1.
408
d8a973aa
GM
4092001-09-17 Gerd Moellmann <gerd@gnu.org>
410
e18c8b8d
GM
411 * buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
412 BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.
413
d8a973aa
GM
414 * m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
415 versions >= 2.95.
416
ed7d6ba4
EZ
4172001-09-14 Eli Zaretskii <eliz@is.elta.co.il>
418
419 * dired.c (Ffile_attributes): Doc fix.
420
551629f9
GM
4212001-09-14 Gerd Moellmann <gerd@gnu.org>
422
423 * fileio.c (Ffile_symlink_p): Fix last change.
424
425 * filelock.c (current_lock_owner): Fix last change.
426
4c8c7926
GM
4272001-09-13 Gerd Moellmann <gerd@gnu.org>
428
620c4704
GM
429 * filelock.c (current_lock_owner): If readlink returns ERANGE,
430 take that to mean that the buffer is too small.
431
81c3310d
GM
432 * fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
433 that to mean that the buffer is too small.
434
06fd3792
GM
435 * xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
436 current buffer's multibyteness when discarding the iterator's
437 stack.
438
4c8c7926
GM
439 * xfns.c (Fx_window_property): Handle case that property gets
440 deleted between the two calls to XGetWindowProperty.
441
9a72e4c1
GM
4422001-09-11 Gerd Moellmann <gerd@gnu.org>
443
bd819d14
GM
444 * minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.
445
a41edd99
GM
446 * minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
447 in addition to read-only.
448
449 * xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
450 to t in addition to read-only.
451
452 * lisp.h (Qinhibit_modification_hooks): Declare.
453
454 * insdel.c (Qinhibit_modification_hooks): New variable.
455 (syms_of_insdel): Initialize and staticpro it.
456
d4881c6a
GM
457 * textprop.c (verify_interval_modification): Don't run
458 modification-hooks if inhibit_modification_hooks.
459
460 * dispnew.c (set_window_cursor_after_update): Fix code
461 finding glyph row containing cursor when cursor_in_echo_area
462 is >= 0.
463
9a72e4c1
GM
464 * xdisp.c (init_from_display_pos): Put some code in #if 0.
465 (add_to_log): Use bcopy instead of strcpy.
466 (init_from_display_pos): Use an explicit loop over bytes in
467 overlay strings instead of calling index.
468
f4a374a1
GM
4692001-09-10 Gerd Moellmann <gerd@gnu.org>
470
300e57bd
GM
471 * alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.
472
473 * dispnew.c (direct_output_for_insert): Don't change IT's
474 stop_charpos to something in front of its current position.
475
f4a374a1
GM
476 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
477 `format'.
478
7e4cbc91
RS
4792001-09-10 Richard M. Stallman <rms@gnu.org>
480
481 * frame.c (Fmouse_position): Doc fix.
482
6afad91e
GM
4832001-09-07 Gerd Moellmann <gerd@gnu.org>
484
485 * xdisp.c (init_from_display_pos): Don't compare the result
486 of calling index with NULL.
487
f76e0368
GM
4882001-09-06 Gerd Moellmann <gerd@gnu.org>
489
490 * xfns.c (x_set_background_color): Don't change the colors
491 of the X window of scroll bar widgets.
492
9ead1b60
AI
4932001-09-05 Andrew Innes <andrewi@gnu.org>
494
495 * w32fns.c (w32_createwindow): Undo last change.
496
c3b497b3
GM
4972001-09-05 Gerd Moellmann <gerd@gnu.org>
498
08e1d6df
GM
499 * macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.
500
c3b497b3
GM
501 * xdisp.c (string_buffer_position): Use *single_char_property*
502 functions instead of the *single_property* functions.
503
8f860180
AI
5042001-09-04 Andrew Innes <andrewi@gnu.org>
505
9a72e4c1
GM
506 * w32term.c (w32_read_socket): Add more information to debugging
507 output.
8f860180
AI
508
509 * w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
510 from Emacs frames, so that calls to GetClipBox in w32term.c
511 correctly report when part of a frame is visible (including
512 scrollbars, etc). This prevents repeated redrawing of frames when
513 only a scrollbar is visible.
514 (w32_wnd_proc): Add more frame information to debugging output.
515
2ee1aa00
SM
5162001-09-03 Stefan Monnier <monnier@cs.yale.edu>
517
518 * xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.
519
e3b22517
GM
5202001-09-03 Gerd Moellmann <gerd@gnu.org>
521
7e376260
GM
522 * xterm.c (note_mouse_highlight) <help-echo>: When looking for
523 help-echo for a string which doesn't have help-echo itself, use
524 get-char-property to obtain the help-echo from the string's buffer
525 (note_mouse_highlight) <mouse-face>: When on a string that doesn't
526 have mouse-face, look ``under'' the string for mouse-face from an
527 overlay.
528 (fast_find_position): Add parameter STOP. In the final row, stop
529 before glyphs having STOP as object. Don't consider glyphs that
530 are not from a buffer.
531
e3b22517
GM
532 * buffer.c (syms_of_buffer) <default-directory>: Doc fix.
533
9a249bba
EZ
5342001-09-01 Eli Zaretskii <eliz@is.elta.co.il>
535
536 * fns.c (Fmd5): Doc fix.
537
c9979669
GM
5382001-08-31 Gerd Moellmann <gerd@gnu.org>
539
540 * composite.c (update_compositions): Do nothing if
541 inhibit-modification-hooks is set.
542
9584e63a
GM
5432001-08-30 Gerd Moellmann <gerd@gnu.org>
544
986ec8f2 545 * emacs.c (shut_down_emacs): Don't call check_glyph_memory
490468dc 546 and check_message_stack if terminating abnormally. We want
986ec8f2
GM
547 glyph matrices etc. in a core dump.
548
92a25631
GM
549 * xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
550 (syms_of_xdisp): Initialize them.
551 (handle_single_display_prop): Don't change point, bind `object',
552 `position', and `buffer-position' instead to the object having the
2ee1aa00 553 `display' property, position in the object and position in the buffer.
92a25631 554
9584e63a
GM
555 * fileio.c (Finsert_file_contents): Don't change the multibyteness
556 of the buffer if REPLACE is non-nil.
557
d38633a3
GM
5582001-08-29 Gerd Moellmann <gerd@gnu.org>
559
560 * fileio.c (Finsert_file_contents): Undo change of 2001-08-27.
561
f4fccc1e
EZ
5622001-08-28 Eli Zaretskii <eliz@is.elta.co.il>
563
564 * w32term.c (x_set_glyph_string_background_width)
565 (show_mouse_face): Track the last changes in xterm.c.
566
eaaa65b0
GM
5672001-08-28 Gerd Moellmann <gerd@gnu.org>
568
7b0870b2
GM
569 * xterm.c (x_set_glyph_string_background_width): Set the glyph
570 string's background width so that multi-line mouse-face is drawn
571 to the right edge of the window.
572 (show_mouse_face): Set the row's mouse_face_p flag after drawing
573 glyphs.
574
6b6e2422 575 * dispnew.c (direct_output_for_insert): Set updated_area
5b52c296 576 before inserting/writing glyphs.
6b6e2422 577
eaaa65b0
GM
578 * xdisp.c (display_mode_element): Use string_byte_to_char to
579 determine character positions in strings, use chars_in_text
580 instead of strwidth.
581 (dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
582 a matrix as parameter; this is easier to use from GDB.
583
9ad62cf8
MB
5842001-08-28 Miles Bader <miles@gnu.org>
585
2ee1aa00
SM
586 * textprop.c (Fprevious_single_char_property_change)
587 (Fnext_single_char_property_change): Doc fixes.
9ad62cf8 588
32171635
GM
5892001-08-27 Gerd Moellmann <gerd@gnu.org>
590
47d57b22
GM
591 * fileio.c (Finsert_file_contents): Allocate, restore, and
592 free composition data in the case of REPLACE not being nil.
593
594 * xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
595 there exist overlay strings with newlines at POS.
596 (text_outside_line_unchanged_p): Return 0 if changes start at
597 START and overlays exist at START. Likewise for END.
598 (try_window_id): Give up if init_to_row_end returns 0.
599
32171635
GM
600 * fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
601 unconditionally.
602
e1249666
GM
6032001-08-24 Gerd Moellmann <gerd@gnu.org>
604
33954c45
GM
605 * keymap.c (access_keymap): Return the cdr of the binding of
606 a generic character instead of its definition (KEY . BINDING).
607
e1249666
GM
608 * fileio.c (Finsert_file_contents): Set coding's dest_multibyte
609 to 0 also in the REPLACE case.
610
fb4c6c96
AC
6112001-08-24 Andrew Choi <akochoi@cse.cuhk.edu.hk>
612
613 * fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
614 open to determine whether file is readable (as for DOS_NT).
615
59ecf80b
GM
6162001-08-23 Gerd Moellmann <gerd@gnu.org>
617
618 * fileio.c (Finsert_file_contents): If VISIT is non-nil, and
619 coding.type is coding_type_no_conversion or coding_type_raw_text,
620 use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
621 non-nil instead of just setting enable_multibyte_characters in the
622 buffer to nil.
623
40e33037
GM
6242001-08-22 Gerd Moellmann <gerd@gnu.org>
625
374388c3
GM
626 * dispextern.h (struct face_cache): Add member
627 menu_face_changed_p.
628
629 * xfaces.c (menu_face_changed_default): New variable.
630 (menu_face_changed_count): Variable removed.
631 (Finternal_set_lisp_face_attribute): Doc fix. If FRAME is t, set
632 the menu_face_changed_default flag, otherwise set the FRAME's
633 menu_face_changed_p flag if the `menu' face has been changed.
634 Prevent calling set_font_frame_param if FRAME is t.
635 (make_face_cache): Initialize cache's menu_face_changed_p
636 from menu_face_changed_default.
637 (realize_basic_faces): Look into the frame's face cache to
638 determine if the menu appearance needs updating.
639
40e33037
GM
640 * keymap.c (access_keymap): Fix last change to not consider
641 IDX when it has modifiers.
642
859ea4b8
GM
6432001-08-21 Gerd Moellmann <gerd@gnu.org>
644
645 * keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
646 . BINDING) exists, where GENERIC-CHAR is the generic character of
647 the charset of IDX, return BINDING unless there exists a binding
648 for IDX itself.
649
e8660d73
GM
6502001-08-16 Gerd Moellmann <gerd@gnu.org>
651
cca1b1d7
GM
652 * xrdb.c (SYSV): Don't define on Solaris 2.
653 From Rainer Orth <ro@TechFak.Uni-Bielefeld.DE>.
654
e8660d73 655 * xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
2ee1aa00 656 of the screen line, not text line, containing IT's current position.
e8660d73 657
93aba6fc
GM
6582001-08-15 Gerd Moellmann <gerd@gnu.org>
659
288d4e06
GM
660 * window.c (window_scroll_pixel_based): Don't recenter if
661 PT is partially visible in the window.
662
3452efc2
SM
663 * xterm.c (expose_window_tree, expose_window, expose_line):
664 Return 1 when overwriting mouse-face.
82f053ab
GM
665 (expose_frame): If mouse-face was overwritten, redo it.
666
93aba6fc
GM
667 * xfaces.c (x_update_menu_appearance): Don't call
668 set_frame_menubar, let the next redisplay do it.
669
858a55c1
AI
6702001-08-14 Andrew Innes <andrewi@gnu.org>
671
672 * w32term.c (x_draw_glyph_string): Draw relief (if any) before
673 drawing glyph string.
674
3a990b67
EZ
6752001-08-14 Eli Zaretskii <eliz@is.elta.co.il>
676
677 * s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
678 running HI-UX/MPP.
679
04386463
GM
6802001-08-14 Gerd Moellmann <gerd@gnu.org>
681
682 * xfaces.c (x_update_menu_appearance): Save and restore value of
683 interrupt_input_blocked.
684
3e6385a4
GM
6852001-08-13 Gerd Moellmann <gerd@gnu.org>
686
b0e619b4
GM
687 * xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
688 a line start, move back to the line start.
3452efc2 689
0de73d5a
GM
690 * xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
691 exactly when a mini-buffer is active.
692
3e6385a4
GM
693 * keyboard.c (make_lispy_event): Interpret double_click_fuzz
694 in units of 1/8 character on non window-system frames.
695 (syms_of_keyboard) <double-click-fuzz>: Doc fix.
696
d1b5f629
EZ
6972001-08-10 Eli Zaretskii <eliz@is.elta.co.il>
698
699 * keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
700 a doc string.
701
eaa2319f
GM
7022001-08-09 Gerd Moellmann <gerd@gnu.org>
703
8e3189f0
GM
704 * keyboard.c (Vpre_help_message): New variable.
705 (syms_of_keyboard): Initialize and staticpro it.
706 (show_help_echo): Record current message before displaying a
707 help-echo, and restore that message when clearing the help.
708
eaa2319f
GM
709 * xfns.c (x_create_im): Remove prototype.
710
711 * xdisp.c (mark_window_display_accurate_1): Remove an assertion.
712
713 * dispnew.c (adjust_glyph_matrix): Undo last change.
3452efc2 714
eaa2319f
GM
7152001-08-08 Gerd Moellmann <gerd@gnu.org>
716
717 * dispnew.c (adjust_glyph_matrix): In the optimization for
3452efc2 718 windows whose height has changed, disable partially visible lines.
eaa2319f 719
17fdcfc8
GM
7202001-08-07 Gerd Moellmann <gerd@gnu.org>
721
22d01aed 722 * window.c (Frecenter): If ARG < 0, and on a window system
3452efc2 723 frame, count in some empty lines when we can't move -ARG lines down.
22d01aed 724
17fdcfc8
GM
725 * xdisp.c (start_display): Don't try to determine the continuation
726 lines width if lines are truncated. It's superfluous and leads to
727 incorrect results if POS is not visible in the window after
728 reseating the iterator at the previous line start.
729
8e3fe78e
GM
7302001-08-06 Gerd Moellmann <gerd@gnu.org>
731
732 * xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.
733
98a8938c
GM
7342001-08-06 Pavel Jan\e,Bm\e(Bk <Pavel@Janik.cz>
735
736 * alloc.c (init_stack): Remove declaration.
737
18f9986a
GM
7382001-08-03 Gerd Moellmann <gerd@gnu.org>
739
5e1f85e0
GM
740 * keyboard.c (read_key_sequence): Check that key is an integer
741 before comparing it with quit_char.
742 (add_command_key): Use larger_vector.
743 (read_char_x_menu_prompt): Instead of converting symbol and
744 integer events into conses (EVENT . nil), use (EVENT . disabled)
3638868e 745 which cannot be confused with valid events.
5e1f85e0
GM
746 (read_char): When reading from Vunread_command_events, check for
747 events of the form (EVENT . disabled) instead of
748 (EVENT . nil).
749
18f9986a
GM
750 * xdisp.c (resize_mini_window): If Vmax_mini_window_height is
751 a float, determine the max height from the frame's height.
752
fbc7f2a6
GM
7532001-08-02 Gerd Moellmann <gerd@gnu.org>
754
755 * xdisp.c (redisplay_internal): Take message_cleared_p into
756 account only if minibuf_level == 0.
757
81b1a79d
GM
7582001-08-01 Gerd Moellmann <gerd@gnu.org>
759
e5c60873
GM
760 * xdisp.c (redisplay_internal): Add a check for the last
761 displayed message.
3452efc2 762
6e019995
GM
763 * xdisp.c (message_cleared_p): New variable.
764 (clear_message): Set message_cleared_p when clearing the current
765 message.
766 (redisplay_internal): Look at message_cleared_p to capture
767 the case that the echo area should be cleared.
768
308a74d8
GM
769 * keyboard.c (command_loop_1): Fix spelling of
770 resize_echo_area_exactly.
771
3452efc2 772 * dispextern.h (resize_echo_area_exactly): Fix typo in function name.
308a74d8
GM
773
774 * xdisp.c (resize_echo_area_exactly): Fix typo in function name.
775
81b1a79d
GM
776 * xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
777 current matrix when the window gets smaller.
778
ada329e6
EZ
7792001-08-01 Eli Zaretskii <eliz@is.elta.co.il>
780
781 * print.c (strout): Cast the character passed to insert_char to
782 unsigned char, to avoid sign extension when it is promoted to int.
783
ed86208c
GM
7842001-07-31 Gerd Moellmann <gerd@gnu.org>
785
786 * fileio.c (Finsert_file_contents): Don't treat a return value
787 of 0 from emacs_read as an IO error.
788
6594ac22
GM
7892001-07-30 Gerd Moellmann <gerd@gnu.org>
790
cef68af5
GM
791 * keyboard.c (abs): New macro.
792 (double_click_fuzz): New variable.
793 (make_lispy_event): Use it to determine what makes a double-click.
794 (syms_of_keyboard): DEFVAR_INT it.
795
6594ac22
GM
796 * xmenu.c (set_frame_menubar): Take into account that
797 f->menu_bar_vector can be nil, and not a vector. From Ken Raeburn
798 <raeburn@gnu.org>.
799
75c5350a
GM
8002001-07-27 Gerd Moellmann <gerd@gnu.org>
801
802 * xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.
803
804 * dispnew.c (shift_glyph_matrix, blank_row): Fix computation
805 of row's visible height.
806
807 * xdisp.c (init_from_display_pos): If POS is in an overlay string,
3452efc2
SM
808 deal with the first overlay string having an image `display' property.
809 (try_window_reusing_current_matrix, compute_line_metrics):
810 Fix computation of row's visible height for the case that part of the
75c5350a
GM
811 row is invisible above and part of the row is at the same time
812 invisible below the window.
813
ac49effe
GM
8142001-07-26 Gerd Moellmann <gerd@gnu.org>
815
816 * xfns.c (x-show-tip): Doc fix.
3452efc2 817
ac49effe
GM
818 * xfns.c (Vx_max_tooltip_size): New variable.
819 (syms_of_xfns): DEFVAR_LISP it.
820 (Fx_show_tip): Set frame's window_width to the width of the
821 window. Use a maximum tooltip size specified by
822 Vx_max_tooltip_size, if that has valid contents.
823 (x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.
3452efc2 824
8c3b00cb
AI
8252001-07-26 Andrew Innes <andrewi@gnu.org>
826
827 * w32term.c (x_display_list): New variable.
828 (w32_term_init): Set it.
829
830 * w32term.h (x_display_list): New extern.
831
16098288
GM
8322001-07-26 Gerd Moellmann <gerd@gnu.org>
833
834 * xdisp.c (resize_mini_window): Give up when inhibit-redisplay
3452efc2
SM
835 is non-nil, instead of when redisplaying_p is non-zero.
836 See comment there.
16098288
GM
837 (mark_window_display_accurate_1): Add an assertion.
838
64c5be50
GM
8392001-07-25 Gerd Moellmann <gerd@gnu.org>
840
e743f599
GM
841 * dispextern.h (struct it): Increase size of ctl_chars to 16.
842
563b384d
GM
843 * xfns.c (Fx_file_dialog): Block/unblock input while processing
844 events so that we get a chance of processing expose events.
845
64c5be50
GM
846 * xdisp.c (resize_mini_window): Don't resize while redisplaying.
847
296808a5
GM
8482001-07-24 Gerd Moellmann <gerd@gnu.org>
849
850 * xfns.c (valid_image_p): Protect better against invalid image
851 specifications. Previous code could signal an error.
852
5247262a
GM
8532001-07-23 Gerd Moellmann <gerd@gnu.org>
854
3452efc2 855 * indent.c (current_column): Fix column computation in the
f1004faf
GM
856 presence of display table entries.
857 (current_column_1, Fmove_to_column, compute_motion): Likewise.
858
dd42b31a
GM
859 * dispnew.c (adjust_glyph_matrix): In the optimization for
860 windows whose height has changed, use the new window height
861 to compute which rows to invalidate.
862
9e5a7f2a
GM
863 * editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
864 (MAX_10_EXP): New macro.
865 (Fformat): Use it.
866
5247262a
GM
867 * coding.c (code_convert_region): Handle the multibyte case if
868 decoding ends with CODING_FINISH_INSUFFICIENT_SRC.
869
177ab8ce
GM
8702001-07-20 Gerd Moellmann <gerd@gnu.org>
871
6e07c0a5
GM
872 * dispextern.h (struct face): Change type of `stipple' to
873 int; it's an ID.
874
177ab8ce
GM
875 * xterm.c (x_fill_stretch_glyph_string): Remove an assertion.
876
b5b80599
GM
8772001-07-19 Gerd Moellmann <gerd@gnu.org>
878
4e2a256b
GM
879 * dispnew.c (update_window): Don't set the cursor at the end
880 of the update if display update has been paused.
881
3452efc2 882 * composite.h (syms_of_composite): Renamed from syms_of_composition.
b5b80599 883
c1fd9232
KR
8842001-07-18 Ken Raeburn <raeburn@gnu.org>
885
886 * fns.c (Fset_char_table_default): Check that a charset is defined
887 before checking its dimension.
888
928a85c1
KR
8892001-07-17 Ken Raeburn <raeburn@gnu.org>
890
891 * coding.c (setup_coding_system): Don't do any designation based
892 on reg_bits if charset is not yet defined.
893
fb4c6c96 894 * lisp.h (XVECTOR): Verify correct object type before returning a
232e274c
KR
895 pointer, using eassert.
896
de11c1ea
GM
8972001-07-17 Gerd Moellmann <gerd@gnu.org>
898
3452efc2
SM
899 * keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
900 Increase to 4096 because of paste problems reported on GNU/Linux.
de11c1ea 901
467f1209
GM
9022001-07-17 Jan Nieuwenhuizen <janneke@gnu.org>
903
904 * emacs.c (USAGE1): Add +LINE:COLUMN option help.
905
c3d6be34
GM
9062001-07-16 Gerd Moellmann <gerd@gnu.org>
907
c1d61a7d
GM
908 * fileio.c (unwind_read): Function removed.
909 (read_non_regular, read_non_regular_quit): New functions.
910 (Finsert_file_contents): When reading from non-regular files,
911 arrange to catch a `quit' and terminate the loop. Rearrange
912 code so that a `quit' when reading from a regular file doesn't
913 insert text in the buffer.
914
c3d6be34
GM
915 * xfaces.c (clear_face_cache): Clear fonts on a display basis.
916 Clear faces afterwards.
917 (clear_font_table): Take a x_display_info parameter. Don't free
918 fonts being the default font of any frame on the given display.
919
e06aa1f9
GM
9202001-07-13 Gerd Moellmann <gerd@gnu.org>
921
922 * xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
923 instead of CHAR_STRING which can signal an error.
924
925 * charset.c (char_to_string_1): Extracted from char_to_string.
926 Return -1 instead of signaling an error.
927 (char_to_string): Use it.
928
929 * charset.h (CHAR_STRING_NO_SIGNAL): New macro.
930
176c92e6
SM
9312001-07-12 Stefan Monnier <monnier@cs.yale.edu>
932
933 * coding.c (Ffind_coding_systems_region_internal): If safe_codings
934 is t, don't try to append anything to it.
935
1c56232f
EZ
9362001-07-12 Eli Zaretskii <eliz@is.elta.co.il>
937
938 * dired.c (file_name_completion): Pass dp->d_name to
939 Fstring_match, not elt, which is always nil here.
940
1d2b2268
GM
9412001-07-12 Gerd Moellmann <gerd@gnu.org>
942
943 * xselect.c (x_decline_selection_request): Handle errors
944 caused by receivers that have vanished.
945
946 * xterm.c (XTread_socket) <PropertyNotify>: Put the code
947 ignoring events on foreign windows in #if 0. Always dispatch
948 the event after checking it with x_handle_property_notify.
949
950 * xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
176c92e6
SM
951 depending on TRACE_SELECTION. Replace fprintfs in #if 0 with
952 TRACE macros to facilitate debugging. Add additional trace statements.
1d2b2268
GM
953 (toplevel): Add prototypes for file-local functions.
954 (x_atom_to_symbol): Remove DPYINFO parameter.
955
fe5a0162
SM
9562001-07-11 Stefan Monnier <monnier@cs.yale.edu>
957
958 * w32menu.c (menubar_selection_callback, w32_menu_show):
959 Initialize `entry' to nil.
960 (w32_dialog_show): Remove unused `save_wv' variable.
961 (name_is_separator): Recognize "--:foo" and "--foo-bar".
962
a777242c
GM
9632001-07-11 Gerd Moellmann <gerd@gnu.org>
964
8ee5b6a3
GM
965 * xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.
966
d0e2444e
GM
967 * fileio.c (unwind_read): Print a message when discarding inserted
968 text or switching the buffer to unibyte. Change parameter.
969 (Finsert_file_contents): Don't pass VISIT to unwind_read.
fe5a0162 970
a777242c
GM
971 * fileio.c (unwind_read): New function.
972 (Finsert_file_contents): Record it as unwind-function for
973 the case that reading is interrupted by C-g.
974
ae794295
GM
9752001-07-10 Gerd Moellmann <gerd@gnu.org>
976
fe5a0162 977 * dispnew.c (update_window): Don't skip the header-line
58f8612a
GM
978 update when scrolling_window returns 0.
979
6b05fae3
GM
980 * xfaces.c (unload_color): Do nothing if PIXEL is -1.
981
982 * xfns.c (Fx_create_frame): Initialize frame colors to -1,
58f8612a 983 for the case that x_decode_color signals an error.
6b05fae3 984
ae794295
GM
985 * xdisp.c (add_to_log): Do nothing if called asynchronously.
986
bb6e8cee
GM
9872001-07-09 Gerd Moellmann <gerd@gnu.org>
988
989 * sound.c (toplevel): Include <signal.h> and "syssignal.h".
990 (vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
991 around ioctls.
992
36b40a8a
EZ
9932001-07-06 Eli Zaretskii <eliz@is.elta.co.il>
994
24b97d4b
EZ
995 * dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
996 doc string line for dos-timezone-offset.
997
36b40a8a
EZ
998 * msdos.c (do_visible_bell): Add \n\ at the end of each line of
999 inline assembly, to avoid compiler warnings.
24b97d4b
EZ
1000 (syms_of_msdos): Add \n\ at the end of a line in the doc string
1001 line for dos-unsupported-char-glyph.
36b40a8a
EZ
1002
1003 * buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.
1004
0967b4b0
GM
10052001-07-05 Gerd Moellmann <gerd@gnu.org>
1006
f25cfe53
GM
1007 * sound.c: Include Emacs' header files with #include "...".
1008
0967b4b0
GM
1009 * eval.c (specbind): Additionally record the buffer that was
1010 current when a buffer-local or frame-local variable was bound.
1011
c347a1c3
GM
10122001-07-04 Gerd Moellmann <gerd@gnu.org>
1013
1014 * xterm.c (x_produce_glyphs): Don't convert multibyte characters
1015 to unibyte characters in unibyte buffers.
1016
6332ca8a
GM
10172001-07-03 Gerd Moellmann <gerd@gnu.org>
1018
38472d44
GM
1019 * eval.c (specbind): If SYMBOL has a frame-local binding, record
1020 the frame on the binding stack. Change format of entries for
1021 local bindings on the binding stack to '(SYMBOL . WHERE)'.
1022 (unbind_to): Handle unbinding a frame-local variable.
1023
6332ca8a 1024 * xdisp.c (compute_line_metrics): On ttys, subtract continuation
fe5a0162 1025 glyphs and truncation glyphs at the end of a row from its pixel width.
6332ca8a
GM
1026 (dump_glyph_row): Print row's continuation_lines_width.
1027 (try_window_id): Take the shortcut if ZV is visible in the
1028 window, but there are actually no changes at ZV.
1029
63d1b174
GM
10302001-07-02 Gerd Moellmann <gerd@gnu.org>
1031
4c175203
GM
1032 * xterm.h (x_free_dpy_colors): Add prototype.
1033
1034 * xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
1035 right number of arguments.
1036
0b54ce28
GM
1037 * Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
1038 ($(lwlibdir)TAGS): New target.
4c175203 1039 (TAGS): Fix dependency list.
0b54ce28 1040
63d1b174
GM
1041 * xterm.c (x_list_fonts): Make sure XFreeFont is called
1042 with input blocked.
1043
d827466c
GM
10442001-06-30 Gerd Moellmann <gerd@gnu.org>
1045
1046 * emacs.c (main): Remove extern declaration for sys_nerr, which
1047 isn't used and causes a compilation error with GCC 3.0 on
1048 FreeBSD 4.3.
1049
b5cb1ada
GM
10502001-06-27 Gerd Moellmann <gerd@gnu.org>
1051
a5d3ec3f 1052 * widget.c (EmacsFrameSetCharSize): Turn off atimers and block
3452efc2 1053 SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
a5d3ec3f
GM
1054 (toplevel): Include <signal.h> and syssignal.h.
1055
b5cb1ada
GM
1056 * sound.c (vox_configure, vox_close): Turn off atimers
1057 around ioctls.
1058
d9bad487
GM
10592001-06-26 Gerd Moellmann <gerd@gnu.org>
1060
fdbb67fe
GM
1061 * keyboard.c (read_char) <non_reread>: Record the previous idle
1062 start time before calling timer_stop_idle.
1063 (read_char) <reread_first>: After processing a help-echo event,
1064 restore the previous idle start time.
1065
d9bad487
GM
1066 * xdisp.c (handle_invisible_prop): Deal with overlay strings at
1067 the start of invisible text.
1068 (setup_for_ellipsis): New function.
1069 (next_overlay_string): After all overlay strings have been
1070 processed, display an ellipsis if necessary.
1071 (load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
1072 (push_it): Initialize display_ellipsis_p on the iterator's stack.
1073
1074 * dispextern.h (struct iterator_stack_entry): Add member
1075 display_ellipsis_p.
1076
2b9c25e0
GM
10772001-06-25 Gerd Moellmann <gerd@gnu.org>
1078
80de57df
GM
1079 * widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
1080 on the value of the wait-for-wm frame parameter.
1081
1082 * xterm.h (struct x_output): Add member wait_for_wm.
1083
1084 * xfns.c (Qwait_for_wm): New variable.
1085 (x_frame_parms): Add entry for `wait-for-wm".
1086 (x_set_wait_for_wm): New function.
1087 (Fx_create_frame): Call x_default_parameter for wait-for-wm.
1088 (syms_of_xfns): Initialize and staticpro Qwait_for_wm.
1089
2b9c25e0
GM
1090 * xdisp.c (try_window_id) <all changes below window end>: Don't
1091 take this shortcut if ZV is visible in the window.
1092 (try_window_id): When checking for window start being in changed
1093 text, don't check that the buffer's size has changed.
1094
f772775c
RS
10952001-06-23 Richard M. Stallman <rms@gnu.org>
1096
1097 * minibuf.c (Fcompleting_read): Doc fix.
1098
fa9090b8
GM
10992001-06-19 Gerd Moellmann <gerd@gnu.org>
1100
1101 * composite.c (Ffind_composition_internal): Accept ZV
1102 and a string's end position as POS.
1103
f6f1beba
GM
11042001-06-18 Gerd Moellmann <gerd@gnu.org>
1105
1106 * composite.c (Ffind_composition_internal): Check POS
1107 for validity.
1108
0ae83348
EZ
11092001-06-15 Eli Zaretskii <eliz@is.elta.co.il>
1110
1111 * editfns.c (Fmessage_box): If the frame is not under a window
1112 system, output the message in the echo area.
1113
e4cdc335
RS
11142001-06-14 Richard M. Stallman <rms@gnu.org>
1115
1116 * xdisp.c (try_window_id): When EOB is visible, don't treat
1117 insertion at EOB as if it were "off the bottom of the screen."
1118
a55a5f3c
AI
11192001-06-11 Andrew Innes <andrewi@gnu.org>
1120
1121 * w32proc.c (create_child): Add new parameter is_gui_app.
1122 (w32_executable_type): Add new parameter is_gui_app.
1123 (sys_spawnve): Use it.
1124 (sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
1125 SIGQUIT. This matches better how the signals are interpreted by
1126 MSVC compiled programs.
1127 (syms_of_ntproc): Update docstring.
1128
1b85dc1c
SM
11292001-06-02 Stefan Monnier <monnier@cs.yale.edu>
1130
1131 * xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
1132 well otherwise note_mouse_highlight might optimize away highlighting
1133 if we pass over that same overlay again.
1134
b75f8eab
EZ
11352001-06-02 Eli Zaretskii <eliz@is.elta.co.il>
1136
1137 * lread.c (Fload): Document that the argument is run via
1138 substitute-in-file-name.
1139
94843cc1
GM
11402001-05-31 Gerd Moellmann <gerd@gnu.org>
1141
b14659e6
GM
1142 * Makefile.in (bootstrap-doc): New target.
1143 (bootstrap-emacs): Depend on it.
1144
0894672f
GM
1145 * fileio.c (Fdo_auto_save): Don't try to create the directory of
1146 auto-save-list-file-name when shutting down Emacs, because
1147 creating the directory might signal an error, and leaves
1148 Emacs in a strange state.
1149
94843cc1
GM
1150 * term.c: (tty_cursor_hidden): New variable.
1151 (update_begin): Don't call tty_hide_cursor. Clean up.
1152 (update_end, set_terminal_window, set_scroll_region): Clean up.
1153 (ring_bell, reset_terminal_modes): Clean up.
1154 (tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
1155 on tty_cursor_hidden.
1156 (write_glyphs): Call tty_hide_cursor.
1157
db3a49a6
SM
11582001-05-30 Stefan Monnier <monnier@cs.yale.edu>
1159
1160 * buffer.c (copy_overlays): Make ENABLE_CHECKING happy.
1161
8bd189fb
GM
11622001-05-30 Gerd Moellmann <gerd@gnu.org>
1163
6f1be3b9
GM
1164 * xfns.c (enum image_value_type): New enumerator
1165 IMAGE_STRING_OR_NIL_VALUE.
1166 (parse_image_spec): Handle it.
1167 (xbm_format, pbm_format): Use it for :foreground and :background.
1168 (xbm_load, pbm_load): Check for nil color names.
1169
8bd189fb
GM
1170 * xterm.c (note_mouse_highlight): If an overlapping overlay
1171 exists, but we find that we highlight the same overlay as before,
1172 don't do the highlighting again.
1173
7bdba03c
GM
11742001-05-29 Gerd Moellmann <gerd@gnu.org>
1175
4c329aa8
GM
1176 * xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
1177 Protect unibyte strings created by replacing their multibyte
1178 equivalents in menu_items.
1179
e15e2828
GM
1180 * keymap.c (Fsingle_key_description): NUL-terminate the string
1181 buffer before calling build_string.
1182
7bdba03c
GM
1183 * callproc.c (Fcall_process): Deal with decode_coding returning
1184 CODING_FINISH_INCONSISTENT_EOL.
1185
89c8dc6c
GM
11862001-05-28 Gerd Moellmann <gerd@gnu.org>
1187
db3a49a6 1188 * xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
3d9d7a9b
GM
1189 an item's name with its key description in case the description
1190 is a multibyte string.
1191
1192 * keymap.c (Fsingle_key_description): Create a multibyte string
1193 only if necessary.
1194
eb04d6cd
GM
1195 * macros.c (Fstart_kbd_macro): Doc fix.
1196
8bd6307f
GM
1197 * xterm.c (cursor_in_mouse_face_p): New function.
1198 (x_draw_stretch_glyph_string): Use it to choose a different GC
1199 when drawing a cursor within highlighted text.
1200
e26c4089
GM
1201 * editfns.c (char_property_eq): Put in #if 0.
1202
1203 * indent.c (string_display_width): Put in #if 0.
1204
1205 * lread.c (Fload): Remove unused label.
1206
89c8dc6c
GM
1207 * termcap.c (speeds): Put in #if 0.
1208
9a1211f2
GM
12092001-05-18 Gerd Moellmann <gerd@gnu.org>
1210
29148a3f
GM
1211 * eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.
1212
9a1211f2
GM
1213 * xfaces.c (xlfd_point_size): Don't divide pixel size from
1214 transformation matrix by 10.
1215
09393d07
GM
12162001-05-16 Gerd Moellmann <gerd@gnu.org>
1217
1218 * xfns.c (x_set_foreground_color): Change frame's cursor_pixel
1219 only if it's equal to the former foreground pixel color.
db3a49a6 1220 (x_set_foreground_color, x_set_background_color)
09393d07
GM
1221 (x_set_mouse_color, x_set_cursor_color): Cleaned up.
1222
460e6bae
GM
12232001-05-16 Dave Love <fx@gnu.org>
1224
1225 * insdel.c (signal_before_change, signal_after_change): Consider a
1226 local change hook which changes the buffer.
99c78ce8
GM
1227
1228 * process.c (read_process_output): Don't call signal_after_change
1229 and update_compositions after insert_from_string_before_markers.
1230
dbcf3c03
GM
12312001-05-16 Gerd Moellmann <gerd@gnu.org>
1232
a90b3d3c
GM
1233 * xfaces.c (split_font_name): Use the right field when
1234 checking for `[...]' syntax.
1235
1b7818b4
GM
1236 * buffer.c (copy_overlays): New function.
1237 (clone_per_buffer_values): Use it.
1238
1239 * buffer.h (OVERLAY_PLIST): New macro.
1240
9bae8781
GM
1241 * keymap.c (Fsingle_key_description): Replace a build_string with
1242 a make_multibyte_string. From Kenichi Handa <handa@etl.go.jp>.
1243
dbcf3c03
GM
1244 * fontset.c (Ffontset_info): Check that face is non-null
1245 before accessing its fields.
1246
8a1ae4dd
GM
12472001-05-15 Gerd Moellmann <gerd@gnu.org>
1248
18a0a39e
GM
1249 * keyboard.c (read_key_sequence): Prevent generating a fake
1250 prefix key twice.
1251
e335b66a
GM
1252 * xfaces.c (split_font_name): Handle `[...]' for the right
1253 font name fields.
1254
8a1ae4dd
GM
1255 * ccl.c (ccl_driver): Don't copy remaining bytes in case
1256 of CCL_STAT_INVALID_CMD.
1257
3cf80731
SM
12582001-05-14 Stefan Monnier <monnier@cs.yale.edu>
1259
33568849
SM
1260 * eval.c (Fdefvar): Only record (defvar <var>) in the load-history
1261 in <var> has no default value yet.
1262
3cf80731
SM
1263 * xfaces.c (try_alternative_families): First try the FAMILY.
1264 And if nothing is found in the end, try again with scalable fonts.
1265 (try_font_list): Let try_alternative_families do a bit more of
1266 the work. Only use FAMILY if it is not nil.
1267 (syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.
1268
933b0249
GM
12692001-05-14 Gerd Moellmann <gerd@gnu.org>
1270
58e5af83
GM
1271 * xterm.c (note_mouse_highlight): Avoid changing the mouse
1272 pointer shape when show_mouse_face has already done it.
33568849 1273
58e5af83 1274 * xterm.c (x_draw_glyphs): Fix computation of rightmost x for
557f7c34
GM
1275 full-width rows.
1276
7b16a6bf
GM
1277 * xfaces.c (split_font_name): Make sure to leave the loop
1278 with the right value of `i'.
3cf80731 1279
933b0249
GM
1280 * xfaces.c (split_font_name): Handle matrix transformations
1281 in the pixel and point size fields of XLFD font names.
1282 (xlfd_point_size): Likewise.
1283
dddcbf00
EZ
12842001-05-12 Eli Zaretskii <eliz@is.elta.co.il>
1285
3cf80731 1286 * w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
c7501041
EZ
1287 (x_to_w32_font): Add prototype.
1288
7689ef0b
EZ
1289 * regex.c (malloc, realloc, free) [emacs]: Undefine before
1290 redefining, to avoid compiler warnings.
1291
e7c15bba
EZ
1292 * w32proc.c: Include syssignal.h, to avoid compiler warnings.
1293
dddcbf00
EZ
1294 * w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
1295 (w32_get_bdf_glyph): Cast between unsigned char and char when
1296 passing arguments to subroutines, to shut up compiler warnings.
1297 (w32_get_bdf_glyph): Don't mix signed and unsigned when calling
1298 GET_HEX_VAL.
1299
1300 * xfaces.c: Include keyboard.h before frame.h, not after it.
1301
1302 * widget.c: Include keyboard.h before frame.h.
1303
1304 * w32term.h (struct image, struct face): Forward declaration, to
1305 avoid compiler warnings.
1306
7bd2d083
GM
13072001-05-11 Gerd Moellmann <gerd@gnu.org>
1308
47e72862
GM
1309 * keyboard.c (read_key_sequence): Don't modify events when
1310 generating fake prefix keys (mode-line, scroll-bar, ...) since
1311 this prevents proper processing of such events when pushed back
1312 into unread-command-events.
1313
dd5f324b
GM
1314 * xterm.c (clear_mouse_face): Return 1 if text with mouse face was
1315 actually redrawn. Make the function static.
1316 (note_mouse_highlight): Fix a case where the mouse cursor
1317 was changed back to the text cursor.
1318
1319 * xterm.h (clear_mouse_face): Remove prototype.
1320
d88a79d4
GM
1321 * xdisp.c (try_window_id): Fix the fix and set the right
1322 window_end_vpos.
1323
1324 * xdisp.c (try_window_id): Fix computation of window end in the
1325 case that lines were deleted at the end of the window. Add some
1326 more debug_method_adds.
0416532f 1327
7bd2d083
GM
1328 * xfaces.c (try_alternative_families): New function.
1329 (try_font_list): Use it. If ATTRS specifies a family, check
1330 fonts from that family first.
1331 (choose_face_font): Remove code setting the family part of
1332 the pattern to nil.
1333
23fca891
GM
13342001-05-10 Gerd Moellmann <gerd@gnu.org>
1335
ff9aa2ca
GM
1336 * xdisp.c (try_window_id): Fix case of all changes before
1337 the window start.
7b2654b5 1338
23fca891
GM
1339 * xdisp.c (try_window_id): Add some xasserts.
1340
e9726794
GM
13412001-05-09 Gerd Moellmann <gerd@gnu.org>
1342
1343 * lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.
1344
9e53a675
GM
13452001-05-09 Dave Love <fx@gnu.org>
1346
1347 * xdisp.c (GIVE_UP): Fix for K&R C.
1348
0d487c52
GM
13492001-05-09 Gerd Moellmann <gerd@gnu.org>
1350
fe88d421
GM
1351 * print.c (syms_of_print) <print-length, print-level>: Doc fix.
1352
0d487c52
GM
1353 * xterm.c (note_mouse_highlight): Don't change the mouse cursor
1354 back to the text cursor shape without need.
1355
1e9fc92e
GM
13562001-05-07 Gerd Moellmann <gerd@gnu.org>
1357
a2a6232e
GM
1358 * xfns.c (x_set_foreground_color): Set frame's cursor_pixel.
1359
1360 * dispextern.h (inverse_video): Declare extern.
1361
1e9fc92e
GM
1362 * keyboard.c (delete_kboard): Handle the case that selected_frame
1363 has been deleted in the course of x_connection_closed.
1364
12949a7f
EZ
13652001-05-03 Eli Zaretskii <eliz@is.elta.co.il>
1366
7b2654b5
SM
1367 * xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
1368 Fix the change from 2001-04-30.
12949a7f 1369
2fa2f461
GM
13702001-05-03 Gerd Moellmann <gerd@gnu.org>
1371
a779d213
GM
1372 * xfns.c (file_dialog_unmap_cb): New function.
1373 (Fx_file_dialog): Use it as XmNunmapCallback to capture the case
1374 where a dialog is closed via the window manager.
1375
7b2654b5 1376 * xdisp.c (try_window_id): Cases of changes all in front of
2fa2f461
GM
1377 the window start or all below the window end mostly rewritten.
1378 (redisplay_window): Move the tests if try_window_id is
1379 applicable to try_window_id.
1380 (GIVE_UP): New macro.
1381
3356df63
GM
13822001-05-02 Gerd Moellmann <gerd@gnu.org>
1383
a39202f6 1384 * xterm.c (expose_window): Return int. If W is the window
7b2654b5
SM
1385 currently being updated, mark the frame garbaged.
1386 Fix computation of rows intersecting the exposed rectangle.
a39202f6 1387 (expose_window_tree): Stop when expose_window returns 0.
7b2654b5 1388
3356df63
GM
1389 * xterm.c (x_draw_stretch_glyph_string): Don't draw background
1390 again if it has already been drawn.
1391
a9d2fd1d
SM
13922001-05-01 Stefan Monnier <monnier@cs.yale.edu>
1393
1394 * syntax.c (update_syntax_table): Check that oldi has the same
1395 properties as old_prop before deciding not to invalidate.
1396
c95fc5f1
GM
13972001-04-30 Gerd Moellmann <gerd@gnu.org>
1398
a9793e45
GM
1399 * undo.c (Fprimitive_undo): In a writable buffer, enable undoing
1400 read-only text that is so because of text properties.
1401
c95fc5f1 1402 * xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
a9d2fd1d 1403 (XTread_socket) <Expose> [USE_LUCID]: Handle events for
c95fc5f1
GM
1404 windows that are components of a Lucid menu bar.
1405
5a5d9185
GM
14062001-04-27 Gerd Moellmann <gerd@gnu.org>
1407
1408 * term.c (turn_on_face): Fix reverse video handling on terminals
1409 that don't support colors.
1410
ba973f7a
GM
14112001-04-26 Gerd Moellmann <gerd@gnu.org>
1412
1413 * editfns.c (save_excursion_restore): Don't use XBUFFER on
1414 a non-buffer.
1415
8c56a983
GM
14162001-04-25 Gerd Moellmann <gerd@gnu.org>
1417
a728644c
GM
1418 * term.c (toggle_highlight): New function.
1419 (turn_on_face): Change handling of reverse video.
1420
7b2654b5
SM
1421 * process.c (wait_reading_process_input):
1422 Call record_asynch_buffer_change only if a timer really changed buffers.
c88164fe 1423
bfd8410f
GM
1424 * buffer.c (mouse_face_overlay_overlaps): Fix the computation
1425 of the number of overlays to check.
1426
be2488ca
GM
1427 * keyboard.c (command_loop_1): Redo change of 2001-03-12.
1428
8c56a983
GM
1429 * xdisp.c (try_window_id): Fix a case where window_end_pos
1430 and window_end_bytepos were not adjusted.
1431
522d42f7
GM
14322001-04-23 Gerd Moellmann <gerd@gnu.org>
1433
1434 * xfaces.c (compute_char_face): If buffer is unibyte, set CH to
1435 zero instead of -1.
1436
78c1afb6
EZ
14372001-04-21 Eli Zaretskii <eliz@is.elta.co.il>
1438
a9d2fd1d
SM
1439 * process.c (wait_reading_process_input) [!subprocesses]:
1440 Don't reference waiting_for_user_input_p, it's not defined in the
1441 branch without async subprocesses support.
78c1afb6 1442
a2fab450
GM
14432001-04-19 Gerd Moellmann <gerd@gnu.org>
1444
a122a38e
GM
1445 * keyboard.c (delete_kboard): Prevent a dangling reference
1446 from current_kboard to KB, which is freed.
1447
a9d2fd1d
SM
1448 * process.c (wait_reading_process_input):
1449 Call record_asynch_buffer_change after running timers, to make
a2fab450
GM
1450 read_key_sequence aware of buffer changes from under it.
1451
0f8d6dc7
GM
14522001-04-18 Gerd Moellmann <gerd@gnu.org>
1453
eeffb293
GM
1454 * xfaces.c (Qscalable_fonts_allowed): New variable.
1455 (realizing_basic_faces_p): Removed.
2fa2f461
GM
1456 (x_face_list_fonts): Special handling for realizing_basic_faces_p
1457 removed.
eeffb293 1458 (realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
7b2654b5
SM
1459 (syms_of_xfaces): Initialize Qscalable_fonts_allowed. Change default
1460 for scalable-fonts-allowed to t.
eeffb293 1461
0f8d6dc7
GM
1462 * fileio.c (Finsert_file_contents): If the file size returned from
1463 stat is zero, set END to READ_BUF_SIZE. This makes sure we can
a9d2fd1d 1464 read from files on a procfs whose contents are generated dynamically.
0f8d6dc7 1465
eec2d1de
EZ
14662001-04-18 Eli Zaretskii <eliz@is.elta.co.il>
1467
1468 * gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
1469 defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
1470 (__memalign_hook): Make the two prototypes consistent.
1471
f4f480bd
GM
14722001-04-17 Gerd Moellmann <gerd@gnu.org>
1473
1474 * xdisp.c (redisplay_window): Make sure to clear the desired glyph
1475 matrix of mini-windows.
1476
52283633
SM
14772001-04-12 Stefan Monnier <monnier@cs.yale.edu>
1478
1479 * intervals.c (find_interval): Don't rebalance during signal handling.
1480
ec2423c9
GM
14812001-04-11 Gerd Moellmann <gerd@gnu.org>
1482
30cb0001 1483 * fns.c: Include blockinput.h.
52283633 1484
ec2423c9
GM
1485 * fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.
1486
719d83ad
GM
14872001-04-10 Gerd Moellmann <gerd@gnu.org>
1488
60f8d735
GM
1489 * fns.c (Fcompare_strings): Fix return values.
1490
afffeb57
GM
1491 * window.c (window_scroll): Change the meaning of N to mean
1492 N screen-fulls or N lines.
1493 (window_scroll_pixel_based, window_scroll_line_based)
1494 (scroll_command, Fscroll_other_window): Change accordingly.
1495
52283633
SM
1496 * window.c (window_scroll_pixel_based, Frecenter):
1497 Call window_box_height instead of using it.last_visible_y for the
afffeb57
GM
1498 height of the window.
1499
1500 * xdisp.c (redisplay_window) <recenter>: Call window_box_height
1501 instead of using it.last_visible_y for the height of the window.
52283633 1502
719d83ad 1503 * w32proc.c (sys_spawnve): Quote more chars for Cygwin.
8ddf3ee1 1504 From Dan Holmsand <dan@eyebee.com>.
719d83ad
GM
1505
1506 * w32.c (sys_open): Try to open file without _O_CREAT first, to be
8ddf3ee1
GM
1507 able to write to hidden and system files. From Dan Holmsand
1508 <dan@eyebee.com>.
719d83ad 1509
8ddf3ee1
GM
1510 * fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile. From Dan
1511 Holmsand <dan@eyebee.com>.
719d83ad 1512
522ed7fb
GM
15132001-04-09 Gerd Moellmann <gerd@gnu.org>
1514
9170e5d4
GM
1515 * fns.c (Fplist_get, Fplist_put): Add QUITs.
1516
522ed7fb
GM
1517 * window.c (window_internal_height): Return 1 less if the
1518 window has a header line.
1519
1520 * xdisp.c (try_window_id): When scrolling on a terminal, take
1521 the change of window_internal_height into account.
1522
ceeb3d7d
EZ
15232001-04-09 Eli Zaretskii <eliz@is.elta.co.il>
1524
1525 * gmalloc.c (align): If the argument SIZE would overflow
1526 __malloc_ptrdiff_t, fail right away.
1527
63685b9d
GM
15282001-04-06 Gerd Moellmann <gerd@gnu.org>
1529
1530 * xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
1531 Make sure the tooltip is completely visible.
1532 (x_make_gc): Use FRAME_X_SCREEN_NUMBER.
1533
1534 * xterm.h (FRAME_X_SCREEN_NUMBER): New macro.
1535
1536 * xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.
1537
3ffb33bb
DL
15382001-04-06 Dave Love <fx@gnu.org>
1539
52283633
SM
1540 * composite.c (update_compositions) <check_mask & CHECK_HEAD>:
1541 Fix test of `from'.
3ffb33bb 1542
869fb12c
GM
15432001-04-06 Gerd Moellmann <gerd@gnu.org>
1544
52283633 1545 * composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.
afa3935f 1546
869fb12c
GM
1547 * xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.
1548
441bf856
GM
15492001-04-05 Gerd Moellmann <gerd@gnu.org>
1550
4d664b04
GM
1551 * sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.
1552
52283633 1553 * editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.
a55e4e68 1554
30ca89f5
GM
1555 * xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
1556 (syms_of_xfns): DEFVAR_LISP it. Initialize from XmVERSION_STRING.
1557
1558 * xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
1559 shell widget's position only if it is non-null.
1560
52283633
SM
1561 * xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
1562 Set f->output_data.x->widget to null after destroying it.
30ca89f5 1563
81a81c0f
GM
1564 * fns.c (Frequire): Doc fix. Rename parameter FILE_NAME to
1565 FILENAME to bring it in synch with the documentation.
1566
441bf856
GM
1567 * xfaces.c (realizing_basic_faces_p): Renamed from
1568 realize_default_face_p.
1569 (realize_basic_faces): Set/clear realizing_basic_faces_p.
1570 (realize_default_face): Don't set the flag.
1571
702a1e8e
GM
15722001-04-04 Gerd Moellmann <gerd@gnu.org>
1573
1013f4e3
GM
1574 * lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.
1575
52283633
SM
1576 * keyboard.c (echoing, echo_message_buffer): Make externally visible.
1577
1013f4e3
GM
1578 * xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
1579 the buffer that was used for echoing.
1580
702a1e8e
GM
1581 * xfaces.c (best_matching_font): Remove unused parameter PATTERN.
1582 (first_font_matching): Removed unused function.
1583 (x_face_list_fonts): Remove unused parameter SCALABLE_P.
1584 (may_use_scalable_font_p): Remove parameter FONT; rename
1585 parameter NAME to FONT.
1586 (x_face_list_fonts): Fix missing bounds check.
1587 (realizing_default_face_p): New variable.
1588 (realize_default_face): Set and clear that flag.
1589 (x_face_list_fonts): When called during the realization of the
1590 default face, and no matching fonts are found when ignoring
1591 scalable fonts and fonts matching a regexp from
1592 face-ignored-fonts, try without ignoring fonts.
1593
f9dbcda4
GM
15942001-04-03 Gerd Moellmann <gerd@gnu.org>
1595
ad18ffb1
GM
1596 * xfns.c (postprocess_image): New function.
1597 (lookup_image): Call it for all image types except PostScript.
1598 (x_kill_gs_process): Call postprocess_image.
1599
f9dbcda4
GM
1600 * xterm.c (x_use_underline_position_properties): New variable.
1601 (x_draw_glyph_string): Use it.
1602 (syms_of_xterm): DEFVAR_BOOL it.
1603
651f03b6
GM
16042001-04-02 Gerd Moellmann <gerd@gnu.org>
1605
1606 * xterm.c (x_alloc_nearest_color_1): New function.
1607 (x_alloc_nearest_color): Use it.
1608 (x_color_cells): Take a Display as argument, instead of a frame.
1609 (cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
1610 (cvt_string_to_pixel, cvt_pixel_dtor): New functions.
1611 (x_initialize): Register cvt_string_to_pixel as resource converter
1612 string -> Pixel and cvt_pixel_dtor as pixel resource destructor.
1613
73d75a62
GM
16142001-03-30 Gerd Moellmann <gerd@gnu.org>
1615
b2046df8
GM
1616 * xdisp.c (get_overlay_strings): Set iterator's end_charpos.
1617 (set_iterator_to_next): If a string from a display property ends,
1618 consider the case that this might also be the end of an
1619 overlay string having the display property.
1620
52283633 1621 * xdisp.c (handle_display_prop): Fix recognition of subproperty lists.
b2046df8 1622
87d8eba4
GM
1623 * xdisp.c (reseat_to_string): Undo last change.
1624
73d75a62
GM
1625 * dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
1626 matrix of a window when the header line changes, when
1627 new rows are allocated, or when the width changes.
1628
911a2406
EZ
16292001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
1630
52283633 1631 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.
911a2406 1632
aea51abe
EZ
16332001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
1634
1635 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
1636 deprecated.
1637
176bc847
GM
16382001-03-29 Gerd Moellmann <gerd@gnu.org>
1639
ed31fabf
GM
1640 * data.c (Fsubr_interactive_form): New function.
1641 (syms_of_data): Defsubr it.
1642
176bc847
GM
1643 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
1644 (live_float_p, live_misc_p): Return 1 only if the offset of the
1645 pointer in its block is >= 0.
1646
e59d0e9d
GM
16472001-03-28 Paul Eggert <eggert@twinsun.com>
1648
1649 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
1650 microseconds calcuation. Avoid double-rounding problem.
1651 In doc string, warn that the result is approximate.
1652
f827b862
GM
16532001-03-28 Gerd Moellmann <gerd@gnu.org>
1654
30a3f61c
GM
1655 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
1656 bind `inhibit-eval-during-redisplay' to t.
1657
1658 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
1659
1660 * xdisp.c (inhibit_eval_during_redisplay)
1661 (Qinhibit_eval_during_redisplay): New variables.
1662 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
1663 don't eval, return nil instead.
1664 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
1665 Initialize Qinhibit_eval_during_redisplay.
1666
e719f5ae
GM
1667 * xdisp.c (reseat_to_string): If STRING is multibyte, set
1668 the iterator's multibyte_p flag.
1669
deb2613a
GM
1670 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
1671 instead of setting it to zero; it's incremented for each frame
1672 where the menu face is changed.
1673
52283633
SM
1674 * xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
1675 change bottom shadow accordingly.
1676
1677 * xterm.c (expose_window_tree, expose_frame): Don't compute
a02f1be0
GM
1678 intersections here.
1679 (expose_window): Do it here instead.
52283633 1680 (x_draw_glyph_string): Fix a computation of the underline position.
a02f1be0 1681
f827b862
GM
1682 * bytecode.c (BYTE_CODE_QUIT): New macro.
1683 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
1684
4bde0ebb
GM
16852001-03-27 Gerd Moellmann <gerd@gnu.org>
1686
607ec83c
GM
1687 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
1688 Give up if matrix starts in an ellipsis.
1689 (init_from_display_pos): Do nothing if POS doesn't specify
1690 a dpvec_index but the iterator has such a position.
1691
0245398f
GM
1692 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
1693
aba25348
GM
1694 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
1695 x/y position is (0, 0) after destroying the menu bar, restore
1696 its original position.
1697
4bde0ebb
GM
1698 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
1699 (init_from_display_pos): Use it.
1700 (try_window_reusing_current_matrix): Don't use cursor_row_p.
1701
8cdb267e
GM
17022001-03-26 Gerd Moellmann <gerd@gnu.org>
1703
1704 * xdisp.c (try_window_id): Undo last change.
1705
9948db79
EZ
17062001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
1707
1708 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
1709
1710 * buffer.c (syms_of_buffer): Doc fix.
1711
2eddf899
GM
17122001-03-26 Gerd Moellmann <gerd@gnu.org>
1713
1714 * xfaces.c (x_update_menu_appearance): Use local variable
1715 popup_path for setting font resources.
1716
6c145d35
EZ
17172001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
1718
6a65b1b5
EZ
1719 * frame.c (Fframe_list): Don't reference tip_frame if
1720 HAVE_WINDOW_SYSTEM is not defined.
1721
6c145d35
EZ
1722 * emacs.c (main): Update the copyright year. From Werner LEMBERG
1723 <wl@gnu.org>.
1724
d74c1900
GM
17252001-03-25 Gerd Moellmann <gerd@gnu.org>
1726
20fbd925
GM
1727 * xdisp.c (init_from_display_pos): Test invisible property
1728 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
52283633 1729
927c5b3b
GM
1730 * xdisp.c (redisplay_internal) <update one window>: Make sure
1731 last_arrow_position and last_arrow_string are set.
1732
d74c1900
GM
1733 * frame.c (Fframe_list): Don't return a tooltip frame.
1734
091f8878
GM
17352001-03-23 Gerd Moellmann <gerd@gnu.org>
1736
52283633
SM
1737 * xdisp.c (mark_window_display_accurate_1): New function,
1738 extracted from mark_window_display_accurate.
1739 Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
43c09969
GM
1740 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
1741 (mark_window_display_accurate): Use it.
1742 (redisplay_internal): Use it for the selected window.
1743 (redisplay_internal): Avoid duplicate mark_window_display_accurate
1744 for the selected frame.
1745
ac90c44f
GM
1746 * xdisp.c Use make_number, for readability.
1747 (try_window_id): Disable rows below the window end.
1748 (try_window_reusing_current_matrix): Use cursor_row_p.
1749 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
1750 of rows.
1751 (init_from_display_pos): If POS specifies a position in a display
1752 vector, maybe get the iterator set up for that ellipsis.
43c09969 1753
091f8878
GM
1754 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
1755
991786dd
EZ
17562001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
1757
1758 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
1759
6c29b43c
GM
17602001-03-23 Gerd Moellmann <gerd@gnu.org>
1761
1762 * xfaces.c (x_update_menu_appearance): Use a different path
1763 for Lucid popup menus.
1764
d8731202
SM
17652001-03-22 Stefan Monnier <monnier@cs.yale.edu>
1766
1767 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
1768
1769 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
1770 (string_buffer_position): Use `make_number'.
1771
f61a541b
GM
17722001-03-22 Gerd Moellmann <gerd@gnu.org>
1773
3c9e997b
GM
1774 * xfaces.c (x_update_menu_appearance): Renamed from
1775 x_set_menu_face_resources. Use different resources for popups.
1776
1777 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
1778 (GC_CHECK_STRING_BYTES): Don't define.
1779
364cd450
GM
1780 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
1781 Removed, together with subroutines.
1782 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 1783 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 1784
d8731202
SM
1785 * dispextern.h (x_set_menu_resources_from_menu_face):
1786 Remove prototype.
364cd450 1787
d8731202 1788 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
1789 Remove calls to x_set_menu_resources_from_menu_face.
1790
d8731202
SM
1791 * xfaces.c (xm_set_menu_resources_from_menu_face):
1792 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
1793
1794 * xmenu.c: Include widget.h.
1795 (single_submenu): Return int. Some cleanup.
1796 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
1797
140330de
GM
17982001-03-21 Gerd Moellmann <gerd@gnu.org>
1799
1800 * xterm.c (x_update_window_end): Handle overwritten mouse face
1801 also for tool bar windows.
1802 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
1803 DRAW is DRAW_IMAGE_RAISED.
1804
1741905c
GM
18052001-03-20 Gerd Moellmann <gerd@gnu.org>
1806
fa88947e
GM
1807 * print.c (syms_of_print): Doc fixes.
1808
1741905c
GM
1809 * fns.c (Fmd5): Doc fix.
1810
ade0bee1
GM
18112001-03-19 Gerd Moellmann <gerd@gnu.org>
1812
357e7376
GM
1813 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
1814 Clear area of the frame not occupied by the scroll bar.
1815
c2c097cc
GM
1816 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
1817 tip frame's root window buffer to *tip* right after creating
1818 the frame.
1819
ade0bee1
GM
1820 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
1821 is an integer don't have to be for space characters.
1822
88c6e37e
GM
18232001-03-16 Gerd Moellmann <gerd@gnu.org>
1824
52283633
SM
1825 * indent.c (current_column, current_column_1, Fmove_to_column)
1826 (compute_motion): Handle characters from display vectors differently.
88c6e37e 1827
c62eed76
KH
18282001-03-15 Kenichi Handa <handa@etl.go.jp>
1829
1830 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
1831 drawing glyph string.
1832
c899e7e6
GM
18332001-03-15 Gerd Moellmann <gerd@gnu.org>
1834
d0bbfc99
GM
1835 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
1836 (command_loop_1): Undo last change.
1837
03d1a189
GM
1838 * xterm.c (fast_find_position): Return the correct vpos.
1839
c899e7e6 1840 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
52283633 1841 non-null, set a per-buffer value in BUF instead of the current buffer.
c899e7e6
GM
1842 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
1843 Call store_symval_forwarding with BUF null.
1844 (set_internal): Call store_symval_forwarding with the BUF
1845 parameter passed to set_internal. Formerly, the value was always
1846 set in the current buffer; the buffer recorded in specbind for
1847 this case wasn't used.
1848 (arith_driver): Reindent.
1849
52283633
SM
1850 * buffer.c (swap_out_buffer_local_variables):
1851 Call store_symval_forwarding with BUF null.
c899e7e6
GM
1852
1853 * lisp.h (store_symval_forwarding): Change prototype.
1854
1855 * eval.c (specbind): Call store_symval_forwarding with BUF null.
1856
57ac7c81
GM
18572001-03-14 Gerd Moellmann <gerd@gnu.org>
1858
697617d9
GM
1859 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
1860 FOR_DELETION. Avoid resizing the mini-window of the selected
1861 frame if FOR_DELETION is set.
1862 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
1863 (Fmake_frame_invisible): Change calls to do_switch_frame for new
1864 signature.
1865
1866 * window.c (Fset_window_configuration): Change call to
1867 do_switch_frame to new format.
1868
1869 * keyboard.c (quit_throw_to_read_char): Change call to
1870 do_switch_frame to new format.
1871
1872 * lisp.h (do_switch_frame): Change prototype.
1873
819dce0f
GM
1874 * frame.c (Fframe_parameters): In the `buffer-list' frame
1875 parameter, store the buffer list of FRAME, not the list of the
1876 selected frame.
1877
57ac7c81
GM
1878 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
1879 box just because the glyph row's full_width_p flag is set.
1880
65008712
GM
18812001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
1882
1883 * xdisp.c (highlight_trailing_whitespace): On character terminals,
1884 skip the padding blanks inserted in extend_face_to_end_of_line,
1885 before checking for trailing whitespace.
1886
159cf431
GM
18872001-03-13 Gerd Moellmann <gerd@gnu.org>
1888
52283633 1889 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
19b2bb80
GM
1890 Remove special handling for LessTif/Motif.
1891 (toplevel): Don't include Xm/Xm.h.
1892
52283633
SM
1893 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
1894 Remove workaround code for LessTif; it doesn't work anymore.
1895
2564ea1b 1896 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 1897 Xm/ScrollBarP.h.
afcdc0a1 1898
52283633
SM
1899 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
1900 Don't access private scroll bar data; it's no longer necessary with
23442ae4
GM
1901 contemporary LessTif.
1902
52283633
SM
1903 * xfaces.c (xm_set_menu_resources_from_menu_face):
1904 Change #if 0 to #ifndef LESSTIF_VERSION.
9faaaa52 1905
159cf431
GM
1906 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
1907 removing button grabs.
1908
c6f7429a
KH
19092001-03-13 Kenichi Handa <handa@etl.go.jp>
1910
cb82d767
KH
1911 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
1912 and clip-large-size-font as obsolete.
1913
c6f7429a
KH
1914 * lread.c (read_multibyte): Check the validity of multibyte
1915 sequence. If invalid, return the first byte.
1916
760cefb5
GM
19172001-03-12 Gerd Moellmann <gerd@gnu.org>
1918
1919 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
1920 before running the command; timer functions or process
1921 filters may have set it.
1922
5141f9d0
EZ
19232001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
1924
1925 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
1926 Doc fix.
1927
b6a15240
GM
19282001-03-12 Gerd Moellmann <gerd@gnu.org>
1929
1930 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
1931 to sprintf.
1932
95522746
GM
19332001-03-09 Gerd Moellmann <gerd@gnu.org>
1934
db14cfc5
GM
1935 * dispextern.h (string_buffer_position): Add prototype.
1936
52283633 1937 * xdisp.c (string_buffer_position, display_prop_string_p)
db14cfc5
GM
1938 (single_display_prop_string_p): New functions.
1939
1940 * xterm.c (note_mouse_highlight): If there's no help-echo on
1941 a string, look at the buffer text ``under'' it.
1942
1943 * keyboard.c (make_lispy_event): Add string info to the event,
1944 analogous to what's done on mode lines.
1945 (read_key_sequence): For a click on a string, consider `local-map'
1946 and `keymap' of that string.
1947
52283633
SM
1948 * keyboard.c (make_lispy_event, make_lispy_movement):
1949 Adjust calls to buffer_posn_from_coords to new format.
3cfd8357
GM
1950
1951 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
1952
1953 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
1954 POS; return void.
1955
95522746
GM
1956 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
1957 flags argument to emacs_open; it seems to conflict with O_EXCL.
1958
898a399d
KH
19592001-03-09 Kenichi Handa <handa@etl.go.jp>
1960
28cd4910
KH
1961 * composite.h (struct composition): Change types of members;
1962 glyph_len to unsigned, width to unsigned short.
898a399d 1963
4cdf6a6c
AI
19642001-03-08 Andrew Innes <andrewi@gnu.org>
1965
1966 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
1967 menu titles.
1968
129004d3
GM
19692001-03-08 Gerd Moellmann <gerd@gnu.org>
1970
221dd3e7
GM
1971 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
1972 instead of nil.
1973
52283633 1974 * xterm.c (note_mouse_highlight): Handle mouse-face and
5de7c6f2
GM
1975 help-echo in strings.
1976 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
1977 (fast_find_string_pos): New function.
1978
52283633
SM
1979 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
1980 (display_string): Call face_at_string_position with new parameter.
5de7c6f2
GM
1981
1982 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
1983 Handle `mouse-face'.
1984
1985 * dispextern.h (face_at_string_position): Change prototype.
1986
52283633 1987 * dired.c (directory_files_internal): Handle EAGAIN more efficiently.
e1fbabaf 1988
129004d3
GM
1989 * keyboard.c (make_lispy_event): Avoid generating drag events
1990 if the mouse hasn't actually moved to another buffer position.
52283633 1991
80c8ab8c
DL
19922001-03-08 Dave Love <fx@gnu.org>
1993
129004d3 1994 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 1995
989521fd
GM
19962001-03-08 Gerd Moellmann <gerd@gnu.org>
1997
1998 * process.c (Fset_process_window_size): Fix a typo.
1999
bb5c338d
KH
20002001-03-08 Kenichi Handa <handa@etl.go.jp>
2001
2002 * coding.c (detect_coding_sjis): Do more rigid check.
2003 (detect_coding_big5): Likewise.
2004 (decode_coding_sjis_big5): Likewise.
2005 (Fdetect_coding_region): Call detect_coding_system with tailing
2006 anchor byte `\0' for more rigid detection.
52283633 2007 (detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
bb5c338d
KH
2008 (Fdetect_coding_string): Likewise.
2009
8b8f9197
SM
20102001-03-07 Stefan Monnier <monnier@cs.yale.edu>
2011
2012 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
2013 a string before extracting its data.
2014
3bdf2660
GM
20152001-03-07 Gerd Moellmann <gerd@gnu.org>
2016
2017 * window.c (Frecenter): Rewrite code handling negative values
2018 of ARG on graphical frames.
2019
20202001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
2021
2022 * window.c (displayed_window_lines): If W->start is outside the
2023 accessible portion of the buffer, call start_display with BEGV or
2024 ZV instead of W->start.
2025
471f86b9
GM
20262001-03-07 Gerd Moellmann <gerd@gnu.org>
2027
2ab62c6c
GM
2028 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
2029
471f86b9
GM
2030 * process.c (Fset_process_filter): Don't crash if the input
2031 file descriptor of PROCESS is closed.
2032 (Fset_process_window_size): Likewise.
2033
101922c3
GM
20342001-03-06 Kenichi Handa <handa@etl.go.jp>
2035
2036 * xterm.c (XTflash): Make the timeout of select shorter, and call
2037 select repeatedly until the desired time expires.
2038
45d051a7
GM
20392001-03-06 Gerd Moellmann <gerd@gnu.org>
2040
2041 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
2042
2043 * xfns.c (Fx_create_frame): Clear Vwindow_list.
2044
2045 * lisp.h (Vwindow_list): Declare extern.
2046
8f372c46
EZ
20472001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
2048
2049 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
2050
f16a7aa5
GM
20512001-03-06 Gerd Moellmann <gerd@gnu.org>
2052
157ae273
GM
2053 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
2054 to detect a case where we have to highlight a different region
2055 despite not having left the currently highlighted region.
2056 Set mouse_face_overlay in the x_display_info.
45d051a7 2057 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
2058
2059 * xterm.h (struct x_display_info): Add mouse_face_overlay.
2060
2061 * buffer.c (mouse_face_overlay_overlaps): New function.
2062
2063 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
2064 (Qmouse_face): Declare extern.
2065
f16a7aa5
GM
2066 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
2067 if face_change_count is non-zero.
2068
827afcac
KH
20692001-03-06 Kenichi Handa <handa@etl.go.jp>
2070
2071 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
2072 that the source is unibyte.
2073
14c7242e
DL
20742001-03-05 Dave Love <fx@gnu.org>
2075
827afcac 2076 * xterm.c (XTmouse_position): Fix typo.
14c7242e 2077
c28b847b
GM
20782001-03-05 Gerd Moellmann <gerd@gnu.org>
2079
2080 * minibuf.c (read_minibuf): Clean up the binding stack if
2081 called noninteractively.
2082
b86644f2
KH
20832001-03-05 Kenichi Handa <handa@etl.go.jp>
2084
2085 * coding.c (syms_of_coding): Docstring modified.
2086
203682cc 20872001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
2088
2089 * charset.c (char_to_string): If a single byte char has modifier
2090 bits that can't be reflected to the character code, ignore them
45d051a7 2091 instead of signaling an error.
b86644f2 2092
e30bd7b7
EZ
20932001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
2094
2095 * s/msdos.h: Update copyright notice.
2096
2097 * dosfns.h: Update copyright notice.
2098
2099 * dosfns.c: Update copyright notice.
2100
2101 * msdos.c: Update copyright notice.
2102
b52b65bd
GM
21032001-03-02 Gerd Moellmann <gerd@gnu.org>
2104
2105 * xterm.c (glyph_rect): New function.
2106 (XTmouse_position): Use it to raise the threshold for mouse
2107 movement event generation.
2108
53c4b1e6
EZ
21092001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
2110
2111 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
2112 specifies (reverse . t), reverse the initial screen colors.
2113 (IT_set_frame_parameters): If the property is foreground-color,
52283633
SM
2114 but we are reversing the colors, set bg_set, not fg_set.
2115 Likewise for setting background-color and reversing: set fg_set.
2116 Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
53c4b1e6
EZ
2117 in effect.
2118
2119 * xfaces.c (Finternal_set_lisp_face_attribute)
2120 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
2121 parameters alist.
2122
f964b4d7
GM
21232001-03-02 Gerd Moellmann <gerd@gnu.org>
2124
ef53d75e
GM
2125 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
2126 to a single slash in the middle of file names.
2127
52283633 2128 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
cda0f4da
GM
2129 Accept only alphanumeric time zone names.
2130
f964b4d7
GM
2131 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
2132 or width area.
2133 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
2134 a widget to zero height.
52283633 2135
c3c45f65
GM
21362001-03-01 Gerd Moellmann <gerd@gnu.org>
2137
2138 * window.c (Fwindow_end): Call move_it_past_eol only if
2139 ending up on a partially visible line.
2140
028d739a
DL
21412001-03-01 Dave Love <fx@gnu.org>
2142
2143 * ccl.c (Fccl_execute): Doc fix.
2144
57c5889c
GM
21452001-03-01 Gerd Moellmann <gerd@gnu.org>
2146
35f59f6b
GM
2147 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
2148 of the tool bar before calling x_figure_window_size.
2149
f84ff02c
GM
2150 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
2151 NULL after destroying it, otherwise XTread_socket can access a
2152 destroyed widget when input is unblocked.
2153
8b8f9197 2154 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
52283633 2155
57c5889c
GM
2156 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
2157 same name as before, although there was a change in fontsets.
2158
224227d1
KR
21592001-02-28 Ken Raeburn <raeburn@gnu.org>
2160
4560730a
KR
2161 * lisp.h (Fframe_parameter): Declare.
2162
224227d1 2163 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 2164 Lisp_Object.
224227d1 2165
ece93c02
GM
21662001-02-28 Gerd Moellmann <gerd@gnu.org>
2167
11ef99b9
GM
2168 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
2169 NULL instead.
2170
2171 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
2172 NULL instead.
2173
ece93c02
GM
2174 * alloc.c (toplevel): Include process.h.
2175 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
2176 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
2177 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
52283633
SM
2178 (allocate_vector, allocate_hash_table, allocate_window)
2179 (allocate_frame, allocate_process, allocate_other_vector):
2180 New functions.
ece93c02
GM
2181 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
2182 (mark_maybe_pointer): New function.
52283633 2183 (mark_memory): Also mark Lisp data to which only pointers
ece93c02
GM
2184 remain and not Lisp_Objects.
2185 (min_heap_address, max_heap_address): New variables.
2186 (mem_find): Return MEM_NIL if START is below min_heap_address or
2187 above max_heap_address.
2188 (mem_insert): Compute min_heap_address and max_heap_address.
2189
2190 * process.c (make_process): Use allocate_process.
2191
2192 * frame.c (make_frame): Use allocate_frame.
2193
2194 * window.c (make_window, make_dummy_parent): Use allocate_window.
2195 (Fcurrent_window_configuration): Use allocate_other_vector.
2196
2197 * lisp.h (allocate_vectorlike): Remove prototype.
2198 (allocate_vector, allocate_other_vector, allocate_frame)
2199 (allocate_window, allocate_process, allocate_hash_table):
2200 Add prototypes.
2201
2202 * fns.c (Fdelete, larger_vector): Use allocate_vector.
2203 (make_hash_table, copy_hash_table): Use allocate_hash_table.
2204
063af457
KH
22052001-02-27 Kenichi Handa <handa@etl.go.jp>
2206
2207 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
2208 treat the produced bytes as a valid multibyte sequence.
2209
2210 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
52283633
SM
2211 (ccl_driver) <CCL_WriteMultibyteChar2>:
2212 Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
063af457
KH
2213 <ccl_finish>: Set ccl->eight_bit_control properly.
2214
2215 * ccl.h (struct ccl_program): New member eight_bit_control.
2216
f58c6494
SM
22172001-02-26 Stefan Monnier <monnier@cs.yale.edu>
2218
2219 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
2220 accessible_keymaps_char_table.
2221 (accessible_keymaps_char_table): Obey `is_metized'.
2222 (where_is_internal, Fwhere_is_internal): Don't confuse int and
2223 Lisp_Object.
2224
c596c392
GM
22252001-02-26 Gerd Moellmann <gerd@gnu.org>
2226
2227 * dispnew.c: Check HAVE_TERM_H before including term.h.
2228
425de386
AI
22292001-02-24 Andrew Innes <andrewi@gnu.org>
2230
2231 * makefile.w32-in: Update copyright notice.
2232
2ba11bbd
SM
22332001-02-24 Stefan Monnier <monnier@cs.yale.edu>
2234
2235 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
2236
66c56ed1
KH
22372001-02-24 Kenichi Handa <handa@etl.go.jp>
2238
4c1593ce
KH
2239 * Makefile.in (lisp): Add international/utf-8.elc.
2240
66c56ed1
KH
2241 * fontset.c (Fnew_fontset): Fix handling of the case that an
2242 element of FONTLIST is a cons of family and registry.
2243
796ead7e
JR
22442001-02-23 Jason Rumney <jasonr@gnu.org>
2245
2246 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
2247 to height unconditionally.
2248
2249 * w32term.c (x_set_glyph_string_background_width): Extend the
52283633 2250 background face to the end of the drawing area in the text area, only.
796ead7e
JR
2251 (x_insert_glyphs): Call window_box_left to obtain the left
2252 x-coordinate of the area to shift.
2253
2254 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
2255 safe_run_hooks.
2256
f6839838
AI
22572001-02-22 Andrew Innes <andrewi@gnu.org>
2258
52283633 2259 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
f6839838
AI
2260 ($(BLD)\dispnew.obj):
2261 ($(BLD)\editfns.obj):
2262 ($(BLD)\fileio.obj):
2263 ($(BLD)\filelock.obj):
2264 ($(BLD)\keyboard.obj):
2265 ($(BLD)\w32proc.obj):
2266 ($(BLD)\process.obj):
2267 ($(BLD)\sysdep.obj): Ditto.
2268
2269 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
2270 header files.
52283633
SM
2271 ($(BLD)/dispnew.$(O)):
2272 ($(BLD)/editfns.$(O)):
2273 ($(BLD)/fileio.$(O)):
2274 ($(BLD)/filelock.$(O)):
2275 ($(BLD)/keyboard.$(O)):
2276 ($(BLD)/w32proc.$(O)):
2277 ($(BLD)/process.$(O)):
f6839838
AI
2278 ($(BLD)/sysdep.$(O)): Ditto.
2279
c224f70b
GM
22802001-02-22 Gerd Moellmann <gerd@gnu.org>
2281
51695746
GM
2282 * xdisp.c (forward_to_next_line_start): When taking the shortcut
2283 at the start of the function, check that the \n in it->c is
2284 from the iterator's current position.
52283633 2285
a61b7058
GM
2286 * xdisp.c (handle_single_display_prop): Add parameter
2287 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
2288 properties which replace the display of text with something else.
2289 (handle_display_prop): Call handle_single_display_prop with
2290 additional argument saying if we already replaced text display
2291 with something else. Use AREF.
52283633 2292 (with_echo_area_buffer_unwind_data, display_menu_bar)
a61b7058
GM
2293 (decode_mode_spec_coding): Use AREF and ASIZE.
2294
3473f362
GM
2295 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
2296 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
2297 * vmstime.h: Files removed.
52283633 2298
2bb58df3
GM
2299 * unexencap.c, unexfx2800.c: Files removed.
2300
c224f70b
GM
2301 * dispnew.c (direct_output_for_insert): Give up if we are showing
2302 a message or just cleared the message because we might need to
2303 resize the echo area window or display an empty echo area.
2304
ffc9ff0c
GM
23052001-02-21 Gerd Moellmann <gerd@gnu.org>
2306
0528abe1
GM
2307 * xdisp.c (redisplay_internal): Do the
2308 mark_window_display_accurate after all windows have been
2309 redisplayed because this call resets flags in buffers which are
2310 needed for proper redisplay.
2311
52283633
SM
2312 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
2313 Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
ffc9ff0c
GM
2314 the old names.
2315
52283633
SM
2316 * w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2317 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2318
2319 * msdos.h (struct x_output): Rename busy_window to
2320 hourglass_window, busy_p to hourglass_p.
2321
52283633
SM
2322 * xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
2323 busy_window to hourglass_window, busy_p to hourglass_p.
ffc9ff0c
GM
2324
2325 * xfns.c: Rename everything containing *busy_cursor* and similar
2326 to *hourglass*.
2327 (syms_of_w32fns): Rename x-busy-pointer-shape to
2328 x-hourglass-pointer-shape, display-busy-cursor to
2329 display-hourglass, busy-cursor-delay to hourglass-delay.
2330
2331 * w32fns.c: Rename everything containing *busy_cursor* and similar
2332 to *hourglass*.
2333 (syms_of_w32fns): Rename x-busy-pointer-shape to
2334 x-hourglass-pointer-shape, display-busy-cursor to
2335 display-hourglass, busy-cursor-delay to hourglass-delay.
2336
2337 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
2338 of its busy_p flag.
2339
2340 * dispextern.h (start_hourglass, cancel_hourglass)
2341 (display_hourglass_p): Renamed from *busy_cursor*.
2342
ab2c5f0a
GM
23432001-02-20 Gerd Moellmann <gerd@gnu.org>
2344
d17e49a8
GM
2345 * keyboard.c (read_char): When an event from unread-command-events
2346 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
2347
fa97adf6
GM
2348 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
2349 equal to the current buffer.
2350
ab2c5f0a
GM
2351 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
2352 nil, otherwise we're left with truncate_lines t when a message
2353 is printed with message-truncate-lines bound to t.
2354
aeac019e
GM
23552001-02-19 Gerd Moellmann <gerd@gnu.org>
2356
c8bc6f65
GM
2357 * window.c (Fmove_to_window_line): Undo last change.
2358 (displayed_window_lines): Call line_bottom_y to determine
2359 the line's bottom position.
2360
2361 * dispextern.h (line_bottom_y): Add prototype.
2362
52283633 2363 * xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
c8bc6f65
GM
2364 (pos_visible_p): Use it.
2365
980a2d69
GM
2366 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
2367 set redisplaying_p to 0 here instead of in Frecursive_edit.
2368 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
2369 set redisplaying_p.
2370
52283633 2371 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
184d2372
GM
2372 New variables.
2373 (syms_of_xdisp): Initialize new variables.
2374 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
2375 Specbind `inhibit-menubar-update' when updating the menu bar.
2376
65048e97
GM
2377 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
2378 safe_run_hooks.
2379
2380 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
2381 safe_run_hooks.
2382
a57c4026
GM
2383 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
2384 is null.
2385
aeac019e
GM
2386 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
2387 to the start of the file.
2388
76846b31
GM
23892001-02-16 Gerd Moellmann <gerd@gnu.org>
2390
f3f053f3 2391 * window.c (set_window_buffer): Fix last change.
52283633 2392
f3f053f3
GM
2393 * window.c (set_window_buffer): Set window's vscroll to 0.
2394
dad75588
GM
2395 * window.c (coordinates_in_window): Increase width of area
2396 where the vertical line can be dragged.
2397
c220b753
GM
2398 * xterm.c (x_set_glyph_string_background_width): Extend the
2399 background face to the end of the drawing area in the text
2400 area, only.
2401
c56b1c1b
GM
2402 * xdisp.c (handle_single_display_prop): Set iterator's position
2403 to where the `display' property starts, like for images.
2404 (dump_glyph): New function.
2405 (dump_glyph_row): Use it. Dump info about marginal areas.
2406
2407 * dispnew.c (direct_output_for_insert): Recognize more cases where
2408 glyphs can be written instead of being inserted.
2409
2410 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
2411 the left x-coordinate of the area to shift.
2412
76846b31
GM
2413 * dired.c (directory_files_internal): Set result list to nil
2414 before retrying.
2415
0fc71a77
KH
24162001-02-15 Kenichi Handa <handa@etl.go.jp>
2417
2418 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
2419 invalid multibyte sequence, treat *SRC as a character of
2420 eight-bit-graphic.
2421
25078b54
EZ
24222001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
2423
2424 * textprop.c (Fset_text_properties): Doc fix.
2425
8399f8a0
GM
24262001-02-15 Gerd Moellmann <gerd@gnu.org>
2427
2428 * dispnew.c (update_text_area): Undo change of 2001-01-12.
2429
9a2a6f73
DL
24302001-02-14 Dave Love <fx@gnu.org>
2431
2432 * coding.c: Doc and message fixes.
2433
bf853fee
AI
24342001-02-14 Andrew Innes <andrewi@gnu.org>
2435
2436 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
2437 Emacs frame above the screen size.
2438
78c663d8
GM
24392001-02-14 Gerd Moellmann <gerd@gnu.org>
2440
2441 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
2442
7cc9f69f
GM
24432001-02-13 Gerd Moellmann <gerd@gnu.org>
2444
0a411995
GM
2445 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
2446 case that TO ends up beyond ZV after running before-change-functions.
2447
5ddc1b75
GM
2448 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
2449 the selected window if it is showing the buffer in question.
2450
7cc9f69f
GM
2451 * dired.c (directory_files_internal): Initialize errno.
2452 (toplevel): Include errno.h.
2453
2e6621ca
GM
24542001-02-13 Kenichi Handa <handa@etl.go.jp>
2455
2456 * xfaces.c (best_matching_font): New parameter width_ratio.
2457 Multiply avgwidth by width_ratio.
2458 (choose_face_font): Call best_matching_font with width_ratio
2459 calculated from the column width of C.
2460
60222d69
AI
24612001-02-12 Andrew Innes <andrewi@gnu.org>
2462
2463 The following changes are to draw box lines inside characters area
2464 if line-width is negative.
52283633 2465
60222d69
AI
2466 * w32term.c (x_produce_image_glyph): Pay attention to the case that
2467 face->box_line_width is negative.
2468 (x_produce_stretch_glyph): Likewise.
2469 (x_produce_glyphs): Likewise.
2470 (x_estimate_mode_line_height): Likewise.
2471 (x_draw_glyph_string_background): Likewise.
2472 (x_draw_glyph_string_foreground): Likewise.
2473 (x_draw_composite_glyph_string_foreground): Likewise.
2474 (x_draw_glyph_string_box): Likewise.
2475 (x_draw_image_foreground): Likewise.
2476 (x_draw_image_relief): Likewise.
2477 (x_draw_image_foreground_1): Likewise.
2478 (x_draw_image_glyph_string): Likewise.
2479
9804b846
KH
24802001-02-09 Kenichi Handa <handa@etl.go.jp>
2481
2482 The following changes are to draw box lines inside characters area
2483 if line-width is negative.
52283633 2484
9804b846
KH
2485 * xterm.c (x_produce_image_glyph): Pay attention to the case that
2486 face->box_line_width is negative.
2487 (x_produce_stretch_glyph): Likewise.
2488 (x_produce_glyphs): Likewise.
2489 (x_estimate_mode_line_height): Likewise.
2490 (x_draw_glyph_string_background): Likewise.
2491 (x_draw_glyph_string_foreground): Likewise.
2492 (x_draw_composite_glyph_string_foreground): Likewise.
2493 (x_draw_glyph_string_box): Likewise.
2494 (x_draw_image_foreground): Likewise.
2495 (x_draw_image_relief): Likewise.
2496 (x_draw_image_foreground_1): Likewise.
2497 (x_draw_image_glyph_string): Likewise.
2498
2499 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
2500 and :line-width can be negative.
52283633 2501 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.
9804b846 2502
49be9f70
JR
25032001-02-09 Jason Rumney <jasonr@gnu.org>
2504
2505 * w32term.c (w32_encode_char): Treat eight bit graphic and control
2506 characters the same as ASCII and latin-1.
2507 (x_display_and_set_cursor): Check for the focus frame's selected
2508 window instead of selected_window.
2509 (x_after_update_window_line): Don't clear if frame's internal
2510 border width is zero.
2511 (x_new_font): Don't change a tooltip's size.
2512 (w32_initialize): Set char_ins_del_ok to 1.
2513
2514 * w32fns.c (Fx_show_tip): Fix calls to make_number.
2515 (x_set_font): If font hasn't changed, avoid recomputing
2516 faces and other things.
52283633
SM
2517 (x_set_tool_bar_lines): Do nothing if frame is minibuffer-only,
2518 (Fx_create_frame): Add the tool bar height to the frame height.
49be9f70
JR
2519 (x_create_tip_frame): Prevent changing the tooltip's
2520 background color by specifying a color for the default font
2521 in .Xdefaults.
2522 (Qcancel_timer): New variable.
2523 (syms_of_w32fns): Initialize and staticpro it.
2524 (Fx_hide_tip, Fx_show_tip): Use it.
2525 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2526 the timer.
2527 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
2528
2529 * w32.c (init_environment): Duplicate local string before putenv.
2530
555e35d2
SZ
25312001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
2532
2533 * charset.c (Fstring): A typo.
2534
19c92c94
KH
25352001-02-09 Kenichi Handa <handa@etl.go.jp>
2536
e47a1c33
KH
2537 * charset.c (Fstring): If all arguments are less than 256, return
2538 a unibyte string.
2539
2540 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
2541 return a unibyte string.
2542
19c92c94
KH
2543 * coding.c (code_convert_region): After detecting a coding, if
2544 nothing found, set coding->composing to COMPOSITION_NO.
2545 (decode_coding_string): Likewise.
2546
d8e675f5
SM
25472001-02-08 Stefan Monnier <monnier@cs.yale.edu>
2548
2549 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
2550 to avoid overflow.
2551
bd503487
KH
25522001-02-07 Kenichi Handa <handa@etl.go.jp>
2553
2554 * charset.c (parse_str_to_multibyte): New function.
2555
2556 * charset.h (parse_str_to_multibyte): Extern it.
2557
2558 * print.c (print_string): If we are going to print a unibyte
2559 string into a multibyte buffer, convert the string to multibyte by
2560 str_to_multibyte.
2561
a8370d72
AI
25622001-02-06 Andrew Innes <andrewi@gnu.org>
2563
2564 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
2565 been created. It seems we can get sent window messages such as
2566 WM_ERASEBKGND before we properly update a frame.
2567
c363a1d6
GM
25682001-02-06 Gerd Moellmann <gerd@gnu.org>
2569
2570 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
2571 Avoid some unnecessary cursor positioning.
2572
a08332c0
GM
25732001-02-05 Gerd Moellmann <gerd@gnu.org>
2574
52283633 2575 * xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
a08332c0
GM
2576 (LFACE_AVGWIDTH): New macro.
2577 (LFACEP): Use AREF.
2578 (check_lface_attrs): Check LFACE_AVGWIDTH.
2579 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
2580 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
2581 (merge_face_vectors): Check LFACE_AVGWIDTH.
2582 (Finternal_make_lisp_face): Use AREF.
2583 (xm_set_menu_resources_from_menu_face)
2584 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
2585 (Finternal_lisp_face_empty_p): Use AREF.
2586 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
2587 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
2588 Compare average widths..
2589 (best_matching_font): Arrange for comparing average widths.
2590
52283633
SM
2591 * dispextern.h (enum lface_attribute_index):
2592 Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).
2593
5cb3c8d4
DL
25942001-02-05 Dave Love <fx@gnu.org>
2595
2596 * puresize.h: Revert last change following loadup.el change.
2597
193fba87
AI
25982001-02-05 Andrew Innes <andrewi@gnu.org>
2599
2600 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
2601 invocation of temacs, to work with Windows 2000.
2602 (bootstrap-emacs): Ditto.
2603
e16f52ce
GM
26042001-02-05 Gerd Moellmann <gerd@gnu.org>
2605
7a58ab59
GM
2606 * xterm.c (x_display_and_set_cursor): Check for the focus
2607 frame's selected window instead of selected_window.
2608
e89aaabd
GM
2609 * xdisp.c (try_scrolling): If point is in the line below the
2610 window, make sure to move the iterator at least a canonical
2611 char height down.
2612
52283633 2613 * window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.
e16f52ce 2614
789ce875
KH
26152001-02-05 Kenichi Handa <handa@etl.go.jp>
2616
52283633
SM
2617 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
2618 If invalid, execute CCL_INVALID_CMD.
789ce875
KH
2619 (ccl_driver): If the CCL program is terminated because of
2620 CCL_STAT_INVALID_CMD, copy the remaining source data to the
2621 destination instead of throwing them away.
2622
20b28f82
GM
26232001-02-02 Gerd Moellmann <gerd@gnu.org>
2624
79fb38c0
GM
2625 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
2626 faces and other things.
2627
20b28f82
GM
2628 * xdisp.c (get_next_display_element): Fix case of empty
2629 display table entry.
2630
5a72551e
EZ
26312001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
2632
eb24d0bf
EZ
2633 * editfns.c (Fconstrain_to_field): Doc fix.
2634
6a3f48c7
EZ
2635 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
2636 into `thoroughly', to make it consistent with the doc string.
2637
5a72551e
EZ
2638 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
2639
01acdb05
GM
26402001-02-01 Gerd Moellmann <gerd@gnu.org>
2641
0353b28f
GM
2642 * search.c (search_buffer): Call set_search_regs with a byte
2643 position, not a character position.
2644
01acdb05
GM
2645 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
2646 minibuffer-only,
2647
e86b5133
EZ
26482001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
2649
2650 * frame.c (Fmodify_frame_parameters): Doc fix.
2651
7442878f
GM
26522001-01-31 Gerd Moellmann <gerd@gnu.org>
2653
01acdb05
GM
2654 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
2655 identifier which is not reserved by Standard C.
52283633 2656
7442878f
GM
2657 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
2658
2659 * window.c (enum window_part): New enumeration.
2660 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
2661 Qright_bitmap_area.
2662 (coordinates_in_window): Return an enumerator from enum
2663 window_part. Fix handling of right scroll bar.
2664 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
2665 `right-fringe' instead of `left-bitmap-area' and
2666 `right-bitmap-area'. Use enumerators from enum window_part
2667 instead of hard-coded integers.
52283633
SM
2668 (check_window_containing, window_from_coordinates):
2669 Use enumerators from enum window_part instead of hard-coded integers.
7442878f
GM
2670 (syms_of_window): Replace Qleft_bitmap_area and
2671 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
2672
7c132cba
EZ
26732001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
2674
2675 * editfns.c (Fformat_time_string): Doc fix.
2676
c359dd9e
SM
26772001-01-31 Stefan Monnier <monnier@cs.yale.edu>
2678
2679 * keymap.c (Fwhere_is_internal): Use the first valid binding
2680 if no ascii binding is found (when firstonly is t).
2681
ce070307
GM
26822001-01-31 Gerd Moellmann <gerd@gnu.org>
2683
b4f30ec5
GM
2684 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
2685 instead of Finteractive_p.
2686
2687 * lisp.h (interactive_p): Add prototype.
2688
2689 * eval.c (interactive_p): New function.
2690 (Finteractive_p): Use it.
2691
ce070307
GM
2692 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
2693
f57b6e64
DL
26942001-01-31 Dave Love <fx@gnu.org>
2695
d61c7afe
DL
2696 * .gdbinit (hook-run): Define to run xreload.
2697
f57b6e64
DL
2698 * textprop.c (Fset_text_properties): Fix newline in doc string.
2699
eef93f99
GM
27002001-01-30 Gerd Moellmann <gerd@gnu.org>
2701
52283633
SM
2702 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
2703 Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
eef93f99
GM
2704
2705 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
52283633 2706 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
eef93f99
GM
2707 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
2708
2709 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
2710 height.
2711
d9c1f6f9
DL
27122001-01-30 Dave Love <fx@gnu.org>
2713
2714 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
2715 AFTER_POTENTIAL_GC.
2716
e8f044a0
GM
27172001-01-29 Gerd Moellmann <gerd@gnu.org>
2718
52283633
SM
2719 * bytecode.c (Fbyte_code) <Bcurrent_column>:
2720 Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
e8f044a0 2721
8e1db7b3
EZ
27222001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
2723
2724 * textprop.c (Fset_text_properties): Doc fix.
2725
4eefd9d2
GM
27262001-01-29 Gerd Moellmann <gerd@gnu.org>
2727
2728 * xdisp.c (forward_to_next_line_start): Remove xassert.
2729
fccb8288
EZ
27302001-01-29 Jason Rumney <jasonr@gnu.org>
2731
4eefd9d2 2732 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
2733 returning without releasing it.
2734
76581eab
KH
27352001-01-29 Kenichi Handa <handa@etl.go.jp>
2736
2737 * w32fns.c (w32_font_match): Allocate three more bytes to regex
2738 for '^', '$', and '\0'.
2739
83a96b4d
AC
27402001-01-28 Andrew Choi <akochoi@i-cable.com>
2741
5604ec34
AC
2742 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
2743 regex for '^', '$', and '\0'.
2744
83a96b4d
AC
2745 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
2746 only if current_sblock has been initialized.
2747
2748 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
2749 terminal frame even if it is the only visible frame.
2750
c09a6440
KH
27512001-01-28 Kenichi Handa <handa@etl.go.jp>
2752
2753 * fontset.c (font_family_registry): Even if FONTNAME conform to
2754 XLFD, if it specifies other fields than family and registry,
52283633 2755 return FONTANME. New argument FORCE if nonzero cancel that feature.
c09a6440 2756 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
52283633
SM
2757 a signle byte character. Don't set FAMILY part to nil here.
2758 It is handled by the caller choose_face_font.
c09a6440
KH
2759 (Fnew_fontset): Call font_family_registry with FORCE 0.
2760 (Fset_fontset_font): Likewise.
2761
4dcd74e6
GM
27622001-01-27 Gerd Moellmann <gerd@gnu.org>
2763
2764 * xdisp.c (display_line): Don't treat a newline as fitting
2765 on the line.
2766
d2906bf8
GM
27672001-01-26 Gerd Moellmann <gerd@gnu.org>
2768
0130fe1a
GM
2769 * window.c (size_window): Set the window's orig_top to nil when
2770 changing heights, so that a future shrink_mini_window won't
2771 restore a bogus height.
2772
550f0e6a
GM
2773 * frame.c (do_switch_frame): If selected frame has a mini-window,
2774 resize that to exact size.
2775
b7b20fbd
GM
2776 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
2777
a47b7816
GM
2778 * xdisp.c (display_line): Simplify check for glyphs fitting
2779 entirely in the line.
2780
d2906bf8
GM
2781 * xfns.c (xic_style): New variable.
2782 (create_frame_xic): Move static variable to global scope for
550f0e6a 2783 the case that `static' gets defined away.
d2906bf8 2784
73df2b1e
KH
27852001-01-26 Kenichi Handa <handa@etl.go.jp>
2786
2787 * coding.c (decode_coding): Set a flag for inhibiting
2788 inconsistent eol.
2789 (code_convert_region): Always set saved_coding_symbol.
2790 (decode_coding_string): Likewise. Update coding->symbol when we
52283633 2791 encounter a inconsistent eol by the same way as code_convert_region.
73df2b1e 2792
6613cfc4
GM
27932001-01-25 Gerd Moellmann <gerd@gnu.org>
2794
c5e6e06b
GM
2795 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
2796 XClearArea.
2797
2798 * xterm.c (x_after_update_window_line): Don't clear if frame's
2799 internal border width is zero.
2800 (x_clear_area): New function.
2801 (x_after_update_window_line, x_clear_end_of_line)
2802 (x_scroll_bar_create, x_scroll_bar_set_handle)
2803 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
2804 instead of XClearArea.
2805
2806 * xterm.h (x_clear_area): Add prototype.
2807
6613cfc4
GM
2808 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
2809 which doesn't seem necessary anymore with Lesstif 0.92.
2810
650cc6cc
DL
28112001-01-25 Dave Love <fx@gnu.org>
2812
34ac3367
DL
2813 * puresize.h (BASE_PURESIZE): Up to 720000.
2814
650cc6cc
DL
2815 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
2816
5e37dc22
GM
28172001-01-25 Gerd Moellmann <gerd@gnu.org>
2818
e1e441f9
GM
2819 * xdisp.c (echo_area_display): Don't call redisplay_internal
2820 when Emacs is shutting down. We can't run hooks etc. that
2821 would be necessary to do a redisplay.
2822
5e37dc22
GM
2823 * lread.c (read_integer): Use type EMACS_INT instead of int.
2824
0fb94c7f
EZ
28252001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
2826
2827 * ccl.c (ccl_driver): Fix last change.
2828
e3778624
KH
28292001-01-25 Kenichi Handa <handa@etl.go.jp>
2830
2831 * ccl.h (sturct ccl_program): New member suppress_error.
2832
bb264518 2833 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
2834 insert error message to the output.
2835 (setup_ccl_program): Initialize ccl->suppress_error to 0.
2836
2837 * coding.h (struct coding_system): New member suppress_error.
2838
2839 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
2840 (Fset_terminal_coding_system_internal): Set the member
2841 suppress_error to 1.
2842 (Fset_safe_terminal_coding_system_internal): Likewise.
2843
245ed2b1
SM
28442001-01-24 Stefan Monnier <monnier@cs.yale.edu>
2845
2846 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
2847 as if it was a `charset'.
2848
f9aaedb6
GM
28492001-01-24 Gerd Moellmann <gerd@gnu.org>
2850
2851 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
2852 value in where_is_cache; the next lookup in the cache returns
2853 something bogus if we do.
2854
c3902c3e
EZ
28552001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
2856
2857 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
2858 if HAVE_WINDOW_SYSTEM isn't defined.
2859
3497f73e
GM
28602001-01-24 Gerd Moellmann <gerd@gnu.org>
2861
e7e41584
GM
2862 * fns.c (sweep_weak_table): Fix code taking items out of
2863 the hash collision chain. Some cleanup.
2864
3497f73e
GM
2865 * xterm.c (x_new_font): Don't change a tooltip's size.
2866
2867 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
2868 background color by specifying a color for the default font
2869 in .Xdefaults.
2870
3d48e687
KH
28712001-01-24 Kenichi Handa <handa@etl.go.jp>
2872
96531b20
KH
2873 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
2874 a workaround for SunOS 4's cc.
2875 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
2876 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
2877 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
2878 statement.
3d48e687 2879
a30629d2
GM
28802001-01-23 Gerd Moellmann <gerd@gnu.org>
2881
2882 * xterm.c (x_set_window_size_1): New function extracted from
2883 x_set_window_size.
2884 (x_set_window_size): Use it.
2885 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
2886 doesn't have a widget, like tooltips.
2887
5a43decf
EZ
28882001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
2889
52283633 2890 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.
5a43decf 2891
b0e98867
KH
28922001-01-23 Kenichi Handa <handa@etl.go.jp>
2893
2894 * fns.c (Fset_char_table_default): Fix to make sub char-table
2895 correctly.
2896
50606b4c
GM
28972001-01-22 Gerd Moellmann <gerd@gnu.org>
2898
cb2ddc53 2899 * xdisp.c (build_desired_tool_bar_string): Make sure we have
52283633
SM
2900 a desired tool bar string, even if there are no tool bar items.
2901
57c28064
GM
2902 * xdisp.c (Ftool_bar_lines_needed): New function.
2903 (syms_of_xdisp): Defsubr it.
2904
50606b4c
GM
2905 * editfns.c (Fformat): Don't extend text properties from arguments
2906 to padding chars in the result.
2907
2f169c38
EZ
29082001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
2909
2910 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
2911
0f32f023
AI
29122001-01-20 Andrew Innes <andrewi@gnu.org>
2913
52283633 2914 * w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
0f32f023
AI
2915 (w32_initialize): Don't set term hooks that aren't actually needed
2916 in windowed mode.
2917
2918 * xfaces.c (realize_default_face):
2919 (realize_face):
2920 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
2921
2922 * xdisp.c (handle_single_display_prop): Remove references to
2923 FRAME_W32_CONSOLE_P.
2924
52283633 2925 * dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.
0f32f023
AI
2926
2927 * frame.h (output_method): Remove output_w32_console method.
2928 (FRAME_W32_CONSOLE_P): Remove macro.
2929
2930 * frame.c (Qw32_console): Remove variable.
2931 (Fframep): Remove references to it.
2932 (syms_of_frame): Ditto.
2933 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
2934
2935 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
2936 redefinition.
2937
7173eada
KH
29382001-01-20 Kenichi Handa <handa@etl.go.jp>
2939
2940 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
2941
755b45ce
AI
29422001-01-19 Andrew Innes <andrewi@gnu.org>
2943
2944 * w32.c (init_environment): Add a version-independent site-lisp
2945 directory to EMACSLOADPATH, after the version dependent one.
2946
0a949811
GM
29472001-01-19 Gerd Moellmann <gerd@gnu.org>
2948
8501998a
GM
2949 * editfns.c (Fbuffer_substring): Doc fix.
2950
52283633
SM
2951 * xdisp.c (message_dolog, message2, message2_nolog):
2952 Rename parameter LEN to NBYTES.
0a949811 2953
e6ebcbbe
KH
29542001-01-19 Kenichi Handa <handa@etl.go.jp>
2955
200ecca2
KH
2956 * charset.c (strwidth): Use c_string_width.
2957 (c_string_width): New function.
2958 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
2959 Caller changed.
2960
2961 * charset.h (c_string_width, lisp_string_width): Extern them.
2962
52283633 2963 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
200ecca2 2964
e6ebcbbe
KH
2965 * indent.c (check_composition): Check validity of composition.
2966
200ecca2
KH
2967 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
2968 characters by calling c_string_width.
2969 (x_consider_frame_title): Get byte length of frame tile string
2970 correctly.
2971 (display_mode_element): Pay attention to width of non-ASCII
2972 characters by calling strwidth.
2973
8692ca92
GM
29742001-01-18 Gerd Moellmann <gerd@gnu.org>
2975
8962e303
GM
2976 * xfns.c (Qcancel_timer): New variable.
2977 (syms_of_xfns): Initialize and staticpro it.
2978 (Fx_hide_tip, Fx_show_tip): Use it.
2979 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
2980 the timer.
2981 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
2982
91523be9
GM
2983 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
2984
2985 * window.h (WINDOW_LIVE_P): New macro.
2986
b0b7ed0e
GM
2987 * window.c (window_size_fixed): New variable.
2988 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
2989 the doc string.
2990
06bccf8e
GM
2991 * eval.c (specbind): If binding a per-buffer variable which
2992 doesn't have a buffer-local value in the current buffer, change
2993 the global value by changing the value of the symbol bound in all
2994 buffers not having their own value, to make it consistent with
2995 what happens with other buffer-local variables.
2996
8692ca92
GM
2997 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
2998
2999 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
3000 when searching for a newline.
3001
bb3a3b50
KH
30022001-01-18 Kenichi Handa <handa@etl.go.jp>
3003
3004 * xdisp.c (display_string): Fix previous change.
3005
c2cc16fa
JR
30062001-01-18 Jason Rumney <jasonr@gnu.org>
3007
3008 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
3009 GLYPH_DEBUG is defined.
3010 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
3011 true for images with `:ascent 100'.
3012 (x_set_mouse_face_gc): If the last used mouse face has gone in the
3013 meantime, use face MOUSE_FACE_ID.
3014 If first glyph isn't a character glyph, use the ASCII NUL
3015 character to determine the face.
3016 (expose_area): Do not treat left margin specially.
3017 (note_mode_line_highlight): If no local_map, check global keymap.
3018 (note_mouse_highlight): Initialize overlay.
52283633 3019 (clear_mouse_face): Don't return if tip_frame is non-nil.
c2cc16fa
JR
3020 (show_scroll_bars): Remove unused function.
3021 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
3022 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
3023 Clip to row.
52283633 3024 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
c2cc16fa
JR
3025 (x_free_frame_resources): Unload relief colors.
3026
9c11f79e
GM
30272001-01-17 Gerd Moellmann <gerd@gnu.org>
3028
3aec8722 3029 * xdisp.c (forward_to_next_line_start): Avoid calling
52283633
SM
3030 get_next_display_element when the newline is already found.
3031 This may change the iterator's position, when its current position is
3aec8722
GM
3032 equal to the iterator's stop_charpos.
3033
f3ffc2c3
GM
3034 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
3035 zero, use this method only at the end of a line.
3036
52283633 3037 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
a86110a8
GM
3038 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
3039 if SCALABLE_FONTS_P is set.
52283633 3040
d26d6fd9
GM
3041 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
3042 so that scalable fonts are included.
3043
9c11f79e
GM
3044 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
3045 In the cache, use a key containing the information if scalable
3046 fonts are included.
3047 (x_load_font): Adapt to change of keys in the font cache.
3048
30492001-01-17 Kim F. Storm <storm@filanet.dk>
52283633 3050
d26d6fd9
GM
3051 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
3052 XListFonts to take advantage of font caching.
3053
9c11f79e
GM
3054 * xterm.c (x_list_fonts): Ensure caching font information when
3055 called for a null frame, which is the case frequently when Emacs
3056 starts.
3057
51446987
GM
30582001-01-17 Gerd Moellmann <gerd@gnu.org>
3059
f864120f
GM
3060 * xfns.c (QCconversion): Replaces QCalgorithm.
3061
3062 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
3063
3064 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
3065 of :algorithm.
52283633 3066
e37d1417
GM
3067 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
3068 not everything could be displayed.
3069
51446987
GM
3070 * line.h, x-list-font.c: Files removed because unused.
3071
9ad4f3e5
AI
30722001-01-17 Andrew Innes <andrewi@gnu.org>
3073
3074 * dired.c (directory_files_internal): Convert result from readdir
3075 to a unibyte string initially, to avoid possible misinterpretation
3076 of some bytes as the internal form of Emacs characters.
3077
2eda09b5
KH
30782001-01-17 Kenichi Handa <handa@etl.go.jp>
3079
3080 * fns.c (concat): Be sure to avoid putting the same `composition'
3081 property on the adjacent regions.
3082
826f3788
GM
30832001-01-16 Gerd Moellmann <gerd@gnu.org>
3084
52283633 3085 * window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
f251459d
GM
3086 (Fscroll_right, Fscroll_left): Set it here instead, if called
3087 interactively.
3088
d57b83b3
GM
3089 * buffer.c (Fset_buffer_modified_p): Set buffer's
3090 prevent_redisplay_optimizations_p flag.
3091
826f3788 3092 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
52283633
SM
3093 * sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
3094 with additional arg.
3095
3096 * dispextern.h, lisp.h (redisplay_preserve_echo_area):
3097 Change prototype.
826f3788 3098
826f3788
GM
3099 * xdisp.c (redisplay_preserve_echo_area): Add parameter
3100 FROM_WHERE, for debugging.
3101
261d788b
KH
31022001-01-16 Kenichi Handa <handa@etl.go.jp>
3103
3104 * ccl.c (Fregister_ccl_program): Handle the return value of
3105 resolve_symbol_ccl_program correctly.
52283633 3106 (CCL_Extension): Fix typo (originally CCL_Extention). Caller changed.
261d788b 3107
bccee4f2
GM
31082001-01-15 Gerd Moellmann <gerd@gnu.org>
3109
e4ded23c
GM
3110 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
3111 has gone in the meantime, use face MOUSE_FACE_ID.
52283633
SM
3112
3113 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
3114 If x_display_info_for_display returns null, don't try to close
ae24cb3b
GM
3115 the display; we didn't open it.
3116
bccee4f2
GM
3117 * dispnew.c (save_or_restore_current_matrices): Function removed.
3118 (save_current_matrix, restore_current_matrix): New functions.
3119 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
3120 restore the frame's current matrix. Due to the glyph pointer
3121 setup done in adjust_glyph_matrix, there is no easy way to make
3122 saving the current matrix in the desired matrix generally correct,
3123 so don't try it.
3124
ebeccffa
KH
31252001-01-15 Kenichi Handa <handa@etl.go.jp>
3126
3127 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
3128 truncation glyphs.
3129 (display_line): Optimize for wide characters.
e4ded23c 3130 (display_string): Don't try to display a multi-column character
ebeccffa
KH
3131 partially. On ttys, produce more than one truncation glyph for
3132 multi-column characters that don't fit on the line.
3133
64388126
KH
31342001-01-13 Kenichi Handa <handa@etl.go.jp>
3135
52283633
SM
3136 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
3137 Define it instead of WORDS_BIGENDIAN. Caller changed.
64388126 3138
8edb0a6f
JR
31392001-01-13 Jason Rumney <jasonr@gnu.org>
3140
3141 * w32fns.c (Fimage_size, image_ascent, lookup_image)
3142 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
52283633
SM
3143 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3144 (tiff_format, gif_format, gs_format): Adapt to change of image margins.
8edb0a6f 3145
52283633
SM
3146 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
3147 (x_draw_image_relief, x_draw_image_foreground_1)
8edb0a6f
JR
3148 (x_draw_image_glyph_string): Adapt to change of image margins.
3149
3150 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
3151 variables.
3152
3153 * w32bdf.c (search_file_line, get_cached_font_char)
3154 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
3155
3156 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
3157
3158 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
3159 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
3160 (Fw32_send_sys_command): Remove unused variables.
3161 (w32_msg_pump): Add parentheses.
3162
3163 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
3164 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
3165 Add parentheses.
3166
4956d1ef
GM
31672001-01-12 Gerd Moellmann <gerd@gnu.org>
3168
b30623be
GM
3169 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
3170 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
3171 being a pair of margins.
3172 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
3173 to DEFVAR_LISP. Extend doc.
3174
3175 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
3176 margins.
3177 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
3178 pair of integers `(X . Y)', use X for the horizontal and Y for the
3179 vertical margin.
3180 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
3181 (parse_image_spec): Check it.
52283633
SM
3182 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3183 (tiff_format, gif_format, gs_format):
3184 Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
b30623be 3185
52283633
SM
3186 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3187 (x_draw_image_relief, x_draw_image_foreground_1)
b30623be
GM
3188 (x_draw_image_glyph_string): Adapt to the change of image margins.
3189
3190 * dispextern.h (struct image): Replace member `margin' with
3191 `hmargin' and `vmargin'.
3192
4554cc79
GM
3193 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
3194 and GLYPHS.
3195
3196 * dispnew.c (update_text_area): Put code which decrements the
3197 stop position when the row's face extends to the end of the
3bffc665 3198 line in #if 0.
4554cc79 3199
3cccce8d
GM
3200 * xfns.c (x_set_mouse_color): Fix color allocation.
3201
4956d1ef
GM
3202 * keyboard.c: Call get_local_map with new argument list.
3203
3204 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
3205
3206 * intervals.h (enum map_property): Removed.
3207 (get_local_map): Change prototype.
3208
3209 * keymap.c: Call get_local_map with new argument list.
3210 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
3211
2c2ff7f2
GM
32122001-01-11 Gerd Moellmann <gerd@gnu.org>
3213
a23887b9
GM
3214 * xdisp.c (build_desired_tool_bar_string): Correct the computation
3215 of the size needed for the tool bar string. For the last image,
3216 use a `display' property that reaches to the end of the string.
3217
a7ee2d2e
GM
3218 * xselect.c (selection_request_dpyinfo): New variable.
3219 (x_handle_selection_request): Set it.
3220 (x_selection_request_lisp_error): Don't call
3221 x_decline_selection_request if selection request's display has
3222 been closed.
3223
52283633
SM
3224 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
3225 Do the unregister_colors before calling XFreeColors.
2c2ff7f2 3226
457b792c
GM
32272001-01-10 Dave Love <fx@gnu.org>
3228
3229 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
3230 ${SOME_MACHINE_LISP}, not ${lisp}.
3231
c1efd260
GM
32322001-01-10 Gerd Moellmann <gerd@gnu.org>
3233
52283633
SM
3234 * xdisp.c (display_line): On ttys, produce more than one truncation
3235 glyph for multi-column characters that don't fit on the line.
a98b5ed9 3236
ac95a621
GM
3237 * xselect.c (x_reply_selection_request): Add a comment.
3238
c1efd260
GM
3239 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
3240 XkbGetNames instead of XkbGetKeyboard.
3241
1bfb1345
DL
32422001-01-10 Dave Love <fx@gnu.org>
3243
3244 * sysdep.c (random): Revert the declaration.
3245
38119822
GM
32462001-01-09 Gerd Moellmann <gerd@gnu.org>
3247
52283633
SM
3248 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
3249 Call function string_bytes.
35f464a7
GM
3250 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
3251
3252 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
3253 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
3254 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
3255 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
3256 the current sblock.
3257 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
3258 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
3259 after sweeping strings, and at the end.
3260 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
3261
38119822
GM
3262 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
3263 ensure that pop_message is called.
3264
3265 * keyboard.c (Fexecute_extended_command): Use a
3266 record_unwind_protect to ensure that pop_message is called.
3267
3268 * lisp.h (push_message_unwind): Add prototype.
3269
3270 * xdisp.c (push_message_unwind): New function.
3271
3272 * fileio.c (do_auto_save_unwind): Do the pop_message here
3273 instead of in Fdo_auto_save.
3274 (Fdo_auto_save): Don't call pop_message.
3275
f47a9ec4
KR
32762001-01-08 Ken Raeburn <raeburn@gnu.org>
3277
3278 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
3279 in inner block.
3280
a758f97d
GM
32812001-01-08 Gerd Moellmann <gerd@gnu.org>
3282
6d0afc03
GM
3283 * window.c (window_scroll_pixel_based): Adjust glyph matrices
3284 when increasing window's vscroll.
3285
a758f97d
GM
3286 * macros.c (Qkbd_macro_termination_hook): New variable.
3287 (syms_of_macros): Initialize and staticpro it.
3288 (pop_kbd_macro): Run kbd-macro-termination-hook.
3289
3290 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
3291
1bfb1345 32922001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
3293
3294 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
3295 arglist, for documentation's sake.
3296
0dac6924
AI
32972001-01-06 Andrew Innes <andrewi@gnu.org>
3298
3299 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
3300 of *.pdb.
3301
8182406a
AI
33022001-01-05 Andrew Innes <andrewi@gnu.org>
3303
3304 * term.c (update_end): Don't check updating_frame; for some reason
3305 this can be 0 sometimes, such as after dismissing a popup menu,
3306 and isn't necessary given the explicit frame argument.
3307
3828218c
GM
33082001-01-05 Gerd Moellmann <gerd@gnu.org>
3309
3310 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
3311 on some systems, and an unsigned long on others, like FreeBSD 4.1.
3312
2f5ded21
GM
33132001-01-04 Gerd Moellmann <gerd@gnu.org>
3314
52283633 3315 * xterm.c (clear_mouse_face): Don't return if tip_frame is non-nil.
2f5ded21
GM
3316
3317 * xfns.c (x_create_tip_frame): Preserve the value of
3318 face_change_count around the creation of the tip frame.
52283633 3319
2f5ded21
GM
3320 * xfns.c (last_show_tip_args): New variable.
3321 (compute_tip_xy): New function.
3322 (Fx_show_tip): Reuse an existing tip frame, if possible.
3323 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
3324
dfad65fa
DL
33252001-01-04 Dave Love <fx@gnu.org>
3326
64d4ec0f
DL
3327 * editfns.c (Fformat): Doc fix.
3328
dfad65fa
DL
3329 * systime.h (set_file_times): Prototype.
3330
3331 * widget.h (EmacsFrameSetCharSize_): Prototype.
3332
3333 * sysdep.c (random, srandom): Declare explicitly.
3334
3335 * dispextern.h (move_it_vertically_backward): Declare.
3336
85fe3b5e
GM
33372001-01-04 Gerd Moellmann <gerd@gnu.org>
3338
0f2ac578
GM
3339 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
3340 like in Fx_create_frame.
3341
482cca61
GM
3342 * xfaces.c (set_font_frame_param): Don't do anything for
3343 non-graphical frames.
3344
85fe3b5e
GM
3345 * window.c (Fdelete_other_windows): Set window's window_end_valid
3346 to nil when changing the window's start. Don't change the
3347 window's start when its top position hasn't changed. If we do,
3348 this will set the window's optional_new_start, which act's like a
3349 force_start during redisplay with C-x 1 M-> under particular
3350 circumstances (see report from Per Starback to emacs-pretest-bug
3351 from 2000-12-13.).
3352
3e99d3b4
GM
33532001-01-03 Gerd Moellmann <gerd@gnu.org>
3354
a77dc1ec
GM
3355 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
3356 short cut at the start of the function. Add an assertion.
3357 (reseat_at_next_visible_line_start): Add an assertion.
3358
2f3cad6c
GM
3359 * window.c (Frecenter): When changing the window start, set the
3360 window's window_end_valid to nil.
3361 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
3362
3363 * dispextern.h (move_it_past_eol): Add prototype.
3364
3365 * xdisp.c (move_it_past_eol): New function.
3366
3e99d3b4
GM
3367 * window.c (Fwindow_end): Doc fix.
3368
33692001-01-03 Dave Love <fx@gnu.org>
3370
52283633 3371 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3 kluge.
3e99d3b4 3372
bafb434c
GM
33732001-01-03 Gerd Moellmann <gerd@gnu.org>
3374
3375 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
3376 the enabled_p flag of the glyph row at window_end_vpos to 0.
3377 (handle_single_display_prop): Fix last change.
3378
5297fb00
RS
33792001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
3380
3381 * window.c (Frecenter): Doc fix.
3382
13d6a61c
AI
33832001-01-02 Andrew Innes <andrewi@gnu.org>
3384
3385 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
3386
3387 * frame.h (output_method): Add output_w32_console method.
3388 (FRAME_W32_CONSOLE_P): New macro.
3389
3390 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
3391 use output_w32_console method.
3392 (Qw32_console): New Lisp_Object.
3393 (Fframep): Return it.
3394 (syms_of_frame): Init it.
52283633 3395 (Fframe_parameters): Report w32console as font for w32_console frames.
13d6a61c
AI
3396
3397 * xfaces.c (realize_default_face): Set face foreground and
3398 background to unspecified for w32_console frames.
3399 (realize_face): Realize face cache for w32_console frames.
3400 (realize_tty_face): Accept w32_console frames.
3401
52283633 3402 * xdisp.c (handle_single_display_prop): Return if frame is w32_console.
13d6a61c
AI
3403 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
3404 necessary, even if running interactively.
3405
3406 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
3407 w32_console frames.
3408
52283633
SM
3409 * w32term.c (x_update_begin):
3410 (x_update_end):
3411 (x_clear_frame):
3412 (x_ins_del_lines):
3413 (x_change_line_highlight):
3414 (x_delete_glyphs):
3415 (w32_ring_bell):
3416 (x_update_begin):
3417 (x_update_end):
3418 (w32_reassert_line_highlight):
3419 (w32_frame_rehighlight):
13d6a61c
AI
3420 (w32_frame_raise_lower): Do nothing if not w32 frame.
3421
3422 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
3423
3424 * w32fns.c (Fx_display_color_cells): Determine correct value, when
3425 system doesn't tell us directly.
3426 (Fx_display_visual_class): Implement properly.
3427
d6bb0c0d
GM
34282001-01-02 Gerd Moellmann <gerd@gnu.org>
3429
3430 * window.c (Frecenter): Handle centering in graphical frames
3431 specially. Centering on the basis of line counts doesn't work
3432 reliably with variable-height lines.
52283633 3433
315f5865
EZ
34342001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
3435
3436 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
3437 and al[].
3438
52283633 3439 * composite.c (run_composition_function): Remove unused var `val'.
315f5865
EZ
3440 (update_compositions): Remove unused variable `hook'.
3441
3442 * intervals.c (get_local_map): Remove unused variable `tem'.
3443
3444 * doprnt.c (doprnt1): Remove unused variable `size'.
3445
3446 * fns.c (Flength): Remove unused variable `tail'.
3447 (Fdelete): Remove unused variable `size'.
3448
3449 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
3450 and `gcpro2'.
3451
52283633 3452 * doc.c (Fsnarf_documentation): Remove unused vars `fun' and `tem'.
315f5865
EZ
3453
3454 * data.c (find_symbol_value): Remove extra 3rd argument in the
3455 call to swap_in_symval_forwarding.
3456
52283633 3457 * undo.c (Fprimitive_undo): Remove unused block-scope variable `end'.
315f5865
EZ
3458
3459 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
3460 (trivial_regexp_p): Remove unused variable `c'.
3461 (boyer_moore): Remove unused variable `k'.
3462
3463 * indent.c (current_column): Remove unused variable `stopchar'.
3464 (Fcompute_motion): Remove unused variable `contin'.
3465
3466 * casefiddle.c (casify_object): Remove unused variable `tolen'.
3467
3468 * dired.c (directory_files_internal): Fix a typo in a comment.
3469 Remove an unused variable `handler'.
52283633 3470 (file_name_completion): Remove unused function-scope variable `dp'.
315f5865
EZ
3471 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
3472 on BSD4_2.
3473
52283633 3474 * fileio.c (e_write): Remove unused variable `require_encoding_p'.
315f5865
EZ
3475
3476 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
3477 and `buf'.
3478 (Fmarker_insertion_type): Remove unused variable `buf'.
3479
3480 * insdel.c (make_gap): Remove unused variable `result'.
3481
52283633 3482 * keyboard.c (record_char): Remove unused function-scope var `help'.
315f5865
EZ
3483 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
3484 (menu_bar_items): Remove unused function-scope variable `tem'.
3485
3486 * fontset.c (fontset_ref): Remove unused variable `i'.
3487 (fontset_set): Remove unused variables `j' and `tmp'.
52283633 3488 (make_fontset): Remove unused variables `i', `j', `elt' and `base_elt'.
315f5865
EZ
3489 (make_fontset_for_ascii_face): Remove unused variable `name'.
3490 (fs_load_font): Remove unused variable `font_idx'.
52283633 3491 (fs_query_fontset): Remove unused function-local variable `fontset'.
315f5865
EZ
3492 (list_fontsets): Remove unused variable `tail'.
3493 (Fnew_fontset): Remove unused variables `family' and `registry'.
3494 (accumulate_font_info): Remove unused variable `tmp'.
3495 (Ffontset_font): Remove unused variable `id'.
3496 (syms_of_fontset): Remove unused variable `i'.
3497
3498 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
3499 to x_term_init.
3500 (lookup_image): Remove unused variable `file'.
3501 (xbm_load): Remove unused variables `bitmap_data', `height', and
3502 `width'. Remove function-local variable `i', leave the
3503 block-local one.
3504 (gif_load): Remove unused variable `inc'.
3505
52283633 3506 * xterm.c (XTread_socket): Remove unused variables `p' and `pend'.
315f5865
EZ
3507 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
3508 leave only the one in the inner block.
3509
3510 * xfaces.c (face_fontset, realize_default_face): Remove unused
3511 variable `fontset'.
3512 (face_at_buffer_position): Remove unused variable `multibyte_p'.
3513
3514 * term.c (encode_terminal_code): Remove unused variable `c'.
3515
3516 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
3517 char *' instead of `char *'.
3518
3519 * category.c (Fcategory_docstring): Remove unused variable `doc'.
52283633 3520 (Fget_unused_category): Remove unused variable `docstring_vector'.
315f5865
EZ
3521 (Fchar_category_set): Remove unused variables `val', `charset',
3522 `c1' and `c2'.
3523
52283633
SM
3524 * coding.c (detect_coding_iso2022, setup_coding_system):
3525 Remove unused variable `i'.
315f5865
EZ
3526 (detect_coding_mask): Remove unused variable `idx'.
3527 (detect_coding): Remove unused variable `i'.
3528 (ccl_coding_driver): Remove unused variable `result'.
3529 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
52283633 3530 (decode_coding_string): Remove unused variables `to' and `gcpro1'.
315f5865
EZ
3531 (encode_coding_string): Remove unused variables `gcpro1' and
3532 `saved_coding_symbol'.
3533 (Ffind_coding_systems_region_internal): Remove function-local
3534 variable args[], leave only the block-local one.
3535 (code_convert_region1): Remove unused variable `len'.
3536
3537 * charset.c (char_printable_p): Remove unused variable `chars'.
3538 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
3539 (str_to_multibyte): Remove unused variable `c'.
3540
3541 * window.c (size_window): Remove block-local variable `min_size'.
3542
3543 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
3544 `header_line_height'.
3545 (append_space, extend_face_to_end_of_line): Declare `saved_what'
3546 enum display_element_type.
3547
1a8a9daf
GM
35482001-01-02 Gerd Moellmann <gerd@gnu.org>
3549
6dde6abc 3550 * xterm.c (x_connection_closed): Catch X errors around all
52283633
SM
3551 statements that call X. Save away the error message in a local copy.
3552
1883b2c6
GM
3553 * xterm.c (x_connection_closed): Set handling_signal to 0 at
3554 the start.
3555
a13be207
GM
3556 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
3557 in or at the start of invisible text.
3558
1a8a9daf
GM
3559 * dispnew.c (update_window): Don't check_current_matrix_flags.
3560
3608c0f9
JR
35612001-01-01 Jason Rumney <jasonr@gnu.org>
3562
3563 * w32fns.c (x_figure_window_size): Do not allow new_height and
3564 new_width of frame to override specified values.
3565
abb1acc4
KH
35662000-12-30 Kenichi Handa <handa@etl.go.jp>
3567
52283633 3568 * composite.c (find_composition): Fix a code for searching backward.
abb1acc4 3569
762a68ec
GM
35702000-12-29 Gerd Moellmann <gerd@gnu.org>
3571
52283633 3572 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New function.
9c8b8382
GM
3573 (update_window) [GLYPH_DEBUG]: Call it.
3574 (scrolling_window): Prevent including current rows which are below
3575 what's displayed in the window.
3576
3577 * xdisp.c (try_window_reusing_current_matrix)
3578 <new start <= old start>: Disable rows in the current matrix
3579 which are below the window after scrolling.
52283633 3580
762a68ec
GM
3581 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
3582 is zero. It's not worth the complexity.
3583 (invisible_text_between_p): Put in #if 0 because unused.
3584
2d5912c1
GM
35852000-12-28 Gerd Moellmann <gerd@gnu.org>
3586
46f6a258
GM
3587 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
3588 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
3589
89f93679
GM
3590 * keyboard.c (echo_char): If C is an integer, always call
3591 push_key_description. Former code could signal an invalid
3592 character error.
3593
3594 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
3595 If set, print multibyte text.
3596 (Fsingle_key_description): Call push_key_description with
3597 FORCE_MULTIBYTE set.
3598 (describe_buffer_bindings): Likewise.
3599
3600 * lisp.h (push_key_description): Add prototype.
3601
c06017fb
GM
3602 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
3603 around the call to redisplay_internal.
3604
f1d2ce7f
GM
3605 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3606
2d5912c1
GM
3607 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
3608
9371f831
KH
36092000-12-28 Kenichi Handa <handa@etl.go.jp>
3610
3611 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
3612 (ccl_driver): New local variable `extra_bytes'.
3613
3614 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
3615
52283633
SM
3616 * coding.c (setup_coding_system):
3617 Initialize coding->spec.ccl.eight_bit_carryover.
9371f831
KH
3618 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
3619
0c80628a
KH
36202000-12-28 Kenichi Handa <handa@etl.go.jp>
3621
3622 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
3623 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
3624 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
3625 (decode_composition_emacs_mule): New function.
3626 (decode_coding_emacs_mule): Decode composition sequence by calling
3627 decode_composition_emacs_mule.
3628 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
52283633
SM
3629 (encode_coding_emacs_mule): Changed from macro to function.
3630 If a text contains compositions, encode them correctly.
0c80628a
KH
3631 (setup_coding_system): Set coding->commong_flags for emacs-mule so
3632 that decoding and encoding are required.
3633
3e32cc27
GM
36342000-12-27 Gerd Moellmann <gerd@gnu.org>
3635
5e25feee
GM
3636 * xfaces.c (PT_PER_INCH): New macro.
3637 (xlfd_point_size): Compute real point size from font's pixel size.
3638 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
3639 instead of 72.
3640
892d8fcd
GM
3641 * .gdbinit: Comment out the line pointing to the Lesstif source
3642 directory.
3643
12c8b416
GM
3644 * window.c (Frecenter): Use displayed_window_lines instead
3645 of window_internal_height.
3646
6061fbf0
GM
3647 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3648 instead of x-toolkit-scroll-bars-p.
3649 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
3650
3651 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
3652 instead of x-toolkit-scroll-bars-p.
3653 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
52283633 3654
3e32cc27
GM
3655 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
3656 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
52283633
SM
3657 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]:
3658 New variables.
3659 (add_window_display_history, add_frame_display_history)
3e32cc27
GM
3660 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
3661 (build_frame_matrix_from_leaf_window): Remove unused code.
3662 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
3663 redisplay history.
3664 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
3665 (update_window) [GLYPH_DEBUG]: Likewise.
3666 (syms_of_display): Defsubr dump-redisplay-history.
3667
31798cfe
GM
36682000-12-23 Gerd Moellmann <gerd@gnu.org>
3669
f717c2ba
GM
3670 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
3671 the end of the prompt. Set echo_after_prompt to the offset
3672 of echoptr in echobuf.
3673
aeb2b8fc
GM
3674 * xdisp.c (init_from_display_pos): Pop until the iterator's
3675 stack is empty; there may be frames for stretch or images
3676 on the stack.
3677
31798cfe
GM
3678 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
3679 (save_or_restore_current_matrix): New function for the same
3680 purpose, but more efficient.
3681 (adjust_frame_glyphs_for_frame_redisplay): Use it.
3682
f8156156
EZ
36832000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
3684
3685 * xdisp.c (syms_of_xdisp): Fix last change.
3686
bdd6d4e8
GM
36872000-12-23 Gerd Moellmann <gerd@gnu.org>
3688
3689 * xdisp.c (syms_of_xdisp): Doc fix.
3690
3691 * xdisp.c (redisplay_window): Remove label restore_buffers;
3692 use finish_scroll_bars instead to make sure that scroll bars
3693 are redeemed. If we don't do this, flickering can result from
3694 scroll bars being destroyed and recreated.
3695
9436cdf9
JR
36962000-12-22 Jason Rumney <jasonr@gnu.org>
3697
3698 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
3699 in the wrong colors when the foreground is not black.
3700 (expose_window): Don't redraw the window that's currently being
3701 updated.
3702
951f9df5
GM
37032000-12-22 Gerd Moellmann <gerd@gnu.org>
3704
856ff7a7
GM
3705 * window.c (size_window): When setting the window's too_small_ok
3706 flag, compare old size with minimum size depending on WIDTH_P,
3707 don't compare with window_min_width.
52283633 3708
951f9df5
GM
3709 * window.c (delete_window): Simplify somewhat.
3710 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
3711 freeing window matrices. The flag windows_or_buffers_changed is
3712 set, so the next redisplay will consider all windows; this should
3713 suffice.
3714
886bc933
KH
37152000-12-22 Kenichi Handa <handa@etl.go.jp>
3716
3717 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
3718
3719 * ccl.h (struct ccl_program): New member cr_consumed.
3720
3721 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
3722 (CCL_READ_CHAR): Handle EOL conversion here.
3723 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
3724
177f4e88
GM
37252000-12-21 Gerd Moellmann <gerd@gnu.org>
3726
52283633 3727 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg GLYPHS.
6ba384dc
GM
3728
3729 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
3730 otherwise tabs of different size compare equal.
3731
3732 * callint.c (Fcall_interactively): Prevent a compiler warning.
3733
3734 * print.c (print_unwind): Return nil.
3735 (PRINTDECLARE): Initialize all local variables.
3736 (print_preprocess): Add a default case.
3737
8e15274f
GM
3738 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
3739
3740 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
3741
52283633 3742 * window.c (delete_window, Fsplit_window)
177f4e88
GM
3743 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
3744
3745 * dispextern.h (ensure_frame_matrix): Function declaration removed.
3746
3747 * dispnew.c (ensure_frame_matrix): Removed.
3748 (save_frame_matrix, restore_frame_matrix): New functions.
3749 (adjust_frame_glyphs_for_frame_redisplay): Use them.
3750
3751 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
3752 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
3753
99012074
AI
37542000-12-21 Andrew Innes <andrewi@gnu.org>
3755
3756 * w32term.c (x_update_begin): Regenerate the palette here, rather
3757 than for each window.
3758
3759 * w32xfns.c (select_palette): Avoid calling SelectPalette if
3760 palette is NULL, since this corrupts memory! Also get
3761 display_info reference from frame.
3762
29ef7d2d
JR
37632000-12-21 Jason Rumney <jasonr@gnu.org>
3764
3765 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
3766
3767 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
3768 to avoid returning without releasing it.
3e27fa1f 3769
3f9d67a6
KH
37702000-12-21 Kenichi Handa <handa@etl.go.jp>
3771
587fc3f9
KH
3772 * keymap.c (push_key_description): Don't convert eight-bit-control
3773 and eight-bit-graphic to multibyte character.
3774
3f9d67a6
KH
3775 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
3776 generic character and CODE1 is nil, return the smallest character
3777 in CHARSET.
3778
774ba8c9
DL
37792000-12-20 Dave Love <fx@gnu.org>
3780
3781 * s/osf5-0.h (NSIG): Don't redefine.
3782
88416888
SM
37832000-12-20 Stefan Monnier <monnier@cs.yale.edu>
3784
3785 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
3786 excluding menu-bar and tool-bar.
3787 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
3788 (menu_item_p): Remove.
3789 (where_is_internal_1): Don't ignore menu-items.
3790
a6426c6f
GM
37912000-12-20 Gerd Moellmann <gerd@gnu.org>
3792
03ff8aab
GM
3793 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
3794 into account.
3795
3796 * window.c (make_window): Initialize window's min_hscroll.
3797 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
3798 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
3799 to zero.
3800 (struct saved_window): New member min_hscroll.
3801 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
3802 (Fset_window_configuration): Set window's min_hscroll.
3803 (save_window_save): Save window's min_hscroll.
3804 (compare_window_configurations): Compare min_hscroll values.
3805
3806 * window.h (struct window): New member min_hscroll.
3807
3808 * keyboard.c (echo_prompt): Prevent a compiler warning.
3809
8de4aaf8
GM
3810 * xdisp.c (try_cursor_movement): Fix last change. The real
3811 condition is that PT is at the end of the row, and should
3812 be displayed at the start of the next row.
52283633 3813
3f7e3031
GM
3814 * xdisp.c (try_cursor_movement): If we end on a partially
3815 visible line, end we already decided to scroll, return -1.
3816
a6426c6f
GM
3817 * dispextern.h (ensure_frame_matrix): Add prototype.
3818
3819 * window.c (delete_window, Fsplit_window)
3820 (Fset_window_configuration): Call ensure_frame_matrix.
3821
52283633
SM
3822 * dispnew.c (fake_current_matrices, ensure_frame_matrix):
3823 New functions.
a6426c6f
GM
3824 (adjust_frame_glyphs_for_frame_redisplay): If display has been
3825 completed, call fake_current_matrices instead of marking frame
3826 garbaged.
3827
57fa2774
JR
38282000-12-20 Jason Rumney <jasonr@gnu.org>
3829
3830 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
3831
d925df90
EZ
38322000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
3833
3834 * fns.c (Frequire): Doc fix.
3835
7b93a85b
GM
38362000-12-19 Gerd Moellmann <gerd@gnu.org>
3837
52283633 3838 * window.c (window_scroll_pixel_based): Don't use move_it_vertically.
71d4497a 3839
c74e645b
GM
3840 * dispnew.c (direct_output_for_insert): Fix check for mini-window
3841 currently displaying a message.
3842
7b93a85b
GM
3843 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
3844 xterm.h.
3845 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
3846
90d97e64
AI
38472000-12-18 Andrew Innes <andrewi@gnu.org>
3848
3849 * w32.c (w32_strerror): New function.
3850
3851 * w32.h (w32_strerror): New extern.
3852
3853 * w32fns.c (Fw32_shell_execute): Use it.
3854
91c9e6ce
GM
38552000-12-18 Gerd Moellmann <gerd@gnu.org>
3856
3857 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
3858
6f4745e2
EZ
38592000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3860
3861 * msdos.c (IT_set_face): Obey inverse_video.
3862
c9e088ce
KH
38632000-12-18 Kenichi Handa <handa@etl.go.jp>
3864
3865 * dired.c (directory_files_internal): Always return decoded filenames.
3866
c3695f5f
GM
38672000-12-18 Gerd Moellmann <gerd@gnu.org>
3868
52d8e4ff
GM
3869 * xterm.c (x_connection_closed): Prevent being called recursively
3870 because of an error condition in XtCloseDisplay.
52283633 3871
62be9979
GM
3872 * xdisp.c (init_iterator): If noninteractive, and the frame's
3873 face cache is null, make one.
3874
52283633 3875 * xfns.c (show_busy_cursor): Check for live frames more thoroughly.
5f7a1890 3876
c3695f5f
GM
3877 * process.c (wait_reading_process_input): Check for pending
3878 input when running timers.
3879
78555fbe
EZ
38802000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
3881
52283633 3882 * msdos.c (IT_write_glyphs): Compute the glyph face from str->face_id.
78555fbe 3883
b2b36264
KH
38842000-12-18 Kenichi Handa <handa@etl.go.jp>
3885
3886 * process.c (read_process_output): Don't run a filter if the code
3887 decoder produces nothing but carryover.
3888
9c543fbf
AI
38892000-12-17 Andrew Innes <andrewi@gnu.org>
3890
3891 * w32.c (sys_rename): Only check errno against EEXIST, and not
3892 EACCES, when determining whether rename failed because the target
3893 exists. This was resulting in indefinite looping on Windows 9x if
3894 the source file was locked by another process.
3895
3896 * w32fns.c (Ffile_system_info): New function.
3897 (syms_of_w32fns): Defsubr it.
3898
10c2b5a8
GM
38992000-12-17 Gerd Moellmann <gerd@gnu.org>
3900
b0228ace
GM
3901 * window.c (coordinates_in_window): Fix computation for
3902 position on vertical line between mode lines.
3903
10c2b5a8
GM
3904 * xfns.c (unwind_create_frame): Return t if frame was deleted.
3905 Don't alter tip_frame or tip_window.
3906 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3907 was deleted.
3908
c844a81a
GM
3909 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
3910 Don't alter tip_frame or tip_window.
3911 (unwind_create_tip_frame): Set tip_frame to nil only if frame
3912 was deleted.
3913
6c825f8e
EZ
39142000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
3915
3916 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
3917 be consistent with the doc string. Reported by NAKAJIMA Mikio
3918 <minakaji@osaka.email.ne.jp>.
3919
af4bb4c8
KH
39202000-12-16 Kenichi Handa <handa@etl.go.jp>
3921
3922 * xfaces.c (Vface_ignored_fonts): New variable.
3923 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
3924 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
3925
8062e53a
GM
39262000-12-15 Gerd Moellmann <gerd@gnu.org>
3927
e87b8809
GM
3928 * dispnew.c (update_window): Detect pending input every nth line
3929 updated, i.e. do it depending on real work done, and not on the
3930 vpos of the line.
3931
3932 * xterm.c (expose_window): Don't redraw the window that's
3933 currently being updated.
3934
a6768cc5
GM
3935 * window.c (Fset_window_point): Remove test for
3936 cursor_in_non_selected_windows.
3937
4ea7fdca
GM
3938 * lread.c (read1): Recognize end of file after `\\'.
3939
8062e53a
GM
3940 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
3941 not unwind_create_frame.
3942
bb7959c1
GM
39432000-12-15 Dave Love <fx@gnu.org>
3944
3945 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
3946 bcopy & al.
3947
3948 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
3949
ced04c42
KH
39502000-12-15 Kenichi Handa <handa@etl.go.jp>
3951
c5443913
KH
3952 * coding.c (setup_coding_system): Clear all members of the struct
3953 coding_system at first.
bc137305
KH
3954 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
3955 argument.
3956 (code_convert_region): Don't override coding->src_multibyte and
3957 coding->dst_multibyte.
c5443913 3958
ced04c42
KH
3959 * fns.c (Fmd5): Docstring improved.
3960
c2d7f289
MB
39612000-12-15 Miles Bader <miles@gnu.org>
3962
3963 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
3964 are actually marked as mode-lines; otherwise use
3965 estimate_mode_line_height.
3966
9d7d9263
GM
39672000-12-14 Gerd Moellmann <gerd@gnu.org>
3968
3969 * editfns.c (Fformat): Prevent a buffer overrun when the format
3970 specifies a precision.
3971
7cf0153a
EZ
39722000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
3973
3974 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
3975 argument is outside the range [2..3].
3976
1de0f662
AI
39772000-12-14 Andrew Innes <andrewi@gnu.org>
3978
3979 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
3980 nothing to do. Bind inhibit-quit.
3981 (tip_frame): Make it a Lisp_Object.
3982 (x_create_tip_frame): Set tip_frame after it has been added to
3983 Vframe_list.
3984 (Fx_show_tip): Don't set tip_frame here.
52283633 3985 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New variables.
1de0f662
AI
3986 (unwind_create_frame, unwind_create_tip_frame): New functions.
3987 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
3988 while a frame is only partially constructed.
3989
3990 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
3991 (x_free_frame_resources): New function.
3992 (x_destroy_window): Use it.
3993
02387dcc
GM
39942000-12-14 Gerd Moellmann <gerd@gnu.org>
3995
3996 * xfns.c (Fx_backspace_delete_keys_p): New function.
3997 (syms_of_xfns): Defsubr it.
3998
3999 * config.in (HAVE_XKBGETKEYBOARD): Add.
4000
0544ef49
KH
40012000-12-14 Kenichi Handa <handa@etl.go.jp>
4002
98d62747
KH
4003 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
4004 Always store string in multibyte representation in echobuf.
4005 (echo_char): Always store string in multibyte representation in
4006 echobuf.
4007 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
4008 (read_key_sequence): Adjusted for the change of echo_prompt.
4009
a20193cd
KH
4010 * fns.c (Fmd5): Docstring improved.
4011
191b83b6
KH
4012 * lisp.h (detect_coding_system): Prototype adjusted.
4013
0544ef49
KH
4014 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
4015 (detect_coding_emacs_mule, detect_coding_iso2022,)
4016 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
52283633
SM
4017 (detect_coding_utf_16, detect_coding_ccl): Make them static.
4018 New argument MULTIBYTEP. Callers changed.
0544ef49
KH
4019 (detect_coding_mask, detect_coding_system): New argument
4020 MULTIBYTEP. Callers changed.
1da1bb05
KH
4021 (decode_coding_string): Set coding->src_multibyte and
4022 coding->dst_multibyte before calling detect_coding and detect_eol.
4023 Update them after some coding system is detected.
52283633 4024
d5b3eb1b
SM
40252000-12-13 Stefan Monnier <monnier@cs.yale.edu>
4026
4027 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
4028
4029 * keyboard.c (menu_bar_items, tool_bar_items):
4030 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
4031
f7f8bb69
GM
40322000-12-13 Gerd Moellmann <gerd@gnu.org>
4033
52283633 4034 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
19f71add
GM
4035 New variables.
4036 (unwind_create_frame, unwind_create_tip_frame): New functions.
4037 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
4038 while a frame is only partially constructed.
4039
4040 * xterm.h (x_free_frame_resources): Declare.
4041
4042 * xterm.c (x_free_frame_resources): New function.
4043 (x_destroy_window): Use it.
4044
e10da507
GM
4045 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
4046 don't interrupt the update for pending input initially, i.e.
4047 update at least some lines.
4048
4049 * keyboard.c (do_mouse_tracking): Make externally visible.
52283633 4050
d5b3eb1b 4051 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
4052
4053 * xfns.c (gray_bitmap_bits): Declare `char *'.
4054
90aa2856
GM
40552000-12-12 Gerd Moellmann <gerd@gnu.org>
4056
4057 * xdisp.c (display_tool_bar_line): Make sure that tool bar
4058 lines start with a relief line.
4059
a308c9cd
DL
40602000-12-12 Dave Love <fx@gnu.org>
4061
4062 * window.c (Fdisplay_buffer): Doc fix.
4063 (Fwindow_list): Remove unused var.
4064
4065 * buffer.h (mmap_set_vars): Declare.
4066
4067 * window.h (Fset_window_point): Declare.
4068
d575011f
EZ
40692000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
4070
bf6282d2 4071 * msdos.c (fast_find_position): Don't overstep the last window row.
52283633
SM
4072 (IT_note_mouse_highlight): Initialize portion to -1. Remove unused
4073 variable `area'. When looking for a row under (X,Y), give up if some
4074 of the previous rows is not enabled.
d575011f 4075
ecf4d726
GM
40762000-12-12 Gerd Moellmann <gerd@gnu.org>
4077
2ebf6139
GM
4078 * window.c (Fset_window_point): If displaying cursors in windows
4079 other than the selected window, make sure redisplay updates
4080 other windows to show the new value of point in the window.
4081
4082 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
4083
bfdb75ee
GM
4084 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
4085 the buffer is the sole visible buffer when in the mini-buffer.
4086
52283633 4087 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
4fdbd809
GM
4088 Bind `inhibit-read-only' to t.
4089 (unwind_with_echo_area_buffer): Use AREF.
4090
c0006262
GM
4091 * xfns.c (Fx_hide_tip): Simplified.
4092
52283633
SM
4093 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use GC_MAKE_GCPROS_NOOPS
4094 instead of `1'.
e9a59cad 4095
ecf4d726
GM
4096 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
4097
e5959a9a
GM
40982000-12-11 Gerd Moellmann <gerd@gnu.org>
4099
a3642e49 4100 * xfns.c (Fx_hide_tip): Fix last change.
52283633 4101
44b5a125
GM
4102 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
4103 nothing to do. Bind inhibit-quit.
4104 (tip_frame): Make it a Lisp_Object.
4105 (x_create_tip_frame): Set tip_frame after it has been added to
4106 Vframe_list.
4107 (Fx_show_tip): Don't set tip_frame here.
4108
4109 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
4110
4111 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
4112 Lisp_Object.
4113
4114 * dispextern.h: Change external declaration of tip_frame.
4115
d990421f
GM
4116 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
4117 return an empty string.
4118
4db87380
GM
4119 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
4120 of the window's update_mode_line flag, since the former is set by
4121 force-mode-line-update, not the latter. This makes
4122 column-number-mode slightly faster.
52283633 4123
e5959a9a
GM
4124 * xdisp.c (try_window_id) <all changes above window start>:
4125 Set the cursor.
4126
169fe44e
GM
41272000-12-11 Paul Eggert <eggert@twinsun.com>
4128
4129 * config.in (HAVE_FTELLO): Remove.
4130 (HAVE_FSEEKO): Add.
4131 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
4132 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
4133 HAVE_FTELLO.
4134 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
4135 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
52283633 4136
59ec59ae
MB
41372000-12-11 Miles Bader <miles@gnu.org>
4138
4139 * window.c (displayed_window_lines): Don't round up when
4140 converting empty space at bottom to lines.
ff904dd6
MB
4141 Handle non-newline-terminated final lines properly.
4142 (Fwindow_text_height): New function (used to be in lisp).
4143 (syms_of_window): Initialize it.
59ec59ae 4144
42ebfa31
SM
41452000-12-09 Stefan Monnier <monnier@cs.yale.edu>
4146
4147 * syntax.c (scan_lists): Check that the right quote char has the
4148 right Sstring syntax when jumping over strings.
4149 (init_syntax_once): Use Smax rather than 13.
4150
5cdb3cf3
MB
41512000-12-09 Miles Bader <miles@gnu.org>
4152
4153 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
4154 with PARTIALLY, inverting the sense.
4155 (window_scroll_pixel_based): Scroll partially visible lines into
4156 place if we hit the beginning or end of the buffer.
a12167c5
MB
4157 (displayed_window_lines): Don't include partially visible lines.
4158 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 4159
842b2a94
GM
41602000-12-08 Gerd Moellmann <gerd@gnu.org>
4161
4162 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
4163
4164 * tparam.c (tparam1): Change the way buffers are reallocated to be
4165 portable and less obfuscated.
4166
4167 * termcap.c (tgetent): Change the way buffers are reallocated to
4168 be portable and less obfuscated.
4169
4170 * macros.c (store_kbd_macro_char): Change the way buffers are
4171 reallocated to be portable and less obfuscated.
4172
4173 * lread.c (read1): Change the way buffers are reallocated to be
4174 portable and less obfuscated.
4175
4176 * doc.c (Fsubstitute_command_keys): Change the way buffers
4177 are reallocated so that it is portable.
4178
137cad7c
EZ
41792000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
4180
4181 * dosfns.c (Ffile_system_info): New function.
4182 (syms_of_dosfns): Defsubr it.
4183
5c7f629c
SM
41842000-12-07 Stefan Monnier <monnier@cs.yale.edu>
4185
4186 * alloc.c (gc_sweep): Add comment.
4187
959e647d
GM
41882000-12-07 Gerd Moellmann <gerd@gnu.org>
4189
52283633
SM
4190 * sound.c (vox_configure): Change order of ioctls.
4191 Don't set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
28fcb7dc
GM
4192 Ignore errors when changing volume.
4193 (vox_close): Don't reset the device.
4194
926b7e5e
GM
4195 * process.c (read_process_output): Make sure the process marker's
4196 position is valid when the process buffer is changed in
4197 after-change functions. W3 does that.
52283633 4198
959e647d
GM
4199 * xfns.c (x_free_gcs): New function.
4200
4201 * xterm.h (x_free_gcs): Add prototype.
4202
4203 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
4204 freeing GCs here.
4205
4206 * xterm.c (x_destroy_window): Call x_free_gcs so that
4207 resources of non-toolkit X windows will be freed.
4208
478ea067
AI
42092000-12-07 Andrew Innes <andrewi@gnu.org>
4210
4211 * w32fns.c (xlfd_charset_of_font): Fix last change.
4212
fbee3231
DL
42132000-12-06 Dave Love <fx@gnu.org>
4214
67292061
DL
4215 * md5.h (__P): Don't define -- it comes from config.h.
4216
fbee3231
DL
4217 * strftime.c: Change some #if foo to #ifdef foo.
4218
4ee87dbb
AI
42192000-12-06 Andrew Innes <andrewi@gnu.org>
4220
4221 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
4222
52283633 4223 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname argument.
4ee87dbb 4224 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
52283633 4225 (w32_list_fonts): Don't choke if pattern doesn't specify a codepage.
4ee87dbb 4226
9765b4a4
GM
42272000-12-06 Gerd Moellmann <gerd@gnu.org>
4228
d285b373
GM
4229 * alloc.c (gc_sweep): Prevent symbols read during loadup
4230 from being freed.
4231
384333ee
GM
4232 * xdisp.c (underlying_face_id): New function.
4233 (handle_face_prop, face_before_or_after_it_pos): Use it
4234 to determine the face ``under'' a string. Let strings inherit
4235 the face of the buffer under them.
4236
4237 * xfaces.c (face_at_string_position): Update function comment.
52283633 4238
d4b72d58
GM
4239 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
4240 matrix if the window's left position has changed; we need to
4241 redraw it in this case.
4242
4243 * dispextern.h (struct glyph_matrix): Add member window_left_x.
4244
e1d05387
GM
4245 * window.c (coordinates_in_window): Check mouse on mode-line or
4246 header-line first.
4247
eb1b0c74
GM
4248 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
4249 advertized by the function documentation.
4250
d94d636f
GM
4251 * window.c (syms_of_window): Doc fix.
4252
3887b449
GM
4253 * sound.c (vox_configure): Set volume for left and right channel.
4254 (sound_cleanup): Return nil.
4255
efc8f57a
GM
4256 * xdisp.c (move_it_by_lines): Fix paren typo.
4257
9765b4a4
GM
4258 * xterm.c (x_load_font): Don't use the font's max_bounds for
4259 computing the height of the font. If max_bounds' ascent or
4260 descent are greater than the font's ascent or descent, this means
4261 glyphs overlap, which should be handled now by redisplay.
4262
6529ed87
GM
4263 * window.c (Veven_window_heights): New variable.
4264 (syms_of_window): DEFVAR_LISP it.
4265 (Fdisplay_buffer): Check Veven_window_heights before evening the
4266 window heights.
52283633 4267
0eb2ecde
MB
42682000-12-06 Miles Bader <miles@gnu.org>
4269
4270 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
4271 update `default-frame-alist' instead of setting no frame parameters.
4272
03d7a167
KH
42732000-12-06 Kenichi Handa <handa@etl.go.jp>
4274
4275 * composite.c (update_compositions): Fix typo (use the correct
4276 variable).
4277
5f8803c2
JR
42782000-12-05 Jason Rumney <jasonr@gnu.org>
4279
4280 * md5.h: Remove underscores from function declarations.
4281 (__attribute__, __alignof__) [!__GNUC__]: Define.
4282
4283 * md5.c: Delay include of md5.h until after namespace cleaning.
4284
c28a075b
JR
4285 * makefile.w32-in (fns.o): Depend on md5.h
4286 (md5.o): New target.
4287 (sunfns.o): Remove.
4288
4289 * makefile.nt: Likewise.
4290
ff3c7056
JR
42912000-12-05 Jason Rumney <jasonr@altavista.net>
4292
4293 * w32term.c (expose_area): Complete last change.
4294
0c21eeeb
KR
42952000-12-05 Ken Raeburn <raeburn@gnu.org>
4296
4297 * minibuf.c: Include intervals.h.
4298
f201d732
JR
42992000-12-05 Jason Rumney <jasonr@gnu.org>
4300
4301 * w32term.c (x_produce_glyphs): If a font for a component of
4302 a composition is not found, use 1 pixel dot ascent and 0 dot
4303 descent value to avoid displaying terribly tall empty boxes.
4304 (expose_area): Pass x-coordinate relative to the exposed
4305 area to x_draw_glyphs instead of a window-relative coordinate.
4306
21999ab9
GM
43072000-12-05 Gerd Moellmann <gerd@gnu.org>
4308
4d2036e4
GM
4309 * xdisp.c (next_element_from_ellipsis): Save face before selective
4310 display in saved_face_id, and set face_before_selective_p.
4311 (reseat_1): Reset face_before_selective_p.
4312 (append_space, extend_face_to_end_of_line): If iterator's
4313 face_before_selective_p is set, use the face from saved_face_id.
4314 (extend_face_to_end_of_line): For tty frames, make sure to
4315 use the right face id when producing spaces at the end of
4316 the line.
4317
4318 * dispextern.h (struct it): Add face_before_selective_p.
4319
52be17cc
GM
4320 * keyboard.c (record_char): Don't record identical help-echo
4321 events in recent_keys.
4322
8a4f36cc
GM
4323 * xterm.c [USE_X_TOOLKIT]: Close the display.
4324 (xim_close_dpy): Handle case that the display has been closed.
4325
57d6e381
GM
4326 * xterm.c (x_destroy_window): Reset the frame's X window after
4327 destroying it.
4328
21999ab9
GM
4329 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
4330 variable window_width.
4331 (line_draw_cost): Fix code skipping over spaces at the end of the
4332 line when must_write_spaces is not set.
4333 (scrolling_window): Fix code inserting runs in list of all runs.
4334
91372bb7
KH
43352000-12-05 Kenichi Handa <handa@etl.go.jp>
4336
4337 * coding.c (setup_coding_system): Be sure to initialize
4338 coding->category_idx.
4339
6c083b4c
GM
43402000-12-04 Gerd Moellmann <gerd@gnu.org>
4341
0c68ce6f 4342 * xterm.c (PER_CHAR_METRIC): Removed because not used.
52283633 4343
6452929e
GM
4344 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
4345 area to x_draw_glyphs instead of a window-relative coordinate.
4346
d7f31e22
GM
4347 * fileio.c (auto_save_error): Add parameter ERROR. Show the
4348 error in the message.
4349
ae18aa3b
GM
4350 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
4351 timer after having read a key. It's not good for code reading
4352 several keys in a loop, like an input method.
4353
caa15ef7
GM
4354 * fileio.c (Finsert_file_contents): When VISIT is t, don't
4355 record undo information for format-decode.
4356
4357 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
4358 current buffer is read-only, not if it isn't.
4359
6c083b4c
GM
4360 * keyboard.c (record_char): Record `help-echo' input events
4361 in recent_keys only if they display some help. Don't record
4362 `help-echo' events as macro char.
4363
caa15ef7
GM
43642000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
4365
4366 * editfns.c (save_excursion_restore): Don't move point
4367 in another window if it is showing the wrong buffer.
4368 Avoid the call to Fwindow_live_p, for speed.
4369
5a13529b
KH
43702000-12-04 Kenichi Handa <handa@etl.go.jp>
4371
e225faa7
KH
4372 * xfaces.c (struct font_name): New member registry_priority.
4373 (split_font_name): Initialize the above member to zero.
4374 (concat_font_list): New function.
4375 (font_list): Include fonts of all alternative registries.
4376 (FONT_POINT_SIZE_QUANTUM): New macro.
4377 (better_font_p): Ignore point size difference less than
4378 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
4379
e89648b4
KH
4380 * xterm.c (x_produce_glyphs): If a font for a component of
4381 a composition is not found, use 1 pixel dot ascent and 0 dot
4382 descent value to avoid displaying terribly tall empty boxes.
4383
5a13529b
KH
4384 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
4385
d7935eb6
KR
43862000-12-03 Ken Raeburn <raeburn@gnu.org>
4387
4388 * coding.h (code_convert_string1): Declare.
4389
4390 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
4391
52283633 4392 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name): Declare.
d7935eb6 4393
0dd5e255
JR
43942000-12-02 Jason Rumney <jasonr@gnu.org>
4395
4396 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
4397 correctly for single byte character case.
4398 (w32_per_char_metric): Do not try to make any assumptions about
4399 the metrics of BDF fonts.
250cfece 4400 (x_estimate_mode_line_height): If `mode-line' face
52283633 4401 hasn't a font, use that of the frame, as drawing glyphs does.
250cfece
JR
4402 (note_mouse_highlight): Change the cursor shape on the vertical
4403 border between windows [not enabled].
4404
4405 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
4406
4407 * w32fns.c (Fx_create_frame): Reintroduce the call to
4408 face-set-after-frame-defaults.
4409 (Vx_window_horizontal_drag_shape): New variable.
4410 (syms_of_xfns): DEFVAR_LISP it.
4411 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
4412 enabled].
0dd5e255 4413
b5d8d2ca
GM
44142000-12-02 Simon Josefsson <simon@josefsson.org>
4415
4416 * fns.c (Fmd5): Use a different logic to decide the coding system
4417 to use.
4418
4419 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
4420
fbb87147
EZ
44212000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
4422
52283633 4423 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is NULL.
fbb87147 4424
447e9da0
GM
44252000-12-01 Gerd Moellmann <gerd@gnu.org>
4426
7708ced0
GM
4427 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
4428 height for YNegative.
4429 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
4430 height; also see comment there.
4431
447e9da0
GM
4432 * window.c (coordinates_in_window): Handle computations for
4433 positions on the vertical bar and fringes differently for
4434 window-system frames. Consider some pixels near the vertical bar
4435 as on the bar if the frame doesn't have vertical scroll bars.
4436 Associate positions between mode or header lines with the
4437 right window, the left one.
4438
86d1db20
JR
44392000-12-01 Jason Rumney <jasonr@gnu.org>
4440
4441 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
4442
4443 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
4444 invalid frame.
4445
a1d58e5b
GM
44462000-12-01 Gerd Moellmann <gerd@gnu.org>
4447
52283633 4448 * window.c (struct saved_window): Add members orig_top and orig_height.
a1d58e5b
GM
4449 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
4450 (save_window_save, Fset_window_configuration): Save/restore
4451 window's orig_top and orig_height.
4452
89c609af
JR
44532000-12-01 Jason Rumney <jasonr@gnu.org>
4454
4d177746 4455 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 4456
89c609af
JR
4457 * w32fns.c (x_set_cursor_color): Fix last change.
4458
eccc05db
GM
44592000-11-30 Gerd Moellmann <gerd@gnu.org>
4460
31b6671b
GM
4461 * xdisp.c (echo_area_display): If cursor is in the echo area, make
4462 sure that the next redisplay displays the minibuffer, so that
4463 the cursor will be replaced with what the minibuffer wants.
4464
eccc05db
GM
4465 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
4466 #ifndef instead of using #if.
4467 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
4468 USE_TOOLKIT_SCROLL_BARS is defined.
4469
162de750
JR
44702000-11-30 Jason Rumney <jasonr@gnu.org>
4471
4472 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
4473 x_display_cursor.
4474
693c4692
GM
44752000-11-30 Gerd Moellmann <gerd@gnu.org>
4476
4477 * fns.c (Fmd5): Doc fix.
4478
b5d8d2ca 44792000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
4480
4481 * fns.c (Fmd5): New function.
4482 (syms_of_fns): Defsubr md5.
4483
4484 * Makefile.in (obj): Add md5.o
4485
b02cd40b
GM
44862000-11-30 Gerd Moellmann <gerd@gnu.org>
4487
edfb795e
GM
4488 * md5.h, md5.c: New files, taken from glibc.
4489
df3aedcf
GM
4490 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
4491
b02cd40b 4492 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
52283633 4493 hasn't a font, use that of the frame, as drawing glyphs does.
b02cd40b 4494
8b5176cd
SM
44952000-11-29 Stefan Monnier <monnier@cs.yale.edu>
4496
4497 * eval.c (Frun_hooks): Allow 0 arguments.
4498
346598f1
GM
44992000-11-29 Gerd Moellmann <gerd@gnu.org>
4500
f9396e03
GM
4501 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
4502 is over the menu bar widget, say it's not on the frame.
4503
4a967a9b
GM
4504 * xfns.c (Fx_create_frame): Reintroduce the call to
4505 face-set-after-frame-defaults.
4506
346598f1
GM
4507 * eval.c (Fsignal): Reset handling_signal.
4508
222456a1
JR
45092000-11-28 Jason Rumney <jasonr@gnu.org>
4510
4511 * w32menu.c (add_menu_item): Reset menu item text when changing
4512 type to radio button.
4513
8049ddc0
GM
45142000-11-28 Gerd Moellmann <gerd@gnu.org>
4515
346598f1 4516 * xselect.c: Update copyright.
f4f4ee4d 4517
bebe4a2c
GM
4518 * window.c (coordinates_in_window): If on a mode or header line,
4519 but sufficiently close to its start, return ``on vertical
4520 border''. This gives us a way to drag windows horizontally when
4521 using toolkit scroll bars.
4522
4523 * xterm.c (note_mouse_highlight): Change the cursor shape
4524 on the vertical border between windows.
4525
4526 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
4527
4528 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
4529 (syms_of_xfns): DEFVAR_LISP it.
4530 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
4531
8d2c2642
GM
4532 * textprop.c (text_read_only): New function.
4533 (verify_interval_modification): Use it instead of signaling
4534 `text-read-only'. This makes it easier to catch this error
52283633 4535 with a breakpoint.:
8d2c2642 4536
52283633 4537 * xdisp.c (forward_to_next_line_start): Check for newlines,
8049ddc0
GM
4538 not end of line, which includes CR.
4539
5a2bae6c
KH
45402000-11-28 Kenichi Handa <handa@etl.go.jp>
4541
4542 * coding.c (Ffind_coding_systems_region_internal): Be sure to
4543 include no-conversion.
4544
ae31f84d
JR
45452000-11-27 Jason Rumney <jasonr@gnu.org>
4546
4547 * w32fns.c (w32_load_system_font): Always mark font as double byte
4548 if codepage is unicode.
4549
67f1cf4c
GM
45502000-11-27 Gerd Moellmann <gerd@gnu.org>
4551
4a74d071 4552 * xdisp.c (forward_to_next_line_start): If already on a newline,
52283633 4553 just consume it to avoid unintended skipping over invisible text below.
4a74d071 4554
902ae620
GM
4555 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
4556 `vertical-line', `mode-line' and `header-line' events.
4557
4558 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
4559 of a character, a TAB for instance. This is easier than to set
4560 up the iterator exactly, and it's not a frequent case, so the
4561 additional effort wouldn't really pay off.
4562
c1e279c2
AC
45632000-11-26 Andrew Choi <akochoi@i-cable.com>
4564
67f1cf4c 4565 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
4566 init_window_once.
4567
a609568a
JR
45682000-11-25 Jason Rumney <jasonr@gnu.org>
4569
52283633
SM
4570 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]:
4571 Args to window_from_coordinates should be pixel coordinates.
48b21762 4572
a609568a
JR
4573 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
4574 redisplay handles them properly.
4575
a658d039
MB
45762000-11-25 Miles Bader <miles@gnu.org>
4577
4578 * indent.c (compute_motion): Keep pos_byte in sync with pos.
4579
d3416cca
JR
45802000-11-24 Jason Rumney <jasonr@gnu.org>
4581
4582 * w32.c (init_environment): Set LANG environment variable based on
4583 locale settings, if not set.
4584
4585 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
4586 making tool bar smaller. When clearing the frame, also
4587 clear current matrices. Clear frame when tool bar disappears.
4588 Don't use more lines for the tool-bar than is available.
4589 (x_change_window_heights): New function.
4590
ba193890
GM
45912000-11-24 Gerd Moellmann <gerd@gnu.org>
4592
2be8f184
GM
4593 * xdisp.c (init_from_display_pos): If POS says we're already after
4594 an overlay string ending at POS, make sure to pop the iterator
4595 because it will be in front of that overlay string. When POS is
4596 ZV, we've thereby also ``processed'' overlay strings at ZV.
4597
ba193890
GM
4598 * xfaces.c (lface_from_face_name): Function comment fix.
4599
1862a24e
MB
46002000-11-24 Miles Bader <miles@gnu.org>
4601
4602 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
4603 apply `mode-line-inverse-video' -- zero means force display using
4604 the default face, non-zero means display using the specialized face.
4605 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
4606
f07fa1b8
KH
46072000-11-23 Kenichi Handa <handa@etl.go.jp>
4608
4609 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
4610 hard coded `4'.
4611
2bcdf662
EZ
46122000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
4613
4614 * coding.c (decode_coding_emacs_mule): Fix the case of
4615 CODING_EOL_LF, which used uninitialized value of c.
4616
ba8299ff
SM
46172000-11-23 Stefan Monnier <monnier@cs.yale.edu>
4618
4619 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
4620
f4117c4d
GM
46212000-11-22 Gerd Moellmann <gerd@gnu.org>
4622
03e757c1
GM
4623 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
4624 buffer object.
4625
f4117c4d
GM
4626 * frame.h (struct frame): Replace desired_tool_bar_items,
4627 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 4628 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
4629
4630 * frame.c (make_frame): Change initialization of tool bar
4631 items accordingly.
4632
4633 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 4634 Change references to members deleted from struct frame to use the
f4117c4d
GM
4635 new ones.
4636
4637 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
52283633 4638 references to members deleted from struct frame to use the new ones.
f4117c4d 4639
52283633 4640 * dispnew.c (update_frame): Do nothing with frame's tool bar items.
f4117c4d
GM
4641
4642 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
4643
4644 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 4645 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
4646 from struct frame to use the new ones.
4647
f8e2f3f2
MB
46482000-11-23 Miles Bader <miles@gnu.org>
4649
4650 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
4651 the face's inverse-video attribute, rather than overriding it.
4652
60e8e0a5
GM
46532000-11-22 Gerd Moellmann <gerd@gnu.org>
4654
4655 * xfns.c (x_set_tool_bar_lines): Clear internal border when
4656 making tool bar smaller.
4657
92dd1b29
DL
46582000-11-22 Dave Love <fx@gnu.org>
4659
4660 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
4661
e672fdce
MB
46622000-11-22 Miles Bader <miles@gnu.org>
4663
3a17d6cc
MB
4664 * keyboard.c (Vminibuffer_message_timeout): New variable.
4665 (command_loop_1): Use it to determine message timeout.
4666 (syms_of_keyboard): Initialize it.
4667
60e8e0a5 4668 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 4669
e9655d81
KH
46702000-11-22 Kenichi Handa <handa@etl.go.jp>
4671
4672 * sysdep.c: Move the code for declaring h_errno after #include
4673 <netdb.h>.
4674
77270fac
GM
46752000-11-21 Gerd Moellmann <gerd@gnu.org>
4676
cd913aae
GM
4677 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
4678 the menu bar when the tooltip is unmapped.
4679
77270fac
GM
4680 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
4681 sole visible buffer when we're currently in the mini-buffer, and
4682 give up if so.
52283633 4683
556635d6
JR
46842000-11-21 Jason Rumney <jasonr@gnu.org>
4685
4686 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
4687 put on the clipboard.
4688 (Fw32_get_clipboard_data): Compare data on clipboard with saved
4689 copy of what Emacs last put there. If they are the same, do not
52283633 4690 use the clipboard copy to avoid losing data due to coding conversions.
556635d6 4691
5b7bde64
MB
46922000-11-22 Miles Bader <miles@gnu.org>
4693
4694 * minibuf.c (Vminibuffer_prompt_properties): New variable.
4695 (syms_of_minibuf): Initialize it.
4696 (read_minibuf): Add properties from Vminibuffer_prompt_properties
4697 to prompt, don't make read-only.
4698
ff23e1dd
GM
46992000-11-21 Gerd Moellmann <gerd@gnu.org>
4700
52283633
SM
4701 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>:
4702 Add BEFORE/AFTER_POTENTIAL_GC.
3c64f287 4703
7aaf4388
GM
4704 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
4705
f5f47add 4706 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 4707
ff23e1dd
GM
4708 * term.c, cm.c: Don't try to include termcap.h; see comment there.
4709
37c35586
KH
47102000-11-21 Kenichi Handa <handa@etl.go.jp>
4711
4712 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
4713 ... #endif scope.
4714
ff9ab414
GM
47152000-11-20 Gerd Moellmann <gerd@gnu.org>
4716
52283633 4717 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
c51d2b5e
GM
4718 screen supports it.
4719
29a01b72
GM
4720 * s/gnu-linux.h: Don't use `#cpu'.
4721
09dfdf85
GM
4722 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
4723 not defined in mman.h.
4724
52283633 4725 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New variables.
ff9ab414
GM
4726 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
4727 and store an index in the XClientMessageEvent. Storing a
4728 Lisp_Object or pointer can fail on a 64 bit system, since X only
4729 transfers 32 bits.
52283633
SM
4730 (x_scroll_bar_to_input_event): Get the window from scroll_bar_windows.
4731
81459ac9
DL
47322000-11-20 Dave Love <fx@gnu.org>
4733
4734 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
4735
56c13ae6
GM
47362000-11-20 Gerd Moellmann <gerd@gnu.org>
4737
4738 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
4739
495a6df3
KH
47402000-11-20 Kenichi Handa <handa@etl.go.jp>
4741
2bcf3714
KH
4742 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
4743 by WIDTH.
4744
495a6df3
KH
4745 * alloc.c (make_string): Fix previous change. Be sure to make
4746 unibyte string correctly.
4747
6d950f4c
GM
47482000-11-19 Gerd Moellmann <gerd@gnu.org>
4749
39b39373
GM
4750 * window.c (Fwindow_list): Change parameter list to be XEmacs
4751 compatible.
4752 (window_list_1): New function.
4753 (window_loop): Use it instead of Fwindow_list.
4754
b95b34e5
GM
4755 * sysdep.c (emacs_ospeed): New variable.
4756 (toplevel): Don't declare ospeed extern.
4757 (init_baud_rate): Use emacs_ospeed instead of ospeed.
4758
4759 * termcap.c (ospeed): Remove.
4760 (tputs) [!emacs]: Remove unused code.
4761 (tgetent): Avoid a compiler warning.
4762
e83dc917
GM
4763 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
4764 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 4765 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
4766
4767 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
4768 removed.
4769 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
4770 Take the X display as additional argument.
4771 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
4772 `Widget' is a pointer type that's not easily stored in Lisp_Object
4773 form in a portable way.
52283633 4774
6d950f4c
GM
4775 * dispnew.c (update_text_area): Fix last change.
4776
e47306e6
GM
47772000-11-18 Gerd Moellmann <gerd@gnu.org>
4778
fb3cd89b
GM
4779 * xdisp.c: Use BINDING_STACK_SIZE throughout.
4780
4781 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
4782 clear current matrices.
4783
edaa9aed
GM
4784 * buffer.c (mmap_enlarge): Don't print a message on stderr
4785 if mapping new memory at the end of the existing region fails.
4786
e47306e6
GM
4787 * dispnew.c (update_text_area): Don't skip over equal glyphs
4788 when the last current glyph overlaps the glyph to its right.
4789
509633e3
MB
47902000-11-18 Miles Bader <miles@gnu.org>
4791
4792 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
4793 lines that *end* with "..." too (that's the most common case!).
4794
d392e9c5
GM
47952000-11-18 Gerd Moellmann <gerd@gnu.org>
4796
67988445
GM
4797 * xdisp.c (resize_mini_window): Temporarily change to the
4798 mini-window's buffer if necessary.
1bfdbe43 4799
d392e9c5
GM
4800 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
4801 the tooltip obscures less text under it.
4802
48032000-11-17 Gerd Moellmann <gerd@gnu.org>
4804
4805 * puresize.h (BASE_PURESIZE): Increase to 700000.
4806
92bb977f
JR
48072000-11-18 Jason Rumney <jasonr@gnu.org>
4808
4809 * w32term.c (w32_draw_bitmap): Use face to set colors.
4810
26fbf20b
DL
48112000-11-17 Dave Love <fx@gnu.org>
4812
4813 * lread.c (Fload): Fix #ifdef for pcc.
4814
100b593b
GM
48152000-11-17 Gerd Moellmann <gerd@gnu.org>
4816
4817 * xdisp.c (pos_visible_p): Compute the default character height
4818 differently.
4819
a288d0d1
GM
48202000-11-16 Gerd Moellmann <gerd@gnu.org>
4821
cac94de6 4822 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
52283633 4823 knowing the line's height; use the default font's height in that case.
cac94de6 4824
a288d0d1
GM
4825 * xfaces.c (weight_table): Add `demi' with the same meaning as
4826 `demibold'.
4827
981fb6f6
KH
48282000-11-16 Kenichi Handa <handa@etl.go.jp>
4829
2cca872d 4830 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
4831 (clear_glyph_row): Delete local static variable null_row.
4832
e5fa381b
JR
48332000-11-15 Jason Rumney <jasonr@gnu.org>
4834
4835 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
4836 (w32_alloc_lighter_color): Use new brightness calculations from
4837 xterm.c. Scale delta to be in the range expected by W32.
4838 (w32_draw_relief_rect): Use frame relief colors.
4839
8e42f043
GM
48402000-11-15 Gerd Moellmann <gerd@gnu.org>
4841
6d133d1f
GM
4842 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
4843 (Qinhibit_default_face_x_resources): New variable.
4844 (syms_of_frame): Initialize it.
4845 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
4846
4847 * xdisp.c (pos_visible_p): Improve function comment.
4848
4849 * lisp.h (BINDING_STACK_SIZE): New macro.
4850
8e42f043
GM
4851 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
4852 reading the directory if readdir returns null and errno is EAGAIN
4853 or EINTR.
4854
e8c87124
SM
48552000-11-14 Stefan Monnier <monnier@cs.yale.edu>
4856
4857 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
4858 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
4859 Set amount_to_scroll to max of dx and scroll_step so that
4860 scroll-conservatively doesn't defeat scroll-step>1.
4861 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
4862 scroll-conservatively for line-at-a-time scrolling.
4863
5f0c971d
GM
48642000-11-14 Gerd Moellmann <gerd@gnu.org>
4865
4866 * window.c (Fpos_visible_in_window_p): Call pos_visible with
4867 extra argument.
4868
4869 * xdisp.c (current_mode_line_height, current_header_line_height):
4870 New variables.
4871 (init_xdisp): Initialize them.
4872 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
4873 and use exact mode line heights if it is set.
4874
4875 * lisp.h (pos_visible_p): Change prototype.
4876
4877 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
4878 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
4879 and current_header_line_height first.
52283633
SM
4880 (current_mode_line_height, current_header_line_height):
4881 Declare extern.
5f0c971d 4882
d7361edf
MB
48832000-11-14 Miles Bader <miles@lsi.nec.co.jp>
4884
4885 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
4886 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
4887 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
4888
ee5e440a
MB
48892000-11-14 Miles Bader <miles@gnu.org>
4890
4891 * xterm.c (x_alloc_lighter_color): Include an additive component
4892 too for dark colors, because FACTOR isn't enough.
4893 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
4894 New macros.
4895
5ca020fc
GM
48962000-11-13 Gerd Moellmann <gerd@gnu.org>
4897
4898 * keyboard.c (show_help_echo): Call message3_nolog with number of
4899 bytes in the help string as 2nd parameter, instead of the number
4900 of characters.
4901
9d348294
MB
49022000-11-13 Miles Bader <miles@gnu.org>
4903
4904 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
4905 (Fload): Use new openp return protocol.
4906 Don't try to use Vload_source_file_function to load .elc files.
4907 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
4908 openp return protocol.
4909 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
4910
1729bb9a
KH
49112000-11-11 Kenichi Handa <handa@etl.go.jp>
4912
4e677396
KH
4913 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
4914
4915 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
4916 Defined these macros.
4917 (NLIST_STRUCT): Avoid re-defining it.
4918
1729bb9a
KH
4919 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
4920 -I/usr/contrib/X11R6/include.
4921 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
4922
a82fe213
JR
49232000-11-10 Jason Rumney <jasonr@gnu.org>
4924
4925 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
4926
4927 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
4928 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
4929
4930 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
4931 (Qw32_charset_vietnamese): New symbol.
4932 (xlfd_charset_of_font): New function.
4933 (w32_load_system_font): Use it.
4934 (x_to_w32_charset): Use Fassoc to find charset info. Special case
4935 when Vw32_charset_info_alist is nil to ensure default face always
4936 has font. Use Fcar and Fcdr for safety.
4937 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
4938 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
4939 pseudo-codepages for special cases.
4940 (w32_to_x_font): New parameter to allow charset portion to be
4941 specified where there is many to one mapping. Callers changed.
4942 (w32_list_fonts): Avoid listing fonts that won't display.
4943
52d89894
GM
49442000-11-10 Gerd Moellmann <gerd@gnu.org>
4945
4946 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
4947 (font_list_1): Renamed from font_list.
4948 (font_list): New function, trying alternative registries from
4949 Vface_alternative_font_registry_alist.
4950 (Finternal_set_alternative_font_registry_alist): New function.
4951 (syms_of_xfaces): Initialize and Staticpro
52283633
SM
4952 Vface_alternative_font_registry_alist.
4953 Defsubr Finternal_set_alternative_font_registry_alist.
52d89894 4954
651cd3da
KR
49552000-11-09 Ken Raeburn <raeburn@gnu.org>
4956
4957 * lisp.h (Flooking_at): Declare.
4958
388ac098
GM
49592000-11-09 Gerd Moellmann <gerd@gnu.org>
4960
778fbc46 4961 * dired.c (directory_files_internal): Fix a braino.
52283633 4962
388ac098
GM
4963 * dired.c (directory_files_internal): Add missing GCPRO's.
4964 Some cleanup.
4965
ecaedde1
GM
49662000-11-08 Gerd Moellmann <gerd@gnu.org>
4967
f7eb32aa
GM
4968 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
4969 (resize_mini_window): Return quickly if Vresize_mini_window is
4970 nil. Don't return if Vmax_mini_window_height is nil.
4971
4972 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
4973 (syms_of_xdisp): Initialize them.
4974 (resize_mini_window): Act according to the setting of
4975 Vresize_mini_window.
4976 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
4977
ecaedde1
GM
4978 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
4979 scroll bar widget after configuring it, so that it will appear at
4980 the right position from the start.
4981 (XTredeem_scroll_bar): Cleaned up.
4982
3747ef2c
KH
49832000-11-08 Kenichi Handa <handa@etl.go.jp>
4984
4985 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 4986 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
4987 division by two.
4988
4989 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
4990
03391420
DL
49912000-11-07 Dave Love <fx@gnu.org>
4992
7758f1c1 4993 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
4994
4995 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
4996
b5de343d
GM
49972000-11-07 Gerd Moellmann <gerd@gnu.org>
4998
acad3c0b
GM
4999 * window.c (Fset_window_configuration): Don't try to preserve
5000 point in the current buffer, if that buffer is displayed in more
5001 than one window.
5002
b5de343d
GM
5003 * xfaces.c (lookup_named_face): If default face isn't realized,
5004 try to realize it. Return -1 if not successful.
5005 (Fx_list_fonts): Handle case that face cannot be determined.
5006 (Fface_font): Likewise.
5007
cdb1fe49
GM
50082000-11-06 Gerd Moellmann <gerd@gnu.org>
5009
5010 * window.c (displayed_window_lines): Detect partially
5011 visible lines at the bottom correctly.
5012
d3a67486
SM
50132000-11-06 Stefan Monnier <monnier@cs.yale.edu>
5014
5015 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
5016 when ensuring we don't do visit in indirect buffer.
5017
ff8dd5d5
KH
50182000-11-06 Kenichi Handa <handa@etl.go.jp>
5019
5020 * composite.h (compose_chars_in_text): Add prototype.
5021
5022 * composite.c (Vcomposition_function_table): New variable.
5023 (Qcomposition_function_table): New variable.
5024 (run_composition_function): Call
5025 Vcompose_chars_after_function with three arguments.
5026 (compose_chars_in_text): New function.
5027 (syms_of_composite): Modified the doc-string of
5028 Vcompose_chars_after_function. Declare composition-function-table
5029 as a lisp variable, and initialize it.
5030
5031 * xfns.c (x_encode_text): Suppress producing escape sequences for
5032 composition.
5033
5034 * xselect.c: Include composite.h.
5035 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
5036
d1145f85
AI
50372000-11-05 Andrew Innes <andrewi@gnu.org>
5038
5039 * w32term.c (x_produce_glyphs): Fix typo in enum name.
5040
5041 * sysdep.c (read_input_waiting): Remove extraneous argument to
5042 read_socket_hook.
5043
5044 * w32fns.c (Fx_server_version): Include w32_build_number in the
5045 return list.
5046
5047 * w32heap.c (w32_build_number): New variable.
5048 (cache_system_info): Set it.
5049
5050 * w32heap.h (w32_build_number): Add extern.
5051
5052 * emacs.c (syms_of_emacs): Update docstring for
5053 system-configuration, to reflect the actual usage on MS-Windows.
5054
e85ee976
GM
50552000-10-31 Gerd Moellmann <gerd@gnu.org>
5056
26dcb81b
GM
5057 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
5058 process idle timers while waiting for another event.
5059
52283633 5060 * dispnew.c (update_frame_line): Handle case where spaces in
0a894bad
GM
5061 the default face are colored.
5062
e85ee976
GM
5063 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
5064 window height hasn't changed.
5065
01b220b6
JR
50662000-10-31 Jason Rumney <jasonr@gnu.org>
5067
5068 * w32term.c (x_produce_glyphs): Handle composite characters.
5069 (x_draw_glyph_string_foreground)
5070 (x_draw_composite_glyph_string_foreground): Restore old font.
5071
4e6b7204
MB
50722000-10-31 Miles Bader <miles@lsi.nec.co.jp>
5073
5074 * minibuf.c (read_minibuf): Reset the undo history just before
5075 starting the recursive-edit.
5076
d4358b37
GM
50772000-10-30 Gerd Moellmann <gerd@gnu.org>
5078
563f68f1
GM
5079 * xfaces.c (menu_face_change_count): New variable.
5080 (Finternal_set_lisp_face_attribute): Increment it for changes
5081 of the `menu' face.
5082 (realize_basic_faces): Reflect changes in the `menu' faces
5083 in menu bars.
5084
82e274d1
GM
5085 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
5086 dy obtained from the iterator's y-position after moving from
5087 scroll_margin_pos to PT; see comment there.
52283633 5088
0dbf9fd2
GM
5089 * xdisp.c (safe_eval_handler): Call add_to_log.
5090
906b3b14
GM
5091 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
5092 is not a symbol or string.
5093
d4358b37
GM
5094 * xdisp.c (echo_area_display): Don't perform a display update from
5095 inside redisplay. The update will happen anyway at the end of
5096 redisplay, and it can confuse redisplay (GC messages while
5097 redisplaying, for instance.)
5098
70c825df
SM
50992000-10-30 Stefan Monnier <monnier@cs.yale.edu>
5100
cf9b4b0b
SM
5101 * xrdb.c (x_load_resources): Use the class name in the defaults.
5102
70c825df
SM
5103 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
5104 (regex_compile): Catch bogus \(\1\).
5105
a1d34b1e
GM
51062000-10-30 Gerd Moellmann <gerd@gnu.org>
5107
cae71efe
GM
5108 * xterm.c (x_alloc_nearest_color): Fix last change to compare
5109 RGB values.
52283633 5110
35efe0a1
GM
5111 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
5112 we have a color cache, check that the cached color equals the
5113 allocated color. If not, clear the color cache.
5114
1d3baf74
GM
5115 * window.c (displayed_window_lines): Change buffers if necessary.
5116 Fix computation of displayed lines.
5117
a1d34b1e
GM
5118 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
5119 update_menu_bindings to DEFVAR_BOOL.
5120
70737ea9
KH
51212000-10-30 Kenichi Handa <handa@etl.go.jp>
5122
70c825df 5123 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 5124
fa0cb51d
KH
5125 * puresize.h (BASE_PURESIZE): Increase to 680000.
5126
70737ea9
KH
5127 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
5128
0e4c08e8
JR
51292000-10-29 Jason Rumney <jasonr@gnu.org>
5130
5131 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
5132
5133 * w32term.c (w32_bdf_per_char_metric): Negate descent.
5134 (w32_cache_char_metrics): Handle possibility that 'x' does not
5135 exist in a BDF font.
5136 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
5137
5138 * w32bdf.h (bdffont): Add nchars.
5139
5140 * w32bdf.c (set_bdf_font_info): Set it.
5141 (w32_BDF_TextOut): Swap byte order of double byte characters.
5142 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
5143
45b84006
EZ
51442000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
5145
5146 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
5147 don't override the colors in frame's param_alist, unless they are
5148 unspecified.
5149
5150 * term.c (reassert_line_highlight): If inverse_video is non-zero,
5151 reverse the effect of the highlight flag.
5152
caf9deee
KR
51532000-10-27 Ken Raeburn <raeburn@gnu.org>
5154
5155 * window.h (Fwindow_live_p): Declare.
5156
ae0b9b46
KR
5157 * undo.c (record_delete): Check that last_undo_buffer is really a
5158 buffer before applying XBUFFER to it.
5159
5160 * keymap.c (where_is_internal): Pass lisp object, not integer, to
5161 Faref.
5162
02067692
SM
51632000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5164
5165 * lisp.h (KEYMAPP): New macro.
5166 (get_keymap): Remove.
5167 (get_keymap_1): Rename get_keymap.
5168
5169 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
5170
5171 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
5172
5173 * xmenu.c (single_submenu): Use KEYMAPP.
5174 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5175 Use KEYMAPP rather than Fkeymapp.
5176
5177 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
5178
5179 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
5180 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
5181 Use KEYMAPP rather than Fkeymapp.
5182 (single_submenu): Use KEYMAPP.
5183 (w32_menu_show, w32_dialog_show): Use TRUE.
5184
5185 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
5186
5187 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
5188 (Fkeymapp): Use KEYMAPP.
5189 (get_keymap): Rename from get_keymap_1. Remove old def.
5190 Return t when autoload=0 and error=0 and the keymap needs autoloading.
5191 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
5192 (Fminor_mode_key_binding): Don't raise an error if the binding
5193 is not a keymap.
5194 (Fuse_global_map, Fuse_local_map): Allow autoloading.
5195 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
5196
5197 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
5198 Allow Vspecial_event_map to be autoloaded.
5199 (menu_bar_items): Fetch the keymap rather than using keymapp.
5200 (menu_bar_one_keymap): No need to follow func-indirect any more.
5201 (parse_menu_item): get_keymap_1 -> get_keymap.
5202 (tool_bar_items): Fetch the keymap rather than using keymapp.
5203 (read_key_sequence): Use KEYMAPP.
5204
5205 * intervals.c (get_local_map): Use get_keymap rather than following
5206 function-indirections explicitly.
5207
5208 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
5209
f9d80af3
JR
52102000-10-27 Jason Rumney <jasonr@gnu.org>
5211
5212 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
5213 point, as Windows has oversized fonts.
5214
5215 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
5216
a3ba27da
GM
52172000-10-27 Gerd Moellmann <gerd@gnu.org>
5218
5219 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
5220 (freehook, reallochook): Handle null pointer arguments.
5221 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
5222
aa3b80cc
SM
52232000-10-27 Stefan Monnier <monnier@cs.yale.edu>
5224
5225 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
5226 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
5227 Giving in to popular pressure to shut up the compiler with casts.
5228
e24e84cc
GM
52292000-10-27 Gerd Moellmann <gerd@gnu.org>
5230
5231 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
5232 signed value, and use a default value computed from the font's
5233 maximum descent.
5234
05ea7ef2
MB
52352000-10-27 Miles Bader <miles@lsi.nec.co.jp>
5236
5237 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
5238 that specify a negative underline position can still use underlines.
5239
5240 * window.c (Fpos_visible_in_window_p): Make POS default to
5241 WINDOW's point, not the current buffer's point.
5242
0b95284b
DL
52432000-10-26 Dave Love <fx@gnu.org>
5244
5245 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
5246 when it's necessary.
5247
6c5b90af
GM
52482000-10-26 Gerd Moellmann <gerd@gnu.org>
5249
8b6d9dc9
GM
5250 * window.c (size_window): Compute size difference from sum of old
5251 child window sizes instead of from parent's size.
5252
6bc92b2e
GM
5253 * xdisp.c (pos_visible_p): Change current buffer if necessary.
5254 Handle obscured lines at the top of the window.
5255
5256 * frame.c (Fdelete_frame): Doc fix. Move running the hook
5257 down after the last error condition check.
5258
6c5b90af
GM
5259 * frame.c (Fdelete_frame): Run delete-frame-hook.
5260
42f92d4d
KH
52612000-10-26 Kenichi Handa <handa@etl.go.jp>
5262
5263 * coding.c (decode_coding): Fix previous change (check also
5264 CODING_MODE_LAST_BLOCK).
5265
d97151cb
SM
52662000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5267
e7efc503
SM
5268 * regex.c: More `unsigned char' -> `re_char' changes.
5269 Also change several `int' into `re_wchar_t'.
5270 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
5271 (PUSH_FAILURE_POINTER): Don't cast any more.
5272 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
5273 We want GCC to complain, since this piece of code makes
5274 re_match non-reentrant, which *should* be fixed.
5275 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
5276 (EXTEND_BUFFER): Use RETALLOC.
5277 (SET_LIST_BIT): Don't cast.
5278 (re_wchar_t): New type.
5279 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
5280 that those two functions will always properly return.
5281 (IMMEDIATE_QUIT_CHECK): Cast to void.
5282 (analyse_first): Use recursion rather than an explicit stack.
5283 (re_compile_fastmap): Can't fail anymore.
5284 (re_search_2): Don't check re_compile_fastmap for failure.
5285 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
5286 Now also sets the new value (passed in a new argument).
5287 (re_match_2_internal): Use it.
5288 Also, use a new var `reg' of type size_t when looping through regs
5289 rather than reuse the inappropriate `mcnt'.
5290
d97151cb
SM
5291 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
5292 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
5293 (where_is_internal): Renamed from Fwhere_is_internal.
5294 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
5295 (Fwhere_is_internal): New function wrapping where_is_internal.
5296 (where_is_internal_1): Handle the case where we're filling the cache.
5297 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
5298
d5789b65
MB
52992000-10-25 Miles Bader <miles@gnu.org>
5300
5301 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
5302
4ecda532
GM
53032000-10-25 Gerd Moellmann <gerd@gnu.org>
5304
5305 * window.c (pos_fully_visible_p): Removed.
5306 (Fpos_visible_in_window_p): Use pos_visible_p to determine
5307 if position is visible and/or fully visible.
5308
5309 * lisp.h (pos_visible_p): Add prototype.
5310
5311 * xdisp.c (pos_visible_p): New function.
5312
68c3a137
KH
53132000-10-25 Kenichi Handa <handa@etl.go.jp>
5314
5315 * process.c (send_process): If OBJECT is t, it means that the data
5316 is from C string, but we should encode it. Before calling
5317 setup_raw_text_coding_system, be sure to flush out data by the
5318 previous coding system.
5319
7ae1c032
MB
53202000-10-25 Miles Bader <miles@lsi.nec.co.jp>
5321
ff4dcd4b
MB
5322 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
5323 assignment of startpos to prev when startpos == pos.
5324
7ae1c032
MB
5325 * editfns.c (find_field): Set the field stickiness correctly from
5326 overlay fields. Use renamed `text_property_stickiness'.
5327 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 5328 Only check text properties, not overlays.
7ae1c032
MB
5329 * textprop.c (get_char_property_and_overlay): New function.
5330 (Fget_char_property): Use it.
5331 * intervals.h (get_char_property_and_overlay): Add declaration.
5332
49801145
SM
53332000-10-25 Stefan Monnier <monnier@cs.yale.edu>
5334
5335 * keymap.c: Use AREF, ASET and ASIZE macros.
5336 (Fmake_sparse_keymap): Docstring fix.
5337 (synkey): Remove.
5338 (shadow_lookup): Move up.
5339 Handle the case where lookup-key returns an integer.
5340 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
5341 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
5342 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
5343 Simplify/rewrite the keymap-finding code.
5344 Add check for command shadowing, using shadow_lookup.
5345
39e776cd
SM
53462000-10-24 Stefan Monnier <monnier@cs.yale.edu>
5347
5348 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
5349 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
5350 a symbol.
5351
2488aba5
AI
53522000-10-24 Andrew Innes <andrewi@gnu.org>
5353
5354 * dired.c (directory_files_internal_unwind): New function.
5355 (directory_files_internal): Use it to ensure closedir is called
5356 even if expand-file-name or file-attributes throw, eg. because of
5357 a user interrupt. Also enable immediate_quit while calling
5358 re_search, so that matching can be interrupted as well.
5359
b94fdf61
AI
53602000-10-24 Andrew Innes <andrewi@gnu.org>
5361
5362 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
5363 NT-Emacs only.
5364 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
5365 so that re_search functions only quit when callers expect them to.
5366
53672000-10-24 Kenichi Handa <handa@etl.go.jp>
5368
5369 * regex.c (regex_compile): Change the way of handling a range from
5370 a char less than 256 to a char not less than 256.
5371
1946f901
GM
53722000-10-24 Gerd Moellmann <gerd@gnu.org>
5373
7ae2f10f
GM
5374 * window.c (size_window): Prevent setting window's width or
5375 height to a negative value (esp. with XSETFASTINT).
5376
5dcab13e
GM
5377 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
5378 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
5379 (protect_malloc_state) [GC_MALLOC_CHECK &&
5380 GC_PROTECT_MALLOC_STATE]: New function.
5381 (PROTECT_MALLOC_STATE): New macro.
5382 (__malloc_initialize, morecore, _malloc_internal)
5383 (_free_internal) _realloc_internal): Use it to make _heapinfo
5384 read-only outside of gmalloc.
5385
63e1b552
GM
5386 * keymap.c: Update copyright.
5387
1946f901
GM
5388 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
5389 a symbol.
5390
4fa09beb
GM
53912000-10-24 Colin Walters <walters@cis.ohio-state.edu>
5392
5393 * filelock.c (unlock_all_files): Use unlock_file to expand each
5394 buffer's file_truename before trying remove its lock file.
5395
23afac01
EZ
53962000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
5397
5398 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
5399 or CRLF, decode EOLs.
5400
04448b95
KH
54012000-10-24 Kenichi Handa <handa@etl.go.jp>
5402
5403 * window.c (Fdisplay_buffer): Fix doc.
5404
3090a5a5
JR
54052000-10-23 Jason Rumney <jasonr@gnu.org>
5406
5407 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
5408 ASCII font of default fontset on Windows.
5409
5410 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
5411 xterm.c comment below).
5412
5413 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
5414
a83fee2c
GM
54152000-10-23 Gerd Moellmann <gerd@gnu.org>
5416
5417 * xterm.c (x_connection_closed): Reset handling_signal.
5418
52283633 5419 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing null.
a83fee2c 5420
6ffdb539
MB
54212000-10-23 Miles Bader <miles@gnu.org>
5422
5423 * window.c (window_scroll_pixel_based, window_scroll_line_based):
5424 Pass nil for FULLY argument to Fpos_visible_in_window_p to
5425 maintain old behavior.
5426 * minibuf.c (Fminibuffer_complete): Likewise.
5427
7f1c969b
MB
54282000-10-23 Miles Bader <miles@lsi.nec.co.jp>
5429
5430 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
5431 that when a font can't be exactly centered, it errs up rather than
5432 down.
5433
23afac01 54342000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd 5435
52283633 5436 * fns.c (Fbase64_decode_string): The decoded result should be unibyte.
8ec118cd 5437
1a578e9b
AC
54382000-10-23 Andrew Choi <akochoi@i-cable.com>
5439
5440 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
5441
5442 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 5443 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
5444
5445 * emacs.c (main) [macintosh]: Call syms_of_textprop,
5446 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
5447 syms_of_search, x_term_init, and init_keyboard before calling
5448 init_window_once. Also, call syms_of_xmenu.
5449
5450 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
5451 default fontset to Monaco.
5452
5453 * frame.c [macintosh]: Include macterm.h. Remove declarations of
5454 NewMacWindow and DisposeMacWindow.
5455 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
5456 instead of calling NewMacWindow and setting fields of
5457 f->output_data.mac directly. Call init_frame_faces.
5458 (Fdelete_frame) [macintosh]: Remove unused code.
5459 (Fmodify_frame_parameters) [macintosh]: Call
5460 x_set_frame_parameters instead of mac_set_frame_parameters.
5461
5462 * frame.h [macintosh]: Define menu_bar_lines field in struct
5463 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
5464
5465 * keyboard.c [macintosh]: Include macterm.h.
5466 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
5467 and menu_bar_activate_event type events as for X and NT.
5468 (make_lispy_event) [macintosh]: Construct lisp events of type
5469 MENU_BAR_EVENT as for X and NT.
5470
5471 * sysdep.c [macintosh]: Remove declaration for sys_signal.
5472 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
5473 (sys_subshell) [macintosh]: Remove definition entirely.
5474 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
5475 Vwindow_system_version here. Remove initialization of
5476 Vx_bitmap_file_path.
5477 (read_input_waiting): Correct the number of parameters passed to
5478 read_socket_hook.
5479 Move all Macintosh functions to mac/mac.c.
5480
5481 * term.c [macintosh]: Include macterm.h.
5482
5483 * window.c [macintosh]: Include macterm.h.
5484
5485 * xdisp.c [macintosh]: Include macterm.h. Declare
5486 set_frame_menubar and pending_menu_activation.
5487 (echo_area_display) [macintosh]: Do not return if terminal frame
5488 is the selected frame.
5489 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
5490 Allow only the selected frame to set menu bar.
5491 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
5492 calling FRAME_EXTERNAL_MENU_BAR (f).
5493 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
5494
5495 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
5496 and check_x. Declare XCreateGC. Define x_create_gc and
5497 x_free_gc. Initialize font_sort_order.
5498 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
5499 but call x_list_fonts instead of w32_list_fonts.
5500 (Finternal_face_x_get_resource) [macintosh]: Do not call
5501 display_x_get_resource.
5502 (prepare_face_for_display) [macintosh]: Set xgcv.font.
5503 (realize_x_face) [macintosh]: Load the font if it is specified in
5504 ATTRS.
52283633 5505 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed to Qt.
1a578e9b 5506
1ffbabe3
SM
55072000-10-22 Stefan Monnier <monnier@cs.yale.edu>
5508
5509 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
5510 is nil: since we go to the end of submap anyway, we'd end up
5511 setting nil to nil.
5512 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
5513 doesn't obey autoload.
5514
bed43f1d
EZ
55152000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5516
1ffbabe3 5517 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 5518
ea4233a7
JR
55192000-10-21 Jason Rumney <jasonr@gnu.org>
5520
5521 * w32term.c (w32_cache_char_metrics): Double check that font is
5522 really fixed pitch before trusting tmPitchAndFamily.
5523
f3d3c491
AI
55242000-10-21 Andrew Innes <andrewi@gnu.org>
5525
5526 * w32gui.h (w32_char_font_type): Move enum from w32term.c
5527
5528 * w32term.h: Extern decl for w32_cache_char_metrics.
5529
5530 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
5531
5532 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
5533 (w32_unload_font): Free per_char array if present.
5534
5535 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
5536 cached information in emulated XFontStruct to handle common cases
5537 quickly. Do not allocate XCharStruct for return.
5538 (w32_native_per_char_metric): New function.
5539 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
5540 allocating one.
5541 (x_produce_glyphs): Don't get an HDC. Change calls to
5542 w32_per_char_metric to match arg change above. Remove calls to
5543 free results.
5544 (w32_get_glyph_overhangs): Ditto.
5545 (w32_cache_char_metrics): New function.
5546
5547 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
5548 ($(BLD)/casefiddle.$(O)): Remove compile command.
5549 ($(BLD)/gmalloc.$(O)): Remove compile command.
52283633
SM
5550 ($(BLD)/dispnew.obj):
5551 ($(BLD)/keyboard.obj):
5552 ($(BLD)/w32inevt.obj):
5553 ($(BLD)/w32bdf.obj):
5554 ($(BLD)/alloc.obj):
5555 ($(BLD)/buffer.obj):
5556 ($(BLD)/editfns.obj):
5557 ($(BLD)/emacs.obj):
5558 ($(BLD)/fileio.obj):
5559 ($(BLD)/fns.obj):
5560 ($(BLD)/indent.obj):
5561 ($(BLD)/insdel.obj):
5562 ($(BLD)/intervals.obj):
5563 ($(BLD)/minibuf.obj):
5564 ($(BLD)/print.obj):
5565 ($(BLD)/scroll.obj):
5566 ($(BLD)/sysdep.obj):
5567 ($(BLD)/textprop.obj):
5568 ($(BLD)/widget.obj):
f3d3c491
AI
5569 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
5570 ($(BLD)/term.obj): Add dependency on dispextern.h.
5571
52283633
SM
5572 * makefile.nt ($(BLD)\dispnew.obj):
5573 ($(BLD)\keyboard.obj):
5574 ($(BLD)\w32inevt.obj):
5575 ($(BLD)\w32bdf.obj):
5576 ($(BLD)\alloc.obj):
5577 ($(BLD)\buffer.obj):
5578 ($(BLD)\editfns.obj):
5579 ($(BLD)\emacs.obj):
5580 ($(BLD)\fileio.obj):
5581 ($(BLD)\fns.obj):
5582 ($(BLD)\indent.obj):
5583 ($(BLD)\insdel.obj):
5584 ($(BLD)\intervals.obj):
5585 ($(BLD)\minibuf.obj):
5586 ($(BLD)\print.obj):
5587 ($(BLD)\scroll.obj):
5588 ($(BLD)\sysdep.obj):
5589 ($(BLD)\textprop.obj):
5590 ($(BLD)\widget.obj):
f3d3c491
AI
5591 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
5592 ($(BLD)\term.obj): Add dependency on dispextern.h
5593
18ad4821
EZ
55942000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
5595
5596 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
5597 with an additional argument of Qt.
5598
de54681a
MB
55992000-10-21 Miles Bader <miles@gnu.org>
5600
5601 * window.c (pos_fully_visible_in_window_p): New function.
5602 (Fpos_visible_in_window_p): Add FULLY argument.
5603 Use pos_fully_visible_in_window_p.
5604 (window_scroll_pixel_based, window_scroll_line_based): Update
5605 calls to Fpos_visible_in_window_p.
5606 * lisp.h (Fpos_visible_in_window_p): Update prototype
5607
13c844fb
GM
56082000-10-20 Gerd Moellmann <gerd@gnu.org>
5609
5610 * alloc.c (toplevel): Conditionalize compilation of mem_*
5611 functions differently.
52283633 5612
d9506268
JR
56132000-10-20 Jason Rumney <jasonr@gnu.org>
5614
5615 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
5616 mem_init where it used to be. mem_z etc not defined otherwise.
5617
8094989b
GM
56182000-10-20 Gerd Moellmann <gerd@gnu.org>
5619
5620 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
5621 GC_MALLOC_CHECK.
5622 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
5623 structure definition and related variabled to the top of the file.
5624 Include this code when GC_MALLOC_CHECK is defined.
5625 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
5626 register/unregister allocated region.
5627 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
5628 which isn't allocated.
5629 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
5630 something which is already in use.
5631 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
5632 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
5633 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
5634 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
5635
5636 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
5637 _malloc_internal instead of malloc.
5638 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
5639 of free.
5640
ea456eb4
AI
56412000-10-20 Andrew Innes <andrewi@gnu.org>
5642
5643 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
5644 Windows.
5645 (my_strftime) <macro>: Don't use macro arg list when redefining as
5646 _strftime_copytm.
5647 (my_strftime) <function>: Supply 0 as ut argument.
5648
e64c3a75
JR
56492000-10-19 Jason Rumney <jasonr@altavista.net>
5650
5651 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
5652 including dispextern.h, as it stops faces from working.
5653
5654 * w32fns.c (Fx_create_frame): Don't bother calling
5655 face-set-after-frame-default since the caller does it for us
5656 anyway. Clean up calls to x_get_arg to be consistent with X.
5657
5658 * w32term.c (x_produce_glyphs): Handle
5659 unibyte_display_via_language_environment correctly.
5660 (w32_draw_box_rect): Fix the calculation of width and height.
5661
5662 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
5663 as it has stopped working.
5664 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
5665 menu-bar.
5666
17401c97
GM
56672000-10-19 Gerd Moellmann <gerd@gnu.org>
5668
5669 * eval.c (skip_debugger): Prevent a compiler warning.
5670 (Fcondition_case): Likewise.
5671 (Fbacktrace_frame): Use a null interactive spec.
5672
773272d8
KH
56732000-10-19 Kenichi Handa <handa@etl.go.jp>
5674
5675 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
5676
a42943e9
GM
56772000-10-18 Gerd Moellmann <gerd@gnu.org>
5678
e50517d9
GM
5679 * strftime.c: Sync with glibc, file version 1.78.
5680 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
5681 should no longer be used according to ISO 8601.
5682
9035a35a
GM
5683 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
5684 no map for meta_prefix_char, don't try to use it as a keymap.
5685 Instead, if T_OK is non-zero, look up a default binding, if any,
5686 otherwise, if T_OK is zero, return nil.
5687
a42943e9
GM
5688 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
5689 (x_to_xcolors, png_load): Use x_query_color.
5690
52283633
SM
5691 * xterm.c (x_color_cells, x_query_colors, x_query_color):
5692 New functions.
a42943e9
GM
5693 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
5694 which can be slow.
5695 (x_copy_color, x_alloc_lighter_color): Likewise.
5696
5697 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
5698 (x_query_color, x_query_colors): Add prototype.
5699
5700 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
5701 check_string_bytes only if not noninteractive, increase count to 50.
5702
00de2987
MB
57032000-10-18 Miles Bader <miles@lsi.nec.co.jp>
5704
5705 * insdel.c (adjust_markers_for_delete): Handle before-insertion
5706 markers correctly.
5707
54918e2b
GM
57082000-10-17 Gerd Moellmann <gerd@gnu.org>
5709
1f0b3fd2
GM
5710 * alloc.c (pure_bytes_used): Renamed from pureptr.
5711 (ALIGN): New macro.
5712 (pure_alloc): New function.
5713 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
5714 Use it.
5715 (Fpurecopy): Use PURE_POINTER_P.
5716
68c5d1db
GM
5717 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
5718 PT has moved backward.
52283633 5719
9a038881
GM
5720 * xdisp.c (cursor_row_p): Take continued lines into account.
5721
361b097f
GM
5722 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
5723 string's size_byte.
5724 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
5725 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
5726 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
5727 string allocated.
5728
54918e2b
GM
5729 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
5730 of selective display off while searching for the next line start.
5731
03ed0806
KH
57322000-10-17 Kenichi Handa <handa@etl.go.jp>
5733
5734 * Makefile.in (term.o): Depend on dispextern.h.
5735
7e05cdaf
SM
57362000-10-16 Stefan Monnier <monnier@cs.yale.edu>
5737
5738 * keymap.c (keymap_memberp): Ensure that nil is not a member.
5739
a6801fd1
GM
57402000-10-16 Gerd Moellmann <gerd@gnu.org>
5741
483de32b
GM
5742 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
5743 the iterator at the beginning, so that they can be set later on,
5744 for instance in reseat_at_next_visible_line_start, without being
5745 overwritten.
5746
a6801fd1
GM
5747 * xfns.c (pbm_format): Add :foreground and :background keywords.
5748 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
52283633 5749 (xbm_load): Recognize foreground and background color specifications.
a6801fd1 5750
dbf1fcc1
EZ
57512000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
5752
5753 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
5754
52283633 5755 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern declaration.
dbf1fcc1
EZ
5756
5757 * msdos.c (IT_set_face): Compare highlighted face with the default
5758 face, and invert colors if these faces' colors are identical.
5759 (Fmsdos_remember_default_colors): Don't swap foreground and
5760 background colors in initial_colors[].
5761 (IT_set_frame_parameters): Don't swap frame's foreground and
5762 background pixels. If ALIST includes "(reverse . t)", swap
5763 foreground-color and background-color properties in frame's
5764 param_alist. If the original frame's param_alist doesn't specify
5765 the colors, store unspecified-fg and unspecified-bg, reversed if
5766 required.
5767
5768 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
5769 the colors are unspecified and reversed, reverse fore- and back-
5770 ground in the returned value.
5771 (Fframe_parameter): Ditto.
5772
b41fe2c3 57732000-10-16 Gerd Moellmann <gerd@gnu.org>
52283633 5774
3a6b59d9
GM
5775 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
5776 get_last_unchanged_at_beg_row.
5777 (find_first_unchanged_at_end_row): Renamed from
5778 get_first_unchanged_at_end_row.
5779 (find_first_unchanged_at_end_row): Convert assertions to
5780 unconditional tests which abort. When looking for a row in
5781 unchanged text, don't go further back than first_text_row.
5782
b41fe2c3
GM
5783 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
5784 Don't add in the last line's height when deciding if the new
5785 position is below the scroll margin.
9d1af64f 5786
b41fe2c3 57872000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
5788
5789 * editfns.c (Fconstrain_to_field): Check carefully for field
5790 boundaries if either OLD_POS or NEW_POS has a non-nil field
5791 property, even if they're the same.
5792
c412cb7b
KH
57932000-10-16 Kenichi Handa <handa@etl.go.jp>
5794
5795 * xterm.c (x_draw_box_rect): Fix the calculation of width and
5796 height for XFillRectangle.
5797
5586f3eb
SM
57982000-10-15 Stefan Monnier <monnier@cs.yale.edu>
5799
5800 * syntax.c (Fstring_to_syntax): New function extracted from
5801 Fmodify_syntax_entry.
5802 (Fmodify_syntax_entry): Use it and document the ! and | fences.
5803 (skip_chars, Fforward_comment): Remove unused variables.
5804 (syms_of_syntax): Add defsubr for string-to-syntax.
5805 (describe_syntax): Add code for comment and string fences.
5806
db785038
SM
58072000-10-14 Stefan Monnier <monnier@cs.yale.edu>
5808
5809 * keymap.c (access_keymap): Add AUTOLOAD parameter.
5810 Do the meta->esc mapping. Call get_keyelt before returning.
5811 Start scanning from the second element (the first is always `keymap')
5812 to make it easier to detect when we reach a parent map.
5813 Handle the case of inheriting from a symbol whose function is a map.
5814 (Fkeymap_parent): Also handle the `inherit from symbol' case.
5815 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
5816 (get_keyelt, Flookup_key): Update call to access_keymap.
5817 Remove the meta->esc mappings.
5818 (define_as_prefix): Delete old disabled code.
5819 (menu_item_p): New function.
5820 (where_is_internal_1): Skip over the few remaining menu items.
5821 * lisp.h (access_keymap): Update prototype.
5822 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
5823 Update call to access_keymap.
5824 (follow_key, read_key_sequence): Update calls to access_keymap.
5825 Remove the meta->esc mappings.
5826
cafafe0b
GM
58272000-10-13 Gerd Moellmann <gerd@gnu.org>
5828
a2e2a7f6
GM
5829 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
5830 with additional argument.
5831
cafafe0b
GM
5832 * xdisp.c (cursor_row_p): New function.
5833 (try_cursor_movement, display_line): Use it.
52283633 5834
cafafe0b
GM
5835 * xdisp.c (append_space): Also save/restore iterator's current
5836 character and its length.
5837
5838 * xdisp.c (init_from_display_pos): Add an assertion.
5839 (handle_stop): Don't set iterator's add_overlay_start.
5840 (handle_invisible_prop): Likewise.
5841 (load_overlay_strings): If text under an overlay is invisible,
5842 take both before- and after-strings into account when the iterator
5843 is positioned either at the start or at the end of the overlay.
5844 (forward_to_next_line_start): Rewritten.
5845 (reseat_at_next_visible_line_start): Rewritten.
5846 (set_iterator_to_next): Add parameter RESEAT_P.
5847
5848 * dispextern.h (struct it): Remove member add_overlay_start.
5849 (set_iterator_to_next): Change prototype.
5850
c744452b
KH
58512000-10-13 Kenichi Handa <handa@etl.go.jp>
5852
5853 * coding.c (code_convert_region): Be sure to initialize
5854 coding->category_idx.
e4a3f4e1
KH
5855 (decode_coding_string): Set coding->src_multibyte and
5856 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
5857 (encode_coding_string): Set coding->src_multibyte and
5858 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 5859
321fd26f
SM
58602000-10-12 Stefan Monnier <monnier@cs.yale.edu>
5861
5862 * xfns.c (Fx_create_frame): Don't bother calling
5863 face-set-after-frame-default since the caller does it for us anyway.
5864
76832439
EZ
58652000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
5866
5867 * window.c (coordinates_in_window): Fix detection of vertical line
5868 on character terminals.
5869
2483cf58
GM
58702000-10-12 Gerd Moellmann <gerd@gnu.org>
5871
5872 * editfns.c (save_excursion_save): Additionally record the
5873 selected window.
5874 (save_excursion_restore): If buffer was visible in a window, and a
5875 different window was selected, and the old selected window is
5876 still live, restore point in that window.
5877
eb991b25
KH
58782000-10-12 Kenichi Handa <handa@etl.go.jp>
5879
8a0eba09
KH
5880 * xterm.c (x_produce_glyphs): Handle
5881 unibyte_display_via_language_environment correctly.
5882
20401fcc
KH
5883 * regex.c (regex_compile): Change the way of handling a range from
5884 unibyte char to multibyte char.
5885
5886 * syntax.c (skip_chars): Change the way of handling a range from
5887 unibyte char to multibyte char.
5888
eb991b25
KH
5889 * process.c (read_process_output): Cancel previous change.
5890
365dd325
EZ
58912000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
5892
c1b096cb
EZ
5893 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
5894
365dd325
EZ
5895 * charset.c (Ffind_charset_string): Doc fix.
5896 (Ffind_charset_region): Doc fix.
5897
eb483c2b
KH
58982000-10-11 Kenichi Handa <handa@mule.m17n.org>
5899
5900 * process.c (read_process_output): Fix previous change. Adjust
5901 multibyteness of text to insert in a buffer by
52283633 5902 string_make_unibyte/multibyte instead of Fstring_as_unibyte/multibyte.
eb483c2b 5903
b40bfb99
AS
59042000-10-10 Andreas Schwab <schwab@suse.de>
5905
5906 * alloc.c (mark_object): Remove all workarounds installed on
5907 1993-08-08.
5908
caff31d4
KH
59092000-10-10 Kenichi Handa <handa@etl.go.jp>
5910
52283633 5911 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before returning.
caff31d4
KH
5912 (base64_encode_1): Make it work for a text of multibyte form.
5913 (Fbase64_decode_region): Allocate sufficient memory for multibyte
5914 case. Don't call str_to_multibyte because base64_decode_1
5915 produces correct multibyte form for eight-bit codes.
52283633 5916 (Fbase64_decode_string): Adjusted for the change of base64_decode_1.
caff31d4
KH
5917 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
5918 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
5919 codes.
5920
5921 * charset.h (CHAR_STRING): Optimized for single byte characters.
5922
cba026ef
AS
59232000-10-09 Andreas Schwab <schwab@suse.de>
5924
5925 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
5926 -1 after socket is closed, to fall through to error processing.
5927
1e21fe48
EZ
59282000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
5929
5930 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 5931 variables. If ALIST includes foreground-color or
1e21fe48
EZ
5932 background-color, change also the colors of the default face for
5933 this frame.
5934
a640322e
EZ
59352000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
5936
5937 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
5938 them extern (they are defined on xfaces.c).
5939 (syms_of_msdos): Don't intern and don't staticpro
5940 Qbackground_color and Qforeground_color.
5941
a115794c
EZ
59422000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
5943
5944 * frame.c (Fframe_parameter): For non-windowed frames, if
5945 f->param_alist says foreground or background color is unspecified,
5946 call tty_color_name to return the color name computed from the
5947 frame's current colors.
5948
f5533b63
DL
59492000-10-06 Dave Love <fx@gnu.org>
5950
5951 * terminfo.c (ospeed): Don't declare.
5952
5953 * sysdep.c: Don't include string.h.
5954 (h_errno): Declare conditional also on TRY_AGAIN.
5955
5956 * charset.c (Ffind_charset_string): Doc fix.
5957
52283633 5958 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
f5533b63
DL
5959 (Fbase64_decode_region, Fbase64_decode_string): More explicit
5960 error messages.
5961
2b06561a
DL
59622000-10-05 Dave Love <fx@gnu.org>
5963
5964 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
5965 position like menu-bar.
5966
ca839c85
GM
59672000-10-05 Gerd Moellmann <gerd@gnu.org>
5968
5969 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
5970
5971 * xdisp.c (handle_single_display_prop): Use safe_call1.
5972 (safe_call): Renamed from call_function.
5973 (safe_call1): New function.
5974 (handle_fontified_prop): Use safe_call1 instead of call1.
5975 (safe_eval): Renamed from eval_form.
5976 (safe_eval_handler): Renamed from eval_handler.
5977 (handle_single_display_prop, display_mode_element): Use safe_eval
5978 instead of eval_form.
5979
5980 * xfaces.c (merge_face_heights): Use safe_call instead of
5981 call_function.
5982
5983 * keyboard.c (show_help_echo): Use safe_call instead of
5984 call_function; use safe_eval instead of eval_form.
5985
5986 * lisp.h (safe_call): Renamed from call_function.
5987 (safe_eval): Renamed from eval_form.
5988 (safe_call1): Add prototype.
5989
a3489ece
MB
59902000-10-05 Miles Bader <miles@lsi.nec.co.jp>
5991
5992 * xfns.c (image_ascent): Rearrange ascent calculation for the
5993 has-a-font case.
5994
35810b6f
SM
59952000-10-04 Stefan Monnier <monnier@cs.yale.edu>
5996
5997 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
5998 (where_is_internal_1): Don't bother ignoring menu-items any more.
5999
3dc78168
GM
60002000-10-04 Gerd Moellmann <gerd@gnu.org>
6001
6002 * keyboard.c (update_menu_bindings): New variable.
6003 (parse_menu_item): Use AREF. If update_menu_bindings
6004 is 0, don't update menu bindings.
6005 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
6006
1efc2bb9
EZ
60072000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
6008
6009 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
6010 to `mark_object'.
6011
3f679f55
SM
60122000-10-02 Stefan Monnier <monnier@cs.yale.edu>
6013
6014 * syntax.c (forw_comment): Match nestedness of ender/starter.
6015 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
6016 (prev_char_comstart_first): Remove.
6017 (back_comment): Check two-char comment markers more carefully
6018 to better handle overlapping cases like *//* or /* */* */ ...
6019 Match nestedness of ender/starter.
6020
2021ab61
DL
60212000-10-02 Dave Love <fx@gnu.org>
6022
6023 * config.in (HAVE_GAI_STRERROR): Add undef.
6024
6025 * process.c (Fopen_network_stream): Use it.
6026
6027 * m/alpha.h (NO_REMAP): Don't define.
6028
64e6cc18
GM
60292000-10-02 Gerd Moellmann <gerd@gnu.org>
6030
6031 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
6032 return with a string converted to an integer or vice versa when
6033 Vmocklisp_arguments is t.
6034 (Fsignal): Likewise. The function can return for `quit'.
6035 (struct gcpro): Declare member `var' to point to a volatile
6036 Lisp_Object.
6037
6038 * eval.c (error): Prevent compiler warning.
6039
b1904cd9
SM
60402000-09-30 Stefan Monnier <monnier@cs.yale.edu>
6041
6042 * keymap.c (keymap_memberp): New function.
6043 (Fset_keymap_parent): Use it.
6044 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
6045 Use keymap_memberp to avoid creating cycles.
6046 (access_keymap): Use KEYMAPP.
6047
71c9ec51
GM
60482000-09-30 Gerd Moellmann <gerd@gnu.org>
6049
6050 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
6051 gai_strerror. Make sure xerrno is set if connect fails. Improve
6052 error recovery.
71c9ec51 6053
c70c6b58
JR
60542000-09-29 Jason Rumney <jasonr@gnu.org>
6055
6056 * w32term.c (w32_char_font_type, w32_encode_char)
6057 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
6058 (w32_bdf_per_char_metric): New function.
6059 (w32_per_char_metric): Use it.
6060 (x_draw_glyph_string_background): Always draw background for BDF
6061 glyphs.
6062
6063 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
6064 GDI object which is a scarce resource.
6065
6066 * w32bdf.c (search_file_line): Fix skipping of whitespace.
6067 (get_quoted_string): Fix limit on memchr search.
6068 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
6069 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
6070 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
6071 (get_cached_font_char, cache_char_offset): Use macro
6072 BDF_CODEPOINT_RANGE_COVER_P.
6073 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
6074 (clear_cached_bitmap_slots): New function.
6075 (GET_HEX_VALUE): G-Z, g-z are not hex.
6076 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
6077 (get_bitmap_with_cache): Use new cache implementation.
6078 (create_offscreen_bitmap): New function.
6079 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
6080
6081 * w32term.c (x_produce_glyphs): If the distance from the current
6082 position to the next tab stop is less than a canonical character
6083 width, use the tab stop after that.
6084 (x_draw_glyphs): Handle case START and END are out of bounds more
6085 carefully.
6086 (x_clear_mouse_face): Block/unblock input.
6087 (x_display_and_set_cursor): Don't show a hollow box cursor for
6088 buffers whose cursor_type is nil.
6089
fe01239f
GM
60902000-09-29 Gerd Moellmann <gerd@gnu.org>
6091
52283633 6092 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar disappears.
fe01239f
GM
6093
6094 * dispextern.h (updating_frame): Declare extern.
6095
e7c52f1f
AS
60962000-09-29 Andreas Schwab <schwab@suse.de>
6097
6098 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
6099
de6e1f7c
GM
61002000-09-29 Gerd Moellmann <gerd@gnu.org>
6101
25126faa
GM
6102 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
6103 use its function definition.
6104 (tool_bar_items): Likewise.
6105
de6e1f7c 6106 * lisp.h (fatal): Declare NO_RETURN.
52283633 6107
454ee39b
KH
61082000-09-29 Kenichi Handa <handa@etl.go.jp>
6109
6110 * keymap.c: Remove the line "#undef NULL".
6111
96301c5f
GM
61122000-09-28 Gerd Moellmann <gerd@gnu.org>
6113
52283633 6114 * xterm.c (x_make_frame_visible): Try harder to make the frame visible.
96301c5f 6115
efffeeb4
DL
61162000-09-28 Dave Love <fx@gnu.org>
6117
ecb8b666
DL
6118 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
6119
dc3cd20f
DL
6120 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
6121
6122 * .gdbinit (xreload): Note its need on GNU/Linux.
6123
efffeeb4
DL
6124 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
6125 r_alloc, r_alloc_free.
6126
8610d903
KH
61272000-09-28 Kenichi Handa <handa@etl.go.jp>
6128
6129 * syntax.c (skip_chars): Handle negation correctly.
6130
8901d1ac
GM
61312000-09-27 Gerd Moellmann <gerd@gnu.org>
6132
6f22f1ad
GM
6133 * xfaces.c (realize_default_face): Call set_lface_from_font_name
6134 with non-zero FORCE_P argument.
6135
52283633 6136 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
8901d1ac
GM
6137 Add assertions.
6138
6139 * xdisp.c (window_box_height): Add an assertion.
6140
6141 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
6142 tool-bar than is available.
6143 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
6144
36f1966f
DL
61452000-09-27 Dave Love <fx@gnu.org>
6146
efffeeb4 6147 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 6148
31d929e5
GM
61492000-09-26 Gerd Moellmann <gerd@gnu.org>
6150
c98863bf
GM
6151 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
6152 instead of BITS_PER_INT.
6153 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
6154 EMACS_UINT, respectively.
6155 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
6156
6157 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
6158
6159 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
6160
77072ab1
GM
6161 * window.c (freeze_window_starts): Construct last argument for
6162 foreach_window differently.
6163
6164 * xfns.c (x_decode_color): Don't return a Lisp_Object.
6165
6166 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
6167 EMACS_UINT instead of `int' and `unsigned int'.
6168 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
6169
6170 * frame.h (struct frame): Make the `nothing' member of union
6171 output_data an EMACS_INT.
6172
52283633 6173 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug hunting.
31d929e5
GM
6174 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
6175 size in the sdata structure.
6176 (SDATA_NBYTES, SDATA_DATA): New macros.
6177 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
6178 differently for the different layout of the sdata structure.
6179 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
6180 in sdata.
6181 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
6182 Check that size recorded in the string size and size recorded in
6183 the sdata structure agree.
6184
3e60b029
DL
61852000-09-25 Dave Love <fx@gnu.org>
6186
6187 * buffer.c: Include stdio.h.
6188
6189 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
52283633 6190
3e60b029
DL
6191 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
6192
6193 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
52283633 6194 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as size_t.
3e60b029
DL
6195 (__malloc_extra_blocks): Declare as __malloc_size_t.
6196
8ff16b4e
GM
61972000-09-25 Gerd Moellmann <gerd@gnu.org>
6198
755a2ccd
GM
6199 * alloc.c (mark_image): Use GC_NILP instead of NILP.
6200
d8b4516f
GM
6201 * keyboard.c (show_help_echo): Set help_echo_showing_p.
6202 (read_char): If help-echo is showing, preserve the echo area
6203 when redisplaying.
6204
6205 * xdisp.c (help_echo_showing_p): New variable.
6206 (set_message): Reset it to 0.
6207 (init_xdisp): Initialize help_echo_showing_p.
6208
6209 * dispextern.h (help_echo_showing_p): Declare extern.
6210
6211 * config.in: Fix typo in __GNUC_MINOR__.
6212
6213 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
6214
b11af2dd
GM
6215 * s/freebsd.h (POSIX_SIGNALS): Define.
6216
8ff16b4e
GM
6217 * xterm.c (x_clear_mouse_face): Block/unblock input.
6218
844eb643
DL
62192000-09-24 Dave Love <fx@gnu.org>
6220
6221 * fns.c (base64_encode_1): Fix last change.
6222
b30ab1b3
GM
62232000-09-22 Gerd Moellmann <gerd@gnu.org>
6224
6225 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
6226
6227 * xdisp.c (try_window_reusing_current_matrix): More fixes
6228 for the case window has a header-line.
6229
c6cbe5f0
DL
62302000-09-22 Dave Love <fx@gnu.org>
6231
4c7c1f3f
DL
6232 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
6233 a doc string.
6234
6235 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
6236
c6cbe5f0
DL
6237 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
6238
550a625e
GM
62392000-09-21 Gerd Moellmann <gerd@gnu.org>
6240
4c7c1f3f 6241 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
6242 for GCC >= 2.5.
6243
52283633
SM
6244 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error):
6245 Declare NO_RETURN.
fca99116 6246
80d26f99
GM
6247 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
6248 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
6249 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
6250 warnings.
52283633 6251
80d26f99
GM
6252 * marker.c (byte_char_debug_check): Return void.
6253
623a0aae
GM
6254 * xfns.c (Fx_create_frame): Set default frame parameter value
6255 for tool-bar-lines to 1.
6256
6257 * dispnew.c (scrolling_window): Compare y-positions of rows
6258 equal at the start. Some simplification.
6259
6260 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
6261 reused rows' y-position in the case window has a header-line, and
6262 new window start is greater than old window start.
6263
42ac0ae5
GM
6264 * process.c (process_sent_to): New variable.
6265 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
6266 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
6267 Declare more parameters volatile.
6268
550a625e
GM
6269 * lread.c (Vrecursive_load_depth_limit): New variable.
6270 (Fload): Check recursive loads whose recursion depth exceeds
6271 Vrecursive_load_depth_limit.
6272 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
6273
8320414c
GM
62742000-09-20 Gerd Moellmann <gerd@gnu.org>
6275
f46c275e
GM
6276 * fileio.c (Fread_file_name): Doc fix.
6277
6278 * editfns.c (Fmessage_or_box): Doc fix.
6279
6280 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
6281
b7e11c5b 6282 * xfns.c (xbm_scan): Allow C-style comments.
52283633 6283
8320414c
GM
6284 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
6285 symbols are specified, add color translations to the cache.
52283633 6286 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New functions.
8320414c
GM
6287 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
6288 xpm_cache_color.
6289 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
6290 structures to xpm_init_color_cache.
6291
da1608d9
GM
62922000-09-19 Gerd Moellmann <gerd@gnu.org>
6293
52283633 6294 * dispnew.c (update_window_line): Make sure to always draw mode-lines.
da1608d9 6295
6badfa25
AI
62962000-09-19 Andrew Innes <andrewi@gnu.org>
6297
6298 * makefile.nt (bootstrap-emacs): Don't change directory.
6299
3a5f42bb
KH
63002000-09-19 Kenichi Handa <handa@etl.go.jp>
6301
1b7649bd
KH
6302 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
6303
3a5f42bb
KH
6304 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
6305 If output buffer is too small, signal an appropriated error.
6306
9f83cf0b
DL
63072000-09-18 Dave Love <fx@gnu.org>
6308
52283633 6309 * keyboard.c (menu_bar_items, tool_bar_items)
9f83cf0b
DL
6310 (current_active_maps): Remove redundant get_local_map call.
6311
28c7826c
GM
63122000-09-18 Gerd Moellmann <gerd@gnu.org>
6313
5cefa566
GM
6314 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
6315 cursor for buffers whose cursor_type is nil.
52283633 6316
6fed3546
GM
6317 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
6318 a feature to implement that is already implemented.
6319 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
6320 warnings.
6321
6322 * xfns.c (x_clear_image_1): New function.
6323 (x_clear_image): Use it.
52283633 6324 (x_from_xcolors): Use x_clear_image_1; don't free the image's mask.
6fed3546 6325
05b1f851
GM
6326 * dispnew.c (update_window): Move test for invisible lines
6327 at the top to update_window_line.
6328 (update_window_line): Handle invisible lines here.
6329
f4779de9
GM
6330 * xfns.c (clear_image_cache): Clear current matrices of all
6331 frames sharing an image cache. Block input while freeing
6332 images. Fix timestamp comparison.
6333 (x_clear_image): Also free the mask.
6334
28c7826c
GM
6335 * xfns.c (lookup_image): Block input while loading the image so
6336 that we won't get interrupted in a state where the image isn't yet
6337 set up completely.
6338 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
6339 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
6340 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
52283633 6341 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock input.
28c7826c 6342
b7412313
GM
63432000-09-16 Gerd Moellmann <gerd@gnu.org>
6344
6345 * dispnew.c (update_window): Make sure to make desired rows
6346 current even if they are completely invisible at the top
6347 of a window.
6348
47e351a3
GM
63492000-09-15 Gerd Moellmann <gerd@gnu.org>
6350
7f8f1edc
GM
6351 * xfns.c (lookup_image): Build mask before applying an algorithm.
6352 Recognize algorithm `disabled'.
6353 (cross_disabled_images): New variable.
6354 (COLOR_INTENSITY): New macro.
6355 (x_detect_edges): Use COLOR_INTENSITY.
6356 (x_disable_image): New function.
6357 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
6358
6359 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
6360 disabled state, don't apply an image transformation algorithm if
6361 the user specified an image for the disabled state. Use
28c7826c 6362 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
6363 user hasn't specified an image.
6364
ebb8f116
GM
6365 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
6366 allocation functions with the XPM lib.
6367 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
6368 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
6369 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
6370 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
52283633 6371 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New functions.
ebb8f116
GM
6372 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
6373 functions, if possible, because these handle color allocation
6374 failure more gracefully.
6375 (Fimage_mask_p): New function.
6376
47e351a3
GM
6377 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
6378 (Qedge_detection, Qheuristic): New symbols.
6379 (syms_of_xfns): Initialize new symbols.
6380 (lookup_image): Handle `:mask X', `:algorithm emboss', and
6381 `algorithm (edge-detection ...)'.
6382 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
6383 (tiff_format, gif_format, gs_format): Add `:mask'.
6384 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
6385 (GIF_MASK, GS_MASK): New enumerators.
6386 (x_laplace_read_row, x_laplace_write_row): Functions removed.
6387 (emboss_matrix, laplace_matrix): New variables.
6388 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
6389 (x_edge_detection): New functions.
6390 (x_laplace): Rewritten in terms of x_detect_edges.
6391 (x_build_heuristic_mask): If image has a mask, free it.
6392
fe83b953
AI
63932000-09-14 Andrew Innes <andrewi@gnu.org>
6394
6395 * makefile.w32-in: Revert to Unix line endings.
6396
3021e816
AI
63972000-09-14 Andrew Innes <andrewi@gnu.org>
6398
6399 * makefile.w32-in: Standardize indentation somewhat.
6400 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
6401 cater for differences between shells.
6402
6403 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
6404
2a32b5ea
GM
64052000-09-14 Gerd Moellmann <gerd@gnu.org>
6406
6407 * xterm.c (x_produce_glyphs): If the distance from the current
6408 position to the next tab stop is less than a canonical character
6409 width, use the tab stop after that.
6410
b4331e96
DL
64112000-09-14 Dave Love <fx@gnu.org>
6412
6413 * buffer.c (alloc_buffer_text): Fix xmalloc call.
6414
ef9e4345
GM
64152000-09-14 Gerd Moellmann <gerd@gnu.org>
6416
085536c2
GM
6417 * xdisp.c (handle_fontified_prop): While running fontification
6418 functions, bind `fontification-functions' and
6419 `after-change-functions' to nil.
6420
ef9e4345
GM
6421 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
6422 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
6423
6424 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
6425
6426 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
6427 USE_MMAP_FOR_BUFFERS.
6428
6429 * insdel.c (make_gap): Use enlarge_buffer_text.
6430
6431 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
6432 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
6433 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
6434 from former r_alloc_* functions in ralloc.c.
52283633 6435 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New variables.
ef9e4345
GM
6436 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
6437 (mmap_init) [REL_ALLOC_MMAP]: New function.
6438 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
6439 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
6440 BUFFER_FREE.
6441
6442 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
6443 (enlarge_buffer_text): Add prototype.
6444
6445 * ralloc.c: Remove everything having to do with the use of mmap.
6446
f8608968
GM
64472000-09-13 Gerd Moellmann <gerd@gnu.org>
6448
2a494b2d
GM
6449 * sound.c (Fplay_sound): Doc fix.
6450
8c907a56
GM
6451 * keyboard.c: Avoid some more compiler warnings.
6452 (parse_tool_bar_item): Ignore cached key bindings.
6453
f8608968
GM
6454 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
6455 and allocation of Lisp data.
6456
6ab70e9a
GM
64572000-09-12 Gerd Moellmann <gerd@gnu.org>
6458
d12d0a9b
GM
6459 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
6460 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
6461 defaults first.
6462
6ab70e9a
GM
6463 * lread.c (Fload): Put code checking for recursive loads in #if 0.
6464
63c36c3c
KH
64652000-09-12 Miyashita Hisashi <himi@meadowy.org>
6466
6467 * ccl.c: Comment fixed.
6468 (MAX_MAP_SET_LEVEL): Increased to 30.
6469 (PUSH_MAPPING_STACK): Enclose with do-while block.
6470 (POP_MAPPING_STACK): Likewise.
6471 (stack_idx_of_map_multiple): New variable.
6472 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
6473 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
52283633 6474 call the corresponding CCL program by CCL_CALL_FOR_MAP_INSTRUCTION.
63c36c3c
KH
6475 (ccl_driver) <CCL_MapSingle>: Likewise.
6476 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
6477 with the case where looking up process reaches to the end of
6478 map-set, and call CCL programs as the above change.
6479
7ee3bd7b
GM
64802000-09-11 Gerd Moellmann <gerd@gnu.org>
6481
8ec8a5ec
GM
6482 * xfns.c (png_load, jpeg_load): Declare some variables volatile
6483 that might be clobbered by longjmp.
6484 (check_x_display_info, x_decode_color, create_frame_xic)
6485 (Fx_display_backing_store, Fx_display_visual_class)
52283633 6486 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler warnings.
8ec8a5ec 6487
f74b0705
GM
6488 * lread.c (init_lread): Set Vloads_in_progress to nil.
6489 (Fload): Show list of recursively loaded files, when signaling an
6490 error.
6491
7ee3bd7b
GM
6492 * lread.c (Vloads_in_progress): New variable.
6493 (record_load_unwind): New function.
6494 (Fload): Check for recursive loads.
6495 (syms_of_lread): Initialize Vloads_in_progress.
6496 (read_integer, read1): Avoid some compiler warnings.
6497
6498 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
6499 compiler warnings.
6500
974e1e5b
MB
65012000-09-11 Miles Bader <miles@gnu.org>
6502
6503 * editfns.c (Fbuffer_string): Doc fix.
6504
9824c4e3
GM
65052000-09-10 Gerd Moellmann <gerd@gnu.org>
6506
6507 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
6508
6a72fdd1
KR
65092000-09-09 Ken Raeburn <raeburn@gnu.org>
6510
6511 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
6512 whether to include other header files.
6513
28e6fb66
GM
65142000-09-09 Gerd Moellmann <gerd@gnu.org>
6515
52283633 6516 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 6517 by Fmemq as a boolean.
28e6fb66 6518
7f8b6551
SM
65192000-09-08 Stefan Monnier <monnier@cs.yale.edu>
6520
6521 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
6522
a8710abf
GM
65232000-09-08 Gerd Moellmann <gerd@gnu.org>
6524
d1a02881
GM
6525 * ralloc.c (mmap_fd): Remove initializer which can make it
6526 read-only in a dumped Emacs.
6527 (mmap_fd_1): New variable.
6528 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
6529 restore it from there.
6530 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
6531 unconditionally so that mmap_fd can be initialized there.
6532 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
6533 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
6534 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
6535
c454aac1
GM
6536 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
6537
6538 * xdisp.c (dump_glyph_row): Fix printf format string.
52283633 6539 (display_line, move_it_in_display_line_to): Avoid compiler warnings.
c454aac1 6540
fc653ef2
GM
6541 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
6542
3015eec0
GM
6543 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
6544 inheritance.
6545
bfe0ee88
GM
6546 * xdisp.c (try_window_id): When trying to locate cursor in
6547 unchanged rows at the top, handle the case that we can't find it.
6548
a8710abf
GM
6549 * xterm.c (x_draw_glyphs): Handle case START and END are out
6550 of bounds more carefully.
6551
6b7d4ae4
DL
65522000-09-08 Dave Love <fx@gnu.org>
6553
423193c5
DL
6554 * s/sol2.h (REL_ALLOC_MMAP): Define.
6555 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
6556
6557 * ralloc.c: Don't include string.h (redundant).
6558 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
6559 [!MAP_ANON]: Include fcntl.h.
6560 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
6561 (r_alloc, r_re_alloc, r_alloc_free)
6562 (mmap_enlarge, mmap_set_vars): Use it.
6563 (r_alloc_init_fd): New function.
6564 (__morecore) [SYSTEM_MALLOC]: Don't declare.
6565 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
6566 malloc type.
6567
6568 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
6569 Remove vm-limit.o.
6570
6b7d4ae4
DL
6571 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
6572 change to __NetBSD__.
6573
44d31981
KH
65742000-09-08 Kenichi Handa <handa@etl.go.jp>
6575
6576 * search.c (compile_pattern): Check the multibyteness of cached
6577 string and PATTERN.
6578
aad40737
MB
65792000-09-08 Miles Bader <miles@gnu.org>
6580
6581 * xfaces.c (default_face_vector): Function removed.
6582 (Finternal_merge_in_global_face): Restore old global/local
6583 attribute override order. Use inline loop instead of calling
6584 default_face_vector.
6585
91a211b5
GM
65862000-09-07 Gerd Moellmann <gerd@gnu.org>
6587
6588 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
6589 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
6590 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
6591 where necessary, in case POINTER_TYPE is `void'.
6592
03419440
EZ
65932000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
6594
6595 * frame.c (make_terminal_frame): Initialize frame foreground and
6596 background colors to unspecified, for the initial instance of an
6597 MSDOS frame.
6598
f46f845b
GM
65992000-09-07 Gerd Moellmann <gerd@gnu.org>
6600
24f76fbf
GM
6601 * ralloc.c (mmap_find): Fix overlap computation.
6602 (mmap_enlarge): Compute nbytes before trying to find an
6603 overlapping region.
6604
f46f845b
GM
6605 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
6606 instead of `!='.
6607
6608 * lread.c (syms_of_lread): Change value of regexp
6609 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
6610
6611 * xmenu.c (xdialog_show): When looking up the selection in
6612 menu_items, take `quote' boundaries into account; this corresponds
6613 to a nil ITEM in x-popup-dialog.
6614
3c014385
KH
66152000-09-07 Kenichi Handa <handa@etl.go.jp>
6616
fd6f711b
KH
6617 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
6618 not 0x81.
6619 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
6620
3c014385 6621 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
6622 encoding, not decoding. Fix the handling of latin-jisx0201.
6623 Check for the charset katakana-jisx0201 too.
3c014385 6624 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 6625 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 6626
0da3ecef
GM
66272000-09-07 Gerd Moellmann <gerd@gnu.org>
6628
ab0ee409
GM
6629 * xfaces.c (Vparam_value_alist): New variable.
6630 (syms_of_xfaces): Initialize it.
6631 (Finternal_set_lisp_face_attribute): Avoid more consing.
6632
6633 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
6634 specially.
6635 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
6636 (Qbackground_mode): New variable.
6637 (syms_of_frame_1): Initialize Qbackground_mode.
6638
6639 * lisp.h (Qdisplay): Declare extern.
1091dd67 6640
0da3ecef
GM
6641 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
6642 change face on all frames, and change the default for new frames.
6643
b14654b9
DL
66442000-09-07 Dave Love <fx@gnu.org>
6645
6646 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
6647
d24fd56f
KH
66482000-09-07 Kenichi Handa <handa@etl.go.jp>
6649
794f3670
KH
6650 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
6651
0fddd0dc
KH
6652 * charset.c: Include composite.h
6653 (lisp_string_width): New function.
6654 (Fstring_width): Call lisp_string_width instead of strwidth.
6655
6656 * Makefile.in (charset.o): Depends on composite.h.
6657
d24fd56f
KH
6658 * process.c (read_process_output): Before inserting the decoded
6659 text in the buffer, adjust the multibyteness.
6660
fa0b693c
GM
66612000-09-06 Gerd Moellmann <gerd@gnu.org>
6662
52283633 6663 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
73b77ee5
GM
6664 buffer's text buffer is null, map new memory.
6665
0a58f946
GM
6666 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
6667 POINTER_TYPE and size_t.
6668 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
6669 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
6670 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
6671 [REL_ALLOC_MMAP]: New macros.
6672 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
6673 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
6674 [REL_ALLOC_MMAP]: New functions.
6675
6676 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
6677 before and after unexec.
6678
6679 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
6680 text buffers if necessary.
6681
6682 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
6683 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
6684 in prototypes.
6685
fa0b693c
GM
6686 * config.in (HAVE_MMAP): Add #undef.
6687
877055f6
GM
66882000-09-05 Gerd Moellmann <gerd@gnu.org>
6689
08ba3862
GM
6690 * frame.c (Qdisplay_type): New variable.
6691 (syms_of_frame_1): Initialize it.
6692 (Fframe_parameter): New function that avoids consing.
6693 (syms_of_frame): Defsubr it.
6694
66ffe51c
GM
6695 * buffer.c (Fother_buffer): Consider buffers as invisible when
6696 they are displayed in a window on an invisible frame.
6697
877055f6
GM
6698 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
6699 get-largest-window always return nil.
6700
bb970e67
GM
67012000-09-04 Gerd Moellmann <gerd@gnu.org>
6702
6703 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
6704 variable; recognize Emacs 19 elc files.
6705
7a3d0e0e
MB
67062000-09-04 Miles Bader <miles@gnu.org>
6707
6708 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
6709 before initially popping up the menu, so the menu doesn't flash
52283633 6710 when the face settings are significantly different from the defaults.
7a3d0e0e 6711
14473664
SM
67122000-09-04 Stefan Monnier <monnier@cs.yale.edu>
6713
6714 * regex.c (WIDE_CHAR_SUPPORT): New macro.
6715 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
6716 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
6717 (BIT_UNIBYTE): Remove.
6718 (re_match_2_internal): Delete corresponding code and streamline the
6719 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
6720 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
6721 (re_wctype_t): New type.
6722 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
6723 (regex_compile): Use them and fix handling of overly long char classes.
6724
c1174479
AI
67252000-09-03 Andrew Innes <andrewi@gnu.org>
6726
f8803e97
AI
6727 * makefile.w32-in: Change to DOS line endings.
6728
c1174479
AI
6729 * s/ms-w32.h (ORDINARY_LINK): New define.
6730
6731 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
6732 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
6733
6734 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
6735 (distclean): Delete them here instead.
6736
44ef7cf6
AI
6737 * w32proc.c (compare_env): Convert to uppercase for comparison,
6738 not lowercase, to match how the native Windows shell works.
6739
49b3bd82
JR
67402000-09-03 Jason Rumney <jasonr@gnu.org>
6741
6742 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
6743 CVS changes the line-ends when checking in/out on DOS/Windows.
6744
6745 * makefile.nt (emacs): Do not change directory to run temacs, as
6746 the load-path is set relative to current directory.
6747
a3d35a39
MB
67482000-09-03 Miles Bader <miles@gnu.org>
6749
6750 * xterm.c (x_alloc_lighter_color_for_widget): New function.
6751
d276b0cf
GM
67522000-09-02 Gerd Moellmann <gerd@gnu.org>
6753
715e84c9
GM
6754 * xdisp.c (redisplay_mode_lines): New function.
6755 (display_mode_lines): Return number of mode lines displayed.
6756 (echo_area_display): Use redisplay_mode_lines to draw garbaged
6757 mode lines. Don't temporarily bind redisplay-dont-pause to t.
6758
8892f40b
GM
6759 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
6760 string.h and strings.h.
6761 (index) [HAVE_INDEX]: Add prototype.
6762
d276b0cf
GM
6763 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
6764 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
6765
6766 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
6767 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
6768
38404229
GM
67692000-09-01 Gerd Moellmann <gerd@gnu.org>
6770
6771 * lread.c (read1): Accept `?' as symbol constituent, for
6772 compatiblity with XEmacs.
6773
c0f9ea08
SM
67742000-08-31 Stefan Monnier <monnier@cs.yale.edu>
6775
6776 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
6777 (struct re_pattern_buffer): Remove newline_anchor.
6778 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
6779 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
6780 (re_max_failures, fail_stack): Use size_t rather than unsigned.
6781 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
6782 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
6783 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
6784 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
6785 Get rid of references to newline_anchor.
6786 (regcomp): Allocate and precompute a fastmap.
6787
8c0f83fe
GM
67882000-08-31 Gerd Moellmann <gerd@gnu.org>
6789
6790 * lread.c (openp): GCPRO local variable `filename'.
6791
4bb91c68
SM
67922000-08-30 Stefan Monnier <monnier@cs.yale.edu>
6793
6794 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
6795
6796 * regex.c: Merge some changes from GNU libc. Add prototypes.
6797 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
6798 Use memcmp and memcpy instead of bcopy and bcmp.
6799 (init_syntax_once): Use ISALNUM.
6800 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
6801 (REG_UNSET_VALUE): Remove. Use NULL instead.
6802 (REG_UNSET, re_match_2_internal): Use NULL.
6803 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
6804 New macros.
6805 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
6806 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
6807 (regex_compile): In handle_interval, return an error rather than try to
6808 unfetch the interval if we can't find the closing brace.
6809 Obey the RE_NO_GNU_OPS syntax bit.
6810 (TOLOWER): New macro.
6811 (regcomp): Use it.
6812 (regexec): Allocate regs.start and regs.end as one block.
6813
5226a931
GM
68142000-08-30 Gerd Moellmann <gerd@gnu.org>
6815
868dd24b
GM
6816 * xdisp.c (echo_area_display): Check display_completed instead
6817 of calling detect_input_pending.
6818
6819 * dispnew.c (update_frame): Only set display_completed here; move
6820 the update_begin and update_end calls here from update_frame_1.
6821 (update_frame_1): Don't set display_completed here, don't call
6822 update_begin/update_end.
6823
5226a931
GM
6824 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
6825 instead of store_frame_param.
6826
2a8bd25f
GM
68272000-08-29 Gerd Moellmann <gerd@gnu.org>
6828
6829 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
6830 desired window matrix hasn't been displayed, use the current row
6831 instead. Make sure that only those frame rows are updated for
6832 which there exists a corresponding enabled desired row.
52283633 6833
ba3478d9
MB
68342000-08-29 Miles Bader <miles@gnu.org>
6835
6836 * xfaces.c (default_face_vector): New function.
6837 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
6838
87d0f685
GM
68392000-08-29 Gerd Moellmann <gerd@gnu.org>
6840
6841 * lread.c (openp): Prevent temporary string passed to
6842 Ffile_readable_p from being garbage collected.
6843
6fa86045
DL
68442000-08-28 Dave Love <fx@gnu.org>
6845
6846 * keymap.c (store_in_keymap): Add `static' to declaration.
6847
bb17930d
GM
68482000-08-28 Gerd Moellmann <gerd@gnu.org>
6849
6850 * emacs.c, callint.c, doc.c, editfns.c
6851 (toplevel) [HAVE_STRING_H]: Include string.h.
6852 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
6853 (index): Remove prototypes which might conflict with non-standard
6854 definitions of index/strchr.
6855
6856 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
6857 (rindex): Define only if !HAVE_RINDEX.
6858
6859 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
6860
6861 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
6862
87188200
MB
68632000-08-28 Miles Bader <miles@gnu.org>
6864
6865 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
6866 made inconsistent by a font-related attribute in FROM.
6867 (merge_face_inheritance): Add function comment.
6868
41a68aef
KH
68692000-08-28 Kenichi Handa <handa@etl.go.jp>
6870
6871 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
6872 the 4th arg (PREV_EVENT) Qt to suppress input method.
6873
f7c436c1
SM
68742000-08-27 Stefan Monnier <monnier@cs.yale.edu>
6875
0b32bf0e
SM
6876 * regex.c: Indent cpp directives and remove parens after `defined'.
6877 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
6878 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
6879 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
6880 (re_compile_pattern): Use size_t for length.
6881 (init_syntax_once): Move to a better place.
6882 * regex.h: Merge changes from GNU libc. Indent cpp directives.
6883 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
6884
f7c436c1
SM
6885 * syntax.c (back_comment): Detect cases where a comment-starter is
6886 actually inside another comment as in: /* a // b */ c // d \n.
6887 Make it clear that `comstart_pos' is unused for nested comments.
6888
6889 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
6890 (KEYMAPP): New macro.
6891 (Fkeymap_parent, Fset_keymap_parent): Use it.
6892 (fix_submap_inheritance): Mark it static.
6893 (define_as_prefix, describe_buffer_bindings, describe_command)
6894 (describe_translation, describe_map): Complete prototypes.
6895
6896 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
6897
6898 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
6899 to better match the key-lookup behavior.
6900
6288c62f
GM
69012000-08-27 Gerd Moellmann <gerd@gnu.org>
6902
6903 * xfaces.c (lface_fully_specified_p): Handle :inherit.
6904 (Finternal_set_lisp_face_attribute): Fix typo in error message.
6905
e931344e
EZ
69062000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
6907
6908 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
6909 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
6910 (xterm.o): Depend on coding.h
6911
d10dfeef
KH
69122000-08-26 Kenichi Handa <handa@etl.go.jp>
6913
6914 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
6915 the corresponding '#endif'.
6916
2d73e8d3
MB
69172000-08-26 Miles Bader <miles@gnu.org>
6918
6919 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
6920 * xfaces.c (QCinherit): New variable.
6921 (syms_of_xfaces): Initialize it.
6922 (LFACE_INHERIT): New macro.
6923 (Finternal_get_lisp_face_attribute)
52283633 6924 (merge_face_vector_with_property)
2d73e8d3
MB
6925 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
6926 (check_lface_attrs): Allow new types of face height. Check
6927 inherit attribute.
6928 (CYCLE_CHECK): New macro.
6929 (merge_face_inheritance): New function.
6930 (merge_face_vectors): Merge inherited faces too. Add F and
6931 CYCLE_CHECK arguments.
6932 (merge_face_vector_with_property, Finternal_merge_in_global_face)
6933 (lookup_named_face, lookup_derived_face, realize_named_face)
6934 (face_at_string_position, face_at_buffer_position): Supply
6935 new F and CYCLE_CHECK arguments to merge_face_vectors.
6936 (merge_face_heights): New function.
52283633 6937 (merge_face_vectors, merge_face_vector_with_property)
2d73e8d3
MB
6938 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
6939 handle relative face heights.
6940 (lface_same_font_attributes_p): Compare heights using EQ.
6941
6ce974d4
KH
69422000-08-26 Kenichi Handa <handa@etl.go.jp>
6943
6944 * charset.c (char_to_string): Check the character validity.
52283633 6945 (char_valid_p): If C is not less than MAX_CHAR, be sure to return 0.
6ce974d4 6946
dc1e502d
SM
69472000-08-25 Stefan Monnier <monnier@cs.yale.edu>
6948
6949 * regex.c (PUSH_FAILURE_COUNT): New macro.
6950 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
6951 Handle popping of a register's or a counter's data.
6952 (POP_FAILURE_POINT): Use the new name.
6953 (re_match_2_internal): Push counter data on the stack for succeed_n,
6954 jump_n and set_number_at and remove misleading dead code in succeed_n.
6955
bd9d0f3f
GM
69562000-08-25 Gerd Moellmann <gerd@gnu.org>
6957
6958 * xdisp.c (redisplay_internal): If considering all windows on all
6959 frames, update the display for each frame as soon as possible,
6960 instead of first building all desired matrices for all frames, and
6961 then updating them all.
6962 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
6963
aa5b8e15
GM
69642000-08-24 Gerd Moellmann <gerd@gnu.org>
6965
17494071
GM
6966 * bytecode.c (mark_byte_stack): Add a comment.
6967
52283633
SM
6968 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
6969 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
aa5b8e15
GM
6970 a graphical frame.
6971
c543db81
KH
69722000-08-24 Kenichi Handa <handa@etl.go.jp>
6973
d246d5f5
KH
6974 * minibuf.c (do_completion): Always use compare-string, not
6975 string-equal because the latter doesn't pay attention to
6976 multibyteness of strings.
6977
c543db81
KH
6978 * process.c (create_process): Don't setup raw-text coding here.
6979 (Fopen_network_stream): Don't set coding->src_multibyte and
6980 coding->dst_multibyte here.
6981 (read_process_output): For process filter, return unibyte string
6982 if default-enable-multibyte-characters is nil.
6983 (send_process): If OBJECT is multibyte text, be sure to encoded it
6984 by the specified coding system for the process. Otherwise, setup
6985 raw-text coding.
52283633 6986 (init_process): Don't initialize default-process-coding-system here.
c543db81 6987
9b47cfe0
EZ
69882000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
6989
6990 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
6991 <scroll-down-aggressively>: Likewise.
6992
f5a36960
KH
69932000-08-23 Kenichi Handa <handa@etl.go.jp>
6994
6995 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
6996 zero. Set coding->produced_char correctly.
6997
69a7ffa7
AI
69982000-08-22 Andrew Innes <andrewi@gnu.org>
6999
7000 * makefile.w32-in: New file.
7001
7002 * unexw32.c (unexec): Ignore old_name, and use the actual location
7003 of the current executable instead. Base new_name on this.
7004
7005 * w32proc.c (create_child): Remove reference to security
7006 descriptor, which isn't needed and doesn't compile with mingw32.
7007
7008 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7009 up dllimport attributes.
7010 (x_update_window_end): Update prototype.
7011
7012 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
7013 extern, which screws up dllimport attributes.
7014
7015 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7016 up dllimport attributes.
7017
7018 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
7019 screws up dllimport attributes.
7020
7021 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7022 up dllimport attributes.
7023 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
7024 screws up dllimport attributes.
7025
7026 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7027 up dllimport attributes.
7028
7029 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
7030 screws up dllimport attributes.
7031
7032 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
7033 screws up dllimport attributes.
7034
7035 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7036 up dllimport attributes.
7037
7038 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
7039 unnecessary extern, which screws up dllimport attributes.
7040 (main): Ditto.
7041
7042 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7043 up dllimport attributes.
7044
7045 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
7046 unnecessary extern, which screws up dllimport attributes.
7047
7048 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
7049 screws up dllimport attributes.
7050
7051 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
7052 up dllimport attributes.
7053
7054 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
7055
52283633
SM
7056 * w32bdf.c (search_file_line):
7057 (set_bdf_font_info):
7058 (seek_char):
7059 (w32_get_bdf_glyph):
69a7ffa7
AI
7060 (w32_BDF_to_x_font): Fix compile warnings.
7061
52283633 7062 * w32menu.c: Include keyboard.h before frame.h. Fix compile warnings.
69a7ffa7
AI
7063
7064 * w32select.c: Include keyboard.h before frame.h.
7065
7066 * w32fns.c (max): Define macro.
7067 (JOHAB_CHARSET): Define if not known.
7068 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
7069 (Fx_show_tip): Synch with X version.
7070
7071 * w32xfns.c: Include keyboard.h before frame.h.
7072
7073 * w32fns.c: Include keyboard.h before frame.h.
7074
7075 * w32term.c: Include keyboard.h before frame.h.
7076
7077 * fontset.c: Include keyboard.h before frame.h.
7078
7079 * w32inevt.c: Include keyboard.h before frame.h.
7080 (MOUSE_MOVED): Define if not known.
7081
7082 * minibuf.c: Include keyboard.h before frame.h.
7083
7084 * keyboard.c: Include keyboard.h before frame.h.
7085
7086 * indent.c: Include keyboard.h before frame.h.
7087
7088 * dispnew.c: Include keyboard.h before frame.h.
7089
7090 * buffer.c: Include keyboard.h before frame.h.
7091
7092 * alloc.c: Include keyboard.h before frame.h.
7093
7094 * print.c: Include keyboard.h before frame.h.
7095
7096 * process.c: Include keyboard.h before frame.h.
7097
7098 * scroll.c: Include keyboard.h before frame.h.
7099
7100 * sysdep.c: Include keyboard.h before frame.h.
7101
7102 * term.c: Include keyboard.h before frame.h.
7103
7104 * window.c: Include keyboard.h before frame.h.
7105
7106 * xdisp.c: Include keyboard.h before frame.h.
7107 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
7108
7109 * frame.c: Include keyboard.h before frame.h.
7110
7111 * w32heap.h: Undefine min, max.
7112
7113 * w32gui.h: Undefine min, max.
7114
7115 * unexw32.c: Change PUCHAR to PCHAR.
7116 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
52283633
SM
7117 (relocate_offset):
7118 (get_section_info):
69a7ffa7
AI
7119 (copy_executable_and_dump_data): Remove unnecessary static defs.
7120 (copy_executable_and_dump_data): Fix compile warnings.
7121
7122 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
7123
7124 * w32console.c (min): Define macro.
7125 (clear_frame, write_glyphs): Fix compile warning.
7126
52283633 7127 * w32proc.c (compare_env):
69a7ffa7
AI
7128 (find_child_console): Fix compile warning.
7129
7130 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
7131 sys_errlist instead of _sys_errlist.
7132 (get_emacs_configuration_options): New function.
7133
7134 * s/ms-w32.h (sys_nerr): Provide default definition.
7135 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
7136 name with _ prepended.
7137 (NSIG): Define if not known.
7138 (get_emacs_configuration): Provide extern declaration.
7139 (get_emacs_configuration_options): Provide extern declaration.
7140 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
7141
7142 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
52283633 7143 (map_w32_filename):
69a7ffa7
AI
7144 (read_unc_volume): Fix compile warning.
7145
7146 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
7147 definitions from being used.
7148
7149 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
7150
52283633 7151 * w32.c (unc_volume_file_attributes):
69a7ffa7
AI
7152 (open_unc_volume): Make arg const.
7153
7154 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
7155 (read_input_waiting): Remove excess parameter.
7156
7157 * w32.c (init_environment): Call _access.
7158 (check_windows_init_file): Call _close.
7159 (init_user_info): Call _putenv.
7160 (init_environment): Call _putenv and _strdup.
7161 (init_ntproc): Reset volume info cache on startup.
7162
7163 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
7164 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
7165 cannot override the CRT malloc.
7166
7167 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
7168 (LINK_FLAGS): Append to original value of LINK_FLAGS.
7169
7170 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
7171 unless we are linking with a static CRT.
7172 (RVA_TO_PTR): Cast result to unsigned char*.
7173
7174 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
7175 (add_volume_info): Use xstrdup.
7176
25060080
SM
71772000-08-22 Stefan Monnier <monnier@cs.yale.edu>
7178
7179 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
7180 (do_completion, Fminibuffer_complete_word): Use it.
7181 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
7182 var so it can take non-boolean values.
7183
6917e6bb
GM
71842000-08-21 Gerd Moellmann <gerd@gnu.org>
7185
acb7cc89 7186 * editfns.c (find_field): Formatting changes.
52283633 7187 (toplevel): Some old-style function forward declarations
acb7cc89
GM
7188 changed to prototypes, some new protypes added, some functions
7189 made static.
7190
7191 * lisp.h (set_time_zone_rule): Add prototype.
7192 (use_dialog_box): External declaration.
7193
0bbfdc25
GM
7194 * keyboard.c (gen_help_event): Add parameter SIZE.
7195 (kbd_buffer_events_waiting): Slightly rewritten.
7196 (clear_event): New function.
7197 (kbd_buffer_get_event): Use it, and clear the input_events of
7198 HELP_EVENTs.
7199 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
7200 don't fill the newly created array with nils.
7201 (toplevel): Convert some old-style function forward declarations
7202 to prototypes.
7203
7204 * keyboard.h (gen_help_event): Change prototype.
7205
7206 * xterm.c (XTread_socket): Change calls to gen_help_event.
7207
7208 * w32term.c (w32_read_socket): Change calls to gen_help_event.
7209
6917e6bb
GM
7210 * eval.c (Fmacroexpand): Doc fix.
7211
e5cd3d11
JR
72122000-08-20 Jason Rumney <jasonr@gnu.org>
7213
7214 * w32term.h (x_display_info_for_display): Remove as this function
7215 does not exist on W32.
7216
7217 * w32term.c (help_echo_window): New variable.
7218 (syms_of_w32term): staticpro it.
7219 (note_mode_line_highlight): Set it.
7220 (XTextExtents16): Removed as there is no equivalent on W32.
7221 (x_compute_glyph_string_overhangs): Incomplete body removed, as
7222 the X way of doing this will not work for W32.
7223 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
7224 (x_draw_image_foreground): Avoid drawing outside of the clip area
7225 when image doesn't have a mask.
7226 (note_mouse_highlight): Process overlays in the right order of
7227 priority. Set help_echo_window.
7228 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
7229 because that's more visible for large images.
7230
7231 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
7232 name to single_keymap_panes.
7233 (w32_menu_show): Set wv->title when dealing with titles.
7234 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
7235
6e69ab8c
MB
72362000-08-21 Miles Bader <miles@gnu.org>
7237
7238 * minibuf.c (do_completion): Try again if we rewrite the input
7239 string, but no completion was done, so that any completion message
7240 will be correct.
7241
511bd4eb
GM
72422000-08-20 Gerd Moellmann <gerd@gnu.org>
7243
7244 * xfaces.c (lface_equal_p): Compare strings differently.
7245 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
7246 (realize_tty_face): Use them.
7247 (syms_of_xfaces): Initialize new variables.
7248 (map_tty_color): New function, extracted from realize_tty_face.
7249 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
7250 foreground or background color, store the new color name in the
7251 realized face; previous code trying to do this had no effect.
7252 (realize_tty_face): Use map_tty_color.
7253 (Fclear_face_cache): Set face_change_count and ensure thorough
7254 redisplay.
7255
1433385f
GM
72562000-08-19 Gerd Moellmann <gerd@gnu.org>
7257
511bd4eb
GM
7258 * undo.c (record_first_change, record_marker_adjustment): Don't
7259 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 7260
419ac0a2
KH
72612000-08-18 Kenichi Handa <handa@etl.go.jp>
7262
7263 * coding.c (decode_coding_string): Set members consumed,
7264 consumed_char, produced, produced_char of *coding correctly. If
7265 decode_coding doesn't consume any byte, don't try anymore.
7266 (encode_coding_string): Likewise.
7267
7eb9e30d
GM
72682000-08-18 Gerd Moellmann <gerd@gnu.org>
7269
511bd4eb
GM
7270 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
7271 conditional have void type, for Standard C compilers.
7eb9e30d
GM
7272
7273 * xdisp.c (redisplay_internal): Compare windows for equality with
7274 EQ, instead of applying XWINDOW to something that might not
7275 be a window.
52283633 7276
dd34a735
KH
72772000-08-18 Kenichi Handa <handa@etl.go.jp>
7278
7279 * fontset.c (Finternal_char_font): Search only the selected frame
7280 for a window of the current buffer.
7281
385ff9e3
GM
72822000-08-18 Gerd Moellmann <gerd@gnu.org>
7283
511bd4eb 7284 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
7285 Lisp_Objects.
7286
385ff9e3
GM
7287 * keyboard.c (kbd_buffer_get_event): Handle the case that the
7288 second half of a HELP_EVENT is found at the start of kbd_buffer.
7289
d6abb4c7
MB
72902000-08-18 Miles Bader <miles@gnu.org>
7291
4618074a
MB
7292 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
7293
d6abb4c7
MB
7294 * editfns.c (save_restriction_save): Rewrite to use markers.
7295 (save_restriction_restore): Rewrite to understand new form of data
7296 saved by save_restriction_save.
7297 (Fsave_restriction): Remove cautionary note in doc-string.
7298
a7b28523
GM
72992000-08-17 Gerd Moellmann <gerd@gnu.org>
7300
7301 * fileio.c (build_annotations): Add a comment explaining the
7302 return value of format-annotate-function. Replace a spurious call
7303 to Flength with a CONSP test. Call format-annotate-function with
7304 a fifth arg specifying how many times the function is been called
7305 in a row, to let it choose temporary buffers appropriately.
7306
03c9ed77
DL
73072000-08-17 Dave Love <fx@gnu.org>
7308
7309 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
7310 declare make_temp_name twice.
7311
52283633 7312 * lread.c: Prototype readevalloop, load_unwind, load_descriptor_unwind.
03c9ed77
DL
7313 (unreadpure): Give it an arg.
7314
7315 * unexalpha.c: Prototype fatal_unexec, mark_x,
7316 update_dynamic_symbols. Declare unexec as void.
7317
7318 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
7319 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
7320
7321 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
52283633 7322 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on DOUG_LEA_MALLOC.
03c9ed77
DL
7323
7324 * alloca.c: Use #error.
7325 [POINTER_TYPE]: Use it.
7326
7327 * eval.c (Fdefvar): Doc fix.
7328
7329 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
7330 INITIALIZE_INTERVAL.
7331
7332 * buffer.h: Avoid DECLARE_INTERVALS.
7333
7334 * config.in: Add size_t.
7335
aae41d97
EZ
73362000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
7337
7338 * w16select.c (set_clipboard_data): If there's not enough memory
7339 to put text into clipboard, return 1, as Fw16_set_clipboard_data
7340 expects. In case of other failures, return 3.
7341 (system_error_msg): New error message.
7342 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
7343 system_error_msg.
7344
65aa5e85
GM
73452000-08-16 Gerd Moellmann <gerd@gnu.org>
7346
7347 * term.c (write_glyphs): Also turn off inverse video after turning
7348 off other appearances in case TS_exit_attribute_mode is not equal
7349 to TS_end_standout_mode.
7350 (insert_glyphs): Turn inverse video on/off for each run of glyphs
7351 with the same face.
7352 (turn_off_face): Reset standout_mode only if
7353 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
7354 is equal to TS_end_standout_mode.
7355
ece23901
KH
73562000-08-16 Kenichi Handa <handa@etl.go.jp>
7357
9d7bcb2e
KH
7358 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
7359 sequence at the end of the source block.
7360
ece23901
KH
7361 * ccl.c (Fccl_program_p): Docstring modified.
7362 (Fccl_execute): Likewise.
7363 (Fccl_execute_on_string): Likewise.
7364
5e30eaa2
EZ
73652000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
7366
7367 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
7368
290602fd
KH
73692000-08-16 Kenichi Handa <handa@etl.go.jp>
7370
7371 The following changes are mainly to fix bugs of
7372 encode/decode-coding-string failing if encoding/decoding return
7373 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
7374 variable conversion_buffer.
7375
7376 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
7377 decrement dst_end to avoid buffer overflow in the later call of
7378 string_as_multibyte
7379
7380 * coding.h (conversion_buffer_size, conversion_buffer)
7381 (get_conversion_buffer): Extern deleted.
7382
7383 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
7384 (conversion_buffer, conversion_buffer_size): Variables deleted.
7385 (get_conversion_buffer): Function deleted.
7386 (struct conversion_buffer): New structure.
7387 (MAX_ALLOCA): New macro.
7388 (allocate_conversion_buffer): New macro.
7389 (extend_conversion_buffer, free_conversion_buffer): New functions.
7390 (ccl_coding_driver): Set coding->result.
7391 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
7392 this is the last block of source.
7393 (encode_coding): Likewise. Handle the source block as the last
7394 one only when the whole source text is consumed.
7395 (decode_coding_string): Handle the case that the output buffer is
7396 too small to decode the whole source text. Use
7397 allocate_conversion_buffer, extend_conversion_buffer and
7398 free_conversion_buffer, not get_conversion_buffer.
7399 (encode_coding_string): Likewise.
7400 (init_coding): Function deleted.
52283633 7401 (init_coding_once): Delete code to initialize conversion_buffer_size.
290602fd
KH
7402
7403 * emacs.c (main): Don't call init_coding.
7404
52283633 7405 * msdos.c (IT_write_glyphs): Use a locally declared conversion_buffer.
290602fd
KH
7406
7407 * term.c (write_glyphs): Use a locally declared conversion_buffer.
7408 (insert_glyphs): Likewise.
7409
7410 * w32console.c (write_glyphs): Use a locally declared
7411 conversion_buffer.
7412
b9f80d41
EZ
74132000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
7414
7415 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
7416 member of display_info is NULL.
7417
32dc52f7
GM
74182000-08-15 Gerd Moellmann <gerd@gnu.org>
7419
52283633 7420 * alloc.c (compact_small_strings): Use safe_bcopy, add an assertion.
58ed0d3b 7421
32dc52f7 7422 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 7423 appearances with capability `me'.
32dc52f7
GM
7424 (write_glyphs): Switch on inverse video before each face change.
7425
4eb22d33
DL
74262000-08-14 Dave Love <fx@gnu.org>
7427
7428 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
7429 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
7430 (lisp_free): Declare and make static.
7431
7432 * window.c: Fix embedded comment.
7433 (syms_of_window): Fix doc string.
7434
90cbf47e
GM
74352000-08-14 Gerd Moellmann <gerd@gnu.org>
7436
52283633 7437 * keymap.c (push_key_description): If C without modifiers is < 32,
90cbf47e
GM
7438 make sure to print `C-' before `M-', like in the manual.
7439
440fc135
GM
74402000-08-11 Gerd Moellmann <gerd@gnu.org>
7441
7442 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
7443 since they aren't relocated anymore.
52283633 7444 (sxhash_string): Make sure returned hash code fits in a Lisp integer.
440fc135
GM
7445
7446 * xdisp.c (try_cursor_movement): Fix handling of cursor in
52283633 7447 partially visible line which is smaller than the window's height.
440fc135 7448
6e264fad
KH
74492000-08-11 Kenichi Handa <handa@etl.go.jp>
7450
7451 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
52283633 7452 the multibyte form of eight-bit-control characters.
6e264fad
KH
7453 (Fccl_execute_on_string): Initialize ccl->multibyte.
7454
7455 * ccl.h (struct ccl_program): New member multibyte.
7456
7457 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
7458
c371f69a
KH
74592000-08-11 Kenichi Handa <handa@etl.go.jp>
7460
7461 * regex.c (regex_compile) <normal_char>: Pay attention to
7462 multibyteness.
7463 (analyse_first) <exactn>: Setup fastmap correctly for
7464 eight-bit-control characters.
7465
74662000-08-11 Kenichi Handa <handa@etl.go.jp>
7467
52283633 7468 * termhooks.h (enum event_kind): New member multibyte_char_keystroke.
c371f69a
KH
7469
7470 * keyboard.c (make_lispy_event): Handle the new event type
7471 multibyte_char_keystroke.
7472
7473 * xterm.c: Include coding.h.
7474 (XTread_socket): Work around a bug of XmbLookupString. If the
7475 input is from XIM, decode it according to the current locale. In
7476 that case, generate multibyte_char_keystroke events.
7477
b8ddbe71
KH
74782000-08-11 Kenichi Handa <handa@etl.go.jp>
7479
7480 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
7481 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
7482
47589c8c
GM
74832000-08-10 Gerd Moellmann <gerd@gnu.org>
7484
7485 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
7486 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
7487 (move_it_in_display_line_to): Record iterator's ascent and descent
7488 before producing glyphs, and restore them when we know the glyph
7489 doesn't fit on the line.
7490 (move_it_to): Restructured so that it's easier to debug. If
7491 moving to a vpos, and not moving to an x or character position,
7492 stop as soon as the specified vpos is reached; don't move further
7493 into that line because that might change the computed line height.
7494 (try_cursor_movement): New function, extracted from the cursor
7495 movement branch of redisplay_window. If ending on a partially
7496 visible line, don't try to scroll if the cursor line is taller
7497 than the window.
7498 (redisplay_window): Use try_cursor_movement.
7499
7500 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
7501 because that function doesn't cope with variable-height lines.
7502
7503 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
7504 box cursor because that's better visible for large images.
52283633 7505
c51bacd6
MB
75062000-08-10 Miles Bader <miles@gnu.org>
7507
7508 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
7509
bea56df7
GM
75102000-08-10 Gerd Moellmann <gerd@gnu.org>
7511
7512 * xdisp.c (Vmessages_buffer_name): New variable.
7513 (message_dolog): Use it.
7514 (syms_of_xdisp): Initialize it.
7515
99cd7364
EZ
75162000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
7517
52283633 7518 * msdos.c (IT_note_mouse_highlight): Update the calls to overlays_at.
99cd7364
EZ
7519 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
7520 redundant now that keyboard.h is included.
7521
7d093d56
EZ
75222000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
7523
7524 * keyboard.c (kbd_buffer_events_waiting): New function.
7525
7526 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
7527
7528 * msdos.c: Include keyboard.h.
7529 (XMenuActivate): Empty no_event events from the event buffer. If
7530 no events are left after that, call clear_input_pending.
7531 (mouse_clear_clicks): New function, code moved from mouse_init.
7532 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
7533 mouse driver to ``forget'' any past clicks.
7534
7535 * Makefile.in (msdos.o): Depend on keyboard.h.
7536
41e757a6
GM
75372000-08-09 Gerd Moellmann <gerd@gnu.org>
7538
8e7bd231
GM
7539 * lisp.h (input_pending): External declaration.
7540
7541 * dispextern.h (Qredisplay_dont_pause): Declare extern.
52283633 7542
8e7bd231
GM
7543 * xdisp.c (echo_area_display): Display thoroughly if input is
7544 pending. Bind redisplay-dont-pause to t during the redisplay.
7545 in case input is pending.
7546
7547 * dispnew.c (Qredisplay_dont_pause): New variable.
7548 (syms_of_display): Initialize and staticpro it.
7549 (update_frame_1): Don't interrupt the display for pending input if
7550 redisplay_dont_pause is set.
52283633 7551
43028b7e
GM
7552 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
7553
41e757a6
GM
7554 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7555
2f2174fa
KH
75562000-08-09 Miles Bader <miles@lsi.nec.co.jp>
7557
7558 * callproc.c (Fcall_process): Terminate the unwind-protect around
7559 the post-read-conversion of coding system.
7560
0a6fd67e
MB
7561 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
7562 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
7563 * buffer.h (overlays_at): Update prototype.
7564 * xdisp.c (next_overlay_change): Update call to overlays_at.
7565 * xfaces.c (face_at_buffer_position): Likewise.
7566 * textprop.c (Fget_char_property): Likewise.
7567 * xterm.c (note_mouse_highlight): Likewise.
7568
0c80756e
MB
7569 * minibuf.c (do_completion): Don't consider a simple change of
7570 case as `completion'.
7571
975f250a
KR
75722000-08-08 Ken Raeburn <raeburn@gnu.org>
7573
52283633 7574 * keyboard.c (syms_of_keyboard): Initialize last_point_position_buffer.
b347b3fd
KR
7575 * undo.c (record_delete): Make sure last_point_position_buffer is
7576 a buffer before comparing pointers.
7577
7578 * coding.h (decode_coding_string): Declare.
7579
7580 * intervals.h (Fprevious_single_char_property_change): Declare.
7581
7582 * textprop.c (Fprevious_single_char_property_change): Don't do
7583 arithmetic directly on lisp objects.
7584
52283633 7585 * editfns.c (find_field): Use EQ, not ==, to compare Lisp objects.
b347b3fd
KR
7586
7587 * keyboard.h (menu_item_eval_property): Declare.
7588
7589 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
7590 reuse as buffer name, instead of recreating (and discarding) every
7591 time a message is logged.
7592 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
7593 (current_message_1, truncate_message_1, set_message_1)
7594 (display_echo_area_1, resize_mini_window_1): Signatures changed.
7595 (current_message, truncate_echo_area, display_echo_area)
7596 (resize_echo_area_axactly): Changed calls.
b347b3fd 7597
975f250a 7598 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 7599 Lisp object.
975f250a 7600 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 7601 must be an integer, not a Lisp object.
975f250a 7602
46dc9912
KH
76032000-08-08 Kenichi Handa <handa@etl.go.jp>
7604
7605 * charset.c (Fchar_width): Doc fix.
7606
9f6d1a6c
GM
76072000-08-08 Gerd Moellmann <gerd@gnu.org>
7608
7609 * charset.c (Fstring_width): Doc fix.
7610
ff3d9573
GM
76112000-08-07 Gerd Moellmann <gerd@gnu.org>
7612
41e757a6 7613 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
7614 line, clear ascent and descent members of the iterator structure;
7615 the height of the continued line does not affect the height of the
7616 continuation line.
7617 (make_cursor_line_fully_visible): Do nothing if cursor is on a
7618 line taller than the window.
7619 (redisplay_window) <forced window start>: Handle case that the
7620 middle of the window is not found in any row.
7621 (dump_glyph_row): Show more information.
7622 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
7623 first text line in a glyph matrix.
7624
7625 * xterm.c (x_draw_image_foreground): Avoid drawing outside
7626 of the clip area when image doesn't have a mask.
7627
70fc58b3
GM
7628 * fns.c (sweep_weak_table): Fix survival conditions for
7629 key-or-value and key-and-value weakness.
7630
7631 * .gdbinit (xhashtable): New command.
7632
ac0e96ee
GM
7633 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
7634 tables out of the list of all weak hash tables.
7635
ff3d9573
GM
7636 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
7637 a new buffer is created, make sure echo_area_buffer[] references
7638 the new buffer.
7639
e0d8827b
EZ
76402000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
7641
7642 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
7643 the doc string.
7644
c6f35378
KH
76452000-08-07 Kenichi Handa <handa@etl.go.jp>
7646
7647 * syntax.c (skip_chars): Fix previous change. Make the handling
7648 of unibyte string consistent with that of regex search.
7649
1fd4c450
GM
76502000-08-05 Gerd Moellmann <gerd@gnu.org>
7651
e49aa397
GM
7652 * xmenu.c (popup_get_selection): Use xfree instead of free.
7653
7654 * fileio.c (Finsert_file_contents): Use xfree instead of free.
7655
7656 * editfns.c (Ftranspose_regions): Use xfree instead of free.
7657
7658 * callproc.c (child_setup): Use xfree instead of free.
7659
7660 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
7661 instead of malloc.
7662 (run_mac_command, closedir): Use `xfree' instead of `free'.
7663
7664 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
7665
7666 * eval.c (error): Use xfree instead of free.
7667
1fd4c450
GM
7668 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
7669
7670 * fns.c: Replace `illegal' with `invalid'.
e49aa397 7671 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 7672
82d497fc
KH
76732000-08-05 Kenichi Handa <handa@etl.go.jp>
7674
7675 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
7676 conversion.
7677
59f953a2
NF
76782000-08-04 Noah Friedman <friedman@splode.com>
7679
7680 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
7681 docstring.
7682
688351f2
GM
76832000-08-04 Gerd Moellmann <gerd@gnu.org>
7684
7685 * syntax.c (skip_chars): Fix typo in error message.
7686
2dad51cc
AS
76872000-08-04 Andreas Schwab <schwab@suse.de>
7688
7689 * m/ia64.h: Moved from s/ia64.h.
7690
99bb2c60
KH
76912000-08-04 Kenichi Handa <handa@etl.go.jp>
7692
082a1df2
KH
7693 * process.c (read_process_output): Big simplification. Handle
7694 composition and post-read-conversion of coding system correctly.
7695 (send_process): Handle composition correctly.
7696
7697 * callproc.c (Fcall_process): Handle post-read-conversion of
7698 coding system if any.
7699
99bb2c60
KH
7700 * coding.c (decode_coding_iso2022): More strict check for handling
7701 single shifting.
082a1df2
KH
7702 (coding_restore_composition): Pay attention to the case that
7703 cmp_data is not set properly (because of invalid code in the
7704 source text).
7705 (run_pre_post_conversion_on_str): Include text properties in the
7706 resulting string.
7707 (decode_coding_string): Set members of coding correctly.
99bb2c60 7708
f4988be7
GM
77092000-08-03 Gerd Moellmann <gerd@gnu.org>
7710
7711 * s/ia64.h: New file.
7712
7713 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
7714 Use NULL instead of 0 at the end of variable argument list of
7715 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
7716 sizeof (int) < sizeof (void *).
7717
7718 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
7719 of variable argument lists of XtVaGetValues and XtVaSetValues.
7720
7721 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
7722 variable argument lists of XtVaGetValues and XtVaSetValues.
7723
ead53494
GM
77242000-08-02 Gerd Moellmann <gerd@gnu.org>
7725
7726 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
7727 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
7728
7729 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
7730 prototype.
7731
7732 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
7733 in call to Fsingle_key_description.
7734
7735 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
7736 Callers changed.
7737
77382000-08-02 Colin Walters <walters@cis.ohio-state.edu>
7739
7740 * window.c (display_buffer_reuse_frames): New variable.
7741 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
7742 frames displaying BUFFER.
52283633 7743 (syms_of_window): Define Lisp variable display-buffer-reuse-frames.
ead53494 7744
10b0f752
MB
77452000-08-01 Miles Bader <miles@gnu.org>
7746
7747 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
7748 when to constrain NEW_POS (they were pretty screwed up before).
7749
16425c4a
EZ
77502000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
7751
7752 * msdos.c (run_msdos_command): Save and restore the master
7753 environment, for the case that child_setup signals an error.
7754 When mirroring slashes in DOS shell commands, don't fail when
7755 argv[2] has embedded blanks.
da288c14
EZ
7756 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
7757 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
7758 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
7759
7760 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
7761 using alloca; free it after run_msdos_command returns.
7762
27f73852
DL
77632000-07-27 Dave Love <fx@gnu.org>
7764
52283633
SM
7765 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't define.
7766 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently working.
27f73852
DL
7767
7768 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
7769
c0261b5e
EZ
77702000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
7771
7772 * editfns.c (lisp_time_argument): Fix last change.
7773
b548072f
GM
77742000-07-27 Gerd Moellmann <gerd@gnu.org>
7775
3ab82477
GM
7776 * fns.c (Fdelete): Make it work on vectors and strings in addition
7777 to lists.
7778
b548072f
GM
7779 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
7780 (syms_of_fns): Initialize new variables.
52283633 7781 (sweep_weak_table): Handle weakness `key-or-value' and `key-and-value'.
b548072f
GM
7782 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
7783 weakness, with t meaning the same as `key-and-value'.
7784
91ae8751
KH
77852000-07-27 Kenichi Handa <handa@etl.go.jp>
7786
7787 * coding.h (struct coding_system): Member safe_charset deleted.
7788
7789 * coding.c (Qsafe_charsets): This variable deleted.
52283633
SM
7790 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system):
7791 New variables.
91ae8751
KH
7792 (coding_safe_chars): New function.
7793 (CODING_SAFE_CHAR_P): New macro.
7794 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
52283633 7795 checking safe_charsets member of the coding system. Caller changed.
91ae8751
KH
7796 (detect_coding_iso2022): New local variable safe_chars.
7797 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
7798 safe_charsets member of the coding system.
7799 (decode_coding_iso2022): New local variable safe_chars.
7800 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
7801 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
7802 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
7803 (ENCODE_UNSAFE_CHARACTER): New macro.
7804 (encode_coding_iso2022): New local variable safe_chars. Check
7805 unsafe chars.
7806 (setup_coding_system): Delete the code to initialize
7807 coding->safe_charses
7808 (intersection, find_safe_codings): New functions.
7809 (Ffind_coding_systems_region_internal): New function.
7810 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
7811 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
7812 variable and initialize it.
7813
7814 * fns.c (char_table_ref_and_index): New function.
7815
7816 * lisp.h (char_table_ref_and_index): Add prototype.
7817
34a7a267
SS
78182000-07-26 Sam Steingold <sds@gnu.org>
7819
7820 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 7821 (Ffloat_time): New built-in Lisp function.
34a7a267 7822
a95cb10a
GM
78232000-07-26 Gerd Moellmann <gerd@gnu.org>
7824
3353ef5a
GM
7825 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
7826 for the character code.
7827
7828 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
7829 GNU/Linux.
7830
a95cb10a
GM
7831 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
7832 if called for a popup menu.
7833 (xmenu_show): Store help string in widget values.
7834
b4a12321
DL
78352000-07-26 Dave Love <fx@gnu.org>
7836
7837 * syswait.h: Move some definitions.
7838 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
7839 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
7840 perspicuous definitions.
7841 (WTERMSIG): Fix bit pattern used.
7842
13f5ad37
KH
78432000-07-26 Kenichi Handa <handa@etl.go.jp>
7844
7845 * print.c (print_object): If vector printing is truncated, print
7846 "..." to indicate it as well as the case of list printing.
7847
070fe99c
GM
78482000-07-25 Gerd Moellmann <gerd@gnu.org>
7849
969065c3
GM
7850 * xdisp.c (next_element_from_display_vector): Improve comments.
7851
7852 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
7853 for the character code, and the rest for the face id as in 20.x.
7854 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
7855
7856 * window.c (window_display_table): Cleaned up.
7857
070fe99c
GM
7858 * syntax.c (Fforward_word): Add last arg nil in call of
7859 Fconstrain_to_field.
7860
bad77ef7
EZ
78612000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
7862
969065c3 7863 * fileio.c (Frename_file) [DOS_NT]: If the file names are
52283633
SM
7864 identical but for the letter-case, don't call
7865 barf_or_query_if_file_exists.
bad77ef7 7866
c28da489
MB
78672000-07-25 Miles Bader <miles@gnu.org>
7868
7869 * editfns.c (find_field): Honor special `boundary' fields.
7870 (Qboundary): New variables.
7871 (syms_of_editfns): Initialize Qboundary.
7872 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
7873 Use scan_buffer instead of find_before_next_newline, because it
7874 allows us to detect the boundary case where there's a newline at
7875 the search limit.
7876 * lisp.h (Fconstrain_to_field): Update external declaration.
7877
e3c31fd5
GM
78782000-07-24 Gerd Moellmann <gerd@gnu.org>
7879
7880 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
7881 if that is nil.
c28da489 7882
c66c29a2
DL
78832000-07-24 Dave Love <fx@gnu.org>
7884
7885 * s/sunos4-0.h, s/sol2.h:
7886 (LIBS_TERMCAP): Move from m/sparc.h.
7887
7888 * m/sparc.h (TERMINFO): Moved to system files (probably only
7889 relevant for sunos4 judging by its vintage).
7890 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
7891 __arch64__.
7892
fbe0a958
EZ
78932000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
7894
7895 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
7896 name to single_keymap_panes.
7897
7d88e5c9
AS
78982000-07-24 Andreas Schwab <schwab@suse.de>
7899
7900 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
7901
e024b101
GM
79022000-07-24 Gerd Moellmann <gerd@gnu.org>
7903
7904 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
7905 parameters instead of using int parameters. Expect FN to accept
7906 EMACS_INT parameters.
7907 (display_echo_area, resize_echo_area_axactly, current_message)
7908 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
7909 with new argument list.
7910 (resize_mini_window_1): New callback function.
7911 (current_message_1, truncate_message_1, set_message_1): Change
52283633 7912 parameter lists to the new format expected by with_echo_area_buffer.
e024b101 7913
25c1a9ce
KH
79142000-07-24 Kenichi Handa <handa@etl.go.jp>
7915
7916 * fontset.c (fontset_ref): Remove INLINE declaration.
7917 (fontset_ref_via_base): Likewise.
7918 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
7919 to downcase.
7920
7f987ac0
EZ
79212000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
7922
7923 * msdos.c (IT_note_mouse_highlight): Process overlays in the
7924 correct order of priority. If help echo was found in an overlay,
7925 use that overlay as the object in which the help echo was found.
7926
e2db3069
MB
79272000-07-22 Miles Bader <miles@gnu.org>
7928
7929 * textprop.c (Fprevious_single_char_property_change): The initial
7930 property value should be from the position preceding POSITION, not
7931 following it.
7932
5e3203e4
EZ
79332000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
7934
7935 * coding.c (syms_of_coding): Doc fix for
7936 inhibit-iso-escape-detection.
7937
62145073
GM
79382000-07-21 Gerd Moellmann <gerd@gnu.org>
7939
c20aeb83
GM
7940 * xterm.c (note_mouse_highlight): Process overlays in the right
7941 order of priority.
34a7a267 7942
743934db
GM
7943 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
7944
7945 * xterm.c (note_mouse_highlight): If help-echo was found in an
52283633 7946 overlay, use that overlay as the object in which the help was found.
743934db 7947
d1dc7e43 7948 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 7949
62145073
GM
7950 * window.c (foreach_window): Instead of a fake variable argument
7951 list, take one USER_DATA argument.
7952 (foreach_window_1): Likewise, and call callback functions with two
7953 args, the window and USER_DATA.
7954 (struct check_window_data): New struct.
7955 (check_window_containing): Use it.
7956 (window_from_coordinates): Set up a struct check_window_data for
7957 foreach_window.
7958 (add_window_to_list, freeze_window_start): Change parameters
7959 according to new calling convention.
7960
7961 * window.h (foreach_window): Change prototype.
7962
7963 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
7964
79652000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
7966
7967 * xmenu.c (menu_help_callback): Call show_help_echo with
7968 additional arguments OBJECT and POS.
7969
11270583
KH
79702000-07-21 Kenichi Handa <handa@etl.go.jp>
7971
07b14857
KH
7972 * data.c (Faset): Allow storing any multibyte character in a
7973 string. Convert unibyte string to multibyte if necessary.
7974
11270583
KH
7975 * xfns.c (x_encode_text): New function.
7976 (x_set_name): Use x_encode_text.
7977 (x_set_title): Likewise.
7978
7979 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
7980
7981 * xterm.h (x_encode_text): Add prototype.
7982
bc75b4fd
DL
79832000-07-20 Dave Love <fx@gnu.org>
7984
7985 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
7986 xfree, not free.
7987
48c14970
EZ
79882000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
7989
7990 * msdos.c (help_echo_window): New variable.
7991 (syms_of_msdos): Initialize and staticpro it.
7992 (IT_note_mode_line_highlight): Set help_echo_window.
7993 (IT_note_mouse_highlight): Ditto.
7994 (dos_rawgetc): Store help_echo_window in the second event produced
7995 for HELP_EVENTs.
7996
7997 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
7998 Record the object that generated the help echo and the position of
7999 that object in help_echo_object and help_echo_pos. Record that
8000 some glyphs in a row are displayed in mouse-face.
8001 (IT_update_begin): Don't clear mouse highlight unless one of the
8002 enabled glyph rows is marked as being displayed in mouse-face.
8003 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
8004 and position recorded in help_echo_object and help_echo_pos to the
8005 event queue.
8006 (IT_menu_display): Accept a new argument PN: the pane number of
8007 the current menu pane. Record the pane number and the item
8008 number of the item which has associated help string.
8009 (XMenuActivate): Update the prototype for help_callback in
8010 function declaration. Call IT_menu_display with the current menu
8011 pane number as an additional argument. Call help_callback with
8012 two additional arguments: the pane number and the item number of
8013 the menu item associated with the help text.
8014 (help_echo_object, help_echo_pos): New variables.
8015 (syms_of_msdos): Initialize them and staticpro help_echo_object.
8016
8017 * msdos.h (XMenuActivate): Update prototype.
8018
4279296d
GM
80192000-07-19 Gerd Moellmann <gerd@gnu.org>
8020
47db06aa
GM
8021 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
8022 Add some more prototypes.
8023
8024 * xterm.c, xterm.h: Add some more prototypes.
8025
8026 * lisp.h (Fnext_single_char_property_change): Add prototype.
8027
8028 * dispnew.c (direct_output_for_insert): Remove confusing
8029 outer local variable mouse_face_overwritten_p.
8030 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
8031
4279296d
GM
8032 * alloc.c (allocate_string_data): Don't copy old string contents.
8033
670acd62
KH
80342000-07-19 Kenichi Handa <handa@etl.go.jp>
8035
8036 * coding.c (code_convert_region): Delete text properties before
8037 shrinking the conversion region.
8038
7cea38bc
GM
80392000-07-18 Gerd Moellmann <gerd@gnu.org>
8040
dc1cac59
GM
8041 * dispnew.c (update_text_area): Write the whole row if it
8042 has mouse-face in it.
8043
85a8aca9
GM
8044 * xfaces.c (face-alternative-font-family-alist): Remove
8045 DEFVAR_LISP; staticpro instead.
8046
34a7a267 8047 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
8048 new arguments.
8049
8050 * keyboard.c (show_help_echo): Add parameter WINDOW.
8051 (read_char): Call show_help_echo with window extracted from Lisp
8052 help event.
8053 (gen_help_event): Add parameter WINDOW.
8054
8055 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
8056
8057 * xterm.c (help_echo_window): New variable.
52283633 8058 (note_mouse_highlight, note_tool_bar_highlight): Set help_echo_window.
7cea38bc
GM
8059 (XTread_socket): Pass help_echo_window to gen_help_event.
8060 (syms_of_xterm): Initialize and staticpro help_echo_window.
8061
f8276b77
DL
80622000-07-18 Dave Love <fx@gnu.org>
8063
52283633 8064 * Makefile.in: Fix dependencies of blockinput.h on atimer.h, systime.h.
f8276b77 8065
088831a6
GM
80662000-07-18 Gerd Moellmann <gerd@gnu.org>
8067
3d6cd763
GM
8068 * alloc.c (allocate_string_data): If string had already data
8069 assigned, copy old contents to new string data.
8070
8071 * coding.c (syms_of_coding): Fix typo in spelling of variable
8072 `inhibit-iso-escape-detection'.
8073
088831a6
GM
8074 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
8075
8076 * Makefile.in: Add dependencies on dispextern.h.
8077 (alloca.o): Don't define malloc and define EMACS_FREE instead of
8078 `free'; both can conflict with system header files.
8079
bc8a8d55
KH
80802000-07-18 Kenichi Handa <handa@etl.go.jp>
8081
8082 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
8083 undefined.
8084
069f5950
DL
80852000-07-18 Dave Love <fx@gnu.org>
8086
8087 * window.c (Fwindow_list): Declare arg `window'.
8088
aa96c820
KH
80892000-07-18 Kenichi Handa <handa@etl.go.jp>
8090
8091 * coding.c (setup_coding_system): Don't override the explicitly
8092 specified designations.
8093
06be8d32
MB
80942000-07-15 Miles Bader <miles@gnu.org>
8095
8096 * editfns.c (char_property_eq, char_property_stickiness): Renamed
8097 from `text_property_eq' and `text_property_stickiness', respectively.
8098 (find_field, Fconstrain_to_field, char_property_eq)
8099 (char_property_stickiness): Changed to call char-property functions
8100 instead of text-property-only ones.
8101
8102 * textprop.c (Fnext_single_char_property_change): Made a subr (was
8103 `next_single_char_property_change'). Do more error checking, and
8104 cleanup limit behavior.
8105 (Fprevious_single_char_property_change): New function.
8106 (syms_of_textprop): Initialize new subrs.
8107
8108 * xdisp.c (display_prop_end, invisible_text_between_p):
8109 Call Fnext_single_char_property_change instead of
8110 next_single_char_property_change.
8111
3fddcdc3
JR
81122000-07-15 Jason Rumney <jasonr@gnu.org>
8113
8114 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
8115 after menu is finished with.
8116 (add_menu_item): Only consider wv->title as a menu title.
8117 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
8118
8119 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
8120 null title.
8121 (FONT_REGEXP): Remove unused macro, and its sub-components.
8122 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
8123
8124 * w32term.c (help_echo_object, help_echo_pos): New variables.
8125 (note_mode_line_highlight): Store additional information about the
8126 help-echo in help_echo_object and help_echo_pos. Check both
8127 `local-map' and `keymap' properties for changing the cursor
8128 (note_mouse_highlight): Store additional information about the
8129 help-echo in help_echo_object and help_echo_pos.
8130 (note_tool_bar_highlight): Set help_echo_object to nil and
8131 help_echo_pos to -1.
8132 (w32_read_socket): Use gen_help_event instead of filling
8133 input_events manually.
8134 (syms_of_w32term): Staticpro help_echo_object.
8135 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
52283633 8136 set, arrange for a mouse-highlight redisplay in XTframe_up_to_date.
3fddcdc3
JR
8137 (x_clear_mouse_face): New function.
8138 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
8139 (x_update_window_begin): No need to turn off the mouse
8140 highlight here.
8141 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8142 depending on whether they contain glyphs highlighted in mouse-face.
3fddcdc3
JR
8143 (x_fill_stretch_glyph_string): Consume runs of stretch
8144 glyphs instead of a single one.
8145 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8146 with new argument list.
8147 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8148 (x_append_glyph, x_append_composite_glyph)
8149 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8150 changes in struct glyph starting 1999-12-27. See comments for
8151 xterm.c on 2000-07-05.
8152
178c5d9c
SS
81532000-07-14 Sam Steingold <sds@gnu.org>
8154
8155 * xfaces.c (realize_x_face): Fix the last patch:
8156 check `default_face' before dereferencing.
8157
6fe533f6
DL
81582000-07-14 Dave Love <fx@gnu.org>
8159
069f5950 8160 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 8161
dd7b81cf
KH
81622000-07-14 Kenichi Handa <handa@etl.go.jp>
8163
0693904a 8164 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 8165 default_face's fontset, not using the default fontset.
0693904a 8166
dd7b81cf
KH
8167 * coding.c (inhibit_iso_escape_detection): New variable.
8168 (syms_of_coding): Make it a Lisp variable.
8169 (detect_coding_iso2022): If inhibit_iso_escape_detection is
8170 nonzero, ignore ISO2022's escape sequence.
8171
d5aa31d8
GM
81722000-07-14 Gerd Moellmann <gerd@gnu.org>
8173
e5acf0ca
GM
8174 * alloca.c (malloc) [emacs]: Define as xmalloc.
8175
bd23a692
GM
8176 * xfns.c (Fx_show_tip): If frame parameters contain a position,
8177 use that instead of the mouse position. Add parameters DX and DY.
8178
8179 * dispextern.h (Fx_show_tip): Adjust number of parameters
8180 in prototype.
8181
9662da0b
GM
8182 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
8183 if HELP is a function, call it with OBJECT and POS as parameters
8184 to get the help to display.
8185 (gen_help_event, kbd_buffer_store_help_event): New functions.
8186 (kbd_buffer_get_event): Construct the Lisp help-event differently.
8187 (read_char): Call show_help_echo with new parameters.
8188
178c5d9c 8189 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
8190 Add prototypes.
8191
8192 * xterm.c (help_echo_object, help_echo_pos): New variables.
8193 (note_mode_line_highlight): Store additional information about the
8194 help-echo in help_echo_object and help_echo_pos. Check both
8195 `local-map' and `keymap' properties for changing the cursor
8196 (note_mouse_highlight): Store additional information about the
8197 help-echo in help_echo_object and help_echo_pos.
8198 (note_tool_bar_highlight): Set help_echo_object to nil and
8199 help_echo_pos to -1.
8200 (XTread_socket): Use gen_help_event instead of filling
8201 input_events manually.
8202 (syms_of_xterm): Staticpro help_echo_object.
8203
8204 * xmenu.c (menu_highlight_callback): Use
8205 kbd_buffer_store_help_event instead of setting up and input_event
8206 structure manually.
8207
8208 * xdisp.c (eval_form): GCPRO argument sexpr.
8209 (call_function): New function.
8210 (handle_single_display_prop): Use call_function and FUNCTIONP
8211 instead of checking whether if font_height is a symbol and
8212 using eval_form.
8213
8214 * eval.c (internal_condition_case_2): New function.
8215
8216 * lisp.h (FUNCTIONP): New macro.
8217 (internal_condition_case_2, call_function): Add prototypes.
8218
d5aa31d8
GM
8219 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
8220 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
8221 Always set `arg' member of input_events.
8222 (construct_menu_click): Unused function removed.
8223
8224 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
8225
8226 * w32term.c (construct_mouse_click, construct_mouse_wheel)
8227 (construct_drag_n_drop, x_scroll_bar_handle_click)
8228 (w32_read_socket): Always set `arg' member of input_events.
8229
8230 * keyboard.c (show_help_echo): Use eval_form. Add comment.
8231
8232 * lisp.h (eval_form): Add prototype.
8233
8234 * xdisp.c (eval_form): Make it externally visible.
8235
0f1a9b23
GM
82362000-07-13 Gerd Moellmann <gerd@gnu.org>
8237
8238 * xterm.c (x_handle_tool_bar_click): Store the frame in the
8239 frame_or_window slot of TOOL_BAR_EVENT input events instead of
8240 consing. For prefix events, store the frame in the `arg' slot of
8241 the event, otherwise store the key there.
8242 (XTread_socket): Instead of consing, use the frame_or_window slot
52283633 8243 of HELP_EVENTs for the frame, and the `arg' slot for the help string.
0f1a9b23
GM
8244
8245 * xmenu.c (menu_highlight_callback): Store help string in the
8246 `arg' member of the input event; don't cons.
8247 (menubar_selection_callback): Use the `arg' slot of input events
8248 to queue additional information, instead of consing.
8249
8250 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
8251
8252 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
8253 TOOL_BAR_EVENTs.
8254 (w32_read_socket): Adapt to changes in HELP_EVENTs.
8255
8256 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
8257 input events to queue additional information, instead of consing.
8258
8259 * keyboard.c (kbd_buffer_gcpro): Renamed from
8260 kbd_buffer_frame_or_window. Now used for all Lisp objects
8261 referenced from the input queue.
8262 (kbd_buffer_store_event): Always use structure assignment for
8263 copying input events. Record all Lisp objects referenced from
8264 events in kbd_buffer_gcpro.
8265 (kbd_buffer_get_event): Construct Lisp `help-echo' events
8266 differently from input events. Test for prefix menu_bar_events
8267 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
8268 event in kbd_buffer_gcpro to nil.
8269 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
8270 frame_or_window is equal to its arg member as prefix events.
8271 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
8272 used by an input event to nil.
8273 (init_keyboard): Use two times the size of the input queue
8274 for kbd_buffer_gcpro.
8275 (syms_of_keyboard): Likewise.
8276
52283633
SM
8277 * emacs.c (handle_USR2_signal, handle_USR1_signal):
8278 Use USER_SIGNAL_EVENT.
0f1a9b23
GM
8279
8280 * termhooks.h (struct input_event): Add member `arg'.
8281 (MENU_BAR_EVENT): Renamed from menu_bar_event.
8282 (USER_SIGNAL_EVENT): Renamed from user_signal.
8283
8284 * xfaces.c (ASET): Remove definition.
8285
8286 * lisp.h (AREF, ASET, ASIZE): New macros.
8287
8288 * fontset.c (AREF, ASIZE): Remove definitions.
8289
8290 * fns.c (AREF): Remove definition.
178c5d9c 8291
0f1a9b23
GM
8292 * composite.c (AREF): Remove definition.
8293
712eaef2
GM
82942000-07-12 Gerd Moellmann <gerd@gnu.org>
8295
d8ee7803
GM
8296 * dispnew.c (redraw_overlapped_rows): Add missing local.
8297 (scrolling_window): Remove debug code.
8298
712eaef2
GM
8299 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
8300 Before scrolling, turn off a mouse-highlight in the window
8301 being scrolled.
8302
8303 * xterm.c (x_update_window_end): Add parameter
8304 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
8305 redisplay in XTframe_up_to_date.
8306 (x_clear_mouse_face): New function.
8307 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
8308
8309 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
8310 current glyph row.
8311 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
8312 it when any row is written to that contains glyphs highlighted in
8313 mouse-face.
8314 (update_window): Call the window update end hook with new
8315 parameter MOUSE_FACE_OVERWRITTEN_P.
8316 (direct_output_for_insert): Give up if row contains mouse-face.
8317
8318 * dispextern.h (struct redisplay_interface): Add parameter
8319 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
8320 (clear_mouse_face): New function pointer member.
8321
02010917
SM
83222000-07-11 Stefan Monnier <monnier@cs.yale.edu>
8323
8324 * syntax.c (back_comment): Use one switch rather than a few `if's.
8325 Obey open_paren_in_column_0_is_defun_start.
8326 When reverting to the `slow' method, try to nicely handle the case
8327 of nested comments by checking that the comment-starter we found
8328 does indeed match the comment-ender.
8329 (scan_sexps_forward, scan_sexps_forward):
8330 Ignore excessive opening parenthesis rather than throwing an error.
8331
d76c03ea
GM
83322000-07-11 Gerd Moellmann <gerd@gnu.org>
8333
8334 * doc.c (Fsubstitute_command_keys): Handle case that a GC
8335 in Fwhere_is_internal or get_keymap_1 relocates string contents.
8336
8337 * dispnew.c (direct_output_forward_char): Give up if currently
8338 displaying a message instead of the minibuffer contents.
8339
8340 * xterm.c (x_update_window_begin): No need to turn off the mouse
8341 highlight here.
8342 (show_mouse_face): Set the mouse_face_p flag of glyph rows
52283633 8343 depending on whether they contain glyphs highlighted in mouse-face.
d76c03ea
GM
8344
8345 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
8346 compare the mouse_face_p flags of both rows.
8347
8348 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
8349
d55ead18
EZ
83502000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
8351
8352 * keyboard.c (show_help_echo): Accept additional parameter
8353 ok_to_overwrite_keystroke_echo.
8354 (read_char): Call show_help_echo with a zero
8355 ok_to_overwrite_keystroke_echo argument.
52283633 8356 * keyboard.h (show_help_echo): Update prototype of show_help_echo.
d55ead18
EZ
8357 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
8358 ok_to_overwrite_keystroke_echo argument.
8359 * w32menu.c (w32_menu_display_help): Call show_help_echo with
8360 non-zero ok_to_overwrite_keystroke_echo argument.
8361
df75b1a3
GM
83622000-07-10 Gerd Moellmann <gerd@gnu.org>
8363
4b92c49a
GM
8364 * xdisp.c (try_window_id): If changes are all below what is
8365 displayed in the window, and point is in the window, we still
8366 might have to find point on the display.
8367
8368 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
8369 glyphs instead of a single one.
8370 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
8371 with new argument list.
8372 (x_set_glyph_string_gc): Make sure the face's GC is valid.
8373
df75b1a3
GM
8374 * keymap.c (get_keymap_1): Add comment that this function can GC.
8375 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
8376 comment that functions can GC.
8377 (Fset_keymap_parent): GCPRO arg KEYMAP.
8378
4314cf3e
EZ
83792000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
8380
8381 * msdos.c (XMenuActivate): After exiting the menu, restore the
8382 echo area message and erase it.
8383
ab49ce15
KH
83842000-07-10 Kenichi Handa <handa@etl.go.jp>
8385
8386 * fontset.c (Ffontset_info): Make the return value more compatible
8387 with that of Emacs 20.
8388
090a072f
GM
83892000-07-07 Gerd Moellmann <gerd@gnu.org>
8390
8391 * eval.c (Fsignal): Handle case that backtrace_list is null.
8392
f92de4a6
KH
83932000-07-07 Kenichi Handa <handa@etl.go.jp>
8394
8395 * ccl.c (Fccl_execute): Typo fixed.
8396
dd8888a1
GM
83972000-07-06 Gerd Moellmann <gerd@gnu.org>
8398
e5c81191 8399 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 8400
dd8888a1
GM
8401 * window.c (Fwindow_list): Reverse list at the end.
8402 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
8403 means allow windows on OWINDOW's frame, only.
8404 (window_loop): Simplified; use Fwindow_list.
8405
8406 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
8407
485266d0
GM
84082000-07-05 Gerd Moellmann <gerd@gnu.org>
8409
8410 * xterm.c (XTread_socket): Increment handling_signal at the start,
8411 decrement it at the end.
8412
8413 * eval.c (handling_signal): New variable.
8414 (Fsignal): Abort if handling_signal is non-zero.
8415
8416 * lisp.h (handling_signal): External declaration.
178c5d9c 8417
485266d0
GM
8418 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
8419
80fcd514
KR
84202000-07-05 Ken Raeburn <raeburn@gnu.org>
8421
8422 Sound support for NetBSD through "Linux emulation" support:
8423 * config.in (HAVE_SOUNDCARD_H): Undef.
8424 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
8425 * Makefile.in (LIBSOUND): New variable.
8426 (LIBES): Include it.
52283633
SM
8427 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and <soundcard.h>.
8428 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined elsewhere.
80fcd514
KR
8429 (vox_open): Use DEFAULT_SOUND_DEVICE.
8430 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
8431
d5c5cddd
GM
84322000-07-05 Gerd Moellmann <gerd@gnu.org>
8433
8434 * print.c (print_error_message): If Vsignaling_function is set,
8435 show it in *Messages*.
8436
8437 * lisp.h (Vsignaling_function): External declaration.
8438
8439 * eval.c (Vsignaling_function): New variable.
8440 (Fsignal): Compute it.
8441 (syms_of_eval): Staticpro it.
8442
65171e3a
DL
84432000-07-05 Dave Love <fx@gnu.org>
8444
8445 * syswait.h: Use the autoconf recommended approach. Old code
8446 #if'd out in case we need to revert.
8447
178c5d9c 8448 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 8449
e2c46326
AI
84502000-07-05 Andrew Innes <andrewi@gnu.org>
8451
8452 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
8453 when non-NULL instead of __morecore, to take account of buffer
8454 memory. This also solves a problem with spurious memory warnings
8455 on Windows.
8456
8457 * ralloc.c: Make real_morecore non-static.
8458
8459 * eval.c (internal_condition_case): Comment out abort if
8460 interrupt_input_blocked is not zero.
8461
8462 * makefile.nt: Add support for `bootstrap' and related targets.
8463 Include minimal debug info in emacs.exe in release build.
8464 Remove all dependencies on lisp.h, and fixup some others.
8465
8466 * w32.c (init_environment): Install code from 20.7 for providing
8467 default values for environment variables, based on the
8468 executable's own location.
52283633 8469 (map_w32_filename): Handle filenames that are longer than MAX_PATH.
e2c46326
AI
8470 (sys_socket): Install socket inheritance bug fix from 20.7.
8471
8472 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
8473 here via blockinput.h).
8474
a027a91b
SM
84752000-07-05 Stefan Monnier <monnier@cs.yale.edu>
8476
e4b31601
SM
8477 * w32menu.c (w32_menu_display_help):
8478 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
8479
8480 * keyboard.h (show_help_echo): Declare.
8481
8482 * keyboard.c (show_help_echo): New function, extracted from read_char.
8483 Feval its `msg' argument if it's a cons cell.
8484 (read_char): Use it.
4cf8d9d5 8485 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 8486
178c5d9c 8487 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 8488 (note_tool_bar_highlight, XTread_socket):
178c5d9c 8489 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
8490 (dos_rawgetc):
8491 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
8492 (note_tool_bar_highlight, w32_read_socket):
8493 Do not gratuitously ignore non-string `help-echo' properties.
8494
88d75730
GM
84952000-07-05 Gerd Moellmann <gerd@gnu.org>
8496
969f7e79
GM
8497 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
8498
71201b00
GM
8499 * window.c (delete_all_subwindows): Reset Vwindow_list.
8500
88d75730
GM
8501 * xterm.c (x_append_glyph, x_append_composite_glyph)
8502 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
8503 changes in struct glyph starting 1999-12-27. Some bit-fields of
8504 struct glyph were not set, which made glyphs unequal when compared
8505 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
8506 effects were the result. This also depended on the contents of
8507 memory returned by xmalloc. If flickering happens again, activate
8508 the code in clear_glyph_row that's in #if 0. If the flickering is
52283633 8509 gone with that, chances are that it is caused by something similar.
88d75730
GM
8510
8511 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 8512
88d75730
GM
8513 * dispextern.h: Add some comments.
8514
8515 * window.c (add_window_to_list): Add parameter LIST.
8516 (window_list): Order list so that, for each frame, windows are
8517 in canonical order, and so that frames appear in the list in
8518 the order given by Vframe_list.
8519 (next_window): Reverse the handling of NEXT_P.
8520
53654733
GM
85212000-07-04 Gerd Moellmann <gerd@gnu.org>
8522
87efd256
GM
8523 * window.c (Vwindow_list): New variable.
8524 (make_window, delete_window): Set Vwindow_list to nil.
8525 (check_window_containing): New function.
8526 (window_from_coordinates): Rewritten.
8527 (add_window_to_list, window_list, candidate_window_p)
8528 (decode_next_window_args, next_window): New functions.
52283633 8529 (Fnext_window, Fprevious_window): Rewritten in terms of next_window.
87efd256
GM
8530 (Fwindow_list): New function.
8531 (Fother_window): Cleaned up.
8532 (foreach_window): Add a longer "variable argument list". Let
8533 callback function return 0 to indicate that cycling over windows
8534 should stop.
8535 (foreach_window_1): Likewise.
8536 (freeze_window_start): Return int.
8537 (init_window): New function.
8538 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
8539
8540 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
8541 input_event with bzero.
8542 (main): Call init_window.
8543
53654733
GM
8544 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
8545 a menu filter.
8546
4a8c194f
KH
85472000-07-04 Kenichi Handa <handa@etl.go.jp>
8548
8549 * composite.h (make_composition_value_copy): Extern it.
8550
8551 * composite.c (make_composition_value_copy): New function.
8552
8553 * editfns.c (Fformat): While copying text properties, make each
8554 composition property value a copy.
8555
8556 * fns.c (concat): While copying text properties, make each
8557 composition property value a copy.
8558
831a6cb0
GM
85592000-07-03 Gerd Moellmann <gerd@gnu.org>
8560
2f516940
GM
8561 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
8562
178c5d9c 8563 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
8564 marked already.
8565
831a6cb0
GM
8566 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
8567 include those frames as candidates which have their focus
8568 redirected to the minibuffer frame.
8569
d9c4f922
SM
85702000-07-03 Stefan Monnier <monnier@cs.yale.edu>
8571
8572 * fns.c (Fputhash): Return `value' rather than nil.
8573
3780bc22
GM
85742000-06-30 Gerd Moellmann <gerd@gnu.org>
8575
97d176db
GM
8576 * frame.c (next_frame): Don't check focus redirection in case
8577 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
8578 unless their focus is redirected, which contradicts the
8579 specification of next-frame, and leads to infinite loops in
8580 certain situations when cycling through windows with next-window.
8581
dca9961d
KH
85822000-06-30 Kenichi Handa <handa@etl.go.jp>
8583
8584 * coding.c (code_convert_region): Even if the length of text is
8585 zero, try to convert it if coding->type is coding_type_ccl.
8586 (decode_coding_string, encode_coding_string): Likewise.
8587
d5483ab1
GM
85882000-06-28 Gerd Moellmann <gerd@gnu.org>
8589
af5c25e1 8590 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 8591 the display if windows_or_buffers_changed.
af5c25e1
GM
8592
8593 * dispnew.c (struct row_entry): New structure.
8594 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
8595 (row_table_size, old_lines, new_lines, old_lines_size)
8596 (new_lines_size, run_pool, runs_size, runs): New variables.
8597 (add_row_entry): New function.
8598 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 8599 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
8600 holding them in local variables. Use a larger hash table whose
8601 size depends on glyph matrix sizes. Don't use bzero to clear the
8602 hash table; instead, clear used slots only.
8603
8604 * fns.c (next_almost_prime): Make it externally visible.
8605
8606 * lisp.h (next_almost_prime): Add prototype.
8607
d5483ab1
GM
8608 * s/isc4-0.h (sigunblock): Define.
8609
8610 * s/sco5.h (sigunblock): Define.
8611
93e40f40
DL
86122000-06-27 Dave Love <fx@gnu.org>
8613
8614 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
8615 (moved to osf5-0.h).
8616 [!NOT_C_CODE]: Protect string.h stuff.
8617
8618 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
8619 (sys_siglist, NSIG): Definitions moved here from osf1.h.
8620
3c4b7685
GM
86212000-06-27 Gerd Moellmann <gerd@gnu.org>
8622
97d176db 8623 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
8624 below the last line from the needed window height.
8625
32cad0aa
SM
86262000-06-26 Stefan Monnier <monnier@cs.yale.edu>
8627
8628 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
8629 (Fwidget_get): Use it.
8630 (syms_of_fns): Defsubr it.
8631
2c69ced2
GM
86322000-06-26 Gerd Moellmann <gerd@gnu.org>
8633
178c5d9c 8634 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
8635 display info for XIM.
8636 (xim_open_dpy): Likewise.
8637 (xim_close_dpy): Don't free the display info's XIM.
8638
8639 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
8640
8641 * config.in (USE_XIM): New define.
8642
3fc720e4
GM
8643 * keymap.c (get_keyelt): For menu-items containing a `:filter
8644 FILTER', apply FILTER to the menu-item's definition to get the
8645 real definition to use.
8646
8647 * lisp.h (QCfilter): External declaration.
8648
2c69ced2
GM
8649 * xfns.c (Fimage_size): New function.
8650 (syms_of_xfns): Defsubr it.
8651
f978b2a2
AS
86522000-06-26 Andreas Schwab <schwab@suse.de>
8653
8654 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
8655 Fstring_as_unibyte.
8656
94cc7892
DL
86572000-06-25 Dave Love <fx@gnu.org>
8658
52283633 8659 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag, tgetnum.
94cc7892
DL
8660
8661 * Makefile.in (blockinput.h): Depend on atimer.h.
8662 (atimer.h): Depend on systime.h.
8663
52283633 8664 * blockinput.h: Protect against multiple inclusion. Include atimer.h.
94cc7892 8665
52283633 8666 * atimer.h: Protect against multiple inclusion. Include systime.h.
94cc7892
DL
8667
8668 * lisp.h (swap_in_global_binding): Declare.
8669
b8c24556
KR
86702000-06-24 Ken Raeburn <raeburn@gnu.org>
8671
8672 * process.c (Fopen_network_stream): Turn off atimers for duration
8673 of call to connect. (Patch from Gerd.)
8674
8cf8560b
DL
86752000-06-23 Dave Love <fx@gnu.org>
8676
511c7541
DL
8677 * ralloc.c: Maybe include unistd.h
8678
8cf8560b
DL
8679 * emacs.c (setgrp): Undefine before defining.
8680 (malloc_warning, set_time_zone_rule, index): Prototype.
8681
8682 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
8683 HAVE_STRUCT_TIMEZONE.
8684
8685 * s/osf1.h: Move string.h hack here from alpha.h and make it
8686 conditional.
8687 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
8688 _XOPEN_SOURCE.
8689 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
8690 (SOCKLEN_TYPE): Don't define.
8691
8692 * m/alpha.h: Remove string.h hack.
8693
8694 * s/osf5-0.h: New file.
8695
8696 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
8697 include time.h, done by systime.h.
8698 [__FreeBSD__]: Remove redundant includes.
8699
3fc720e4 8700 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
8701 (delete_temp_file): Return Qnil to avoid warning.
8702
8703 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
8704
8705 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
8706 HAVE_X_WINDOWS.
8707
8708 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
8709
8710 * composite.h (compose_text): Declare.
8711
8712 * xterm.c: Don't include sys/types.h unconditionally. Don't
8713 protect its inclusion with !USG (following xmenu.c).
8714
ea055732
GM
87152000-06-23 Gerd Moellmann <gerd@gnu.org>
8716
8717 * xfns.c (x_create_tip_frame): Initialize frame's colors like
8718 in x_create_frame.
8719
74b01b80
EZ
87202000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
8721
8722 * coding.c (decode_eol_post_ccl): Special handling for undecided
8723 and inconsistent EOL types.
8724
64f3a166
GM
87252000-06-22 Gerd Moellmann <gerd@gnu.org>
8726
16cf31f7
GM
8727 * xrdb.c (x_load_resources): Add default resource for scroll bar's
8728 trough color and main window's background color.
8729
52283633 8730 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events differently.
16cf31f7
GM
8731
8732 * xterm.h (Xt_app_con): External declaration.
8733
8734 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 8735
486a103d
GM
8736 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
8737
64f3a166
GM
8738 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
8739 (handle_invisible_prop): Record the start of invisible text in
8740 it->add_overlay_start.
8741 (struct overlay_entry): Add member `overlay'.
8742 (handle_overlay_change): Simplify.
8743 (next_overlay_string): After having processed overlay strings at the
8744 end of the buffer, record that fact in
8745 it->overlay_strings_at_end_processed_p.
8746 (compare_overlay_entries): If before- and after-strings come
8747 from the same overlay, let before-strings come first.
8748 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
8749 (load_overlay_strings): Take it->add_overlay_start into account
8750 when adding overlay strings.
8751
8752 * dispextern.h (struct it): Add member add_overlay_start.
8753
bb746ea6
DL
87542000-06-22 Dave Love <fx@gnu.org>
8755
8756 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
8757
8758 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
8759
a8f573f3
KH
87602000-06-22 Kenichi Handa <handa@etl.go.jp>
8761
8762 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
8763 is greater than 0.
8764
9f2bbc92
DL
87652000-06-21 Dave Love <fx@gnu.org>
8766
178c5d9c 8767 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 8768
3ee5041c
SM
87692000-06-21 Stefan Monnier <monnier@cs.yale.edu>
8770
8771 * syntax.c (back_comment): Simplify string-parity counting (with
8772 the added benefit of handling multiple string-styles as long as
8773 they are not intertwined).
8774 Jump to the slow code as soon as a comment starter is found in
8775 a "string_lossage" position. Fixes the case: " /* " /* " */.
8776
4c343001
DL
87772000-06-21 Dave Love <fx@gnu.org>
8778
8779 * Makefile.in: Use GETLOADAVG_LIBS.
8780
8781 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
8782 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
8783
e6365855
SM
87842000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8785
8786 * syntax.c (describe_syntax): Recognize the `n'estable bit.
8787 (Fforward_comment, scan_lists):
8788 Check the comstyle of single-char comment-starters.
8789 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
8790 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
8791 Check the comstyle of single-char comment-starters.
8792 Clarify control-flow around the Scomment case.
e6365855 8793
5700d2cc
DL
87942000-06-20 Dave Love <fx@gnu.org>
8795
d355bd8a
SM
8796 * fns.c (make_hash_table, maybe_resize_hash_table):
8797 Cast arg of next_almost_prime.
5700d2cc 8798
178c5d9c 8799 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
8800
8801 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
8802 and unistd.h.
8803
4a27bdfb
GM
88042000-06-20 Gerd Moellmann <gerd@gnu.org>
8805
a61d762c 8806 * keyboard.c (adjust_point_for_property): Check if display
52283633 8807 property should be treated as intangible by looking at its value.
a61d762c 8808
178c5d9c 8809 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
8810 (display_prop_intangible_p): New functions.
8811
8812 * dispextern.h (display_prop_intangible_p): Add prototype.
8813
8814 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 8815
4a27bdfb
GM
8816 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
8817 argument to sigprocmask.
8818
8819 * s/sco5.h (sigblock): Redefined to pass a pointer as second
8820 argument to sigprocmask.
8821
8822 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
8823 sigprocmask_set, and pass a pointer to it to sigprocmask.
8824
8825 * sysdep.c (sigprocmask_set): New variable.
8826
8827 * fileio.c (make_temp_name): Don't use `%s' in string passed to
8828 report_file_error.
8829
427ec082
SS
88302000-06-20 Sam Steingold <sds@gnu.org>
8831
8832 * xrdb.c: Don't declare xmalloc, xrealloc.
8833
8972fe79 88342000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
8835
8836 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
8837 (re_comp): Cast gettext return value to avoid complaints when
8838 !HAVE_LIBINTL.
8839
074b6efe
DL
88402000-06-20 Dave Love <fx@gnu.org>
8841
52283633 8842 * m/stride.h, m/mips.h: Don't define HAVE_GETWD, HAVE_GETTIMEOFDAY.
f85c008a 8843
5700d2cc 8844 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 8845
d355bd8a 8846 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
8847
8848 * m/alpha.h: Don't declare xmalloc, xrealloc.
8849
0af4f205
DL
8850 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
8851
8852 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
8853
8854 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
8855
8856 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
8857 HAVE_GETWD.
8858
074b6efe
DL
8859 * keyboard.h (poll_for_input_1): Declare.
8860
8861 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
8862
8863 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
8864
8865 * doprnt.c: Don't declare xmalloc, xrealloc.
8866
8867 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
8868 (getenv, ctime, getwd): Removed.
8869 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
8870
8871 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
8872 x_set_tool_bar_lines.
8873
8874 * config.in: Add HAVE_GETWD. Move some definitions above
8875 machine/system includes.
8876
68a5e97b
KH
88772000-06-20 Kenichi Handa <handa@etl.go.jp>
8878
95417e1e
KH
8879 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
8880
68a5e97b
KH
8881 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
8882 contain information about ENCODING.
8883
8884 * fontset.c (FONTSET_ASCII): Use the first element of char table
8885 for an ASCII font, not defalt slot.
8886 (fontset_ref_via_base): If FONTSET doesn't contain information for
8887 C, try the default fontset.
8888 (make_fontset): Don't copy the default fontset.
8889 (fontset_font_pattern): Likewise.
8890 (accumulate_font_info): If ELT is nil, use the corresponding
8891 element in the default fontset.
8892
3b4fa1b2
DL
88932000-06-19 Dave Love <fx@gnu.org>
8894
943e731c
DL
8895 * syntax.c (Fparse_partial_sexp): Doc fix.
8896
8897 * regex.h: Test PROTOTYPES as well as __STDC__.
8898
3b4fa1b2
DL
8899 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
8900 errno, strerror. Put text after #endif in comment.
8901
52283633 8902 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for pcc).
3b4fa1b2
DL
8903
8904 * xterm.c (x_frame_of_widget): Likewise.
8905
cdf0357b
GM
89062000-06-19 Gerd Moellmann <gerd@gnu.org>
8907
8908 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
8909 to Vfundamental_mode_abbrev_table.
8910
8911 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
8912 bogus objects are marked. This slows down GC by ~80 percent, but
8913 it might be worth trying when debugging GC-related problems.
8914 This feature requires conservative stack marking to be enabled.
8915
8916 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
8917 returns XLookupChars, reset `modifiers' to zero.
8918
998e9f8c
DL
89192000-06-19 Dave Love <fx@gnu.org>
8920
8921 * mktime.c: Unprotoized.
8922
18e21ce8 89232000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
8924
8925 * data.c (set_internal): If variable is frame-local,
8926 store the new value immediately into the frame parameter alist.
8927
140c4ac6
KR
89282000-06-19 Ken Raeburn <raeburn@gnu.org>
8929
14358466
KR
8930 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
8931 in the custom handler pointer.
8932
140c4ac6
KR
8933 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
8934 value, or checks for CHAR_META can fail when Lisp_Object is a
8935 union type.
8936 * keymap.c (get_keyelt): Likewise.
8937
10d7bf84
KH
89382000-06-19 Kenichi Handa <handa@etl.go.jp>
8939
8940 * ccl.h (struct ccl_program): New member eol_type.
8941 (struct ccl_spec): New member cr_carryover.
8942
8943 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
8944 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
8945
8946 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
8947 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
8948 (decode_eol_post_ccl): New function.
8949 (decode_coding): Don't detect EOL format here for CCL based coding
8950 systems.
8951 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
8952 decode_eol_post_ccl after running the CCL program.
8953 (code_convert_region): Don't detect EOL format here for CCL based
8954 coding systems.
8955 (decode_coding_string): Likewise.
8956
52e386c2
KR
89572000-06-18 Ken Raeburn <raeburn@gnu.org>
8958
8959 * charset.c (update_charset_table): Use XINT on "iso_final_char"
8960 when treating it as an integer.
8961
8962 * coding.h (encode_coding_string): Declare.
8963
8964 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
8965 it as an integer.
8966
8967 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
8968 "xkeymap" to avoid shadowing the "enum map_type" value that needs
8969 to be passed to get_local_map.
8970
8971 * sound.c (Fplay_sound): Don't call make_number on
8972 Frun_hook_with_args count argument.
8973
8974 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
8975 for lisp objects in X event structure data field, when lisp
8976 objects are represented with unions.
8977 (x_scroll_bar_to_input_event): Ditto.
8978
b357b9d4
KR
89792000-06-16 Ken Raeburn <raeburn@gnu.org>
8980
8981 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
8982 termination of string. Fix sense of test whether
8983 Vline_number_display_limit is an integer.
b357b9d4 8984
a871441d
GM
89852000-06-16 Gerd Moellmann <gerd@gnu.org>
8986
a9021acd
GM
8987 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
8988 only if HAVE_X_WINDOWS.
8989
6344985d
GM
8990 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
8991 of titles.
8992
427ec082 8993 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
8994 out of bounds.
8995
228b083e
EZ
89962000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
8997
8998 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
8999 of its headers.
9000
c25b53a2
KH
90012000-06-15 Kenichi Handa <handa@etl.go.jp>
9002
9003 * coding.c (decode_coding_emacs_mule): Always set src_base at the
9004 start of the while loop.
9005
a6981b11
GM
90062000-06-15 Gerd Moellmann <gerd@gnu.org>
9007
e9924e52
GM
9008 * atimer.c (alarm_signal_handler): Add forward declaration.
9009
a6981b11
GM
9010 * data.c (set_internal): Remove debug code.
9011
25fa6deb
GM
90122000-06-14 Gerd Moellmann <gerd@gnu.org>
9013
dce6b995
GM
9014 * Makefile.in (bootstrap-temacs): Add `-I../src'.
9015
9f817ea4
GM
9016 * unexec.c (toplevel) [COFF]: Include coff.h.
9017
9018 * s/lynxos.h: New file.
9019
9020 * keymap.c (Fsingle_key_description): Enclose function key and
9021 event symbol names in angle brackets.
9022
8a4e3c0c
GM
9023 * xdisp.c (setup_echo_area_for_printing): Call
9024 message_log_maybe_newline if message_buf_print is not set.
9025
9026 * print.c (printchar, strout): Don't check message_buf_print
427ec082 9027 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
9028 function does something useful even when message_buf_print is
9029 already set.
9030
52283633
SM
9031 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines):
9032 New variables.
25fa6deb
GM
9033 (ensure_echo_area_buffers): Initialize echo buffer's
9034 truncate lines setting to nil.
9035 (with_echo_area_buffer): Don't set the echo buffer's truncate
9036 lines setting here.
8a4e3c0c 9037 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
9038 of message_truncate_lines.
9039 (resize_mini_window): Handle case that lines are truncated.
52283633
SM
9040 (syms_of_xdisp): Initialize Qmessage_truncate_lines.
9041 DEFVAR_BOOL message-truncate-lines.
25fa6deb
GM
9042
9043 * keyboard.c (read_char): Bind message-truncate-lines to t
9044 while displaying a help-echo.
9045
9046 * lisp.h (Qmessage_truncate_lines): External declaration.
9047
163dcff3
GM
90482000-06-13 Gerd Moellmann <gerd@gnu.org>
9049
1681ead6
GM
9050 * xdisp.c (Vline_number_display_limit): Renamed from
9051 line_number_display_limit.
9052 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
9053 Extend documentation string. Initialize
9054 Vline_number_display_limit to nil meaning no limit.
9055 (decode_mode_spec): Use Vline_number_display_limit with its new
9056 meaning.
9057
163dcff3
GM
9058 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
9059
18e21ce8 90602000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
9061
9062 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 9063
163dcff3
GM
9064 * xfns.c (x_set_frame_parameters): Comment fix.
9065
9066 * frame.c (store_frame_param): Call swap_in_global_binding if the
9067 variable's current binding was chosen based on this frame.
9068
9069 * data.c (swap_in_global_binding): New function.
9070
a704139d
EZ
90712000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9072
9073 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
9074 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
9075
9b6610db
EZ
90762000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
9077
9078 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
9079
c68833d2
JR
90802000-06-12 Jason Rumney <jasonr@gnu.org>
9081
9082 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
9083
9084 * w32.h (EMACS_W32_H): Renamed from _NT_H_
9085
9086 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
9087
9088 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
9089
ed1056b3
GM
90902000-06-12 Gerd Moellmann <gerd@gnu.org>
9091
9092 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
9093 (syms_of_xfaces): Defsubr Sdump_colors.
9094 (x_free_colors): Don't treat b&w specially on default visual.
9095 (x_free_dpy_colors): New function.
9096 (free_face_colors): Don't check visual class; it's done
9097 in x_free_colors.
9098
9099 * xterm.c (x_frame_of_widget): New function.
9100 (x_alloc_nearest_color_for_widget): Use it.
9101 (x_copy_dpy_color): New function.
9102 (x_destroy_window): Free various colors.
9103
5050a2ef
KH
91042000-06-12 Kenichi Handa <handa@etl.go.jp>
9105
9106 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
9107
9108 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
9109
9110 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
9111
9112 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
9113
9114 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
9115
fb1b041d
DL
91162000-06-11 Dave Love <fx@gnu.org>
9117
9118 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
9119
ff96b5f4
EZ
91202000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
9121
9122 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
9123
db8eeecd
GM
91242000-06-11 Gerd Moellmann <gerd@gnu.org>
9125
ed1056b3 9126 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
9127 to `XEvent *'.
9128
49b71c5f
KH
91292000-06-10 Kenichi Handa <handa@etl.go.jp>
9130
c479bd55
KH
9131 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
9132 (regex_compile): Fix the code for handling the case of single byte
9133 char and multibyte char being mixed in a range within [...].
9134
ff6a65c2
KH
9135 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
9136 and dst_multibyte members of coding.
9137
49b71c5f
KH
9138 * charset.c (update_charset_table): Update the table
9139 bytes_by_char_head.
9140 (init_charset_once): Initialize elements of bytes_by_char_head to
9141 1 except for leading codes for private charases.
9142
9143 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
52283633 9144 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte sequence.
49b71c5f 9145
9e80b57d
KR
91462000-06-09 Ken Raeburn <raeburn@gnu.org>
9147
9148 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
9149 access the data it doesn't point to.
9150
f83fe4b4
GM
91512000-06-08 Gerd Moellmann <gerd@gnu.org>
9152
9153 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 9154 will be translated to a switch-frame event when reading the
f83fe4b4
GM
9155 event queue. This is necessary because Emacs otherwise won't
9156 perform a switch-frame to a new frame until some other event, for
9157 example a keystroke event, forces it to do so. This has various
9158 effects, one visible being that the cursor of a frame created with
9159 C-x 5 2 or switched to with a window manager key binding like
9160 A-TAB stays hollow because selected_window isn't on the newly
9161 focused frame until the switch-frame is performed.
9162
9163 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
9164 generating a switch-frame event if necessary.
9165
9166 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
9167
9168 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
9169 it's an integer.
9170
0890801b
KH
91712000-06-08 Kenichi Handa <handa@etl.go.jp>
9172
52283633 9173 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a charset.
0890801b 9174
173cbca8
GM
91752000-06-07 Gerd Moellmann <gerd@gnu.org>
9176
3091c2a6
GM
9177 * window.c (displayed_window_lines): Take empty lines at
9178 the bottom of a window into account.
427ec082 9179
f38952fe
GM
9180 * window.c (displayed_window_lines): New function.
9181 (Fmove_to_window_line): Use displayed_window_lines to determine
9182 the number of lines to move, instead of using the window's height.
9183
9184 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
9185 to stop reading, even if the form read sets point to a different
9186 value when evaluated.
9187
427ec082 9188 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
9189 put the cursor.
9190
6ba6c818
KH
91912000-06-07 Kenichi Handa <handa@etl.go.jp>
9192
9193 * fileio.c (e_write): Free composition data if stored in
9194 coding->cmp_data.
9195
5f1aea9a
GM
91962000-06-06 Gerd Moellmann <gerd@gnu.org>
9197
666852af
GM
9198 * xdisp.c (display_line): Set row's and iterator's
9199 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
9200 Set cursor even if row ends in the middle of a character.
9201 (dump_glyph_row): Print values of new flags.
9202 (redisplay_window) <cursor movement in unchanged window>: When
9203 point has been moved forward, and PT is at the end of the cursor
9204 row, don't place the cursor in the next row if the cursor row ends
9205 in the middle of a character or at ZV.
9206
9207 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
9208 (struct glyph_row): Add starts_in_middle_of_char_p and
9209 ends_in_middle_of_char_p.
9210 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
9211 ends_in_middle_of_char_p flag.
9212 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
9213
d13f3e2e
GM
9214 * term.c (append_glyph): Revert change of 2000-06-06.
9215
9216 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
9217 padding glyph not fitting on line as whole character not
9218 fitting on line.
9219
5f1aea9a
GM
9220 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
9221 this isn't true for images with `:ascent 100'.
9222
10cda9b0
KH
92232000-06-06 Kenichi Handa <handa@etl.go.jp>
9224
ed00559d
KH
9225 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
9226 as modified if it is originally unmodified.
9227
10cda9b0
KH
9228 * term.c (encode_terminal_code): Change the way to check if
9229 terminal coding does any conversion.
9230 (append_glyph): Set glyph->pixel_width correctly.
9231
9232 * xdisp.c (display_line): While checking line continuation, pay
9233 attention to a padding glyph.
9234
1969fae2
GM
92352000-06-05 Gerd Moellmann <gerd@gnu.org>
9236
9237 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
9238
162ccef4
DL
92392000-06-05 Dave Love <fx@gnu.org>
9240
f19f32dd
DL
9241 * xdisp.c: Include fontset.h.
9242
9243 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
9244
9245 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9246
9247 * dispnew.c: Conditionally include term.h.
9248
9249 * coding.h: Declare code_convert_string_norecord.
9250
9251 * frame.h (struct frame): Use volatile unconditionally.
9252
9253 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
9254
9255 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
9256
9257 * systime.h: Protect against multiple inclusion.
9258 (timezone) [USG5_4]: Define as time_t.
9259
9260 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9261 (Foptimize_char_table, make_temp_name): Declare.
9262
9263 * Makefile.in (xdisp.o): Depend on fontset.h.
9264
9265 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
9266
9267 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
9268 (Foptimize_char_table, make_temp_name): Declare.
9269
427ec082 9270 * s/irix4-0.h:
162ccef4
DL
9271 * s/irix5-0.h:
9272 * s/netbsd.h: Don't define autoconfiscated MATHERR.
9273
2082fe81
DL
92742000-06-02 Dave Love <fx@gnu.org>
9275
9276 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
9277
dcf671d2
GM
92782000-06-02 Gerd Moellmann <gerd@gnu.org>
9279
9280 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 9281 result face, set flags in that face indicating that colors may not
dcf671d2
GM
9282 be freed.
9283
9284 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
9285 glyph, use the ASCII NUL character to determine the face.
9286
d42122a3
DL
92872000-06-02 Dave Love <fx@gnu.org>
9288
9289 * sysdep.c: Conditionally include stdlib.h, unistd.h.
9290 (VFORK_RETURN_TYPE): Remove.
427ec082 9291
d42122a3
DL
9292 * config.in: Add NO_MATHERR.
9293
dd432f16
DL
92942000-06-01 Dave Love <fx@gnu.org>
9295
90aa4ea8
DL
9296 * cmds.c (internal_self_insert): Don't check
9297 Vbefore_change_function, Vafter_change_function.
9298
9299 * insdel.c (signal_before_change, signal_after_change): Likewise.
9300
9301 * buffer.c (Vbefore_change_function, Vafter_change_function):
9302 Variables and their initializations deleted.
9303
2330c9d4
DL
9304 * callint.c (Fcall_interactively): Doc fix.
9305
dd432f16
DL
9306 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
9307
bf9e8804
DL
93082000-05-31 Dave Love <fx@gnu.org>
9309
9310 * textprop.c: Revert last change -- duplicated.
9311
3694b4ab
GM
93122000-05-31 Gerd Moellmann <gerd@gnu.org>
9313
9314 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
9315 in #if 0.
9316
9317 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
9318
f14156cd
JR
93192000-05-31 Jason Rumney <jasonr@gnu.org>
9320
8119aab8
JR
9321 * search.c (Fre_search_forward, Fre_search_backward)
9322 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
9323
f14156cd
JR
9324 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
9325
4aab9be3
JR
93262000-05-30 Jason Rumney <jasonr@gnu.org>
9327
9328 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
9329 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
9330
52283633 9331 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type member.
4aab9be3
JR
9332
9333 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
9334 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
9335 expand a nil default_filename.
9336
9337 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
9338 pointer to glyph_to_pixel_coords, not a frame.
9339
9340 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
9341 coding.h to dependencies.
9342
9343 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
9344
9345 * w32console.c (glyph_to_pixel_coords): Change first parameter to
9346 window pointer to be consistent with w32term.c and xterm.c.
9347
9348 * w32fns.c: Format and doc changes to bring closer to xfns.c.
9349 (VIETNAMESE_CHARSET): Define if not defined in system headers.
9350 (Qline_spacing, Qcenter): New variables.
9351 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
9352 (x_set_line_spacing): New function.
52283633 9353 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT macros.
4aab9be3
JR
9354 (x_specified_cursor_type): New function.
9355 (x_set_cursor_type): Use it.
9356 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
9357 and icon strings.
9358 (validate_x_resource_name, x_get_resource_string): Measure lengths
9359 of external strings in bytes.
9360 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
9361 GetTextExtentPoint32 with NULL title.
9362 (Fx_create_frame): Initialize Qline_spacing.
9363 (w32_load_system_font): Initialize font->double_byte_p.
9364 (x_to_w32_charset): Use Vw32_charset_info_alist.
9365 (Image, busy cursor, tooltip functions): Merged changes from
9366 xfns.c. Not yet functional on Windows.
9367
9368 * w32gui.h (W32FontStruct): Add double_byte_p member.
9369
9370 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
9371 (emacs_button_translation): Use it.
9372 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
9373 in `mask' to be set.
9374
9375 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
9376 menu strings.
9377
9378 * w32term.c: Format and doc changes to bring closer to xterm.c.
9379 (w32_char_font_type): New enum.
9380 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
9381 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
9382 (w32_encode_char): New function.
9383 (x_encode_char): Removed.
9384 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
9385 x_encode_char and w32_font_is_double_byte.
9386 (x_produce_image_glyph): Use image_ascent.
9387 (x_produce_glyphs): Use new version of w32_per_char_metric and
9388 handle NULL return value. Allow extra line spacing.
9389 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
9390 (w32_get_glyph_overhangs): Remove unicode_p param. Use
9391 w32_font_type member of glyph instead.
9392 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
9393 (fast_find_position): Make sure not to consider rows not visible
9394 in the window.
9395 (w32_read_socket) [WM_MENUSELECT]: Cannot call
9396 w32_menu_display_help with input blocked, as it can abort.
9397 (x_display_and_set_cursor): Choose cursor depending
9398 on buffer-local value of cursor_type.
9399 (x_draw_bar_cursor): Add parameter WIDTH.
9400
9401 * w32term.h (CP_DEFAULT): Define.
9402 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
9403
10fc3187
GM
94042000-05-30 Gerd Moellmann <gerd@gnu.org>
9405
9406 * search.c (Fre_search_forward, Fre_search_backward)
9407 (Fposix_search_backward, Fposix_search_forward): Doc fix.
9408
d0555360
KH
94092000-05-30 Kenichi Handa <handa@etl.go.jp>
9410
9411 * coding.c (detect_coding_iso2022): Fix code for checking
9412 CODING_CATEGORY_MASK_ISO_8_2.
9413
f1ad044f
SM
94142000-05-29 Stefan Monnier <monnier@cs.yale.edu>
9415
9416 * regex.c (PREFETCH_NOLIMIT): New function.
9417 (re_match_2_internal): Use it and adjust the end_match_2 logic.
9418
84ec3b4b
GM
94192000-05-29 Gerd Moellmann <gerd@gnu.org>
9420
66254a13
GM
9421 * syntax.c (find_defun_start): Move test for
9422 open_paren_in_column_0_is_defun_start outside of the loop.
9423
49e70dec
GM
9424 * xdisp.c (redisplay_window): Really switch buffers when
9425 displaying mode lines, and temporarily set selected_frame to the
9426 frame of the window that's redisplayed.
9427
84ec3b4b
GM
9428 * xfaces.c (free_realized_faces): Block/unblock input.
9429 (free_realized_multibyte_face): Ditto.
9430
869a3a14
DL
94312000-05-29 Dave Love <fx@gnu.org>
9432
9433 * textprop.c (Qkeymap): New variable.
9434 (syms_of_textprop): Intern it.
9435
9436 * keymap.c: Include intervals.h.
9437 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
9438
9439 * Makefile.in (keymap.o): Depend on intervals.h.
9440
9441 * keyboard.c (menu_bar_items, tool_bar_items)
9442 (Fexecute_extended_command): Deal with `keymap' property.
9443 (read_key_sequence): Track map from `keymap' property as well as
9444 `local_map'.
9445
9446 * intervals.c (get_local_map): Extra arg to allow looking for
9447 `keymap' too.
9448
9449 * intervals.h (map_property): New enum.
9450 (get_local_map): Extra arg using it.
9451 (Qkeymap): Declare.
9452
84ec3b4b 9453 * lisp.h (get_local_map): Don't declare here.
869a3a14 9454
89d0c844
KH
94552000-05-29 Kenichi Handa <handa@etl.go.jp>
9456
9457 * Makefile.in (callproc.o): Depend on composite.h.
9458
9459 * callproc.c: Include composite.h.
9460 (Fcall_process): Handle composition correctly.
9461
9462 * coding.h (coding_allocate_composition_data): Extern it.
9463 (coding_restore_composition): Likewise.
9464
9465 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
9466 yet allocated, finish decoding with result
9467 CODING_FINISH_INSUFFICIENT_CMP.
9468 (coding_allocate_composition_data): Make it non-static.
9469 (coding_restore_composition): Likewise.
9470
797a084a
EZ
94712000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
9472
9473 * charset.c (syms_of_charset): Revert last change.
9474
cf872af5
EZ
94752000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9476
9477 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
9478 charsets as unibyte, with 1-column screen width. Sent by Kenichi
9479 Handa.
cf872af5 9480
5b1ae051
EZ
94812000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
9482
9483 * charset.c (syms_of_charset): Set width of character sets
9484 eight-bit-control and eight-bit-graphic to 1 column.
9485
34ec9ebe
GM
94862000-05-26 Gerd Moellmann <gerd@gnu.org>
9487
9488 * config.in (HAVE_SPEED_T): New define.
9489
9490 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
9491 `extern speed_t'.
9492
dd854dc2
DL
94932000-05-26 Dave Love <fx@gnu.org>
9494
9495 * coding.c (shrink_decoding_region): Initialize eol_conversion.
9496
9497 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
9498 (Fsubr_arity): New function.
9499 (syms_of_data): Install them.
9500
ba9f8f95
KH
95012000-05-26 Kenichi Handa <handa@etl.go.jp>
9502
0f3e0672
KH
9503 * charset.c (init_charset_once): Set the table bytes_by_char_head
9504 correctly.
9505
cebefb44
KH
9506 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
9507 the default fontset to what Emacs uses by default.
0f3e0672
KH
9508 (check_registry_encoding): This function deleted.
9509 (Fset_fontset_font): Remove the adhoc condition for the default
9510 fontset. Allow cons in FONTNAME.
cebefb44 9511
0f3e0672
KH
9512 * fns.c (map_char_table): Ignore char-table entries for
9513 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 9514
7a18af49
KR
95152000-05-25 Ken Raeburn <raeburn@gnu.org>
9516
9517 * emacs.c (main): Initialize keyboard syms before initializing
9518 window code, so face names are available.
9519
d2af47df
SM
95202000-05-25 Stefan Monnier <monnier@cs.yale.edu>
9521
9522 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
9523 of an anchor at the beginning of a shy-group.
9524
fc6a6a4e
GM
95252000-05-25 Gerd Moellmann <gerd@gnu.org>
9526
9527 * xdisp.c (handle_invisible_prop): Don't try to skip over
9528 invisible text if end of text is already reached.
9529
005f0d35
DL
95302000-05-25 Dave Love <fx@gnu.org>
9531
02513cdd
DL
9532 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
9533
005f0d35
DL
9534 * coding.c (encode_eol): Add null statement after label.
9535
89f6ca4e
EZ
95362000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
9537
9538 * w16select.c (Fw16_set_clipboard_data): Fix the change from
9539 2000-05-20.
9540
a4e1759e
KH
95412000-05-25 Kenichi Handa <handa@etl.go.jp>
9542
9543 * ccl.c (ccl_driver): Fix previous change.
9544
eacfd7fe
KH
95452000-05-25 Kenichi Handa <handa@etl.go.jp>
9546
46ab33a9
KH
9547 * coding.c (run_pre_post_conversion_on_str): Set point to the
9548 beginning of buffer before calling coding->post_read_conversion.
9549 (decode_coding_string): Give correct args to
9550 run_pre_post_conversion_on_str.
9551 (encode_coding_string): Likewise.
9552
eacfd7fe
KH
9553 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
9554 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
9555 eight-bit-graphic correctly.
9556
f8569325
DL
95572000-05-24 Kenichi HANDA <handa@etl.go.jp>
9558
9559 * fileio.c (Finsert_file_contents): Even if a file is not found,
9560 execute codes for setting up coding system. Call
9561 after-insert-file-functions unconditionally.
9562
04545643
GM
95632000-05-24 Gerd Moellmann <gerd@gnu.org>
9564
9565 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
9566 BSD_PGRPS are not defined.
9567
747d90ea
KH
95682000-05-24 Kenichi Handa <handa@etl.go.jp>
9569
9570 * charset.c (update_charset_table): Accept nil in LONG_NAME and
9571 DESCRIPTION.
9572 (syms_of_charset): Avoid building same strings.
9573
716e3b88
GM
95742000-05-23 Gerd Moellmann <gerd@gnu.org>
9575
9576 * lread.c (Fload): Add a comment about the meaning of
9577 Vuser_init_file being t.
9578
9579 * puresize.h (BASE_PURESIZE): Increase to 675000.
9580
9581 * s/gnu-linux.h (setpgrp): Don't define it here because this
9582 prevents compilation on GNU/Linux systems with glib 2.2.
9583
9584 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
9585 as setpgid.
427ec082 9586
9aeb39fa
EZ
95872000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
9588
9589 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
9590 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
9591 version.
9592 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
9593
29ced61b
KH
95942000-05-23 Kenichi Handa <handa@etl.go.jp>
9595
52283633 9596 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
0574a2ed 9597
3d80f24d
KH
9598 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
9599
52283633 9600 * term.c (encode_terminal_code): Set coding->src_multibyte properly.
3d80f24d 9601
29ced61b
KH
9602 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
9603
d7e00792
KH
96042000-05-22 Kenichi Handa <handa@etl.go.jp>
9605
c9d80d38
KH
9606 * keyboard.c (read_char): Allow character codes 128..255 to be
9607 handled by input-method-function.
9608
d7e00792
KH
9609 * insdel.c (adjust_markers_for_replace): Fix previous change.
9610 (adjust_after_replace): If PREV_TEXT is nil, call
9611 adjust_markers_for_insert, not adjust_markers_for_replace.
9612
087121cc 96132000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 9614
087121cc
GM
9615 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
9616 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
9617 [HAVE_GRANDPT]: Define.
9618 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
9619
9620 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
9621 like SYSV_PTYS.
9622
9623 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
9624
9625 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
9626
c9671f81
KH
96272000-05-20 Kenichi Handa <handa@etl.go.jp>
9628
9629 The following changes are to handle 8-bit characters in a
9630 multibyte buffer/string without facing with byte combining
9631 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
9632 eight-bit-graphic (for 0xA0..0xFF) are introduced.
9633
9634 * Makefile.in (fns.o): Depend on charset.h.
9635
9636 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
9637 convert it to unibyte.
9638 (make_string): Use parse_str_as_multibyte, not chars_in_text.
9639
9640 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
9641 apparent char boundary.
9642 (Fset_buffer_multibyte): Convert 8-bit characters in the range
9643 0x80..0x9F to/from multibyte form.
9644
9645 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
9646 to unibyte.
9647
9648 * callproc.c (Fcall_process): Always encode an argument string if
9649 it is multibyte. Setup src_multibyte and dst_multibyte members of
9650 process_coding properly.
ce75fd23 9651
c9671f81
KH
9652 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
9653 SPLIT_NON_ASCII_CHAR.
9654
9655 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
9656 as is.
9657 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
9658
52283633 9659 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New variables.
c9671f81 9660 (SPLIT_CHARACTER_SEQ): This macro deleted.
52283633 9661 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is valid.
c9671f81
KH
9662 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
9663 and eight-bit-graphic.
9664 (char_to_string): Likewise. Signal an error for too large
9665 character code.
9666 (char_printable_p): Return 0 for 8-bit characters.
9667 (update_charset_table): Update iso_charset_table only when a final
9668 character is non-negative.
9669 (find_charset_in_text): Renamed from find_charset_in_str.
9670 Arguments and return value changed. Callers changed.
9671 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
9672 be -1 if CHARSET is used only internally.
9673 (Fmake_char_internal): Handle new charsets; eight-bit-control and
9674 eight-bit-graphic.
9675 (Fcharset_after): Simplified.
9676 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
9677 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
9678 (multibyte_chars_in_text): Simplified by assuming there's no
9679 invalid multibyte sequence.
52283633
SM
9680 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9681 (str_as_unibyte): New functions.
9682 (Fstring): Simpified by assuming that byte combining never happens.
c9671f81
KH
9683 (init_charset_once): Initialization for
9684 LEADING_CODE_8_BIT_CONTROL.
9685 (syms_of_charset): Intern and staticpro Qeight_bit_control and
9686 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
9687 eight-bit-control and eight-bit-graphic.
9688
52283633
SM
9689 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL)
9690 (CHARSET_8_BIT_GRAPHIC): New macros.
c9671f81
KH
9691 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
9692 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
9693 (CHARSET_REVERSE_CHARSET): Likewise.
9694 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
9695 eight-bit-graphic.
9696 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
9697 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
9698 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
9699 encounter an invalid multibyte sequence.
9700 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
9701 sequence is always valid.
9702 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
52283633 9703 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New macros.
c9671f81
KH
9704 (CHAR_STRING): For 8-bit characters, call char_to_string.
9705 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
9706 multibyte sequence is always valid.
9707 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
52283633
SM
9708 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte)
9709 (str_as_unibyte): Extern them.
c9671f81 9710 (BCOPY_SHORT): Fix a bug.
52283633 9711 (CHAR_LEN): This macro deleted. Callers changed to use CHAR_BYTES.
c9671f81
KH
9712 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
9713 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
9714 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
9715
bd4bde7f 9716 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81 9717 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
52283633
SM
9718 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE)
9719 (EMIT_BYTES): New macros.
9720 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII)
9721 (DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
c9671f81
KH
9722 macros deleted.
9723 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
9724 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
9725 check the validity of multibyte sequence.
9726 (decode_coding_emacs_mule): New function.
9727 (encode_coding_emacs_mule): New macro.
9728 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
9729 the source.
9730 (DECODE_ISO_CHARACTER): Just return a character code.
9731 (DECODE_COMPOSITION_START): Set coding->result instead of result.
9732 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
9733 EMIT_CHAR to produced decoded characters. Exit the loop only by
9734 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
9735 block here.
9736 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
9737 only position codes for an invalid character.
9738 (encode_designation_at_bol): Return new destination pointer. 5th
9739 arg DSTP is changed to DST.
9740 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
9741 from the source by ONE_MORE_CHAR. Don't handle the case of last
9742 block here.
9743 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
9744 macros deleted.
52283633
SM
9745 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
9746 (detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
c9671f81
KH
9747 TWO_MORE_BYTES to fetch a byte from the source.
9748 (encode_eol): Pay attention to coding->src_multibyte.
9749 (detect_coding, detect_eol): Preserve members src_multibyte and
9750 dst_multibyte.
9751 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
9752 (encoding_buffer_size): Set magnification to 3 for all coding
9753 systems that require encoding.
9754 (ccl_coding_driver): For decoding, be sure that the result is
9755 valid multibyte sequence.
9756 (decode_coding): Initialize coding->errors and coding->result.
9757 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
9758 and raw-text, always call decode_eol. Handle the case of last
9759 block here. If not coding->dst_multibyte, convert the resulting
9760 sequence to unibyte.
9761 (encode_coding): Initialize coding->errors and coding->result.
9762 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
9763 and raw-text, always call encode_eol. Handle the case of last
9764 block here.
9765 (shrink_decoding_region, shrink_encoding_region): Detect cases
9766 that we can't skip data more rigidly.
9767 (code_convert_region): Setup src_multibyte and dst_multibyte
9768 members of coding. For decoding, if the buffer is multibyte,
9769 convert the source sequence to unibyte in advance. For encoding,
9770 if the buffer is multibyte, convert the resulting sequence to
9771 multibyte afterward.
9772 (run_pre_post_conversion_on_str): New function.
9773 (code_convert_string): Deleted and divided into the following two.
9774 (decode_coding_string, encode_coding_string): New functions.
9775 (code_convert_string1, code_convert_string_norecord): Call one of
9776 above.
9777 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
9778 MAKE_NON_ASCII_CHAR.
52283633
SM
9779 (Fset_terminal_coding_system_internal)
9780 (Fset_safe_terminal_coding_system_internal): Setup src_multibyte
c9671f81
KH
9781 and dst_multibyte members.
9782 (init_coding_once): Initialize iso_code_class with new enum
9783 ISO_control_0 and ISO_control_1.
9784
9785 * coding.h (enum iso_code_class_type): Member ISO_control_code is
9786 devided into ISO_control_0 and ISO_control_1.
9787 (struct coding_system): New members src_multibyte, dst_multibyte,
9788 errors, and result. Delete member fake_multibyte.
9789 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
9790 nonzero.
9791 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
9792 nonzero.
9793
9794 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
9795 (Faset): Likewise.
9796
9797 * editfns.c (Fformat): Be sure to convert 8-bit characters to
9798 multibyte form.
9799 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
9800 combining occurs.
9801 (Ftranspose_region): Delete codes for handling byte combining.
9802
9803 * fileio.c (Finsert_file_contents): Setup src_multibyte and
9804 dst_multibyte members of coding. On handling REPLACE on unibyte
9805 buffer, convert the result of decode_coding to unibyte. On
9806 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 9807 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
9808 multibyteness of the source (buffer or string).
9809
9810 * fns.c (concat): Handle 8-bit characters correctly.
9811 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
9812 unibyte in the result.
9813 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
9814 valid multibyte form in the result.
9815 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
9816 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
9817 return -1, signal an error.
9818 (base64_encode_1): New arg MULTIBYTE. Get each character by
9819 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
9820 character is found, return -1.
9821 (Fbase64_decode_region): Delete codes for handling byte-combining.
9822 Treat each decoded byte as a unibyte character.
9823 (Fbase64_decode_string): Return unibyte string.
9824 (Fcompare_strings, concat, string_byte_to_char): Use
9825 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
9826 FETCH_STRING_CHAR_ADVANCE.
9827 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9828 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
9829
9830 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
9831 SPLIT_NON_ASCII_CHAR.
9832 (fontset_ref_via_base, fontset_set): Likewise
9833
9834 * insdel.c (adjust_markers_for_record_delete): Deleted.
9835 (adjust_markers_for_insert): Argument changed. Caller changed.
9836 (adjust_markers_for_replace): Likewise.
52283633
SM
9837 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error)
9838 (CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
c9671f81
KH
9839 (copy_text): Delete unused local varialbe c_save. For converting
9840 to multibyte, be sure to make all 8-bit characters in valid
9841 multibyte form.
9842 (count_size_as_multibyte): Handle 8-bit characters correctly.
52283633
SM
9843 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9844 (adjust_after_replace, replace_range, del_range_2)
c9671f81 9845 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
52283633
SM
9846 (insert_1_both, insert_from_string_1, insert_from_buffer_1)
9847 (adjust_after_replace, replace_range, del_range_2) Delete codes for
c9671f81
KH
9848 handling byte combining.
9849 (adjust_before_replace): Deleted.
427ec082 9850
c9671f81
KH
9851 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
9852 SPLIT_NON_ASCII_CHAR.
9853 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
52283633 9854 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9855 (Fkey_description): Likewise.
9856
9857 * lread.c (read1): On reading multibyte string, be sure to make
9858 all 8-bit chararacters in valid multibyte form.
9859 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
9860
9861 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
9862 unconditionally.
9863
9864 * process.c (Fstart_process): GCPRO current_dir before calling
9865 Ffind_operation_coding_system. Encode arguments here.
9866 (create_process): Don't encode arguments here. Setup
9867 src_multibyte and dst_multibyte members of struct coding.
9868 (read_process_output): Setup src_multibyte and dst_multibyte
9869 members of struct coding. If the output is to multibyte buffer,
9870 always decode the output of the process. Adjust the
52283633 9871 representation of 8-bit characters to the multibyteness of the output.
c9671f81
KH
9872 (send_process): Setup coding->src_multibyte according to the
9873 multibyteness of the source.
9874
52283633 9875 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
c9671f81
KH
9876 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
9877 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
9878
52283633 9879 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of CHAR_LEN.
c9671f81
KH
9880
9881 * w16select.c (Fw16_set_clipboard_data): Setup members
9882 src_multibyte and dst_multibyte of coding. Adjusted for the
9883 change for find_charset_in_str.
9884 (Fw16_get_clipboard_data): Likewise.
9885
9886 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
9887 dst_multibyte of coding.
9888 (x_to_w32_font): Likewise.
9889
9890 * w32select.c (Fw32_set_clipboard_data): Setup members
9891 src_multibyte and dst_multibyte of coding. Adjusted for the
9892 change for find_charset_in_str.
9893 (Fw32_get_clipboard_data): Likewise.
9894
9895 * xdisp.c (get_next_display_element): Handle 8-bit characters
9896 correctly.
52283633
SM
9897 (next_element_from_display_vector): Use CHAR_BYTES instead of CHAR_LEN.
9898 (disp_char_vector): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
c9671f81
KH
9899
9900 * xselect.c (selection_data_to_lisp_data): Setup members
9901 src_multibyte and dst_multibyte of coding. Adjusted for the
9902 change for find_charset_in_str.
9903 (lisp_data_to_selection_data): Likewise.
9904
5f64c9e0
GM
99052000-05-19 Gerd Moellmann <gerd@gnu.org>
9906
52283633 9907 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed buffer.
2b63d473 9908
5f64c9e0
GM
9909 * dispextern.h (Vimage_types): Add extern declaration.
9910
9911 * xdisp.c (Vimage_types): Moved here from xfns.c.
9912 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
9913
9914 * xfns.c (Vimages_types): Moved to xdisp.c.
9915 (syms_of_xfns): Move `image-types' to xdisp.c.
9916
9917 * w32fns.c (Vimage_types): Removed.
9918 (syms_of_w32fns): Remove `image-types'.
9919
813086ea
KH
99202000-05-18 Kenichi Handa <handa@etl.go.jp>
9921
9922 * fns.c (map_char_table): Pay attention to character number of
9923 charset. Check the validity of charset at the first level. For
9924 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
9925 the default value.
9926
9927 * fontset.c: Include "buffer.h".
9928 (fs_load_font): If the face has fontset, record the face ID in
9929 that fontset.
9930 (Finternal_char_font): New function.
9931 (accumulate_font_info): New function.
9932 (Ffontset_info): Rewritten for the new fontset implementation.
9933 (syms_of_fontset): Register Vdefault_fontset in the first element
9934 of Vfontset_table. Include Vdefault_fontset in
9935 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
9936 function.
9937
bdaebbf0
DL
99382000-05-16 Dave Love <fx@gnu.org>
9939
9940 * m/iris5d.h: Deleted -- unused.
9941
cb613bb8
GM
99422000-05-16 Gerd Moellmann <gerd@gnu.org>
9943
b15f3b77
GM
9944 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
9945 `invalid' instead of `illegal'.
9946
9947 * indent.c (Fmove_to_column): When ending within a tab, insert
9948 spaces first so that markers at the end of the tab get adjusted.
9949
835c1b36
GM
9950 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
9951 buffer list that wasn't selected in that frame.
9952
cb613bb8
GM
9953 * filelock.c (get_boot_time): To obtain an 8 char file name, which
9954 is needed on mescaline, use a 2 char prefix, and call
9955 make_temp_name with second arg non-zero.
9956
9957 * fileio.c (make_temp_name): New function, extracted from
9958 Fmake_temp_name.
9959 (Fmake_temp_name): Use it.
9960
f685bea9
EZ
99612000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
9962
52283633 9963 * window.c (coordinates_in_window): Subtract 1 when computing right_x.
f685bea9 9964
a1b8d58b
GM
99652000-05-15 Gerd Moellmann <gerd@gnu.org>
9966
9967 * Makefile.in (lisp): Add env.elc.
9968
9969 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
9970
a265079f
GM
99712000-05-12 Gerd Moellmann <gerd@gnu.org>
9972
9973 * search.c (Freplace_match): Handle case of `\N' in the
9974 replacement when there's no group N.
9975
da4496b6
GM
99762000-05-11 Gerd Moellmann <gerd@gnu.org>
9977
0ace421a
GM
9978 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
9979 of the message to message_dolog.
9980
1172eb8d
GM
9981 * keyboard.c (read_char): Don't clear current message for help
9982 events; let the code handling help events handle this. Change
9983 code detecting help events that should be ignored.
9984
da4496b6
GM
9985 * xdisp.c (handle_single_display_prop): Don't try to set PT if
9986 we're interating over a string.
9987
0623e40f
DL
99882000-05-09 Dave Love <fx@gnu.org>
9989
9990 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
9991 that offset before writing. Move gcpro region past call of
9992 Ffile_regular_p.
9993
bae2503b
DL
99942000-05-04 Dave Love <fx@gnu.org>
9995
9996 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
9997
ec82fb2f
GM
99982000-05-04 Gerd Moellmann <gerd@gnu.org>
9999
10000 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
10001 of inserted characters when BUF equals the current buffer, and PT
10002 is in front of or equal to FROM.
10003
cbf18892
GM
100042000-05-03 Gerd Moellmann <gerd@gnu.org>
10005
4ff40dd0
GM
10006 * xdisp.c (handle_single_display_prop): If display property value
10007 is invalid, or something not supported on the frame, restore
10008 iterator's position to what it was initially. Make sure to return
10009 0 for invalid and unsupported property values.
10010
cbf18892
GM
10011 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
10012 that x_per_char_metric returns null.
10013
1b0672c3
GM
100142000-05-02 Gerd Moellmann <gerd@gnu.org>
10015
576da55d
GM
10016 * xterm.h (struct face): Add forward declaration.
10017 (struct image): Ditto.
10018 (image_ascent): Add prototype.
10019
10020 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
10021 (x_draw_image_relief, x_draw_image_foreground_1): Call function
10022 image_ascent instead of using IMAGE_ASCENT.
10023
10024 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
10025 (IMAGE_ASCENT): Removed.
10026
10027 * xfns.c (Qcenter): New variable.
10028 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
10029 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
10030 (image_ascent): New function.
10031 (lookup_image): Recognize `:ascent center'.
10032 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
10033 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
10034 (xbm_load): Don't set image's ascent here.
10035 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
10036 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
10037 check ascent values here.
10038 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
10039 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
10040 (syms_of_xfns): Initialize Qcenter.
10041
1b0672c3
GM
10042 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
10043 to the limits, increase the limits.
10044
0d7811ed
KH
100452000-05-01 Kenichi Handa <handa@etl.go.jp>
10046
10047 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
52283633 10048 Check Vfont_encoding_alist against the full name of the opened font.
0d7811ed 10049
a943a5ca
GM
100502000-04-28 Gerd Moellmann <gerd@gnu.org>
10051
10052 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
10053 taller than the window.
10054
5dba1e29
KH
100552000-04-28 Kenichi Handa <handa@etl.go.jp>
10056
10057 * xfaces.c (realize_x_face): Fix the argument of the second
10058 xassert. BASE_FACE may not be a face for ASCII.
10059
353964e3
GM
100602000-04-27 Gerd Moellmann <gerd@gnu.org>
10061
c76e04a8
GM
10062 * print.c (print_object): Treat print-length < 0 as nil.
10063
10064 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
10065
10066 * s/freebsd.h (TERMCAP_OBJ): Removed.
10067 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
10068
10069 * lread.c (read1): Don't treat period followed by certain
10070 characters as symbol start.
10071
10072 * xfns.c (slurp_file): New function.
10073 (xbm_image_p): Handle case of in-memory XBM files.
10074 (xbm_scan): Rewritten to work on memory buffers instead of files.
10075 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
10076 Work on memory buffers instead of files. If DATA is null test
10077 if buffer looks like an in-memory XBM file.
10078 (xbm_load_image): Renamed from xbm_load_image_file. Work on
10079 memory buffers instead of files.
10080 (xbm_file_p): New function.
10081 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
10082
353964e3
GM
10083 * lread.c (end_of_file_error): New function.
10084 (read1): Call it instead of signaling `end-of-file' directly.
10085
427ec082 10086 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
10087 with Fprinc instead of Fprin1.
10088
24d744ac
KR
100892000-04-26 Ken Raeburn <raeburn@gnu.org>
10090
10091 * window.c (freeze_window_start): Check that minibuffer scroll
10092 window isn't nil before extracting the window structure pointer
10093 from it.
10094
10095 * undo.c (record_delete): If we hit the end of the undo list, stop
10096 picking elements apart.
10097
7464346d
GM
100982000-04-26 Gerd Moellmann <gerd@gnu.org>
10099
10100 * xdisp.c (display_line): If lines are continued, restore
10101 iterator's ascent/descent information to the values before the
10102 first glyph not fitting on the line.
10103
612839b6
GM
101042000-04-25 Gerd Moellmann <gerd@gnu.org>
10105
10106 * xdisp.c (try_window_id) <all changes above window start>: Adjust
52283633 10107 positions in glyph matrix. Don't compute new window end positions.
612839b6
GM
10108
10109 * dispnew.c (increment_matrix_positions): Renamed from
10110 increment_glyph_matrix_buffer_positions.
10111 (increment_row_positions): Renamed from
10112 increment_glyph_row_buffer_positions.
10113
10114 * dispextern.h: Change names of renamed functions from dispnew.c
10115 in prototypes.
10116
cc181e95
GM
101172000-04-24 Gerd Moellmann <gerd@gnu.org>
10118
abfcc168
GM
10119 * fileio.c (Fdo_auto_save): Create directories for auto-save
10120 list file if necessary.
10121
cc181e95
GM
10122 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
10123 from buffer or frame.
10124 (automatic_hscrolling_p): New variable.
10125 (hscroll_windows): Scroll windows horizontally only if automatic
10126 hscrolling is allowed.
10127 (syms_of_xdisp): New variable `automatic-hscrolling'.
10128
10129 * frame.h (struct frame): Add member extra_line_spacing.
10130
10131 * xfns.c (x_set_line_spacing): New function.
10132 (Fx_create_frame): Set line spacing from resources.
10133 (Qline_spacing): New variable.
10134 (syms_of_xfns): Initialize Qline_spacing.
427ec082 10135
cc181e95
GM
10136 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
10137
10138 * buffer.c (init_buffer_once): Handle extra_line_spacing.
10139 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 10140 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
10141 extra_line_spacing from default value.
10142 (init_buffer_once): Initialize default value of extra_line_spacing.
10143
10144 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
10145 and extra3.
10146
10147 * xterm.c (x_produce_glyphs): Remove reference to struct it's
10148 prompt_width. Add extra line spacing.
10149
10150 * term.c (produce_glyphs): Remove reference to struct it's
10151 prompt_width.
10152
10153 * dispextern.h (struct it): Remove member prompt_width, add
10154 extra_line_spacing.
10155
58827478
GM
101562000-04-22 Gerd Moellmann <gerd@gnu.org>
10157
10158 * dispnew.c (update_frame_line): When writing a whole line, make
10159 sure cursor is in the right row afterwards, otherwise a use of
10160 capability `ch' in cmgoto might leave the cursor in the row below.
10161
25a87f42
GM
101622000-04-21 Gerd Moellmann <gerd@gnu.org>
10163
10164 * lisp.h (struct Lisp_Buffer_Cons): Remove.
10165
10166 * keyboard.c (timer_check): Fix typo in comment.
10167
54edf5c2
KH
101682000-04-21 Kenichi Handa <handa@etl.go.jp>
10169
10170 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
10171 name change: ch -> character.
10172
3a64eef5
GM
101732000-04-20 Gerd Moellmann <gerd@gnu.org>
10174
10175 * keyboard.c (echo_message_buffer): New variable.
10176 (echo_now): Set echo_message_buffer to the echo area buffer used
10177 to display the echo.
10178 (cancel_echoing): Reset echo_message_buffer to nil.
10179 (read_char): Code rewritten that handles canceling an echo or
10180 echoing a dash, respectively.
10181
10182 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
10183 directory doesn't exist.
10184
6142fdcb
DL
101852000-04-19 Dave Love <fx@gnu.org>
10186
10187 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
10188 (concat): Don't allow numeric args.
10189 (Fconcat): Doc change.
6142fdcb 10190
ac6b5352
SM
101912000-04-19 Stefan Monnier <monnier@cs.yale.edu>
10192
10193 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
10194 instead define end_match(1|2) more carefully.
10195 Use GET_CHAR_BEFORE_2 for `begline'.
10196
cb9215e4
GM
101972000-04-19 Gerd Moellmann <gerd@gnu.org>
10198
5e3dac3f
GM
10199 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
10200 on 64-bit systems where NULL is defined as `0'.
10201
10202 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
10203 the `variable argument list' to make it work on Alpha.
10204
cb9215e4
GM
10205 * m/alpha.h (_LP64) [!_LP64]: Define.
10206 (ORDINARY_LINK): Define for NetBSD.
10207
10208 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 10209
f532dca0
DL
102102000-04-19 Dave Love <fx@gnu.org>
10211
c750667e
DL
10212 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
10213 change.
10214
10215 * Makefile.in (LIBS): Don't use.
10216 (GETLOADAVG_OBJ): Define again.
10217 (otherobj): Add GETLOADAVG_OBJ.
10218
f532dca0
DL
10219 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
10220
1c7e22fd
GM
102212000-04-18 Gerd Moellmann <gerd@gnu.org>
10222
f6d3257b
GM
10223 * lread.c (read_filtered_event): Cancel and start busy cursor.
10224
427ec082 10225 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
10226 that the per-character metrics may be null.
10227
e10f64e7
GM
102282000-04-17 Gerd Moellmann <gerd@gnu.org>
10229
0daee095
GM
10230 * buffer.c (clone_per_buffer_values): New function.
10231 (Fmake_indirect_buffer): Add optional argument CLONE. Call
10232 clone_per_buffer_values if CLONE is not nil.
10233
e10f64e7
GM
10234 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
10235
38687d43
DL
102362000-04-16 Dave Love <fx@gnu.org>
10237
10238 * Makefile.in: Remove obsolete localcpp stuff.
10239 (GETLOADAVG_OBJ): Don't define.
10240 (obj): Move LIBOBJS...
10241 (otherobj): ... to here.
10242 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
10243 whitespace-only lines after the continuation (Irix).
10244
c21c7262
GM
102452000-04-14 Gerd Moellmann <gerd@gnu.org>
10246
10247 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
10248
10249 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
10250
314767c0
DL
102512000-04-14 Dave Love <fx@gnu.org>
10252
10253 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
10254 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
10255 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
10256 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
10257 NLIST_STRUCT.
10258
10259 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
10260 autoconfiscated HAVE_GETLOADAVG.
10261
10262 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
10263 BROKEN_MKTIME.
10264
a2522dca
GM
102652000-04-14 Gerd Moellmann <gerd@gnu.org>
10266
10267 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
52283633 10268 (fill_in_lock_file_name): Avoid existing files that aren't links.
a2522dca 10269
33744b5d
DL
102702000-04-14 Dave Love <fx@gnu.org>
10271
c21c7262 10272 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
10273 (INTERVAL_SRC): Convert to make variable.
10274 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
10275 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
10276 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
10277 add LIBOBJS.
10278 (SOME_MACHINE_OBJECTS): Remove interval stuff.
10279 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
10280 (shortlisp): Add facemenu, float-sup, frame.
10281 (SOME_MACHINE_LISP): Remove them from here.
10282 (LIBES): Change unused LDLIBS to autoconf LIBS.
10283
10284 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
10285
9d3d5916
KH
102862000-04-14 Kenichi Handa <handa@etl.go.jp>
10287
10288 * composite.c (update_compositions): If FROM and TO are not in a
10289 valid range, do nothing.
10290
198e3c7a
GM
102912000-04-13 Gerd Moellmann <gerd@gnu.org>
10292
52283633 10293 * tparam.c (tparam1): Abort when encountering an unknown `%'-specifier.
198e3c7a 10294
52283633 10295 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as terminfo.o.
198e3c7a
GM
10296
10297 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
10298 as TERMCAP_OBJ.
10299
055a28c9
EZ
103002000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
10301
10302 * fileio.c (a_write): Remove redundant semi-colons.
10303 (e_write): Return -1 if failed to write all the data.
10304 This fixes the changes made at 1999-12-15.
10305
f5c75033
DL
103062000-04-12 Dave Love <fx@gnu.org>
10307
10308 * fns.c (mapcar1): Test for null vals to support mapc.
10309 (Fmapc): New function.
10310
0c3cfc51
EZ
103112000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
10312
10313 * msdos.c (NUM_MOUSE_BUTTONS): Define.
10314 (IT_frame_up_to_date): Support the buffer local value of
10315 cursor-type, if defined.
10316
33465a31
DL
103172000-04-10 Dave Love <fx@gnu.org>
10318
10319 * editfns.c (preceding-char, following-char): Doc fix.
10320
6ed56568
KR
103212000-04-10 Ken Raeburn <raeburn@gnu.org>
10322
10323 * Makefile.in (temacs): Revert 2000-03-12 change.
10324
7cf80d4e
JR
103252000-04-10 Jason Rumney <jasonr@gnu.org>
10326
10327 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
10328
34f3f342
GM
103292000-04-10 Gerd Moellmann <gerd@gnu.org>
10330
1a1b1895
GM
10331 * xdisp.c (setup_echo_area_for_printing): Choose an echo
10332 area buffer, if it's not set up yet.
10333
34f3f342
GM
10334 * indent.c (compute_motion): Set immediate_quit.
10335
be0dbdab
GM
103362000-04-09 Gerd Moellmann <gerd@gnu.org>
10337
52283633 10338 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New variable.
c45be9ac
GM
10339 (realize_tty_face): Suppress boldness if colors are the inverse of
10340 the default colors, and tty_suppress_bold_inverse_default_colors_p
10341 is set.
10342 (Ftty_suppress_bold_inverse_default_colors): New function.
10343 (syms_of_xfaces): Defsubr it.
10344
be0dbdab
GM
10345 * buffer.c (Frestore_buffer_modified_p): New function.
10346 (syms_of_buffer): Defsubr it.
10347
e8413c3b
KR
103482000-04-08 Ken Raeburn <raeburn@gnu.org>
10349
87f67317
KR
10350 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
10351 charset id (int) argument, not a charset (Lisp_Object).
10352
e8413c3b
KR
10353 * coding.h (code_convert_string): Declare.
10354 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
10355 object, as the fourth argument to code_convert_string.
10356
52283633 10357 * fontset.c (make_fontset_for_ascii_face): Use XINT on return value.
e8413c3b
KR
10358 (Fset_fontset_font): Use EQ to compare lisp objects.
10359
7c752c80
KR
103602000-04-05 Ken Raeburn <raeburn@gnu.org>
10361
c0333abc
KR
10362 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
10363 a pointer that looks like a lisp object.
10364 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
10365 zero, instead see whether it's an integer object, since they can't
10366 have intervals.
10367 (GET_INTERVAL_OBJECT): Simply assign to the destination.
10368
52283633
SM
10369 * dispnew.c (allocate_matrices_for_frame_redisplay)
10370 (direct_output_forward_char): Use X(U)INT and make_number as needed
7c752c80
KR
10371 to convert between (unsigned) int values and lisp integers.
10372 * keyboard.c (read_key_sequence): Likewise.
10373 * lread.c (substitute_object_recurse): Likewise.
10374 * fns.c (concat, hash_lookup, hash_remove): Likewise.
52283633
SM
10375 * minibuf.c (do_completion, Fminibuffer_complete_word)
10376 (Fminibuffer_completion_help): Likewise.
7c752c80
KR
10377 * term.c (produce_special_glyphs): Likewise.
10378
10379 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
10380 * print.c (print_preprocess, print_object): Likewise.
10381
10382 * search.c (compile_pattern): Use NILP when checking for nil.
10383
74e49b38
KR
10384 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
10385 __OPTIMIZE__]: Provide a GNU C macro version that handles
10386 lisp-object unions.
10387 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
10388 field, to better cope with ENABLE_CHECKING and calls that modify a
10389 Lisp_Object using its old value.
10390
685e5ed2
GM
103912000-04-04 Gerd Moellmann <gerd@gnu.org>
10392
c407c570
GM
10393 * window.c (compare_window_configurations): Signal an error
10394 if parameters C1 or C2 aren't window configurations.
10395
685e5ed2
GM
10396 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
10397 AFTER_POTENTIAL_GC calls around calls to functions that can
10398 signal an error and thus invoke the debugger.
10399
587a49ab
GM
104002000-04-03 Gerd Moellmann <gerd@gnu.org>
10401
62f20204
GM
10402 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
10403 an error if decoding fails.
10404
587a49ab
GM
10405 * keyboard.c (lispy_mouse_names): Variable removed.
10406 (Vlispy_mouse_stem): New variable.
10407 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
10408 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
10409 for any mouse button number. Increase size of mouse_syms and
10410 button_down_location as needed. Call modify_event_symbol with
10411 different arguments.
10412 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
10413 Call modify_event_symbol with different arguments.
10414 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
10415 for any button number. Call modify_event_symbol with different
10416 arguments.
10417 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
10418 Accept a string for NAME_ALIST_OR_STEM.
10419
10420 * lisp.h (larger_vector): Add prototype.
10421
10422 * fns.c (larger_vector): Make externally visible.
10423
10424 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
10425
2d1675e4
SM
104262000-04-02 Stefan Monnier <monnier@cs.yale.edu>
10427
10428 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
10429 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
10430 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
10431 we are between str1 and str2.
10432 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
10433 (PATFETCH): Use `TRANSLATE'.
10434 (PATFETCH_RAW): Fetch multibyte char if applicable.
10435 (PATUNFETCH): Remove.
10436 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
10437 When writing a char, write it directly into the pattern buffer rather
10438 than going needlessly through a temp char-array.
10439 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
10440 multibyte magic and remove the useless `#ifdef emacs'.
10441 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
10442 buffer.
10443
10444 * regex.h (struct re_pattern_buffer): Make field `multibyte'
10445 conditional on `emacs'.
10446
10447 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
10448
cc2d8c6b
KR
104492000-04-01 Ken Raeburn <raeburn@gnu.org>
10450
10451 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
10452 non-union-type versions of XMARK and friends here, because XMARK
10453 and friends won't work on an integer field if NO_UNION_TYPE is not
10454 defined.
52283633 10455 (make_number): Define as a function if it's not defined as a macro.
cc2d8c6b 10456
52283633 10457 * composite.c (run_composite_function): Use NILP when checking for nil.
09654086
KR
10458 (syms_of_composite): Delete local var NARGS, pass an int as first
10459 argument to Fmake_hash_table.
10460
2387b382
KR
10461 * editfns.c (text_property_stickiness): Use NILP to test
10462 Lisp_Object boolean value.
10463 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
10464 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
10465 problems reading from and changing the same lisp value in an
10466 XSETSTRING call.
10467
27660e89
GM
104682000-04-01 Gerd Moellmann <gerd@gnu.org>
10469
10470 * term.c (TN_no_color_video): New variable.
10471 (term_init): Intitialize TN_no_color_video.
10472 (enum no_color_bit): New enumeration.
10473 (MAY_USE_WITH_COLORS_P): New macro.
10474 (turn_on_face): Use it to determine if attributes may be used
10475 combined with colors.
10476
3578db3c
KR
104772000-04-01 Ken Raeburn <raeburn@gnu.org>
10478
10479 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
52283633 10480 with int lvalues via casts; instead, just yield lisp object lvalues.
3578db3c
KR
10481 (enlarge_window): Variable sizep now points to Lisp_Object. Use
10482 proper accessor macros.
10483 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
10484 (grow_mini_window): Fix typo getting int value of root->height.
10485
6fc556fd
KR
10486 * xdisp.c (compute_string_pos): Fix order of arguments to
10487 string_pos_nchars_ahead.
10488 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
10489 count arg to variable-arg routines like Frun_hook_with_args and
10490 Fformat.
587a49ab
GM
10491 (back_to_previous_visible_line_start)
10492 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
10493 fixed-arg routines like Fget_char_property and Fmake_string.
10494 (reconsider_clip_changes): Use XINT when comparing integer lisp
10495 objects, or passing them as int arguments.
587a49ab
GM
10496 (mark_window_display_accurate, insert_left_trunc_glyphs)
10497 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
10498 storing or passing integer values as lisp objects.
10499 (set_cursor_from_row, highlight_trailing_whitespace): Use
10500 INTEGERP, not implicit test against zero, for glyph object.
10501 (try_window_id): Don't use make_number when we want an int value.
10502
10503 * xfaces.c (xlfd_symbolic_value): Make last argument a
10504 Lisp_Object, to be consistent with callers.
10505 (Fbitmap_spec_p): Use XINT to get numeric value of height.
10506 (lface_hash): Apply XFASTINT to lisp values before folding in.
10507
10508 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
10509 fill in window width and height. Pass an int, not a lisp object,
10510 as first arg to Finsert.
10511
6e7b2457
GM
105122000-04-01 Gerd Moellmann <gerd@gnu.org>
10513
610d841e
GM
10514 * xfaces.c (realize_basic_faces): Block input while realizing
10515 the faces.
10516
6e7b2457
GM
10517 * keyboard.c (lispy_mouse_names): Add additional mouse names.
10518
10519 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
10520
aa110c0c
GM
105212000-03-31 Gerd Moellmann <gerd@gnu.org>
10522
10523 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 10524 or ASCII, handle case that per-char metric is null.
aa110c0c 10525
8801a864
KR
105262000-03-30 Ken Raeburn <raeburn@gnu.org>
10527
c6129d7e
KR
10528 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
10529
52283633
SM
10530 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW)
10531 (XSUBR, XBUFFER): Verify correct object type before returning
8801a864
KR
10532 pointer, using eassert.
10533 * frame.h (XFRAME): Likewise.
10534
52283633
SM
10535 * buffer.c (Frename_buffer, Fset_buffer_multibyte)
10536 (swap_out_buffer_local_variables, Fmove_overlay): Don't apply
10537 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong type.
8801a864 10538 * data.c (set_internal): Likewise.
52283633
SM
10539 * dispextern.h (WINDOW_WANTS_MODELINE_P)
10540 (WINDOW_WANTS_HEADER_LINE_P): Likewise.
8801a864
KR
10541 * fileio.c (auto_save_1): Likewise.
10542 * insdel.c (check_markers): Likewise.
10543 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
10544 * undo.c (record_insert): Likewise.
10545 * vmsproc.c (child_sig): Likewise.
10546 * window.c (unshow_buffer, window_loop): Likewise.
10547 * xterm.c (x_erase_phys_cursor): Likewise.
10548
8e7af858
GM
105492000-03-30 Gerd Moellmann <gerd@gnu.org>
10550
10551 * xfns.c (free_image_cache): Free the cache structure itself
10552 last, after all its members have been freed.
10553
10554 * lisp.h (xstrdup): Add prototype.
10555
10556 * alloc.c (xstrdup): Moved here from xfaces.c.
10557 (allocating_for_lisp): Variable removed.
52283633 10558 (lisp_malloc): Block input around the calls to malloc and mem_insert.
8e7af858
GM
10559
10560 * xfaces.c (realize_tty_face): Use find_symbol_value instead
10561 of Fsymbol_value.
10562 (xstrdup): Moved to alloc.c.
10563
e0b8c689
KR
105642000-03-29 Ken Raeburn <raeburn@gnu.org>
10565
b96f9fb7
KR
10566 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
10567
10568 * emacs.c (main): Fix sense of no-loadup test.
10569
e0b8c689
KR
10570 * config.in (ENABLE_CHECKING): Undef.
10571
10572 * lisp.h (struct interval): Replace "parent" field with a union of
10573 interval pointer and Lisp_Object; add new bitfield to use as
10574 discriminant. Change other flag fields to bitfields.
10575 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
52283633
SM
10576 is defined and the supplied test fails, print a message and abort.
10577 (eassert): New macro. Use CHECK to provide an assert-like facility.
e0b8c689
KR
10578
10579 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
10580 pointers; abort if the value looks like a lisp object.
52283633
SM
10581 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT)
10582 (SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
e0b8c689
KR
10583 Modify for new interval parent definition.
10584
52283633
SM
10585 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE)
10586 (UNMARK_BALANCE_INTERVALS): Update references that need an
e0b8c689
KR
10587 addressable lisp object in the interval structure.
10588 (die): New function.
10589 (suppress_checking): New variable.
10590
10591 * intervals.c (interval_start_pos): Just return 0 if there's no
10592 parent object.
10593
f83c5440
GM
105942000-03-29 Gerd Moellmann <gerd@gnu.org>
10595
10596 * lread.c (read1): Accept `.' (period) as symbol start like in CL
10597 and earlier Emacs versions.
10598
10599 * keyboard.c (Ftop_level): Cancel busy-cursor.
10600
10601 * eval.c (call_debugger): Cancel busy-cursor.
10602
fdce64ff
KH
106032000-03-29 Kenichi Handa <handa@etl.go.jp>
10604
10605 * search.c (Freplace_match): Adjust multibyteness of the current
52283633 10606 buffer and NEWTEXT. Free allocated memory before signaling an error.
fdce64ff 10607
f6a3f532
SM
106082000-03-28 Stefan Monnier <monnier@cs.yale.edu>
10609
10610 * regex.c (analyse_first): New function obtained by ripping out most
10611 of re_compile_fastmap and generalizing it a little bit so that it
10612 can also just return whether a given (sub)pattern can match the empty
10613 string or not.
10614 (regex_compile): Use `analyse_first' to decide whether the loop-check
10615 needs to be done or not for *, +, *? and +? (the loop check is costly
10616 for non-greedy repetition).
10617 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
10618
e9b309ac
DL
106192000-03-28 Dave Love <fx@gnu.org>
10620
52283633 10621 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k, alpha.
bb15bd9a 10622
e9b309ac
DL
10623 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
10624
ed0767d8
SM
106252000-03-27 Stefan Monnier <monnier@cs.yale.edu>
10626
10627 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
10628 an expression.
10629 (enum re_opcode_t): Update description of succeed_n.
10630 (PATFETCH): Always define.
10631 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
10632 operators, char classes, shy-groups and intervals).
10633 Optimize special cases of intervals so as to only use succeed_n and
10634 jump_n when really needed.
10635 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
10636 that we don't have to handle the special cases any more.
10637 Simplify on_failure_jump handling as well.
10638
e11e7e46
JR
106392000-03-28 Jason Rumney <jasonr@gnu.org>
10640
10641 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
10642
88faab89
GM
106432000-03-27 Gerd Moellmann <gerd@gnu.org>
10644
182ff242
GM
10645 * s/freebsd.h (GC_SETJMP_WORKS): Define.
10646
10647 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 10648
182ff242
GM
10649 * alloc.c (mark_maybe_object): New function.
10650 (mark_memory): Use it.
10651 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
10652 (setjmp_tested_p, longjmp_done): New variables.
10653 (test_setjmp): New function.
10654 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
10655 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
10656
c1005d06
GM
10657 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
10658 to DEC_TEXT_POS and INC_TEXT_POS.
10659
10660 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
10661 with parameter MULTIBYTE_P.
10662
52283633 10663 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter MULTIBYTE_P.
c1005d06 10664
7439e5b9 10665 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
10666 buffers because it looks for multibyte character byte sequences
10667 which don't exist in unibyte text.
7439e5b9 10668
d9c545da
GM
10669 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
10670
11fd416e 10671 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
10672 [DEBUG_X_COLORS]: New functions.
10673 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
10674
10675 * xfns.c (x_set_cursor_color): Get color reference counts right.
10676
10677 * xterm.c (x_copy_color): New function.
10678 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
10679
10680 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
10681 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
10682 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
10683 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
10684 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
10685 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
10686 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
10687 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
10688 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
10689 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
10690
11fd416e
GM
10691 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
10692 names for handling per-buffer variables.
d9c545da
GM
10693
10694 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
10695 instead of MAX_BUFFER_LOCAL_VARS.
10696 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
10697
10698 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
10699
88faab89
GM
10700 * xfns.c (x_specified_cursor_type): New function.
10701 (x_set_cursor_type): Use it.
10702
10703 * buffer.h (struct buffer): Add cursor_type.
10704
d80f42b7
SM
107052000-03-26 Stefan Monnier <monnier@cs.yale.edu>
10706
10707 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
52283633
SM
10708 (print_partial_compiled_pattern, re_compile_fastmap):
10709 Handle new opcode.
d80f42b7
SM
10710 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
10711 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
10712 executing it as well as when popping it off the stack to find infinite
10713 loops in non-greedy repetition operators.
10714
89e80928
GM
107152000-03-26 Gerd Moellmann <gerd@gnu.org>
10716
3d4ff2dd
GM
10717 * doc.c (Qfunction_documentation): New variable.
10718 (syms_of_doc): Initialize Qfunction_documentation.
10719 (Fdocumentation): If FUNCTION is a symbol with non-nil
10720 `function-documentation' property, return a documentation derived
10721 from that.
10722
bd96bd79
GM
10723 * buffer.c (syms_of_buffer): Add default-cursor-type.
10724 (init_buffer_once): Don't let cursor_type have a local value
10725 in every buffer.
10726
19d1bc27
GM
10727 * xterm.c (x_display_and_set_cursor): Choose cursor depending
10728 on buffer-local value of cursor_type.
10729 (x_draw_bar_cursor): Add parameter WIDTH.
10730
10731 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
10732 (init_buffer_once): Set default cursor_type value to t.
10733 Mark cursor_type as local everywhere.
10734 (syms_of_buffer): New per-buffer variable cursor-type.
10735
89e80928
GM
10736 * buffer.h (struct buffer): Remove member local_var_flags,
10737 add local_flags.
10738 (MAX_BUFFER_LOCAL_VARS): New macro.
10739 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
10740 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
10741 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
10742 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
10743
52283633 10744 * print.c (print_object): Use new macros for per-buffer variables.
89e80928
GM
10745
10746 * category.c (Fset_category_table): Use new macros for per-buffer
10747 variables.
10748
10749 * buffer.c (buffer_permanent_local_flags): Make a char array.
10750 (max_buffer_local_idx): New variable.
10751 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
10752 for new handling of per-buffer variables.
10753 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
10754 (init_buffer_once): Initialize per-buffer vars differently.
10755 Set max_buffer_local_idx.
10756
10757 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
10758 variables.
10759
52283633 10760 * lread.c (defvar_per_buffer): Use new macros for per-buffer variables.
89e80928
GM
10761
10762 * data.c (do_symval_forwarding, store_symval_forwarding)
10763 (find_symbol_value, set_internal, default_value, Fset_default)
10764 (Fkill_local_variable, Flocal_variable_p): Use new macros for
10765 per-buffer variables.
10766
10767 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
10768
9a0dd3dc
GM
107692000-03-24 Gerd Moellmann <gerd@gnu.org>
10770
b68c375f
GM
10771 * xterm.c (x_term_init): Unblock input around call1 of
10772 Qvendor_specific_keysyms.
10773
9a0dd3dc
GM
10774 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
10775 (find_defun_start): Consider an open parenthesis in column 0
10776 a defun start only if open_paren_in_column_0_is_defun_start is set.
10777 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
10778
7973e637
SM
107792000-03-24 Stefan Monnier <monnier@cs.yale.edu>
10780
10781 * eval.c (Fautoload): Add entry in load-history (if after dump).
10782 * lread.c (load-history): Update docstring.
10783
39210e90
GM
107842000-03-24 Gerd Moellmann <gerd@gnu.org>
10785
10786 * indent.c (Fvertical_motion): Always use the current buffer.
10787 Temporarily change the window's buffer, if necessary.
10788
72db3ab5
GM
107892000-03-23 Gerd Moellmann <gerd@gnu.org>
10790
10791 * xterm.c (fast_find_position): Make sure not to consider rows
10792 not visible in the window.
10793
990b2375
SM
107942000-03-22 Stefan Monnier <monnier@cs.yale.edu>
10795
10796 * regex.c (enum syntaxcode): Provide default for non-Emacs.
10797 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
10798
ff4df011
JR
107992000-03-22 Jason Rumney <jasonr@gnu.org>
10800
10801 * w32menu.c (single_submenu): Set help string to NULL if none.
10802 (w32_menu_show): Set help string correctly.
10803 (add-menu-item): Set help string in MIIM_DATA for menu item.
10804 Load SetMenuItemInfoA explicitly.
10805 (w32_menu_display_help): New function.
427ec082 10806
ff4df011
JR
10807 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
10808 (QCdata): Moved to xdisp.c.
10809
10810 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
10811 (Vw32_charset_to_codepage_alist): Removed.
10812 (Vw32_charset_info_alist): New variable.
52283633
SM
10813 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312)
10814 (chinesebig5, oem, easteurope, turkish, baltic, russian, arabic)
10815 (greek, hebrew, thai, johab, mac, unicode]): New symbols.
ff4df011
JR
10816 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
10817 with TODO comment.
10818 (w32_codepage_for_font): Use Vw32_charset_info_alist.
10819 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
10820 Define Vw32_charset_info_alist and w32_charset symbols.
10821
108222000-03-22 Jason Rumney <jasonr@gnu.org>
10823
10824 * makefile.nt (w32bdf.obj): Update dependencies.
10825
10826 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
10827
10828 * w32fns.c: Include fontset.h after dispextern.h.
10829 (Fx_create_frame): Do not create fontset.
10830 (w32_load_system_font): Doc fix.
10831 (Fx_close_connection): Free full_name if it is not shared.
10832
10833 * w32term.c: Include fontset.h after dispextern.h.
52283633
SM
10834 (x_get_glyph_face_and_encoding): New parameter two_byte_p.
10835 Callers updated.
ff4df011
JR
10836 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
10837 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
10838 (w32_font_is_double_byte): New function, needs body.
10839 (x_append_glyph): Set glyph->glyph_not_available_p.
10840 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
10841 it->charset. If it->multibyte_p is zero and it->c is a multibyte
10842 character, convert it to a unibyte character.
10843 (struct glyph_string): Delete member `charset'.
10844 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
10845 calculating it is found.
10846 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
10847 the case that per char metric is not available correctly.
10848 (x_fill_glyph_string): Handle the case that the specific glyph is
10849 not available correctly.
10850 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
10851 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
10852 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
10853 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
10854 fontset. Don't call FS_LOAD_FONT.
10855
439d5cb4
KR
108562000-03-22 Ken Raeburn <raeburn@gnu.org>
10857
10858 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
10859 (INT_LISPLIKE): New macro.
10860 (NULL_INTERVAL_P): Use it.
52283633
SM
10861 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT)
10862 (SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT)
10863 (GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
439d5cb4
KR
10864
10865 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
10866 explicit references to "parent" field of struct interval and
10867 associated unclean type conversions.
52283633
SM
10868 * intervals.c (create_root_interval, root_interval, rotate_right)
10869 (rotate_left, balance_possible_root_interval, split_interval_right)
10870 (split_interval_left, interval_start_pos, find_interval)
10871 (next_interval, previous_interval, update_interval)
10872 (adjust_intervals_for_insertion, delete_node, delete_interval)
10873 (adjust_intervals_for_deletion, merge_interval_right)
10874 (merge_interval_left, reproduce_tree, graft_intervals_into_buffer)
10875 (copy_intervals_to_string): Likewise.
439d5cb4
KR
10876 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
10877 Likewise.
10878 * syntax.c (update_syntax_table): Likewise.
10879
10880 * intervals.c (reproduce_tree_obj): New function, like
10881 reproduce_tree but takes a Lisp_Object for the parent. Declare
10882 with prototype.
10883 (graft_intervals_into_buffer): Use it when appropriate.
10884 (reproduce_tree): Declare with prototype.
10885 (balance_possible_root_interval): Check that the parent is a lisp
10886 object before trying to examine its type.
10887
ee1c5b21
GM
108882000-03-22 Gerd Moellmann <gerd@gnu.org>
10889
10890 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
10891 as strings only if both are known to be strings.
10892
10893 * s/openbsd.h (LIBS_TERMCAP): Undef.
10894
1fb352e0
SM
108952000-03-21 Stefan Monnier <monnier@cs.yale.edu>
10896
10897 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
10898 definitions for non-Emacs compilation.
10899 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
10900 outside of `#ifdef emacs'.
10901 (print_partial_compiled_pattern): Update.
10902 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
10903 (re_compile_fastmap): Merge handling of charset and charset_not (for
10904 emacs and non-emacs compilation as well).
10905 Similarly for (not)categoryspec and (not)syntaxspec.
10906 Don't use the fastmap when reaching `anychar' since the added
10907 complexity is not justified.
10908 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
10909 and (not)syntaxspec. Merge (not)categoryspec.
10910
fdaa1f77
KH
109112000-03-22 Kenichi Handa <handa@etl.go.jp>
10912
52283633
SM
10913 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P)
10914 (FACE_FOR_CHAR): Define them differently for the configuration of
ff1a0d8e 10915 --without-x.
fdaa1f77 10916
d152fb46
DL
109172000-03-21 Dave Love <fx@gnu.org>
10918
10919 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
10920 doc string.
10921
d2cafc8c
GM
109222000-03-21 Gerd Moellmann <gerd@gnu.org>
10923
10924 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
10925 (lface_fully_specified_p): Don't check contents of
10926 LFACE_FONT_INDEX because that attribute is optional.
10927 (realize_x_face): Remove now unwarranted xassert.
10928
9111d4b5
KH
109292000-03-21 Kenichi HANDA <handa@etl.go.jp>
10930
10931 The following changes are to make font selection based on
10932 characters, not charset. In addition, they recover fontset
10933 facilities while utilizing the new font selection mechanism.
10934
6c4bfdc0
KH
10935 * Makefile.in (fontset.o): Depend on dispextern.h.
10936
10937 * alloc.c (mark_face_cache): Don't mark face->registry.
10938
9111d4b5
KH
10939 * dispextern.h (struct glyph): New member glyph_not_available_p.
10940 Use 22 bits for face_id.
10941 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
10942 (struct face): Delete member registry, new member ascii_face.
10943 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
10944 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
10945 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
52283633 10946 (struct it): Delete member charset, new member glyph_not_available_p.
9111d4b5
KH
10947
10948 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
10949 (struct fontset_info, struct fontset_data): Structs removed.
52283633
SM
10950 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset)
10951 (Vglobale_fontset_alist, font_idx_temp): Externs removed.
9111d4b5 10952 (fs_load_font, fs_query_fontset): Adjusted for new argument.
52283633
SM
10953 (fs_free_face_fontset, fontset_font_pattern)
10954 (face_suitable_for_char_p, face_for_char)
10955 (make_fontset_for_ascii_face): Extern them.
9111d4b5
KH
10956 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
10957 (FS_LOAD_FACE_FONT): New macro.
10958
10959 * fontset.c: All codes rewritten or adjusted for the change of
10960 fontset implementation. Now fontset is represented by char table.
52283633
SM
10961 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl):
10962 Variables removed.
9111d4b5 10963 (my_strcasecmp): Function removed.
52283633 10964 (Vfontset_table, next_fontset_id, Vdefault_fontset): New variables.
9111d4b5 10965 (AREF, ASIZE): New macros.
52283633
SM
10966 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME)
10967 (FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF)
10968 (FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
10969 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset)
10970 (fontset_id_valid_p, font_family_registry, fontset_name)
10971 (fontset_ascii, free_face_fontset, face_suitable_for_char_p)
10972 (face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9111d4b5
KH
10973 New functions.
10974 (fs_load_font): New arg FACE. Caller changed.
10975 (fs_query_fontset): Argument changed. Caller changed.
10976 (Fquery_fontset): call fs_query_fontset.
10977 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
10978 Functions removed.
52283633
SM
10979 (clear_fontset_elements, check_registry_encoding)
10980 (check_fontset_name): New functions.
9111d4b5
KH
10981 (syms_of_fontset): Set char-table-extra-slots property of fontset
10982 to 3. Staticpro and initialize Vfontset_table and
10983 Vdefault_fontset. Defsubr fontset_font and fontset_list.
10984
10985 * frame.h (struct frame): Member `fontset_data' removed.
10986 (FRAME_FONTSET_DATA): Macro removed.
10987
10988 * frame.c (make_frame): Don't allocate f->fontset_data.
10989 (Fdelete_frame): Don't free f->fontset_data.
10990
6c4bfdc0
KH
10991 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
10992
9111d4b5
KH
10993 * xdisp.c (charset_at_position): Function removed.
10994 (init_iterator): Don't set member charset of struct `it'.
52283633
SM
10995 (handle_face_prop, reseat_to_string, set_iterator_to_next)
10996 (next_element_from_display_vector, insert_left_trunc_glyphs):
9111d4b5
KH
10997 Likewise.
10998 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
10999 FACE_FOR_CHARSET.
52283633
SM
11000 (get_next_display_element, append_space)
11001 (extend_face_to_end_of_line): Likewise.
9111d4b5
KH
11002
11003 * xfaces.c (Qx_charset_registry, Vface_default_registry):
11004 Variables removed.
11005 (clear_font_table, frame_update_line_height, load_face_font):
11006 Adjusted for the change of fontset implementation.
11007 (load_face_fontset_font): Function removed.
11008 (pixel_point_size): New function.
11009 (font_list): Argument type changed. Caller changed.
11010 (LFACE_FONT): New macro.
11011 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
11012 (set_lface_from_font_name): Type of arg FONTNAME is changed to
11013 Lisp_Object. Determine the font name by actually loading a font
11014 by the specified pattern. Set LFACE_FONT (lface) to the specified
11015 pattern. Even if a font is not found, don't try alternatives.
11016 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
11017 (set_font_frame_param): If `font' is specified in lface, use it.
11018 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
11019 (lface_same_font_attributes_p): Likewise.
11020 (make_realized_face): Arguent changed. Caller changed. Set
11021 face->ascii_face to face itself.
11022 (free_realized_face): Free face->fontset if face is for ASCII.
52283633
SM
11023 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p)
11024 (deduce_unibyte_registry, x_charset_registry): Functions removed.
9111d4b5
KH
11025 (free_realized_multibyte_face): New function.
11026 (lookup_face, lookup_named_face, lookup_derived_face): Argument
11027 changed. Caller changed.
11028 (try_font_list): Argument type changed.
11029 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
11030 (choose_face_font): Argument changed. Handle fontset properly.
11031 (choose_face_fontset_font): Function removed.
11032 (realize_default_face, realize_named_face): Don't remove the
11033 former face here.
11034 (realize_face): Argument changed. Caller changed. Remove face
52283633 11035 with the arg former_face_id in advance. Load font for the new face.
9111d4b5
KH
11036 (realize_x_face): Argument changed. Caller changed. For a
11037 multibyte character, share fontset with base_face. For a single
52283633 11038 byte character, make a new realized fontset. Don't load a font here.
9111d4b5
KH
11039 (realize_tty_face): Argument changed. Caller changed.
11040 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
11041 (face_at_buffer_position): Don't check multibyte_p for returning
11042 DEFAULT_FACE_ID.
11043 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
11044 FACE_SUITABLE_FOR_CHARSET_P.
11045 (syms_of_xfaces): Remove code for Qx_charset_registry and
11046 Vface_default_registry.
11047
6c4bfdc0
KH
11048 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
11049 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
11050 (x_per_char_metric): Don't try FONT->default_char. Even if
11051 pcm->width is zero, glyph bits may exist.
11052 (x_encode_char): Always initialize char2b->byte1.
11053 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
52283633 11054 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller changed.
9111d4b5
KH
11055 (x_append_glyph): Set glyph->glyph_not_available_p.
11056 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
11057 it->charset. Handle the case that per char metric is not
11058 available. If it->multibyte_p is zero and it->c is a multibyte
11059 character, convert it to a unibyte character.
11060 (struct glyph_string): Delete member `charset'.
11061 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
11062 the case that per char metric is not available correctly.
11063 (x_fill_glyph_string): Handle the case that the specific glyph is
11064 not available correctly.
11065 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
11066 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
11067 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
11068 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
11069 fontset. Don't call FS_LOAD_FONT.
11070
11071 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
11072 (x_create_tip_frame): Likewise.
11073 (Fx_close_connection): Free full_name of font_info.
11074
11075 * fns.c (optimize_sub_char_table): New function.
11076 (Foptimize_char_table): New function.
11077 (syms_of_fns): Defsubr Soptimize_char_table.
11078
b33dd3b0
GM
110792000-03-20 Gerd Moellmann <gerd@gnu.org>
11080
11081 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
11082 only if buffer is displayed in some window.
11083
11084 * xdisp.c (handle_single_display_prop): Initialize local `value'.
11085 (try_window_reusing_current_matrix): Don't call scroll run
11086 function if run's current and desired position are the same;
11087 this prevents cursor flickering.
11088
4e8a9132
SM
110892000-03-19 Stefan Monnier <monnier@cs.yale.edu>
11090
11091 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
11092
11093 * regex.c (RE_STRING_CHAR): New macro.
11094 (GET_CHAR_AFER_2): Remove.
11095 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
11096 (enum re_opcode_t): Remove on_failure_jump_exclusive.
11097 (print_partial_compiled_pattern, re_compile_fastmap)
11098 (re_match_2_internal): Remove on_failure_jump_exclusive.
11099 (regex_compile): Turn optimizable P+ loops into PP*, so that the
11100 optimization only need to work for * (ie. can use of_keep_string_jump).
11101 Remove the special case for .*\n since it is now covered by the general
11102 optimization.
11103 (re_search_2): Don't bother with `room'.
11104 (skip_one_char): New function.
11105 (skip_noops): Simplify since `memory' is not needed any more.
11106 (mutually_exclusive_p): Restructure slightly to use `switch' and
11107 add handling for "all" remaining cases.
11108 (re_match_2_internal): Change on_failure_jump_smart to use
11109 on_failure_keep_string_jump (and redirect the end-of-loop jump)
11110 rather than on_failure_jump_exclusive.
11111
2136fdd4
GM
111122000-03-19 Gerd Moellmann <gerd@gnu.org>
11113
11114 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
11115 number of bits per RGB because it's everywhere used as the depth
11116 of the visual.
11117
11118 * term.c (calculate_costs): Remove code dealing with X frames.
11119
18e21ce8 111202000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
11121
11122 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
11123
d7b511c4
GM
111242000-03-18 Gerd Moellmann <gerd@gnu.org>
11125
11126 * lread.c (read_integer): Unread the last char not consumed.
11127
16b5d424
GM
111282000-03-17 Gerd Moellmann <gerd@gnu.org>
11129
11130 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 11131 which are in the process of being deleted.
16b5d424 11132
1fa28578
GM
111332000-03-16 Gerd Moellmann <gerd@gnu.org>
11134
83488cce
GM
11135 * Makefile.in (mostlyclean): Add `*.core'.
11136 (clean): Add `bootstrap-emacs'.
11137
1fa28578
GM
11138 * lread.c (read_integer): New function.
11139 (read1): Support read syntax #o, #x, #b, #r.
11140
99633e97
SM
111412000-03-15 Stefan Monnier <monnier@cs.yale.edu>
11142
1fa28578
GM
11143 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
11144 make sure POINTER_TO_OFFSET gives the same value before and after
11145 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
11146 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
11147 (debug): Now only active if > 0 rather than if != 0.
11148 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
11149 (print_partial_compiled_pattern): Add missing `succeed' case. Use
11150 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
11151 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
11152 (store_op1, store_op2, insert_op1, insert_op2)
11153 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
11154 (group_in_compile_stack): Move to after its arg's types are
11155 declared and add a prototype.
99633e97 11156 (PATFETCH): Define in terms of PATFETCH_RAW.
52283633 11157 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)' wrapper.
99633e97 11158 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
11159 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
11160 indentation of the greedy-op and shy-group code.
99633e97
SM
11161 (at_(beg|end)line_loc_p): Fix argument's types.
11162 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
11163 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
11164 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
11165 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
11166 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
11167 QUIT unconditionally.
99633e97 11168
699238d9
GM
111692000-03-15 Gerd Moellmann <gerd@gnu.org>
11170
11171 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
11172 a sole completion.
11173
11174 * process.c (send_process): Add a hint that the function
11175 can call Lisp code to its comment.
11176
11177 * lread.c (load_dangerous_libraries): New variable.
11178 (Vbytecomp_version_regexp): New variable.
11179 (safe_to_load_p): New function.
11180 (Fload): Handle files not compiled with Emacs specially.
11181 (syms_of_lread): New Lisp variable load-dangerous-libraries.
11182
34e23e5a
GM
111832000-03-14 Gerd Moellmann <gerd@gnu.org>
11184
9c763cca
GM
11185 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
11186
11187 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
11188 support functions only if HAVE_X11R6_XIM is defined.
11189 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
11190
11191 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
11192
11193 * xfns.c (X_I18N_INHIBITED): Don't define.
52283633 11194 (create_frame_xic): Remove conditional compilation on X_I18N_INHIBITED.
9c763cca
GM
11195 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
11196
11197 * config.in (HAVE_X_I18N): Moved here from xterm.h.
11198 (HAVE_X11R6_XIM): Define.
11199
11200 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
11201
34e23e5a
GM
11202 * xterm.c (x_term_init): Add support for X resource `synchronous'.
11203 If set, call XSynchronize.
11204
66f0296e
SM
112052000-03-13 Stefan Monnier <monnier@cs.yale.edu>
11206
34e23e5a
GM
11207 * regex.c: Declare a new type `re_char' used throughout the code
11208 for the string char type. It's `const unsigned char' to match the
11209 rest of Emacs. Consistently make sure all pointers to strings use
52283633 11210 it and make sure all pointers into the pattern use `unsigned char'.
66f0296e 11211 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
11212 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
11213 code duplication.
66f0296e
SM
11214
11215 * charset.h (GET_CHAR_AFTER_2): Remove.
11216 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
11217
854a025c
KR
112182000-03-12 Ken Raeburn <raeburn@gnu.org>
11219
11220 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
11221 variable before the invocation of YMF_PASS_LDFLAGS, in case both
11222 of them try to use backquotes.
11223
b9d2c7e2
DL
112242000-03-12 Dave Love <fx@gnu.org>
11225
11226 * unexelf.c: Restore changes of 1999-10-19.
11227 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
11228 fix its type and alignment; copy it from current process.
11229
5e5dff44
GM
112302000-03-12 Gerd Moellmann <gerd@gnu.org>
11231
9b2f3c38
GM
11232 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
11233 has been found. Fix bug not computing timer's predecessor.
11234
427ec082 11235 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
11236 file name.
11237
e1cff360
GM
11238 * window.c (Fsave_window_excursion): Doc fix.
11239
52283633 11240 * xfns.c (x_defined_color): Rewritten to use x_allocate_nearest_color.
5e5dff44 11241
e411ce4b
EZ
112422000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
11243
11244 * msdos.c (vga_installed): New function, code moved from
11245 dos_set_window_size.
11246 (Qbar, Qcursor_type, outside_cursor): New variables.
11247 (syms_of_msdos): Intern and staticpro them.
11248 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
11249 shape used outside Emacs when called for the first time.
11250 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
11251 cursor shape used outside Emacs.
11252 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
11253 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
11254 type has changed.
11255 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
11256 parameters specify the cursor. Make qreverse a global
11257 variable (renamed to Qreverse).
11258
80460654
GM
112592000-03-09 Gerd Moellmann <gerd@gnu.org>
11260
11261 * fns.c (Fy_or_n_p): Cancel busy-cursor.
11262
95cd4c40
SM
112632000-03-08 Stefan Monnier <monnier@cs.yale.edu>
11264
11265 This is a big redesign of failure-stack and register handling, prompted
11266 by bugs revealed when trying to add shy-groups. Overall, what happened
11267 is that loops are now structured a little differently, groups can be
11268 shy and the code is a little simpler.
11269
11270 * regex.h: Update the copyright.
11271 (RE_SHY_GROUPS): New value.
11272 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
11273 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
11274
80460654
GM
11275 * regex.c (enum re_opcode_t): Remove jump_past_alt,
11276 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
11277 on_failure_jump_(exclusive, loop and smart). Also fix the comment
11278 for (start|stop)_memory since they now only take one argument (the
11279 second has becomes unnecessary).
52283633 11280 (print_partial_compiled_pattern): Adjust for changes in re_opcode_t.
80460654
GM
11281 (print_compiled_pattern): Use %ld to printf long ints and flush to
11282 make debugging a little easier.
95cd4c40
SM
11283 (union fail_stack_elt): Make the integer unsigned.
11284 (struct fail_stack_type): Add a `frame' element.
11285 (INIT_FAIL_STACK): Init `frame' as well.
11286 (POP_PATTERN_OP): New macro for re_compile_fastmap.
11287 (DEBUG_PUSH, DEBUG_POP): Remove.
11288 (NUM_REG_ITEMS): Remove.
11289 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
11290 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
11291 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 11292 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
52283633
SM
11293 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP):
11294 New macros.
80460654
GM
11295 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
11296 address pushed is not the destination of the jump but the source
11297 of it instead.
95cd4c40
SM
11298 (NUM_FAILURE_ITEMS): Remove.
11299 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
11300 registers before the actual failure point). Don't hardcode any
11301 meaning for str==NULL anymore.
95cd4c40 11302 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
11303 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
11304 Remove.
95cd4c40
SM
11305 (REG_UNSET_VALUE): Use NULL (why not?).
11306 (compile_range): Remove declaration since it doesn't exist.
11307 (struct compile_stack_elt_t): Remove inner_group_offset.
11308 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
11309 (regex_grow_registers): Remove dead code.
11310 (FIXUP_ALT_JUMP): New macro.
80460654
GM
11311 (regex_compile): Add shy-groups Change loops to use
11312 on_failure_jump_smart&jump instead of
11313 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
11314 initial (dummy_failure_)jump. Remove c1_base (looks like unused
11315 variable to me). Use `jump' instead of `jump_past_alt' and don't
11316 bother with push_dummy_failure in alternatives since it is now
11317 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
11318 emacs' for (re)allocating the stack.
11319 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
11320 from loop when bufp->can_be_null rather than jumping to `done'.
11321 Avoid jumping backwards so as to ensure termination. Use
11322 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
11323 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 11324 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
11325 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
11326 improve mutually_exclusive_p to handle ".+\n".
52283633
SM
11327 (lowest_active_reg, highest_active_reg)
11328 (NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
80460654
GM
11329 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
11330 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
11331 variables. Push register (in `start_memory') on the stack rather
11332 than storing it in old_reg(start|end). Remove the cycle detection
11333 from `stop_memory', replaced by the use of on_failure_jump_loop
11334 for greedy loops. Add code for the new on_failure_jump_<foo>.
11335 Remove ad-hoc code in `on_failure_jump' to push more registers in
11336 the case of a loop. Take out code from `maybe_pop_jump' into
11337 separate functions and adapt it to the semantics of
11338 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
11339 and push_dummy_failure. Remove dummy_failure handling and
11340 handling of `failures to jump to on_failure_jump' (this last one
11341 was already dead code, it seems).
11342 (group_match_null_string_p, alt_match_null_string_p)
11343 (common_op_match_null_string_p): Remove.
95cd4c40 11344
7397acc4
DL
113452000-03-08 Dave Love <fx@gnu.org>
11346
11347 * config.in: Don't depend on __STDC__ for volatile.
11348 Add POINTER_TYPE, PTR, PROTOTYPES.
11349
11350 * hftctl.c, strftime.c: Use PROTOTYPES.
11351 * eval.c (find_handler_clause): Likewise.
11352
11353 * mem-limits.h: Use POINTER_TYPE.
11354
11355 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
11356 (memory_warnings): Declare using POINTER_TYPE.
11357
5e91ff9e
GM
113582000-03-08 Gerd Moellmann <gerd@gnu.org>
11359
feab4fba
GM
11360 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
11361
52283633 11362 * xdisp.c (display_echo_area): Temporarily inhibit garbage collection.
25edb08f 11363
5e91ff9e
GM
11364 * xfns.c: Remove obsolete code in #if 0.
11365 (Fx_focus_frame): New function.
11366
a735b7e1
KH
113672000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11368
11369 * coding.c (coding_category_name): Add coding-category-utf-8,
11370 coding-category-utf-16-be, coding-category-utf-16-le.
11371 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
11372 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
11373 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
11374 (detect_coding_utf_8): New function.
11375 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
11376 UTF_16_LOW_SURROGATE_P): New macros.
11377 (detect_coding_utf_16): New function
11378 (detect_coding_mask): When priorities are specified, skip any
11379 categories that have `nil' coding-system. Fix bug of returning
11380 wrong mask when PRIORITIES is specified and detect_coding_XXX()
11381 returns a mask not set in PRIORITIES.
11382 (detect_eol_type_in_2_octet_form): New function.
11383 (detect_eol): selects detect_eol_type_XXX to call according to
11384 cooding->category_idx.
11385 (detect_coding_system): Remove `nil' coding-system in the result.
11386 (Fupdate_coding_systems_internal): Update all coding-categories.
11387
52283633
SM
11388 * coding.h (CODING_CATEGORY_IDX_UTF_8)
11389 (CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE):
11390 New macros.
11391 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY)
11392 (CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
11393 (CODING_CATEGORY_IDX_UTF_16_LE)
11394 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE)
11395 (CODING_CATEGORY_MASK_UTF_16_LE): New macros.
a735b7e1
KH
11396 (CODING_CATEGORY_MASK_ANY): Include the above macros.
11397 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
11398
9994cc69
GM
113992000-03-07 Gerd Moellmann <gerd@gnu.org>
11400
e9b4e5ff
GM
11401 * doc.c (Fdocumentation_property): If value is not a string,
11402 and doesn't refer to etc/DOC, evaluate it to obtain a string.
11403
f7daf1e1
GM
11404 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
11405 close the display with XtCloseDisplay. This caused a bus error
11406 on OpenWindows.
11407
9994cc69
GM
11408 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
11409 complete but not unique.
11410
4336c705
GM
114112000-03-06 Gerd Moellmann <gerd@gnu.org>
11412
18bb0684
GM
11413 * process.c (send_process): Remove local variable `procname' that
11414 might become invalid when a GC happens. Instead, access the
11415 process name slot directly.
11416
4336c705
GM
11417 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
11418 orig_height if set.
11419
11420 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
11421 orig_height if set.
11422
515d0d0e
EZ
114232000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
11424
11425 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
11426 glyph matrices have been freed.
11427
100b3cbb
GM
114282000-03-05 Gerd Moellmann <gerd@gnu.org>
11429
50df5e5a 11430 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 11431 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
11432
11433 * xfns.c (QCdata): Moved to xdisp.c.
11434
11435 * xdisp.c (QCdata): Moved here from xfns.c.
11436 (syms_of_xdisp): Initialize QCdata.
11437
11438 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
11439
11440 * window.c (coordinates_in_window): Use
11441 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
11442 FRAME_INTERNAL_BORDER_WIDTH.
11443
100b3cbb 11444 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 11445 it is obviously invalid.
100b3cbb
GM
11446
11447 * xterm.c (x_term_init): Create a colormap if not using the
11448 default visual.
11449
11450 * xterm.h (select_visual): Change prototype.
11451
11452 * xfns.c (select_visual): Rewritten. Recognize user-specified
11453 visual classes.
11454 (visual_classes): New variable.
11455
64d739c4
GM
114562000-03-04 Gerd Moellmann <gerd@gnu.org>
11457
11458 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
11459 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
11460 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
52283633 11461 (x_decode_color): Don't handle allocation of white and black specially.
64d739c4
GM
11462 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
11463 XtNcolormap resources.
11464 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
11465 (Fx_create_frame): Initialize color members of x_output structure.
11466 (xpm_load): Pass colormap to XPM lib.
11467
11468 * xfaces.c (x_free_colors): Access colormap of frame using
11469 FRAME_X_COLORMAP. Be paranoid about freeing black and white
11470 when default colormap is used.
11471
11472 * xterm.c (x_term_init): Set Colormap member of x_display_info
11473 structure. Copy colormap if resource `privateColormap' is
11474 specified (PseudoColor only).
11475 (x_setup_relief_color): Access colormap of frame using
11476 FRAME_X_COLORMAP.
11477
11478 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
11479 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
11480
c3cee013
JR
114812000-03-04 Jason Rumney <jasonr@gnu.org>
11482
11483 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
11484 other non-platform-specific equivalents.
64d739c4 11485 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
11486 specific functions and macros as their w32 equivalents where
11487 non-platform-specifics are not available.
11488 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
11489 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
11490 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
11491 (frame_update_line_height): Use macros to access f->output_data.
11492 (defined_color): Remove FIXME comments; fixed.
11493 (x_face_list_fonts, prepare_face_for_display): Put X specifics
11494 into #ifdef blocks. Add WINDOWSNT blocks.
11495 (Fx_list_fonts): Use macros for accessing font data.
11496 (set_lface_from_font_name): Different default fonts for X and
11497 WINDOWSNT.
11498 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
11499 scalable for backward compatibility.
64d739c4 11500 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
11501 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
11502
64d739c4 11503 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
11504 syms_of_w32faces.
11505
11506 * makefile.nt (w32faces.obj): Remove.
11507 (xfaces.obj): Add.
11508
807cc41c
JR
115092000-03-03 Jason Rumney <jasonr@gnu.org>
11510
11511 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
11512 correct parameters.
11513
0007072a
KR
115142000-03-03 Ken Raeburn <raeburn@gnu.org>
11515
11516 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
11517 standard ELF definitions here if the system header does not.
11518
71a6ba55
GM
115192000-03-03 Gerd Moellmann <gerd@gnu.org>
11520
11521 * xterm.c (PER_CHAR_METRIC): Removed.
11522 (x_per_char_metric_1, x_default_char): New functions.
11523 (x_per_char_metric): If font's default char is invalid, return
11524 metrics of a suitably chosen usable default char.
11525 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
11526 char, replace occurrences of unprintable chars with a suitably
11527 chosen usable default char.
71a6ba55 11528
900fa1f1
GM
115292000-03-02 Gerd Moellmann <gerd@gnu.org>
11530
42f55fe0
GM
11531 * xterm.c (note_mouse_highlight): Return quickly if frame's
11532 glyph matrices have been freed.
11533
11534 * dispnew.c (free_glyphs): Block input while freeing matrices.
11535
900fa1f1
GM
11536 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
11537
52283633
SM
11538 * xterm.c (x_alloc_lighter_color, x_setup_relief_color):
11539 Use x_free_colors.
900fa1f1
GM
11540
11541 * dispextern.h (x_free_colors): Add prototype.
11542
11543 * xfaces.c (x_free_colors): New function.
11544 (unload_color, free_face_colors): Use it.
11545
2f950292
EZ
115462000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
11547
11548 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
11549
11550 * window.c [MSDOS]: Include msdos.h.
11551
54d04320
DL
115522000-03-02 Dave Love <fx@gnu.org>
11553
11554 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
11555
11556 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
11557 set C_OPTIMIZE_SWITCH for gcc.
11558
0ba93ac4
KH
115592000-03-02 Kenichi Handa <handa@etl.go.jp>
11560
11561 * coding.c (coding_save_composition): Be sure to allocate
11562 composition data area in coding even if there's no composition in
11563 the current run.
11564
a2bc11d4
JR
115652000-03-01 Jason Rumney <jasonr@gnu.org>
11566
11567 * w32term.c: Equivalent changes to those made to xterm.c on
11568 2000-02-25 and 2000-02-24.
11569
11570 * w32fns.c: Equivalent changes to those made to xfns.c on
11571 2000-02-25 and 2000-02-21.
11572
11573 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
11574 correct line-end convention is followed.
11575
11576 * w32menu.c [HAVE_BOXES]: Remove #undef.
11577 (single_keymap_panes): Remove code for simulating checkmarks.
11578 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
11579 Remove code for drawing simulated checkmarks.
11580 (w32_menu_show): make unibyte help string correctly.
11581 (add_menu_item): draw standard Windows checkmarks. Draw radio
11582 buttons as radio buttons if possible.
11583
72d19d75
GM
115842000-03-01 Gerd Moellmann <gerd@gnu.org>
11585
2df636f4
GM
11586 * sysdep.c (start_of_text): Don't define this function for NetBSD
11587 with ELF.
11588
427ec082 11589 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
11590 Don't define.
11591 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
11592 (LINKER): Don't undef if __NetBSD__ is defined.
11593
11594 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
11595
11596 * fileio.c [__NetBSD__]: Define `unix'.
11597
72d19d75
GM
11598 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
11599
ed4d0512
GM
116002000-02-29 Gerd Moellmann <gerd@gnu.org>
11601
50b1039f
GM
11602 * atimer.c (start_atimer): Don't abort when timers are stopped.
11603 (append_atimer_lists): New function.
11604 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
11605 arbitrary lists of stopped and running atimers.
11606
ed4d0512
GM
11607 * atimer.c (cancel_atimer): Handle canceling an atimer when
11608 some timers are stopped.
11609
11610 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
11611 after canceling it.
11612
11613 * fns.c (maybe_resize_hash_table): Handle case of new size
11614 coming out as being the same as old size.
11615
387023ee
JR
116162000-02-27 Jason Rumney <jasonr@gnu.org>
11617
11618 * makefile.nt: Add atimer.h to dependencies.
11619 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
11620 * w32console.c: Only disable window system features for dispextern.h
11621 (initialize_w32_display): Build a display info for the console.
11622 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
11623 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
11624 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
11625 as 2 button mice.
11626 * w32gui.h (struct W32FontStruct): Revert last change after change
11627 to xdisp.c.
11628 * w32menu.c (single_submenu): Set up help string.
11629 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
11630 (w32_dialog_show): Set up help string.
11631 * w32term.c (w32_display_info_for_display): Remove unused function.
11632 (w32_draw_bitmap): Use pre-built bitmaps.
11633 (w32_initialize_display_info): New function to initialize parts of
11634 display info that are common to both GUI and console frames.
11635 (w32_term_init): Use w32_initialize_display_info. Do not set
11636 Vw32_num_mouse_buttons here, as it is not called for console
11637 frames. Build bitmaps for indicating truncated lines etc.
11638 (x_delete_display): Destroy pre-built bitmaps.
11639 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
11640 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
11641
4516715a
DL
116422000-02-27 Dave Love <fx@gnu.org>
11643
11644 * lisp.h: Add a bunch of prototypes.
11645
171ca836
KH
116462000-02-26 Kenichi Handa <handa@etl.go.jp>
11647
11648 * keyboard.c (read_char): Set `usec' correctly.
11649
4013921d
KH
116502000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
11651
11652 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
11653 `lambda', set reg[RRR] to the map index.
11654 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
11655 reg[RRR] to 0. Otherwise, set it to -1.
11656
9244a058
GM
116572000-02-25 Gerd Moellmann <gerd@gnu.org>
11658
2df636f4 11659 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 11660
18e21ce8 116612000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 11662
f43d79c1
GM
11663 * fileio.c (Ffile_symlink_p): If result starts with a `/'
11664 and contains a `:', prepend `/:'.
11665
11666 * window.c (select_window_1): If selected_window is nil,
11667 don't "swap out" the buffer's point.
11668 (Fset_window_configuration): Set selected_window to nil
11669 before calling Fselect_window.
11670 (unshow_buffer): Don't set point in buffer from window's point
11671 if another more recently selected window also shows the buffer.
11672
bed0c171
GM
116732000-02-25 Gerd Moellmann <gerd@gnu.org>
11674
449c3c52
GM
11675 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
11676
f5b58615
GM
11677 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
11678 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
52283633
SM
11679 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay):
11680 New variables.
f5b58615
GM
11681 (DEFAULT_BUSY_CURSOR_DELAY): New define.
11682 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
11683 (hide_busy_cursor): New functions.
11684 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
11685
11686 * minibuf.c (read_minibuf): Cancel busy-cursor.
11687
11688 * keyboard.c (command_loop_1): Call start_busy_cursor before
11689 Fcommand_execute and cancel_busy_cursor after it.
11690 (timer_check): Remove busy-cursor code.
11691 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
11692 cursor timer.
11693
11694 * process.c (wait_reading_process_input): Remove busy-cursor code.
11695
11696 * eval.c (Fsignal): Call cancel_busy_cursor instead of
11697 Fx_hide_busy_cursor.
11698
11699 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
11700 Remove prototyoes.
11701 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
11702
11703 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
11704
11705 * xterm.c (XTread_socket): Remove busy-cursor code.
11706
4eb8436f
GM
11707 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
11708 (build_frame_matrix_from_leaf_window): Put code handling
11709 glyph row's not being a slice of a frame row in #if 0.
11710 (sync_window_with_frame_matrix_rows): New function.
11711 (frame_row_to_window): New function.
11712 (mirror_line_dance): Handle copies between windows.
11713
3cb65b0e
GM
11714 * lread.c (Fload): Use `xfree' instead of `free'.
11715 (init_obarray): Use `xmalloc' instead of `malloc'.
11716
bed0c171
GM
11717 * window.c (Fset_window_buffer): Set WINDOW to the window
11718 after decoding.
2add4349
GM
11719 (coordinates_in_window): Take frame's internal border width
11720 into account.
bed0c171 11721
42088c12
GM
117222000-02-24 Gerd Moellmann <gerd@gnu.org>
11723
11724 * xterm.c (x_display_and_set_cursor): Display cursor of
11725 non-selected windows depending on the setting of
11726 cursor_in_non_selected_windows.
11727
11728 * xdisp.c (cursor_in_non_selected_windows): New variable.
11729 (syms_of_xdisp): DEFVAR_BOOL it.
11730
d1e103b2
GM
117312000-02-23 Gerd Moellmann <gerd@gnu.org>
11732
723e779c
GM
11733 * data.c (Fstring_to_number): If number is greater than what
11734 fits into an integer, return a float.
11735
d1e103b2
GM
11736 * eval.c (specbind): Remove references to
11737 keyword_symbols_constant_flag.
11738
11739 * data.c (keyword_symbols_constant_flag): Removed.
11740 (Fmakunbound, set_internal, syms_of_data): Remove references to
11741 keyword_symbols_constant_flag.
11742
11743 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
11744
214f877f
KH
117452000-02-23 Kenichi Handa <handa@etl.go.jp>
11746
11747 * syntax.c (multibyte_syntax_as_symbol): New variable.
11748 (syms_of_syntax): Declare it as a Lisp variable.
11749 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
11750 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
11751 nonzero, treat all multibyte characters as symbol.
52283633 11752 (init_syntax_once): Give syntax `word' to all multibyte characters.
214f877f 11753
130adcb7
EZ
117542000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
11755
3cb65b0e 11756 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 11757 a deleted frame.
130adcb7 11758
17cbbf95
GM
117592000-02-21 Gerd Moellmann <gerd@gnu.org>
11760
11761 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
11762
11763 * xfns.c (x_window_to_frame, x_any_window_to_frame)
11764 (x_non_menubar_window_to_frame): Check the busy-cursor window.
11765
beb0bc36
DL
117662000-02-21 Dave Love <fx@gnu.org>
11767
11768 * frame.c (Vmouse_position_function): New variable.
11769 (Fmouse_position): Use it.
11770 (syms_of_frame): Install it.
11771
11772 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
11773
1d92afcd
GM
117742000-02-20 Gerd Moellmann <gerd@gnu.org>
11775
11776 * fileio.c (Finsert_file_contents): Unbind the binding of
11777 standard-output done by temp_output_buffer_setup.
329eed9f
GM
11778
11779 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
11780 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
11781 (specbind, unbind_to): Handle most common case of non-constant
11782 symbol with trivial value specially.
11783
11784 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
11785
18e21ce8 117862000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
11787
11788 * data.c (Fmake_variable_buffer_local): Doc fix.
11789 Init found_for_buffer to 0.
11790 (Fmake_variable_frame_local): If the variable has already
11791 been buffer-local, set the check_frame field.
11792
1d4311c3
EZ
117932000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
11794
11795 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
11796 produced for CODING_MODE_LAST_BLOCK requires.
11797
2dc95ddd
DL
117982000-02-18 Dave Love <fx@gnu.org>
11799
11800 * keyboard.c (echo_keystrokes): Remove declaration.
11801 (Vecho_keystrokes) New variable.
11802 (read_char, record_menu_key, read_key_sequence): Use it to allow
11803 use of float value.
11804 (syms_of_keyboard): Change Vecho_keystrokes declaration.
11805
11806 * lread.c: Undef feature selection macros before defining.
11807
f0930f35
GM
118082000-02-18 Gerd Moellmann <gerd@gnu.org>
11809
11810 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
11811 for symbols other than the symbol in question.
11812
e3d4de90
DL
118132000-02-17 Dave Love <fx@gnu.org>
11814
11815 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
11816
0b378936
GM
118172000-02-17 Gerd Moellmann <gerd@gnu.org>
11818
d621caf7
GM
11819 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
11820
0b378936
GM
11821 * alloc.c (enum mem_type): Compile unconditionally.
11822
3b451f74
EZ
118232000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
11824
11825 * xfaces.c (tty_defined_color): Don't return faulire indication
11826 for unspecified-fg and unspecified-bg pseudo-colors.
11827
10689a01
GM
118282000-02-17 Gerd Moellmann <gerd@gnu.org>
11829
1216f5e4
GM
11830 * alloc.c (mark_object): Don't mark symbol names in pure space.
11831 (gc_sweep): Don't unmark symbol names in pure space.
11832
11833 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
11834 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
11835 [GC_MARK_STACK]: New defines.
427ec082 11836 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
11837 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
11838
11839 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
11840
11841 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
11842 allocate_buffer instead of xmalloc.
11843
11844 * alloc.c (toplevel): Include setjmp.h.
11845 (PURE_POINTER_P): New define.
11846 (enum mem_type) [GC_MARK_STACK]: New enumeration.
11847 (Vdead) [GC_MARK_STACK]: New variable.
11848 (lisp_malloc): Add parameter TYPE, call mem_insert if
11849 GC_MARK_STACK is defined.
11850 (allocate_buffer): New function.
427ec082 11851 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
11852 (free_float) [GC_MARK_STACK]: Set type to Vdead.
11853 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
11854 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
11855 (MEM_NIL) [GC_MARK_STACK]: New define.
11856 (struct mem_node) [GC_MARK_STACK]: New structure.
11857 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
11858 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
11859 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
11860 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
11861 (mark_stack) [GC_MARK_STACK]: New functions.
11862 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
11863 (clear_marks): Removed.
11864 (gc_sweep): Set free conses' car, free floats' type, free
11865 symbols' function to Vdead. Use lisp_free to free buffers.
11866 (init_alloc_once): Initialize Vdead.
11867 (survives_gc_p): Return non-zero for pure objects.
11868
11869 * alloc.c: Add comments throughout the file.
11870
2503c8b1
GM
11871 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
11872 that unblocks alarms.
11873
8389e1e2
GM
11874 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
11875 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
11876 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
11877
10689a01 11878 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 11879
bfc17d18
KH
118802000-02-17 Kenichi Handa <handa@etl.go.jp>
11881
4a09dee0
KH
11882 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
11883 avoid infinite error signaling. Allocate sufficient memory for
11884 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 11885
2b927d02
SM
118862000-02-17 Stefan Monnier <monnier@cs.yale.edu>
11887
11888 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
11889 depends on the previous behavior.
11890
b49cb764
GM
118912000-02-16 Gerd Moellmann <gerd@gnu.org>
11892
11893 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
11894
99e95407
GM
118952000-02-15 Gerd Moellmann <gerd@gnu.org>
11896
11897 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
11898
11899 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 11900 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
11901 write(2).
11902
6ffd3cf7
RS
119032000-02-15 Richard M. Stallman <rms@gnu.org>
11904
11905 * data.c (set_internal): Don't make variable buffer-local
11906 if within a let-binding for the same buffer.
11907 (let_shadows_buffer_binding_p): New function.
11908
11909 * eval.c (specbind): For buffer-local value,
11910 record the current buffer also.
11911 (unbind_to): Cope with that change.
11912
cad53475
GM
119132000-02-15 Gerd Moellmann <gerd@gnu.org>
11914
11915 * window.c (Fsave_window_excursion): Doc fix.
11916
1aa963c8
SM
119172000-02-15 Stefan Monnier <monnier@cs.yale.edu>
11918
11919 * syntax.c (back_comment): Make sure we only consider comment-starters
11920 of the relevant style and return -1 in case of a failure to find the
11921 beginning of the comment.
11922 (Fforward_comment): If back_comment fails, go back to the position just
11923 after the comment-end.
11924 (scan_lists): Add comment describing a very minor bug.
11925
b9b84fd3
SM
119262000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11927
11928 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
11929 `completion-regexp-list' in the docstring.
11930
3a28db80
DL
119312000-02-14 Dave Love <fx@gnu.org>
11932
11933 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
11934
fb4a568d
SM
119352000-02-14 Stefan Monnier <monnier@cs.yale.edu>
11936
11937 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
11938 to Emacs' syntax. Also fix the comment about set/not-set meanings
11939 since Emacs syntax is not the value 0 any more.
11940 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
11941 since it's now part of RE_SYNTAX_EMACS.
11942
1063ebb5
DL
119432000-02-12 Dave Love <fx@gnu.org>
11944
52283633 11945 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on Alpha.
1063ebb5 11946
fb07a302
GM
119472000-02-12 Gerd Moellmann <gerd@gnu.org>
11948
11949 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
11950
aaf2320c
DL
119512000-02-12 Dave Love <fx@gnu.org>
11952
11953 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
11954
11955 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
11956 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
11957 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
11958
11959 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
11960
11961 * s/nextstep.h: Don't define HAVE_ALLOCA.
11962
11963 * config.in: Add vfork bits.
11964
eedf8bde
GM
119652000-02-12 Gerd Moellmann <gerd@gnu.org>
11966
11967 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
11968 unwind function to undo the effect of stopping atimers.
11969
52283633 11970 * keyboard.c (bind_polling_period): Stop all timers except poll_timer.
eedf8bde
GM
11971
11972 * atimer.c (stopped_atimers): New variable.
11973 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
11974 New functions.
11975
11976 * atimer.h (stop_other_atimers, run_all_atimers)
11977 (unwind_stop_other_atimers): Add function prototypes.
427ec082 11978
eedf8bde
GM
11979 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
11980
8476c2f8
KR
119812000-02-11 Ken Raeburn <raeburn@gnu.org>
11982
11983 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
11984 library may depend on jpeg.
11985 (atimer.o): Depends on atimer.c.
11986
0e85e4a3
KH
119872000-02-11 Kenichi Handa <handa@etl.go.jp>
11988
11989 * insdel.c (del_range_1): Call update_compositions.
11990 (del_range_both): Call update_compositions just once..
11991
97fa0cc8
DL
119922000-02-10 Dave Love <fx@gnu.org>
11993
11994 * xfns.c (create_frame_xic): Fix initialization of automatic
11995 aggregates for pcc.
11996
25566a3c
KH
119972000-02-09 Kenichi Handa <handa@etl.go.jp>
11998
11999 * ccl.c (CCL_MAKE_CHAR): New macro.
12000 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
12001 registers by CCL_MAKE_CHAR before calling translate_char.
12002 <CCL_TranslateCharacterConstTbl> Likewise.
12003
69da54ba
DL
120042000-02-08 Dave Love <fx@gnu.org>
12005
12006 * lread.c (__EXTENSIONS__): Define.
12007
f7136ee8
GM
120082000-02-08 Gerd Moellmann <gerd@gnu.org>
12009
12010 * puresize.h (BASE_PURESIZE): Increase to 650000.
12011
7768790b
EZ
120122000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12013
12014 * msdos.c (XMenuActivate): Turn off the cursor after displaying
12015 the help message.
12016
38fd211b
EZ
120172000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
12018
12019 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
12020 md, mh, mb, mr, and me to the fake termcap entry.
12021
66e4690f
KR
120222000-02-06 Ken Raeburn <raeburn@gnu.org>
12023
12024 * sound.c (sound_cleanup): Don't call device close routine if the
12025 function pointer is null.
12026
a75dfea0
AI
120272000-02-06 Andrew Innes <andrewi@gnu.org>
12028
12029 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
12030 around image definitions and prototypes.
12031 (gamma_correct) [WINDOWSNT]: New prototype.
12032
12033 * w32term.c (x_make_frame_visible): Replace call to
12034 input_poll_signal with poll_for_input.
12035
12036 * window.c [WINDOWSNT]: Include w32term.h.
12037
12038 * xdisp.c [WINDOWSNT]: Include w32term.h.
12039
12040 * makefile.nt: Add dependencies on w32gui.h.
12041 (OBJ1): Include atimer.obj.
12042 ($(BLD)\atimer.obj): New dependency rule.
12043
12044 * w32.c (sigmask): New function (does nothing).
12045 (sigunblock): Ditto.
12046
12047 * frame.c [WINDOWSNT]: Include w32term.h.
12048
12049 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
12050
12051 * lread.c (syms_of_lread): Fix literal newlines.
12052
12053 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
12054 the string constant limit (2048 bytes) in MSVC.
12055 (main): Ditto.
12056
59ddecde
GM
120572000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
12058
52283633 12059 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit area.
59ddecde
GM
12060 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
12061 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
12062 dispatch the event.
12063
07590973
DL
120642000-02-04 Dave Love <fx@gnu.org>
12065
12066 * fileio.c: Remove some unused vars.
12067 (_GNU_SOURCE): Define (for euidaccess).
12068
12069 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
12070
12071 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
12072 gcpro1, gcpro2.
12073 (read_minibuf): Deal with allow_props correctly.
12074
649351f9
EZ
120752000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
12076
12077 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
12078
66e4690f 120792000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
12080
12081 * search.c (compile_pattern): If a cache entry has a nil regexp,
12082 fill in that entry instead of clobbering a previously cached
12083 string regexp.
12084
66e4690f 120852000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
12086
12087 * puresize.h (BASE_PURESIZE): Increase to 610000.
12088
d240a249
GM
120892000-02-02 Gerd Moellmann <gerd@gnu.org>
12090
12091 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
12092 can GC.
12093
ca91fb26
KH
120942000-02-02 Kenichi Handa <handa@etl.go.jp>
12095
25660570
KH
12096 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
12097 instead of incrementing ic directly.
12098 <CCL_WriteExprConst> Likewise.
12099 <ccl_set_expr>: Set ic to jump_address.
12100
ca91fb26
KH
12101 * fileio.c (e_write): Fix the handling of
12102 CODING_FINISH_INSUFFICIENT_SRC.
12103
2ede9689
DL
121042000-02-01 Dave Love <fx@gnu.org>
12105
12106 * editfns.c (Fpropertize): Doc fix.
12107
12108 * process.c (Fstart_process): Doc fix.
12109
12110 * eval.c: Fix various doc strings not to duplicate information
12111 from help-manyarg-func-alist.
12112
52283633 12113 * window.c (Fset_window_margins): Don't make interactive. Doc fix.
2ede9689
DL
12114
12115 * doc.c (Vhelp_manyarg_func_alist): New variable.
12116 (Fdocumentation): Use it.
12117 (syms_of_doc): Define it.
12118
b6680a0e
GM
121192000-01-31 Gerd Moellmann <gerd@gnu.org>
12120
2cb750ba
GM
12121 * xterm.c (xim_open_dpy): Remove unused local variable.
12122
52283633 12123 * emacs.c (USAGE): Use term `display options' instead of `X options'.
74e9213b
GM
12124
12125 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
12126 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
12127
b6680a0e
GM
12128 * fns.c (sweep_weak_table): New function.
12129 (sweep_weak_hash_tables): Use it. Keep on marking until there
12130 is no more change.
12131
994c5afe
GM
121322000-01-30 Gerd Moellmann <gerd@gnu.org>
12133
12134 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
12135 that XTread_socket does not crash by trying to call XNoOp on a
12136 closed display.
427ec082 12137
f00276e3
JR
121382000-01-30 Jason Rumney <jasonr@gnu.org>
12139
12140 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12141 Change selected_frame to SELECTED_FRAME ().
12142 (w32_console_mouse_position): Remove #ifndef MULE from around
12143 `insist' parameter.
12144
12145 * makefile.nt: Remove dosfns.obj.
12146
12147 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
12148
12149 * w32fns.c (w32_defined_color): Check for valid frame before
12150 applying gamma correction. Eliminate dependency on frame elsewhere.
12151 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
12152 (w32_to_x_font): Use resx and resy not height_in and width_in.
12153 (x_to_w32_font): Doc fix.
12154 (xlfd_strip_height): New function to strip and return font height.
12155 (w32_font_match): Compare height separately from rest of xlfd
12156 spec, using xlfd_strip_height.
12157
12158 * w32term.c (w32_term_init): Swap resx and height_in, resy and
12159 width_in. Use w32_defined_color in place of defined_color.
12160
12161 * w32faces.c: Merge more of DOS and X specifics in preparation for
12162 merge with xfaces.c.
12163 (defined_color): Remove FIXME comment.
12164 (tty_color_name): Provide w32-specific function.
12165 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
12166
12167 * w32console.c (turn_on_face, turn_off_face): Removed.
12168 (w32_face_attributes): New function.
12169 (Global_variables): Reduce scope where possible.
12170 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
12171 fill attribute.
12172 (hl_mode): Don't modify text attributes.
12173 (write_glyphs): Don't do anything if len <= 0. Use
12174 w32_face_attributes to get attributes for drawing. Write
12175 terminating codes using char_attr_normal.
12176 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
12177 (update_begin, update_end): Likewise.
12178 (vga_stdcolor_name): New function.
12179 (initialize_w32_display): Remove char_attr_reverse and char_attr.
12180 (Fset_screen_color): Remove char_attr_reverse.
12181
b08e8bb2
GM
121822000-01-29 Gerd Moellmann <gerd@gnu.org>
12183
12184 * xfns.c (xic_set_preeditarea): Take window parameter and
12185 window-relative pixel-positions.
12186
12187 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
12188 is its frame's selected window.
12189 (xim_instantiate_callback): Likewise.
12190
12191 * xfns.c (x_create_im): Removed.
12192 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
12193 (supported_xim_styles): Renamed from supported_styles.
12194 (best_xim_style): Renamed from best_style.
12195 (create_frame_xic): Renamed from xic_create_frame.
12196 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 12197
b08e8bb2
GM
121982000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
12199
12200 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
12201 our frames, call XFilterEvent with 2nd parameter `None'.
12202 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
12203 returning XBufferOverflow.
52283633 12204 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status area.
b08e8bb2
GM
12205 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
12206 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
12207 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
12208 (xim_initialize, xim_close)
12209 [HAVE_X_I18N && HAVE_X11R6]: New functions.
12210 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
12211 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
12212 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
12213
12214 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
12215 and `xim_styles'.
12216 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
12217 `xic_style' and `xic_xfs'.
12218 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
12219 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
12220 (FRAME_XIM): Removed.
12221
12222 * xfns.c (supported_styles): New variable.
12223 (DEFAULT_STYLE, DEFAULT_FONT): New macros
12224 (xic_create_xfontset, best_style, xic_create_frame)
12225 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
12226 (xic_set_xfontset): New functions.
12227
142e109c
DL
122282000-01-28 Dave Love <fx@gnu.org>
12229
12230 * s/irix6-5.h: Revert last change after change to irix5-0.h.
12231
12232 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
12233
b02786f9
GM
122342000-01-28 Gerd Moellmann <gerd@gnu.org>
12235
d060bc9f
GM
12236 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
12237 for *scratch* if it already existed.
12238
b02786f9
GM
12239 * emacs.c (USAGE): New macro.
12240 (main): Use it to display usage information.
12241
2c52d7e4
EZ
122422000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12243
12244 Support for the menu-help feature:
12245
52283633 12246 * msdos.h: Change prototypes of XMenuAddSelection and XMenuActivate.
2c52d7e4
EZ
12247
12248 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
12249 part of the line to the termscript file.
12250 (IT_clear_to_end): Clear the entire line, not just its beginning.
12251 (menu_help_message, prev_menu_help_message): New variables.
12252 (IT_menu_make_room): Make room for the help_text member.
12253 (IT_menu_display): New argument disp_help; all callers changed.
12254 If disp_help is non-zero, store the help text of the active menu
12255 item in menu_help_message.
12256 (XMenuAddPane): Initialize the help_text member to NULL.
12257 (XMenuAddSelection): New argument help_text. Store it in the
12258 XMenu structure.
12259 (XMenuActivate): New argument help_callback. If the value of
12260 menu_help_message has changed since the last time, display the
12261 menu help message text while waiting for the mouse to move. Clear
12262 the echo area before exiting.
12263 (XMenuDestroy): Free the help_text member.
12264
ffe0bcd1
GM
122652000-01-27 Gerd Moellmann <gerd@gnu.org>
12266
12267 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
12268 XMenuAddSelection. Pass help callback to XMenuActivate.
12269 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
12270
50dbd23f
EZ
122712000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
12272
12273 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
12274 and EMACS_SET_USECS.
12275
f5941bf8
GM
122762000-01-26 Dave Love <fx@gnu.org>
12277
6c67ddee
DL
12278 * editfns.c (Fchar_after, Fchar_before): Doc fix.
12279
f5941bf8
GM
12280 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
12281 an error may be signalled.
12282
9e49c990
GM
122832000-01-26 Gerd Moellmann <gerd@gnu.org>
12284
fc3cb460
GM
12285 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
12286 LD_SWITCH_SYSTEM inherited from irix5-0.h.
12287
9e49c990
GM
12288 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
12289
d0c037d8
GM
122902000-01-25 Gerd Moellmann <gerd@gnu.org>
12291
12292 * charset.c (Fstring): If there is a multibyte char among
12293 the args, always return a multibyte string.
12294
e12489f9
GM
122952000-01-25 Gerd Moellmann <gerd@gnu.org>
12296
12297 * sysdep.c (sys_select): Turn atimers off and on instead of
12298 recording and restoring old alarm handler
12299
12300 * process.c (toplevel): Include atimer.h.
12301 (create_process_1): Rewritten.
12302 (create_process): Use atimers instead of alarm.
12303 (wait_reading_process_input) [hpux]: Turn atimers off instead
12304 of turning off SIGALRM.
12305 (wait_reading_process_input): Turn off atimers instead off
12306 calling stop_polling.
12307
12308 * emacs.c (main): Call init_atimer.
12309
12310 * keyboard.c (toplevel): Include systime.h and atimer.h.
12311 (polling_for_input): Removed because unused.
12312 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
12313 (poll_timer): New variable.
12314 (poll_for_input, poll_for_input_1): New functions.
12315 (start_polling, stop_polling): Rewritten.
12316
12317 * keyboard.h (polling_for_input): Removed.
427ec082 12318
e12489f9
GM
12319 * atimer.h, atimer.c: New files.
12320
12321 * Makefile.in (obj): Add atimer.o.
12322 (atimer.o): New target.
12323
12324 * blockinput.h (pending_atimers): Add extern declaration.
12325 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
12326
12327 * lisp.h (popup_activated_flag): Add extern declaration.
12328
12329 * xmenu.c (popup_activated_flag): Make externally visible.
52283633 12330 (popup_activate_callback) [USE_MOTIF]: Increment popup_activated_flag.
e12489f9
GM
12331 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
12332
12333 * xterm.c (toplevel): Include atimer.h.
12334 (toolkit_scroll_bar_interaction): New variable.
12335 (Fxt_process_timeouts): Removed.
12336 (x_process_timeouts): New function.
12337 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
12338 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
12339 (x_make_frame_visible): Call poll_for_input_1 instead of
12340 input_poll_signal. Don't call alarm.
12341 (x_initialize): Install timer calling x_process_timeouts.
427ec082 12342
1e5279b9
DL
123432000-01-24 Dave Love <fx@gnu.org>
12344
6c67ddee 12345 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
12346 Don't use -cckr -- apparently not now necessary.
12347
edf6aeb8
EZ
123482000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
12349
12350 * msdos.c (IT_menu_display): Truncate long menu lines at the right
12351 screen boundary.
12352
9badad41
JR
123532000-01-23 Jason Rumney <jasonr@gnu.org>
12354
12355 * w32fns.c (w32_defined_color): Apply gamma correction before
12356 trying to map to the palette.
12357 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
12358 to w32_clear_rect.
12359
12360 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
12361 here. Callers changed to always pass real device context.
12362 (w32_draw_bitmap): Likewise.
12363 (w32_get_glyph_overhangs): Likewise.
52283633 12364 (w32_draw_box_rect): Make use of s->hdc rather than getting a new one.
9badad41
JR
12365 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
12366 pfnSetScrollInfo and SetScrollRange.
12367 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
12368 back into MULE characters after decoding them.
12369 (x_get_glyph_face_and_encoding): Likewise.
12370 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
12371 GetCharABCWidthsW fails, since this is defined on Windows 9x.
12372 (x_produce_glyphs): Calculate per char metrics for a character
12373 that we know exists in default font when font_not_found_p is true.
12374
63bd786b
JR
123752000-01-22 Jason Rumney <jasonr@gnu.org>
12376
12377 * makefile.nt (intervals.obj, composite.obj): New modules.
12378 (composite.h): Added as dependency where appropriate.
12379
12380 * w32gui.h (XGCValue): New struct for emulating X GCs.
12381
12382 * w32term.h (XCharStruct): New struct for emulating X.
12383
12384 * w32console.c (turn_on_face, turn_off_face): New functions.
12385 (change_line_highlight): New prototype for new redisplay.
12386 (write_glyphs): Support multibyte text. Support faces.
12387
52283633 12388 * w32faces.c: Complete rewrite for new redisplay based on new xfaces.c.
63bd786b
JR
12389
12390 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
12391 throughout. struct frame * in place of FRAME_PTR.
12392 Skeleton support for images, toolbars, tooltips from xfns.c.
52283633 12393 (Fx_create_frame): Use system default for default scroll bar width.
63bd786b
JR
12394 (w32_get_arg): Renamed from x_get_arg.
12395 (Fx_file_dialog): New function.
12396 (w32_list_fonts): Check cache before asking system.
12397 (Vw32_enable_synthesized_fonts): New variable.
12398 (Vw32_enable_italics): Obsolete, removed.
12399
12400 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
12401 Use SELECTED_FRAME macro.
12402
12403 * w32menu.c: Add skeleton support for help strings on menus.
12404 (add_menu_item): Native checkbox and radio support added, but not
12405 yet enabled due to bugs.
12406 (push_menu_item): Add parameters type, selection and help.
12407 Callers updated.
12408 Formatting changes to reduce unnecessary diffs with xmenu.c.
12409
12410 * w32select.c (Fw32_set_clipboard_data): Update call to
12411 find_charset_in_str.
12412
12413 * w32term.c: Complete rewrite for new redisplay based on new
12414 xterm.c with necessary sections merged back in from old w32term.c.
12415
6ffd3cf7 124162000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
12417
12418 * data.c (set_internal): Further fix in same criterion.
12419
6ffd3cf7 124202000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
12421
12422 * data.c (set_internal): Fix the criteria for whether
12423 to swap out the old cached binding.
12424
60af03f1
DL
124252000-01-19 Dave Love <fx@gnu.org>
12426
12427 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
12428
f9be074f
KH
124292000-01-18 Kenichi Handa <handa@etl.go.jp>
12430
12431 * regex.c (re_compile_fastmap): While checking a range table for
12432 `charset', skip flag bits for a character class correctly.
12433
52b8dbf9
GM
124342000-01-17 Gerd Moellmann <gerd@gnu.org>
12435
d36100c9
GM
12436 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
12437
52283633 12438 * xfns.c (x_window): Call lw_create_widget with new parameter list.
52b8dbf9
GM
12439
12440 * widget.c (EmacsFrameSetCharSize): Change size of children first
52283633 12441 because of problems with main window geometry management under Lesstif.
52b8dbf9
GM
12442
12443 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
12444 MENU_ITEMS_ITEM_.*.
12445 (MENU_ITEMS_ITEM_HELP): New enumerator.
12446 (push_menu_item): Add parameter HELP. Record help in menu_items.
12447 (single_menu_item, single_submenu, list_of_items): Call
12448 push_menu_item with new parameter.
12449 (single_submenu): Set help string in widget value.
12450 (menu_highlight_callback): New function.
12451 (set_frame_menubar): Call lw_create_widget with new
12452 parameter list.
12453 (xmenu_show, xdialog_show): Ditto.
12454
3139018f
GM
124552000-01-13 Gerd Moellmann <gerd@gnu.org>
12456
12457 * sound.c (Fplay_sound): Improve doc string.
12458
83c8f461
RS
124592000-01-11 Richard M. Stallman <rms@gnu.org>
12460
12461 * lisp.h (set_internal): Enter the new arg.
12462
12463 * eval.c (specbind): Record buffer-local variables specially,
12464 indicating which buffer's binding was saved.
12465 (unbind_to): Restore buffer-local variables specially
12466 in the proper buffer.
12467
12468 * data.c (set_internal): New arg BUF.
427ec082 12469
83c8f461
RS
12470 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
12471 * data.c (Fset): Pass new arg to set_internal.
12472 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 12473
1fab1775
GM
124742000-01-11 Gerd Moellmann <gerd@gnu.org>
12475
52283633 12476 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload, xprintsym.
1fab1775 12477
83c8f461 124782000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
12479
12480 * minibuf.c (Ftry_completion): Doc fix.
12481
7a85e4df
GM
124822000-01-11 Gerd Moellmann <gerd@gnu.org>
12483
12484 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
12485 vector, too.
12486
a970dae4
AS
124872000-01-11 Andreas Schwab <schwab@suse.de>
12488
12489 * coding.c (code_convert_region): Initialize total_skip.
12490
c65d14ee
DL
124912000-01-08 Dave Love <fx@gnu.org>
12492
12493 * eval.c (Fuser_variable_p): Check customizability too.
12494
834938d2
GM
124952000-01-07 Gerd Moellmann <gerd@gnu.org>
12496
12497 * minibuf.c (Fcompleting_read): Doc fix.
12498
e0303cd6
GM
124992000-01-05 Gerd Moellmann <gerd@gnu.org>
12500
8a26744b
GM
12501 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
12502 -L /usr/local/lib.
12503
e0303cd6
GM
12504 * xfns.c (x_create_im): New function to set IM and IC of a frame.
12505 Check that input style is supported before trying to create an
12506 IC for it.
12507 (x_window): Call x_create_im.
427ec082 12508
2e471eb5
GM
125092000-01-04 Gerd Moellmann <gerd@gnu.org>
12510
560a7bd2
GM
12511 * xfns.c (current_gif_memory_src): New variable.
12512 (gif_load): Record the address of the current memory source
12513 in current_gif_memory_src.
12514 (gif_read_from_memory): Use current_gif_memory_src.
12515
f9ee84a3
GM
12516 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
12517 macros statement form.
12518
d1299cde
GM
12519 * sound.c (struct sound): Renamed from struct sound_file.
12520 (struct sound): Add members `data' and `header_size'.
12521 (enum sound_attr): Add SOUND_DATA.
12522 (current_sound, current_sound_device): Variables renamed from
12523 sound_file and sound_device.
12524 (parse_sound): Parse :data.
12525 (parse_sound): Handle sound data in strings.
12526 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 12527 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
12528 needed header size.
12529 (wav_play, au_play): Play sounds from string data.
12530
2e471eb5
GM
12531 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
12532
12533 * lisp.h: Add prototype for allocate_string_data.
12534
52283633 12535 * alloc.c (Fgarbage_collect): Return number of live and free strings.
2e471eb5
GM
12536
12537 * alloc.c (mark_buffer): Remove code in #if 0.
12538 (gc_sweep): Ditto.
12539 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
12540 (strings_consed): New variable.
12541 (allocate_string): Set it.
12542 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
12543 (Fmemory_use_counts): Return strings_consed. Use Flist.
12544
12545 * alloc.c: General cleanup in comments etc. Remove conditional
12546 compilation for `standalone'.
12547
12548 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
12549
12550 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
12551 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
12552 (DONT_COPY_FLAG): Removed.
12553 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
12554 (struct sdata, struct sblock): New
12555 (struct string_block): Rewritten.
12556 (STRINGS_IN_STRING_BLOCK): New macro.
12557 (oldest_sblock, current_sblock, total_strings, total_free_strings)
12558 (large_sblocks, string_blocks, string_free_list): New variables.
12559 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
12560 (init_strings): Rewritten.
12561 (allocate_string, allocate_string_data, compact_small_strings)
12562 (free_large_strings, sweep_strings): New functions.
12563 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
12564 (struct string_block_head, current_string_block)
12565 (first_string_block, large_string_blocks, STRING_FULLSIZE)
12566 (STRING_PAD): Removed.
12567 (make_uninit_multibyte_string, make_pure_string): Rewritten.
12568 (Fgarbage_collect): Don't set mark bit in large strings.
12569 (mark_object): Mark strings differently. Mark symbol names
12570 differently.
12571 (survives_gc_p): Test marked strings differently.
427ec082 12572 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
12573 symbol names.
12574 (compact_strings): Removed.
12575
42608ba8
EZ
125762000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
12577
12578 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
12579 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
12580
e0a09e1a
KH
125812000-01-04 Kenichi Handa <handa@etl.go.jp>
12582
dd9f0750 12583 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 12584 in a non-empty buffer.
dd9f0750 12585
3c0f3b15 12586 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 12587
44cd3ae5
GM
125882000-01-03 Gerd Moellmann <gerd@gnu.org>
12589
12590 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
12591 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
12592
12593 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
12594
c182a70f
EZ
125952000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12596
12597 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
12598 need to test for MSDOS frames.
12599
24480d5b
EZ
126002000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12601
12602 * dosfns.c (unspecified_colors): Remove.
12603 (msdos_stdcolor_idx): Use global variables unspecified_fg and
12604 unspecified_bg.
12605 (msdos_stdcolor_name): Return strings for unspecified fore- and
12606 back-ground colors.
12607
12608 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 12609 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
12610 (tty_color_name): Return Lisp strings for unspecified fore- and
12611 back-ground colors.
12612 (Finternal_set_lisp_face_attribute): Remove the special treatment
12613 for Qunspecified_{f,b}g.
52283633 12614 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp string.
24480d5b 12615
047f434a
GM
126162000-01-03 Gerd Moellmann <gerd@gnu.org>
12617
12618 * xdisp.c (reseat_at_next_visible_line_start): Position before
12619 newline only if ending up on a newline.
12620 (next_element_from_ellipsis): Return success. Handle case of
52283633 12621 displaying no ellipsis. Fix case of ellipsis defined in display table.
047f434a
GM
12622 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
12623 returns 0.
12624
d684c676
EZ
126252000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
12626
12627 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
12628 (Fcolor_supported_p): Renamed from face-color-supported-p.
12629
5fe1d139
EZ
126302000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12631
12632 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
12633 list of colors renamed to tty-defined-color-alist.
12634 (tty_color_name): Pass the frame to tty-color-by-index.
12635 (realize_tty_face): tty-color-alist is now a function which
12636 accepts the frame as argument.
12637
52283633 12638 * term.c (Ftty_display_color_p): Accept an optional argument FRAME.
5fe1d139 12639
816be8b8
EZ
126402000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12641
12642 * term.c (insert_glyphs): Pass glyph, not &glyph, to
12643 encode_terminal_code.
12644
b635321e
EZ
126452000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
12646
12647 * dispnew.c (mode_line_string): Support termcap frames as well.
12648
9b784e96
GM
126492000-01-01 Gerd Moellmann <gerd@gnu.org>
12650
27189709
GM
12651 * syntax.c (Fforward_word): Undo previous change.
12652
12653 * editfns.c (Fconstrain_to_field): Don't constrain if
12654 inhibit-field-text-motion is non-nil.
12655 (Fline_beginning_position): Undo previous change.
12656 (Fline_end_position): Ditto.
12657
12658 * syntax.c (Fforward_word): Notice field boundaries only if
12659 inhibit-field-text-motion is nil.
12660
12661 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
12662
12663 * editfns.c (Vinhibit_field_text_motion): New variable.
12664 (inhibit-field-text-motion): New DEFVAR_LISP.
12665 (Fline_beginning_position, Fline_end_position): Notice field
12666 boundaries only if inhibit-field-text-motion is nil.
12667
45158a91
GM
12668 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
12669 All calls adjusted.
12670 (x_build_heuristic_mask): Likewise.
12671 (xbm_load_image_from_file): Change error output.
12672 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
12673 (gif_load, gs_load, x_kill_gs_process): Ditto.
12674
9b784e96
GM
12675 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
12676 color indices when accessing raster pixels.
63cec32f
GM
12677 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
12678 one of :file or :data.
12679 (enum pbm_keyword_index): Add PBM_DATA.
12680 (pbm_format): Add :data.
12681 (pbm_image_p): Allow either :file or :data.
12682 (pbm_read_file): New function.
12683 (pbm_scan_number): Rewritten to read from string.
12684 (pbm_load): Support :data.
9b784e96 12685
2cb085db 12686See ChangeLog.8 for earlier changes.
6922b018
KH
12687
12688;; Local Variables:
49b3bd82 12689;; coding: iso-2022-7bit
6922b018 12690;; End:
2a34a036
GM
12691
12692 Copyright (C) 2001 Free Software Foundation, Inc.
12693 Copying and distribution of this file, with or without modification,
12694 are permitted provided the copyright notice and this notice are preserved.