(byte-compile-log-1): In non-batch case, don't mention the file name
[bpt/emacs.git] / src / ChangeLog
CommitLineData
a758f97d
GM
12001-01-08 Gerd Moellmann <gerd@gnu.org>
2
6d0afc03
GM
3 * window.c (window_scroll_pixel_based): Adjust glyph matrices
4 when increasing window's vscroll.
5
a758f97d
GM
6 * macros.c (Qkbd_macro_termination_hook): New variable.
7 (syms_of_macros): Initialize and staticpro it.
8 (pop_kbd_macro): Run kbd-macro-termination-hook.
9
10 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
11
64d4ec0f
DL
122001-01-07 Dave Love <d.love@dl.ac.uk>
13
14 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
15 arglist, for documentation's sake.
16
0dac6924
AI
172001-01-06 Andrew Innes <andrewi@gnu.org>
18
19 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
20 of *.pdb.
21
8182406a
AI
222001-01-05 Andrew Innes <andrewi@gnu.org>
23
24 * term.c (update_end): Don't check updating_frame; for some reason
25 this can be 0 sometimes, such as after dismissing a popup menu,
26 and isn't necessary given the explicit frame argument.
27
3828218c
GM
282001-01-05 Gerd Moellmann <gerd@gnu.org>
29
30 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
31 on some systems, and an unsigned long on others, like FreeBSD 4.1.
32
2f5ded21
GM
332001-01-04 Gerd Moellmann <gerd@gnu.org>
34
35 * xterm.c (clear_mouse_face): Don't return if tip_frame is
36 non-nil.
37
38 * xfns.c (x_create_tip_frame): Preserve the value of
39 face_change_count around the creation of the tip frame.
40
41 * xfns.c (last_show_tip_args): New variable.
42 (compute_tip_xy): New function.
43 (Fx_show_tip): Reuse an existing tip frame, if possible.
44 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
45
dfad65fa
DL
462001-01-04 Dave Love <fx@gnu.org>
47
64d4ec0f
DL
48 * editfns.c (Fformat): Doc fix.
49
dfad65fa
DL
50 * systime.h (set_file_times): Prototype.
51
52 * widget.h (EmacsFrameSetCharSize_): Prototype.
53
54 * sysdep.c (random, srandom): Declare explicitly.
55
56 * dispextern.h (move_it_vertically_backward): Declare.
57
85fe3b5e
GM
582001-01-04 Gerd Moellmann <gerd@gnu.org>
59
0f2ac578
GM
60 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
61 like in Fx_create_frame.
62
482cca61
GM
63 * xfaces.c (set_font_frame_param): Don't do anything for
64 non-graphical frames.
65
85fe3b5e
GM
66 * window.c (Fdelete_other_windows): Set window's window_end_valid
67 to nil when changing the window's start. Don't change the
68 window's start when its top position hasn't changed. If we do,
69 this will set the window's optional_new_start, which act's like a
70 force_start during redisplay with C-x 1 M-> under particular
71 circumstances (see report from Per Starback to emacs-pretest-bug
72 from 2000-12-13.).
73
3e99d3b4
GM
742001-01-03 Gerd Moellmann <gerd@gnu.org>
75
a77dc1ec
GM
76 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
77 short cut at the start of the function. Add an assertion.
78 (reseat_at_next_visible_line_start): Add an assertion.
79
2f3cad6c
GM
80 * window.c (Frecenter): When changing the window start, set the
81 window's window_end_valid to nil.
82 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
83
84 * dispextern.h (move_it_past_eol): Add prototype.
85
86 * xdisp.c (move_it_past_eol): New function.
87
3e99d3b4
GM
88 * window.c (Fwindow_end): Doc fix.
89
902001-01-03 Dave Love <fx@gnu.org>
91
92 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3
93 kluge.
94
bafb434c
GM
952001-01-03 Gerd Moellmann <gerd@gnu.org>
96
97 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
98 the enabled_p flag of the glyph row at window_end_vpos to 0.
99 (handle_single_display_prop): Fix last change.
100
5297fb00
RS
1012001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
102
103 * window.c (Frecenter): Doc fix.
104
13d6a61c
AI
1052001-01-02 Andrew Innes <andrewi@gnu.org>
106
107 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
108
109 * frame.h (output_method): Add output_w32_console method.
110 (FRAME_W32_CONSOLE_P): New macro.
111
112 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
113 use output_w32_console method.
114 (Qw32_console): New Lisp_Object.
115 (Fframep): Return it.
116 (syms_of_frame): Init it.
117 (Fframe_parameters): Report w32console as font for w32_console
118 frames.
119
120 * xfaces.c (realize_default_face): Set face foreground and
121 background to unspecified for w32_console frames.
122 (realize_face): Realize face cache for w32_console frames.
123 (realize_tty_face): Accept w32_console frames.
124
125 * xdisp.c (handle_single_display_prop): Return if frame is
126 w32_console.
127 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
128 necessary, even if running interactively.
129
130 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
131 w32_console frames.
132
133 * w32term.c (x_update_begin):
134 (x_update_end):
135 (x_clear_frame):
136 (x_ins_del_lines):
137 (x_change_line_highlight):
138 (x_delete_glyphs):
139 (w32_ring_bell):
140 (x_update_begin):
141 (x_update_end):
142 (w32_reassert_line_highlight):
143 (w32_frame_rehighlight):
144 (w32_frame_raise_lower): Do nothing if not w32 frame.
145
146 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
147
148 * w32fns.c (Fx_display_color_cells): Determine correct value, when
149 system doesn't tell us directly.
150 (Fx_display_visual_class): Implement properly.
151
d6bb0c0d
GM
1522001-01-02 Gerd Moellmann <gerd@gnu.org>
153
154 * window.c (Frecenter): Handle centering in graphical frames
155 specially. Centering on the basis of line counts doesn't work
156 reliably with variable-height lines.
157
315f5865
EZ
1582001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
159
160 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
161 and al[].
162
163 * composite.c (run_composition_function): Remove unused variable
164 `val'.
165 (update_compositions): Remove unused variable `hook'.
166
167 * intervals.c (get_local_map): Remove unused variable `tem'.
168
169 * doprnt.c (doprnt1): Remove unused variable `size'.
170
171 * fns.c (Flength): Remove unused variable `tail'.
172 (Fdelete): Remove unused variable `size'.
173
174 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
175 and `gcpro2'.
176
177 * doc.c (Fsnarf_documentation): Remove unused variables `fun' and
178 `tem'.
179
180 * data.c (find_symbol_value): Remove extra 3rd argument in the
181 call to swap_in_symval_forwarding.
182
183 * undo.c (Fprimitive_undo): Remove unused block-scope variable
184 `end'.
185
186 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
187 (trivial_regexp_p): Remove unused variable `c'.
188 (boyer_moore): Remove unused variable `k'.
189
190 * indent.c (current_column): Remove unused variable `stopchar'.
191 (Fcompute_motion): Remove unused variable `contin'.
192
193 * casefiddle.c (casify_object): Remove unused variable `tolen'.
194
195 * dired.c (directory_files_internal): Fix a typo in a comment.
196 Remove an unused variable `handler'.
197 (file_name_completion): Remove unused function-scope variable
198 `dp'.
199 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
200 on BSD4_2.
201
202 * fileio.c (e_write): Remove unused variable
203 `require_encoding_p'.
204
205 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
206 and `buf'.
207 (Fmarker_insertion_type): Remove unused variable `buf'.
208
209 * insdel.c (make_gap): Remove unused variable `result'.
210
211 * keyboard.c (record_char): Remove unused function-scope variable
212 `help'.
213 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
214 (menu_bar_items): Remove unused function-scope variable `tem'.
215
216 * fontset.c (fontset_ref): Remove unused variable `i'.
217 (fontset_set): Remove unused variables `j' and `tmp'.
218 (make_fontset): Remove unused variables `i', `j', `elt' and
219 `base_elt'.
220 (make_fontset_for_ascii_face): Remove unused variable `name'.
221 (fs_load_font): Remove unused variable `font_idx'.
222 (fs_query_fontset): Remove unused function-local variable
223 `fontset'.
224 (list_fontsets): Remove unused variable `tail'.
225 (Fnew_fontset): Remove unused variables `family' and `registry'.
226 (accumulate_font_info): Remove unused variable `tmp'.
227 (Ffontset_font): Remove unused variable `id'.
228 (syms_of_fontset): Remove unused variable `i'.
229
230 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
231 to x_term_init.
232 (lookup_image): Remove unused variable `file'.
233 (xbm_load): Remove unused variables `bitmap_data', `height', and
234 `width'. Remove function-local variable `i', leave the
235 block-local one.
236 (gif_load): Remove unused variable `inc'.
237
238 * xterm.c (XTread_socket): Remove unused variables `p' and
239 `pend'.
240 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
241 leave only the one in the inner block.
242
243 * xfaces.c (face_fontset, realize_default_face): Remove unused
244 variable `fontset'.
245 (face_at_buffer_position): Remove unused variable `multibyte_p'.
246
247 * term.c (encode_terminal_code): Remove unused variable `c'.
248
249 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
250 char *' instead of `char *'.
251
252 * category.c (Fcategory_docstring): Remove unused variable `doc'.
253 (Fget_unused_category): Remove unused variable
254 `docstring_vector'.
255 (Fchar_category_set): Remove unused variables `val', `charset',
256 `c1' and `c2'.
257
258 * coding.c (detect_coding_iso2022, setup_coding_system): Remove
259 unused variable `i'.
260 (detect_coding_mask): Remove unused variable `idx'.
261 (detect_coding): Remove unused variable `i'.
262 (ccl_coding_driver): Remove unused variable `result'.
263 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
264 (decode_coding_string): Remove unused variables `to' and
265 `gcpro1'.
266 (encode_coding_string): Remove unused variables `gcpro1' and
267 `saved_coding_symbol'.
268 (Ffind_coding_systems_region_internal): Remove function-local
269 variable args[], leave only the block-local one.
270 (code_convert_region1): Remove unused variable `len'.
271
272 * charset.c (char_printable_p): Remove unused variable `chars'.
273 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
274 (str_to_multibyte): Remove unused variable `c'.
275
276 * window.c (size_window): Remove block-local variable `min_size'.
277
278 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
279 `header_line_height'.
280 (append_space, extend_face_to_end_of_line): Declare `saved_what'
281 enum display_element_type.
282
1a8a9daf
GM
2832001-01-02 Gerd Moellmann <gerd@gnu.org>
284
6dde6abc
GM
285 * xterm.c (x_connection_closed): Catch X errors around all
286 statements that call X. Save away the error message in a local
287 copy.
288
1883b2c6
GM
289 * xterm.c (x_connection_closed): Set handling_signal to 0 at
290 the start.
291
a13be207
GM
292 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
293 in or at the start of invisible text.
294
1a8a9daf
GM
295 * dispnew.c (update_window): Don't check_current_matrix_flags.
296
3608c0f9
JR
2972001-01-01 Jason Rumney <jasonr@gnu.org>
298
299 * w32fns.c (x_figure_window_size): Do not allow new_height and
300 new_width of frame to override specified values.
301
abb1acc4
KH
3022000-12-30 Kenichi Handa <handa@etl.go.jp>
303
d279f620
KH
304 * composite.c (find_composition): Fix a code for searching
305 backward.
abb1acc4 306
762a68ec
GM
3072000-12-29 Gerd Moellmann <gerd@gnu.org>
308
9c8b8382
GM
309 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New
310 function.
311 (update_window) [GLYPH_DEBUG]: Call it.
312 (scrolling_window): Prevent including current rows which are below
313 what's displayed in the window.
314
315 * xdisp.c (try_window_reusing_current_matrix)
316 <new start <= old start>: Disable rows in the current matrix
317 which are below the window after scrolling.
318
762a68ec
GM
319 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
320 is zero. It's not worth the complexity.
321 (invisible_text_between_p): Put in #if 0 because unused.
322
2d5912c1
GM
3232000-12-28 Gerd Moellmann <gerd@gnu.org>
324
46f6a258
GM
325 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
326 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
327
89f93679
GM
328 * keyboard.c (echo_char): If C is an integer, always call
329 push_key_description. Former code could signal an invalid
330 character error.
331
332 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
333 If set, print multibyte text.
334 (Fsingle_key_description): Call push_key_description with
335 FORCE_MULTIBYTE set.
336 (describe_buffer_bindings): Likewise.
337
338 * lisp.h (push_key_description): Add prototype.
339
c06017fb
GM
340 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
341 around the call to redisplay_internal.
342
f1d2ce7f
GM
343 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
344
2d5912c1
GM
345 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
346
9371f831
KH
3472000-12-28 Kenichi Handa <handa@etl.go.jp>
348
349 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
350 (ccl_driver): New local variable `extra_bytes'.
351
352 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
353
354 * coding.c (setup_coding_system): Initialize
355 coding->spec.ccl.eight_bit_carryover.
356 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
357
0c80628a
KH
3582000-12-28 Kenichi Handa <handa@etl.go.jp>
359
360 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
361 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
362 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
363 (decode_composition_emacs_mule): New function.
364 (decode_coding_emacs_mule): Decode composition sequence by calling
365 decode_composition_emacs_mule.
366 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
367 (encode_coding_emacs_mule): Changed from macro to function. If
2d5912c1 368 a text contains compositions, encode them correctly.
0c80628a
KH
369 (setup_coding_system): Set coding->commong_flags for emacs-mule so
370 that decoding and encoding are required.
371
3e32cc27
GM
3722000-12-27 Gerd Moellmann <gerd@gnu.org>
373
5e25feee
GM
374 * xfaces.c (PT_PER_INCH): New macro.
375 (xlfd_point_size): Compute real point size from font's pixel size.
376 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
377 instead of 72.
378
892d8fcd
GM
379 * .gdbinit: Comment out the line pointing to the Lesstif source
380 directory.
381
12c8b416
GM
382 * window.c (Frecenter): Use displayed_window_lines instead
383 of window_internal_height.
384
6061fbf0
GM
385 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
386 instead of x-toolkit-scroll-bars-p.
387 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
388
389 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
390 instead of x-toolkit-scroll-bars-p.
391 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
392
3e32cc27
GM
393 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
394 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
395 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]: New
396 variables.
397 (add_window_display_history, add_frame_display_history)
398 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
399 (build_frame_matrix_from_leaf_window): Remove unused code.
400 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
401 redisplay history.
402 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
403 (update_window) [GLYPH_DEBUG]: Likewise.
404 (syms_of_display): Defsubr dump-redisplay-history.
405
31798cfe
GM
4062000-12-23 Gerd Moellmann <gerd@gnu.org>
407
f717c2ba
GM
408 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
409 the end of the prompt. Set echo_after_prompt to the offset
410 of echoptr in echobuf.
411
aeb2b8fc
GM
412 * xdisp.c (init_from_display_pos): Pop until the iterator's
413 stack is empty; there may be frames for stretch or images
414 on the stack.
415
31798cfe
GM
416 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
417 (save_or_restore_current_matrix): New function for the same
418 purpose, but more efficient.
419 (adjust_frame_glyphs_for_frame_redisplay): Use it.
420
f8156156
EZ
4212000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
422
423 * xdisp.c (syms_of_xdisp): Fix last change.
424
bdd6d4e8
GM
4252000-12-23 Gerd Moellmann <gerd@gnu.org>
426
427 * xdisp.c (syms_of_xdisp): Doc fix.
428
429 * xdisp.c (redisplay_window): Remove label restore_buffers;
430 use finish_scroll_bars instead to make sure that scroll bars
431 are redeemed. If we don't do this, flickering can result from
432 scroll bars being destroyed and recreated.
433
9436cdf9
JR
4342000-12-22 Jason Rumney <jasonr@gnu.org>
435
436 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
437 in the wrong colors when the foreground is not black.
438 (expose_window): Don't redraw the window that's currently being
439 updated.
440
951f9df5
GM
4412000-12-22 Gerd Moellmann <gerd@gnu.org>
442
856ff7a7
GM
443 * window.c (size_window): When setting the window's too_small_ok
444 flag, compare old size with minimum size depending on WIDTH_P,
445 don't compare with window_min_width.
446
951f9df5
GM
447 * window.c (delete_window): Simplify somewhat.
448 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
449 freeing window matrices. The flag windows_or_buffers_changed is
450 set, so the next redisplay will consider all windows; this should
451 suffice.
452
886bc933
KH
4532000-12-22 Kenichi Handa <handa@etl.go.jp>
454
455 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
456
457 * ccl.h (struct ccl_program): New member cr_consumed.
458
459 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
460 (CCL_READ_CHAR): Handle EOL conversion here.
461 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
462
177f4e88
GM
4632000-12-21 Gerd Moellmann <gerd@gnu.org>
464
6ba384dc
GM
465 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg
466 GLYPHS.
467
468 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
469 otherwise tabs of different size compare equal.
470
471 * callint.c (Fcall_interactively): Prevent a compiler warning.
472
473 * print.c (print_unwind): Return nil.
474 (PRINTDECLARE): Initialize all local variables.
475 (print_preprocess): Add a default case.
476
8e15274f
GM
477 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
478
479 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
480
177f4e88
GM
481 * window.c (delete_window, Fsplit_window)
482 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
483
484 * dispextern.h (ensure_frame_matrix): Function declaration removed.
485
486 * dispnew.c (ensure_frame_matrix): Removed.
487 (save_frame_matrix, restore_frame_matrix): New functions.
488 (adjust_frame_glyphs_for_frame_redisplay): Use them.
489
490 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
491 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
492
99012074
AI
4932000-12-21 Andrew Innes <andrewi@gnu.org>
494
495 * w32term.c (x_update_begin): Regenerate the palette here, rather
496 than for each window.
497
498 * w32xfns.c (select_palette): Avoid calling SelectPalette if
499 palette is NULL, since this corrupts memory! Also get
500 display_info reference from frame.
501
29ef7d2d
JR
5022000-12-21 Jason Rumney <jasonr@gnu.org>
503
504 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
505
506 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
507 to avoid returning without releasing it.
3e27fa1f 508
3f9d67a6
KH
5092000-12-21 Kenichi Handa <handa@etl.go.jp>
510
587fc3f9
KH
511 * keymap.c (push_key_description): Don't convert eight-bit-control
512 and eight-bit-graphic to multibyte character.
513
3f9d67a6
KH
514 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
515 generic character and CODE1 is nil, return the smallest character
516 in CHARSET.
517
774ba8c9
DL
5182000-12-20 Dave Love <fx@gnu.org>
519
520 * s/osf5-0.h (NSIG): Don't redefine.
521
88416888
SM
5222000-12-20 Stefan Monnier <monnier@cs.yale.edu>
523
524 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
525 excluding menu-bar and tool-bar.
526 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
527 (menu_item_p): Remove.
528 (where_is_internal_1): Don't ignore menu-items.
529
a6426c6f
GM
5302000-12-20 Gerd Moellmann <gerd@gnu.org>
531
03ff8aab
GM
532 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
533 into account.
534
535 * window.c (make_window): Initialize window's min_hscroll.
536 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
537 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
538 to zero.
539 (struct saved_window): New member min_hscroll.
540 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
541 (Fset_window_configuration): Set window's min_hscroll.
542 (save_window_save): Save window's min_hscroll.
543 (compare_window_configurations): Compare min_hscroll values.
544
545 * window.h (struct window): New member min_hscroll.
546
547 * keyboard.c (echo_prompt): Prevent a compiler warning.
548
8de4aaf8
GM
549 * xdisp.c (try_cursor_movement): Fix last change. The real
550 condition is that PT is at the end of the row, and should
551 be displayed at the start of the next row.
552
3f7e3031
GM
553 * xdisp.c (try_cursor_movement): If we end on a partially
554 visible line, end we already decided to scroll, return -1.
555
a6426c6f
GM
556 * dispextern.h (ensure_frame_matrix): Add prototype.
557
558 * window.c (delete_window, Fsplit_window)
559 (Fset_window_configuration): Call ensure_frame_matrix.
560
561 * dispnew.c (fake_current_matrices, ensure_frame_matrix): New
562 functions.
563 (adjust_frame_glyphs_for_frame_redisplay): If display has been
564 completed, call fake_current_matrices instead of marking frame
565 garbaged.
566
57fa2774
JR
5672000-12-20 Jason Rumney <jasonr@gnu.org>
568
569 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
570
d925df90
EZ
5712000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
572
573 * fns.c (Frequire): Doc fix.
574
7b93a85b
GM
5752000-12-19 Gerd Moellmann <gerd@gnu.org>
576
71d4497a
GM
577 * window.c (window_scroll_pixel_based): Don't use
578 move_it_vertically.
579
c74e645b
GM
580 * dispnew.c (direct_output_for_insert): Fix check for mini-window
581 currently displaying a message.
582
7b93a85b
GM
583 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
584 xterm.h.
585 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
586
90d97e64
AI
5872000-12-18 Andrew Innes <andrewi@gnu.org>
588
589 * w32.c (w32_strerror): New function.
590
591 * w32.h (w32_strerror): New extern.
592
593 * w32fns.c (Fw32_shell_execute): Use it.
594
91c9e6ce
GM
5952000-12-18 Gerd Moellmann <gerd@gnu.org>
596
597 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
598
6f4745e2
EZ
5992000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
600
601 * msdos.c (IT_set_face): Obey inverse_video.
602
c9e088ce
KH
6032000-12-18 Kenichi Handa <handa@etl.go.jp>
604
605 * dired.c (directory_files_internal): Always return decoded filenames.
606
c3695f5f
GM
6072000-12-18 Gerd Moellmann <gerd@gnu.org>
608
52d8e4ff
GM
609 * xterm.c (x_connection_closed): Prevent being called recursively
610 because of an error condition in XtCloseDisplay.
611
62be9979
GM
612 * xdisp.c (init_iterator): If noninteractive, and the frame's
613 face cache is null, make one.
614
5f7a1890
GM
615 * xfns.c (show_busy_cursor): Check for live frames more
616 thoroughly.
617
c3695f5f
GM
618 * process.c (wait_reading_process_input): Check for pending
619 input when running timers.
620
78555fbe
EZ
6212000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
622
623 * msdos.c (IT_write_glyphs): Compute the glyph face from
624 str->face_id.
625
b2b36264
KH
6262000-12-18 Kenichi Handa <handa@etl.go.jp>
627
628 * process.c (read_process_output): Don't run a filter if the code
629 decoder produces nothing but carryover.
630
9c543fbf
AI
6312000-12-17 Andrew Innes <andrewi@gnu.org>
632
633 * w32.c (sys_rename): Only check errno against EEXIST, and not
634 EACCES, when determining whether rename failed because the target
635 exists. This was resulting in indefinite looping on Windows 9x if
636 the source file was locked by another process.
637
638 * w32fns.c (Ffile_system_info): New function.
639 (syms_of_w32fns): Defsubr it.
640
10c2b5a8
GM
6412000-12-17 Gerd Moellmann <gerd@gnu.org>
642
b0228ace
GM
643 * window.c (coordinates_in_window): Fix computation for
644 position on vertical line between mode lines.
645
10c2b5a8
GM
646 * xfns.c (unwind_create_frame): Return t if frame was deleted.
647 Don't alter tip_frame or tip_window.
648 (unwind_create_tip_frame): Set tip_frame to nil only if frame
649 was deleted.
650
c844a81a
GM
651 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
652 Don't alter tip_frame or tip_window.
653 (unwind_create_tip_frame): Set tip_frame to nil only if frame
654 was deleted.
655
6c825f8e
EZ
6562000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
657
658 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
659 be consistent with the doc string. Reported by NAKAJIMA Mikio
660 <minakaji@osaka.email.ne.jp>.
661
af4bb4c8
KH
6622000-12-16 Kenichi Handa <handa@etl.go.jp>
663
664 * xfaces.c (Vface_ignored_fonts): New variable.
665 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
666 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
667
8062e53a
GM
6682000-12-15 Gerd Moellmann <gerd@gnu.org>
669
e87b8809
GM
670 * dispnew.c (update_window): Detect pending input every nth line
671 updated, i.e. do it depending on real work done, and not on the
672 vpos of the line.
673
674 * xterm.c (expose_window): Don't redraw the window that's
675 currently being updated.
676
a6768cc5
GM
677 * window.c (Fset_window_point): Remove test for
678 cursor_in_non_selected_windows.
679
4ea7fdca
GM
680 * lread.c (read1): Recognize end of file after `\\'.
681
8062e53a
GM
682 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
683 not unwind_create_frame.
684
bb7959c1
GM
6852000-12-15 Dave Love <fx@gnu.org>
686
687 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
688 bcopy & al.
689
690 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
691
ced04c42
KH
6922000-12-15 Kenichi Handa <handa@etl.go.jp>
693
c5443913
KH
694 * coding.c (setup_coding_system): Clear all members of the struct
695 coding_system at first.
bc137305
KH
696 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
697 argument.
698 (code_convert_region): Don't override coding->src_multibyte and
699 coding->dst_multibyte.
c5443913 700
ced04c42
KH
701 * fns.c (Fmd5): Docstring improved.
702
c2d7f289
MB
7032000-12-15 Miles Bader <miles@gnu.org>
704
705 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
706 are actually marked as mode-lines; otherwise use
707 estimate_mode_line_height.
708
9d7d9263
GM
7092000-12-14 Gerd Moellmann <gerd@gnu.org>
710
711 * editfns.c (Fformat): Prevent a buffer overrun when the format
712 specifies a precision.
713
7cf0153a
EZ
7142000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
715
716 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
717 argument is outside the range [2..3].
718
1de0f662
AI
7192000-12-14 Andrew Innes <andrewi@gnu.org>
720
721 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
722 nothing to do. Bind inhibit-quit.
723 (tip_frame): Make it a Lisp_Object.
724 (x_create_tip_frame): Set tip_frame after it has been added to
725 Vframe_list.
726 (Fx_show_tip): Don't set tip_frame here.
727 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New
728 variables.
729 (unwind_create_frame, unwind_create_tip_frame): New functions.
730 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
731 while a frame is only partially constructed.
732
733 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
734 (x_free_frame_resources): New function.
735 (x_destroy_window): Use it.
736
02387dcc
GM
7372000-12-14 Gerd Moellmann <gerd@gnu.org>
738
739 * xfns.c (Fx_backspace_delete_keys_p): New function.
740 (syms_of_xfns): Defsubr it.
741
742 * config.in (HAVE_XKBGETKEYBOARD): Add.
743
0544ef49
KH
7442000-12-14 Kenichi Handa <handa@etl.go.jp>
745
98d62747
KH
746 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
747 Always store string in multibyte representation in echobuf.
748 (echo_char): Always store string in multibyte representation in
749 echobuf.
750 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
751 (read_key_sequence): Adjusted for the change of echo_prompt.
752
a20193cd
KH
753 * fns.c (Fmd5): Docstring improved.
754
191b83b6
KH
755 * lisp.h (detect_coding_system): Prototype adjusted.
756
0544ef49
KH
757 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
758 (detect_coding_emacs_mule, detect_coding_iso2022,)
759 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
760 (detect_coding_utf_16, detect_coding_ccl): Make them static. New
761 argument MULTIBYTEP. Callers changed.
762 (detect_coding_mask, detect_coding_system): New argument
763 MULTIBYTEP. Callers changed.
1da1bb05
KH
764 (decode_coding_string): Set coding->src_multibyte and
765 coding->dst_multibyte before calling detect_coding and detect_eol.
766 Update them after some coding system is detected.
767
d5b3eb1b
SM
7682000-12-13 Stefan Monnier <monnier@cs.yale.edu>
769
770 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
771
772 * keyboard.c (menu_bar_items, tool_bar_items):
773 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
774
f7f8bb69
GM
7752000-12-13 Gerd Moellmann <gerd@gnu.org>
776
19f71add
GM
777 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
778 New variables.
779 (unwind_create_frame, unwind_create_tip_frame): New functions.
780 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
781 while a frame is only partially constructed.
782
783 * xterm.h (x_free_frame_resources): Declare.
784
785 * xterm.c (x_free_frame_resources): New function.
786 (x_destroy_window): Use it.
787
e10da507
GM
788 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
789 don't interrupt the update for pending input initially, i.e.
790 update at least some lines.
791
792 * keyboard.c (do_mouse_tracking): Make externally visible.
793
d5b3eb1b 794 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
795
796 * xfns.c (gray_bitmap_bits): Declare `char *'.
797
90aa2856
GM
7982000-12-12 Gerd Moellmann <gerd@gnu.org>
799
800 * xdisp.c (display_tool_bar_line): Make sure that tool bar
801 lines start with a relief line.
802
a308c9cd
DL
8032000-12-12 Dave Love <fx@gnu.org>
804
805 * window.c (Fdisplay_buffer): Doc fix.
806 (Fwindow_list): Remove unused var.
807
808 * buffer.h (mmap_set_vars): Declare.
809
810 * window.h (Fset_window_point): Declare.
811
d575011f
EZ
8122000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
813
bf6282d2 814 * msdos.c (fast_find_position): Don't overstep the last window row.
d575011f
EZ
815 (IT_note_mouse_highlight): Initialize portion to -1. Remove
816 unused variable `area'. When looking for a row under (X,Y), give
817 up if some of the previous rows is not enabled.
818
ecf4d726
GM
8192000-12-12 Gerd Moellmann <gerd@gnu.org>
820
2ebf6139
GM
821 * window.c (Fset_window_point): If displaying cursors in windows
822 other than the selected window, make sure redisplay updates
823 other windows to show the new value of point in the window.
824
825 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
826
bfdb75ee
GM
827 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
828 the buffer is the sole visible buffer when in the mini-buffer.
829
4fdbd809
GM
830 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
831 Bind `inhibit-read-only' to t.
832 (unwind_with_echo_area_buffer): Use AREF.
833
c0006262
GM
834 * xfns.c (Fx_hide_tip): Simplified.
835
e9a59cad
GM
836 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use
837 GC_MAKE_GCPROS_NOOPS instead of `1'.
838
ecf4d726
GM
839 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
840
e5959a9a
GM
8412000-12-11 Gerd Moellmann <gerd@gnu.org>
842
a3642e49
GM
843 * xfns.c (Fx_hide_tip): Fix last change.
844
44b5a125
GM
845 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
846 nothing to do. Bind inhibit-quit.
847 (tip_frame): Make it a Lisp_Object.
848 (x_create_tip_frame): Set tip_frame after it has been added to
849 Vframe_list.
850 (Fx_show_tip): Don't set tip_frame here.
851
852 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
853
854 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
855 Lisp_Object.
856
857 * dispextern.h: Change external declaration of tip_frame.
858
d990421f
GM
859 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
860 return an empty string.
861
4db87380
GM
862 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
863 of the window's update_mode_line flag, since the former is set by
864 force-mode-line-update, not the latter. This makes
865 column-number-mode slightly faster.
866
e5959a9a
GM
867 * xdisp.c (try_window_id) <all changes above window start>:
868 Set the cursor.
869
169fe44e
GM
8702000-12-11 Paul Eggert <eggert@twinsun.com>
871
872 * config.in (HAVE_FTELLO): Remove.
873 (HAVE_FSEEKO): Add.
874 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
875 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
876 HAVE_FTELLO.
877 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
878 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
879
59ec59ae
MB
8802000-12-11 Miles Bader <miles@gnu.org>
881
882 * window.c (displayed_window_lines): Don't round up when
883 converting empty space at bottom to lines.
ff904dd6
MB
884 Handle non-newline-terminated final lines properly.
885 (Fwindow_text_height): New function (used to be in lisp).
886 (syms_of_window): Initialize it.
59ec59ae 887
42ebfa31
SM
8882000-12-09 Stefan Monnier <monnier@cs.yale.edu>
889
890 * syntax.c (scan_lists): Check that the right quote char has the
891 right Sstring syntax when jumping over strings.
892 (init_syntax_once): Use Smax rather than 13.
893
5cdb3cf3
MB
8942000-12-09 Miles Bader <miles@gnu.org>
895
896 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
897 with PARTIALLY, inverting the sense.
898 (window_scroll_pixel_based): Scroll partially visible lines into
899 place if we hit the beginning or end of the buffer.
a12167c5
MB
900 (displayed_window_lines): Don't include partially visible lines.
901 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 902
842b2a94
GM
9032000-12-08 Gerd Moellmann <gerd@gnu.org>
904
905 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
906
907 * tparam.c (tparam1): Change the way buffers are reallocated to be
908 portable and less obfuscated.
909
910 * termcap.c (tgetent): Change the way buffers are reallocated to
911 be portable and less obfuscated.
912
913 * macros.c (store_kbd_macro_char): Change the way buffers are
914 reallocated to be portable and less obfuscated.
915
916 * lread.c (read1): Change the way buffers are reallocated to be
917 portable and less obfuscated.
918
919 * doc.c (Fsubstitute_command_keys): Change the way buffers
920 are reallocated so that it is portable.
921
137cad7c
EZ
9222000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
923
924 * dosfns.c (Ffile_system_info): New function.
925 (syms_of_dosfns): Defsubr it.
926
5c7f629c
SM
9272000-12-07 Stefan Monnier <monnier@cs.yale.edu>
928
929 * alloc.c (gc_sweep): Add comment.
930
959e647d
GM
9312000-12-07 Gerd Moellmann <gerd@gnu.org>
932
28fcb7dc
GM
933 * sound.c (vox_configure): Change order of ioctls. Don't
934 set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
935 Ignore errors when changing volume.
936 (vox_close): Don't reset the device.
937
926b7e5e
GM
938 * process.c (read_process_output): Make sure the process marker's
939 position is valid when the process buffer is changed in
940 after-change functions. W3 does that.
941
959e647d
GM
942 * xfns.c (x_free_gcs): New function.
943
944 * xterm.h (x_free_gcs): Add prototype.
945
946 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
947 freeing GCs here.
948
949 * xterm.c (x_destroy_window): Call x_free_gcs so that
950 resources of non-toolkit X windows will be freed.
951
478ea067
AI
9522000-12-07 Andrew Innes <andrewi@gnu.org>
953
954 * w32fns.c (xlfd_charset_of_font): Fix last change.
955
fbee3231
DL
9562000-12-06 Dave Love <fx@gnu.org>
957
67292061
DL
958 * md5.h (__P): Don't define -- it comes from config.h.
959
fbee3231
DL
960 * strftime.c: Change some #if foo to #ifdef foo.
961
4ee87dbb
AI
9622000-12-06 Andrew Innes <andrewi@gnu.org>
963
964 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
965
966 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname
967 argument.
968 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
969 (w32_list_fonts): Don't choke if pattern doesn't specify a
970 codepage.
971
9765b4a4
GM
9722000-12-06 Gerd Moellmann <gerd@gnu.org>
973
d285b373
GM
974 * alloc.c (gc_sweep): Prevent symbols read during loadup
975 from being freed.
976
384333ee
GM
977 * xdisp.c (underlying_face_id): New function.
978 (handle_face_prop, face_before_or_after_it_pos): Use it
979 to determine the face ``under'' a string. Let strings inherit
980 the face of the buffer under them.
981
982 * xfaces.c (face_at_string_position): Update function comment.
983
d4b72d58
GM
984 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
985 matrix if the window's left position has changed; we need to
986 redraw it in this case.
987
988 * dispextern.h (struct glyph_matrix): Add member window_left_x.
989
e1d05387
GM
990 * window.c (coordinates_in_window): Check mouse on mode-line or
991 header-line first.
992
eb1b0c74
GM
993 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
994 advertized by the function documentation.
995
d94d636f
GM
996 * window.c (syms_of_window): Doc fix.
997
3887b449
GM
998 * sound.c (vox_configure): Set volume for left and right channel.
999 (sound_cleanup): Return nil.
1000
efc8f57a
GM
1001 * xdisp.c (move_it_by_lines): Fix paren typo.
1002
9765b4a4
GM
1003 * xterm.c (x_load_font): Don't use the font's max_bounds for
1004 computing the height of the font. If max_bounds' ascent or
1005 descent are greater than the font's ascent or descent, this means
1006 glyphs overlap, which should be handled now by redisplay.
1007
6529ed87
GM
1008 * window.c (Veven_window_heights): New variable.
1009 (syms_of_window): DEFVAR_LISP it.
1010 (Fdisplay_buffer): Check Veven_window_heights before evening the
1011 window heights.
1012
0eb2ecde
MB
10132000-12-06 Miles Bader <miles@gnu.org>
1014
1015 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
1016 update `default-frame-alist' instead of setting no frame parameters.
1017
03d7a167
KH
10182000-12-06 Kenichi Handa <handa@etl.go.jp>
1019
1020 * composite.c (update_compositions): Fix typo (use the correct
1021 variable).
1022
5f8803c2
JR
10232000-12-05 Jason Rumney <jasonr@gnu.org>
1024
1025 * md5.h: Remove underscores from function declarations.
1026 (__attribute__, __alignof__) [!__GNUC__]: Define.
1027
1028 * md5.c: Delay include of md5.h until after namespace cleaning.
1029
c28a075b
JR
1030 * makefile.w32-in (fns.o): Depend on md5.h
1031 (md5.o): New target.
1032 (sunfns.o): Remove.
1033
1034 * makefile.nt: Likewise.
1035
ff3c7056
JR
10362000-12-05 Jason Rumney <jasonr@altavista.net>
1037
1038 * w32term.c (expose_area): Complete last change.
1039
0c21eeeb
KR
10402000-12-05 Ken Raeburn <raeburn@gnu.org>
1041
1042 * minibuf.c: Include intervals.h.
1043
f201d732
JR
10442000-12-05 Jason Rumney <jasonr@gnu.org>
1045
1046 * w32term.c (x_produce_glyphs): If a font for a component of
1047 a composition is not found, use 1 pixel dot ascent and 0 dot
1048 descent value to avoid displaying terribly tall empty boxes.
1049 (expose_area): Pass x-coordinate relative to the exposed
1050 area to x_draw_glyphs instead of a window-relative coordinate.
1051
21999ab9
GM
10522000-12-05 Gerd Moellmann <gerd@gnu.org>
1053
4d2036e4
GM
1054 * xdisp.c (next_element_from_ellipsis): Save face before selective
1055 display in saved_face_id, and set face_before_selective_p.
1056 (reseat_1): Reset face_before_selective_p.
1057 (append_space, extend_face_to_end_of_line): If iterator's
1058 face_before_selective_p is set, use the face from saved_face_id.
1059 (extend_face_to_end_of_line): For tty frames, make sure to
1060 use the right face id when producing spaces at the end of
1061 the line.
1062
1063 * dispextern.h (struct it): Add face_before_selective_p.
1064
52be17cc
GM
1065 * keyboard.c (record_char): Don't record identical help-echo
1066 events in recent_keys.
1067
8a4f36cc
GM
1068 * xterm.c [USE_X_TOOLKIT]: Close the display.
1069 (xim_close_dpy): Handle case that the display has been closed.
1070
57d6e381
GM
1071 * xterm.c (x_destroy_window): Reset the frame's X window after
1072 destroying it.
1073
21999ab9
GM
1074 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
1075 variable window_width.
1076 (line_draw_cost): Fix code skipping over spaces at the end of the
1077 line when must_write_spaces is not set.
1078 (scrolling_window): Fix code inserting runs in list of all runs.
1079
91372bb7
KH
10802000-12-05 Kenichi Handa <handa@etl.go.jp>
1081
1082 * coding.c (setup_coding_system): Be sure to initialize
1083 coding->category_idx.
1084
6c083b4c
GM
10852000-12-04 Gerd Moellmann <gerd@gnu.org>
1086
0c68ce6f
GM
1087 * xterm.c (PER_CHAR_METRIC): Removed because not used.
1088
6452929e
GM
1089 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
1090 area to x_draw_glyphs instead of a window-relative coordinate.
1091
d7f31e22
GM
1092 * fileio.c (auto_save_error): Add parameter ERROR. Show the
1093 error in the message.
1094
ae18aa3b
GM
1095 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
1096 timer after having read a key. It's not good for code reading
1097 several keys in a loop, like an input method.
1098
caa15ef7
GM
1099 * fileio.c (Finsert_file_contents): When VISIT is t, don't
1100 record undo information for format-decode.
1101
1102 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
1103 current buffer is read-only, not if it isn't.
1104
6c083b4c
GM
1105 * keyboard.c (record_char): Record `help-echo' input events
1106 in recent_keys only if they display some help. Don't record
1107 `help-echo' events as macro char.
1108
caa15ef7
GM
11092000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1110
1111 * editfns.c (save_excursion_restore): Don't move point
1112 in another window if it is showing the wrong buffer.
1113 Avoid the call to Fwindow_live_p, for speed.
1114
5a13529b
KH
11152000-12-04 Kenichi Handa <handa@etl.go.jp>
1116
e225faa7
KH
1117 * xfaces.c (struct font_name): New member registry_priority.
1118 (split_font_name): Initialize the above member to zero.
1119 (concat_font_list): New function.
1120 (font_list): Include fonts of all alternative registries.
1121 (FONT_POINT_SIZE_QUANTUM): New macro.
1122 (better_font_p): Ignore point size difference less than
1123 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
1124
e89648b4
KH
1125 * xterm.c (x_produce_glyphs): If a font for a component of
1126 a composition is not found, use 1 pixel dot ascent and 0 dot
1127 descent value to avoid displaying terribly tall empty boxes.
1128
5a13529b
KH
1129 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
1130
d7935eb6
KR
11312000-12-03 Ken Raeburn <raeburn@gnu.org>
1132
1133 * coding.h (code_convert_string1): Declare.
1134
1135 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
1136
1137 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name):
1138 Declare.
1139
0dd5e255
JR
11402000-12-02 Jason Rumney <jasonr@gnu.org>
1141
1142 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
1143 correctly for single byte character case.
1144 (w32_per_char_metric): Do not try to make any assumptions about
1145 the metrics of BDF fonts.
250cfece
JR
1146 (x_estimate_mode_line_height): If `mode-line' face
1147 hasn't a font, use that of the frame, as drawing glyphs
1148 does.
1149 (note_mouse_highlight): Change the cursor shape on the vertical
1150 border between windows [not enabled].
1151
1152 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
1153
1154 * w32fns.c (Fx_create_frame): Reintroduce the call to
1155 face-set-after-frame-defaults.
1156 (Vx_window_horizontal_drag_shape): New variable.
1157 (syms_of_xfns): DEFVAR_LISP it.
1158 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
1159 enabled].
0dd5e255 1160
b5d8d2ca
GM
11612000-12-02 Simon Josefsson <simon@josefsson.org>
1162
1163 * fns.c (Fmd5): Use a different logic to decide the coding system
1164 to use.
1165
1166 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
1167
fbb87147
EZ
11682000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
1169
1170 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is
1171 NULL.
1172
447e9da0
GM
11732000-12-01 Gerd Moellmann <gerd@gnu.org>
1174
7708ced0
GM
1175 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
1176 height for YNegative.
1177 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
1178 height; also see comment there.
1179
447e9da0
GM
1180 * window.c (coordinates_in_window): Handle computations for
1181 positions on the vertical bar and fringes differently for
1182 window-system frames. Consider some pixels near the vertical bar
1183 as on the bar if the frame doesn't have vertical scroll bars.
1184 Associate positions between mode or header lines with the
1185 right window, the left one.
1186
86d1db20
JR
11872000-12-01 Jason Rumney <jasonr@gnu.org>
1188
1189 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
1190
1191 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
1192 invalid frame.
1193
a1d58e5b
GM
11942000-12-01 Gerd Moellmann <gerd@gnu.org>
1195
1196 * window.c (struct saved_window): Add members orig_top and
1197 orig_height.
1198 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
1199 (save_window_save, Fset_window_configuration): Save/restore
1200 window's orig_top and orig_height.
1201
89c609af
JR
12022000-12-01 Jason Rumney <jasonr@gnu.org>
1203
4d177746 1204 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 1205
89c609af
JR
1206 * w32fns.c (x_set_cursor_color): Fix last change.
1207
eccc05db
GM
12082000-11-30 Gerd Moellmann <gerd@gnu.org>
1209
31b6671b
GM
1210 * xdisp.c (echo_area_display): If cursor is in the echo area, make
1211 sure that the next redisplay displays the minibuffer, so that
1212 the cursor will be replaced with what the minibuffer wants.
1213
eccc05db
GM
1214 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
1215 #ifndef instead of using #if.
1216 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
1217 USE_TOOLKIT_SCROLL_BARS is defined.
1218
162de750
JR
12192000-11-30 Jason Rumney <jasonr@gnu.org>
1220
1221 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
1222 x_display_cursor.
1223
693c4692
GM
12242000-11-30 Gerd Moellmann <gerd@gnu.org>
1225
1226 * fns.c (Fmd5): Doc fix.
1227
b5d8d2ca 12282000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
1229
1230 * fns.c (Fmd5): New function.
1231 (syms_of_fns): Defsubr md5.
1232
1233 * Makefile.in (obj): Add md5.o
1234
b02cd40b
GM
12352000-11-30 Gerd Moellmann <gerd@gnu.org>
1236
edfb795e
GM
1237 * md5.h, md5.c: New files, taken from glibc.
1238
df3aedcf
GM
1239 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
1240
b02cd40b
GM
1241 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
1242 hasn't a font, use that of the frame, as drawing glyphs
1243 does.
1244
8b5176cd
SM
12452000-11-29 Stefan Monnier <monnier@cs.yale.edu>
1246
1247 * eval.c (Frun_hooks): Allow 0 arguments.
1248
346598f1
GM
12492000-11-29 Gerd Moellmann <gerd@gnu.org>
1250
f9396e03
GM
1251 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
1252 is over the menu bar widget, say it's not on the frame.
1253
4a967a9b
GM
1254 * xfns.c (Fx_create_frame): Reintroduce the call to
1255 face-set-after-frame-defaults.
1256
346598f1
GM
1257 * eval.c (Fsignal): Reset handling_signal.
1258
222456a1
JR
12592000-11-28 Jason Rumney <jasonr@gnu.org>
1260
1261 * w32menu.c (add_menu_item): Reset menu item text when changing
1262 type to radio button.
1263
8049ddc0
GM
12642000-11-28 Gerd Moellmann <gerd@gnu.org>
1265
346598f1 1266 * xselect.c: Update copyright.
f4f4ee4d 1267
bebe4a2c
GM
1268 * window.c (coordinates_in_window): If on a mode or header line,
1269 but sufficiently close to its start, return ``on vertical
1270 border''. This gives us a way to drag windows horizontally when
1271 using toolkit scroll bars.
1272
1273 * xterm.c (note_mouse_highlight): Change the cursor shape
1274 on the vertical border between windows.
1275
1276 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
1277
1278 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
1279 (syms_of_xfns): DEFVAR_LISP it.
1280 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
1281
8d2c2642
GM
1282 * textprop.c (text_read_only): New function.
1283 (verify_interval_modification): Use it instead of signaling
1284 `text-read-only'. This makes it easier to catch this error
1285 with a breakpoint.:
1286
8049ddc0
GM
1287 * xdisp.c (forward_to_next_line_start): Check for newlines,
1288 not end of line, which includes CR.
1289
5a2bae6c
KH
12902000-11-28 Kenichi Handa <handa@etl.go.jp>
1291
1292 * coding.c (Ffind_coding_systems_region_internal): Be sure to
1293 include no-conversion.
1294
ae31f84d
JR
12952000-11-27 Jason Rumney <jasonr@gnu.org>
1296
1297 * w32fns.c (w32_load_system_font): Always mark font as double byte
1298 if codepage is unicode.
1299
67f1cf4c
GM
13002000-11-27 Gerd Moellmann <gerd@gnu.org>
1301
4a74d071
GM
1302 * xdisp.c (forward_to_next_line_start): If already on a newline,
1303 just consume it to avoid unintended skipping over invisible text
1304 below.
1305
902ae620
GM
1306 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
1307 `vertical-line', `mode-line' and `header-line' events.
1308
1309 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
1310 of a character, a TAB for instance. This is easier than to set
1311 up the iterator exactly, and it's not a frequent case, so the
1312 additional effort wouldn't really pay off.
1313
c1e279c2
AC
13142000-11-26 Andrew Choi <akochoi@i-cable.com>
1315
67f1cf4c 1316 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
1317 init_window_once.
1318
a609568a
JR
13192000-11-25 Jason Rumney <jasonr@gnu.org>
1320
48b21762
JR
1321 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: Args
1322 to window_from_coordinates should be pixel coordinates.
1323
a609568a
JR
1324 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
1325 redisplay handles them properly.
1326
a658d039
MB
13272000-11-25 Miles Bader <miles@gnu.org>
1328
1329 * indent.c (compute_motion): Keep pos_byte in sync with pos.
1330
d3416cca
JR
13312000-11-24 Jason Rumney <jasonr@gnu.org>
1332
1333 * w32.c (init_environment): Set LANG environment variable based on
1334 locale settings, if not set.
1335
1336 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
1337 making tool bar smaller. When clearing the frame, also
1338 clear current matrices. Clear frame when tool bar disappears.
1339 Don't use more lines for the tool-bar than is available.
1340 (x_change_window_heights): New function.
1341
ba193890
GM
13422000-11-24 Gerd Moellmann <gerd@gnu.org>
1343
2be8f184
GM
1344 * xdisp.c (init_from_display_pos): If POS says we're already after
1345 an overlay string ending at POS, make sure to pop the iterator
1346 because it will be in front of that overlay string. When POS is
1347 ZV, we've thereby also ``processed'' overlay strings at ZV.
1348
ba193890
GM
1349 * xfaces.c (lface_from_face_name): Function comment fix.
1350
1862a24e
MB
13512000-11-24 Miles Bader <miles@gnu.org>
1352
1353 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
1354 apply `mode-line-inverse-video' -- zero means force display using
1355 the default face, non-zero means display using the specialized face.
1356 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
1357
f07fa1b8
KH
13582000-11-23 Kenichi Handa <handa@etl.go.jp>
1359
1360 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
1361 hard coded `4'.
1362
2bcdf662
EZ
13632000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
1364
1365 * coding.c (decode_coding_emacs_mule): Fix the case of
1366 CODING_EOL_LF, which used uninitialized value of c.
1367
ba8299ff
SM
13682000-11-23 Stefan Monnier <monnier@cs.yale.edu>
1369
1370 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
1371
f4117c4d
GM
13722000-11-22 Gerd Moellmann <gerd@gnu.org>
1373
03e757c1
GM
1374 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
1375 buffer object.
1376
f4117c4d
GM
1377 * frame.h (struct frame): Replace desired_tool_bar_items,
1378 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 1379 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
1380
1381 * frame.c (make_frame): Change initialization of tool bar
1382 items accordingly.
1383
1384 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 1385 Change references to members deleted from struct frame to use the
f4117c4d
GM
1386 new ones.
1387
1388 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
cc362d76 1389 references to members deleted from struct frame to use the new
f4117c4d
GM
1390 ones.
1391
1392 * dispnew.c (update_frame): Do nothing with frame's tool bar
1393 items.
1394
1395 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
1396
1397 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 1398 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
1399 from struct frame to use the new ones.
1400
f8e2f3f2
MB
14012000-11-23 Miles Bader <miles@gnu.org>
1402
1403 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
1404 the face's inverse-video attribute, rather than overriding it.
1405
60e8e0a5
GM
14062000-11-22 Gerd Moellmann <gerd@gnu.org>
1407
1408 * xfns.c (x_set_tool_bar_lines): Clear internal border when
1409 making tool bar smaller.
1410
92dd1b29
DL
14112000-11-22 Dave Love <fx@gnu.org>
1412
1413 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
1414
e672fdce
MB
14152000-11-22 Miles Bader <miles@gnu.org>
1416
3a17d6cc
MB
1417 * keyboard.c (Vminibuffer_message_timeout): New variable.
1418 (command_loop_1): Use it to determine message timeout.
1419 (syms_of_keyboard): Initialize it.
1420
60e8e0a5 1421 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 1422
e9655d81
KH
14232000-11-22 Kenichi Handa <handa@etl.go.jp>
1424
1425 * sysdep.c: Move the code for declaring h_errno after #include
1426 <netdb.h>.
1427
77270fac
GM
14282000-11-21 Gerd Moellmann <gerd@gnu.org>
1429
cd913aae
GM
1430 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
1431 the menu bar when the tooltip is unmapped.
1432
77270fac
GM
1433 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
1434 sole visible buffer when we're currently in the mini-buffer, and
1435 give up if so.
1436
556635d6
JR
14372000-11-21 Jason Rumney <jasonr@gnu.org>
1438
1439 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
1440 put on the clipboard.
1441 (Fw32_get_clipboard_data): Compare data on clipboard with saved
1442 copy of what Emacs last put there. If they are the same, do not
1443 use the clipboard copy to avoid losing data due to coding
1444 conversions.
1445
5b7bde64
MB
14462000-11-22 Miles Bader <miles@gnu.org>
1447
1448 * minibuf.c (Vminibuffer_prompt_properties): New variable.
1449 (syms_of_minibuf): Initialize it.
1450 (read_minibuf): Add properties from Vminibuffer_prompt_properties
1451 to prompt, don't make read-only.
1452
ff23e1dd
GM
14532000-11-21 Gerd Moellmann <gerd@gnu.org>
1454
3c64f287
GM
1455 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: Add
1456 BEFORE/AFTER_POTENTIAL_GC.
1457
7aaf4388
GM
1458 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
1459
f5f47add 1460 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 1461
ff23e1dd
GM
1462 * term.c, cm.c: Don't try to include termcap.h; see comment there.
1463
37c35586
KH
14642000-11-21 Kenichi Handa <handa@etl.go.jp>
1465
1466 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
1467 ... #endif scope.
1468
ff9ab414
GM
14692000-11-20 Gerd Moellmann <gerd@gnu.org>
1470
c51d2b5e
GM
1471 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
1472 screen supports it.
1473
29a01b72
GM
1474 * s/gnu-linux.h: Don't use `#cpu'.
1475
09dfdf85
GM
1476 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
1477 not defined in mman.h.
1478
ff9ab414
GM
1479 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New
1480 variables.
1481 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
1482 and store an index in the XClientMessageEvent. Storing a
1483 Lisp_Object or pointer can fail on a 64 bit system, since X only
1484 transfers 32 bits.
1485 (x_scroll_bar_to_input_event): Get the window from
1486 scroll_bar_windows.
1487
81459ac9
DL
14882000-11-20 Dave Love <fx@gnu.org>
1489
1490 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
1491
56c13ae6
GM
14922000-11-20 Gerd Moellmann <gerd@gnu.org>
1493
1494 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
1495
495a6df3
KH
14962000-11-20 Kenichi Handa <handa@etl.go.jp>
1497
2bcf3714
KH
1498 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
1499 by WIDTH.
1500
495a6df3
KH
1501 * alloc.c (make_string): Fix previous change. Be sure to make
1502 unibyte string correctly.
1503
6d950f4c
GM
15042000-11-19 Gerd Moellmann <gerd@gnu.org>
1505
39b39373
GM
1506 * window.c (Fwindow_list): Change parameter list to be XEmacs
1507 compatible.
1508 (window_list_1): New function.
1509 (window_loop): Use it instead of Fwindow_list.
1510
b95b34e5
GM
1511 * sysdep.c (emacs_ospeed): New variable.
1512 (toplevel): Don't declare ospeed extern.
1513 (init_baud_rate): Use emacs_ospeed instead of ospeed.
1514
1515 * termcap.c (ospeed): Remove.
1516 (tputs) [!emacs]: Remove unused code.
1517 (tgetent): Avoid a compiler warning.
1518
e83dc917
GM
1519 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
1520 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 1521 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
1522
1523 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
1524 removed.
1525 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
1526 Take the X display as additional argument.
1527 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
1528 `Widget' is a pointer type that's not easily stored in Lisp_Object
1529 form in a portable way.
1530
6d950f4c
GM
1531 * dispnew.c (update_text_area): Fix last change.
1532
e47306e6
GM
15332000-11-18 Gerd Moellmann <gerd@gnu.org>
1534
fb3cd89b
GM
1535 * xdisp.c: Use BINDING_STACK_SIZE throughout.
1536
1537 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
1538 clear current matrices.
1539
edaa9aed
GM
1540 * buffer.c (mmap_enlarge): Don't print a message on stderr
1541 if mapping new memory at the end of the existing region fails.
1542
e47306e6
GM
1543 * dispnew.c (update_text_area): Don't skip over equal glyphs
1544 when the last current glyph overlaps the glyph to its right.
1545
509633e3
MB
15462000-11-18 Miles Bader <miles@gnu.org>
1547
1548 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
1549 lines that *end* with "..." too (that's the most common case!).
1550
d392e9c5
GM
15512000-11-18 Gerd Moellmann <gerd@gnu.org>
1552
67988445
GM
1553 * xdisp.c (resize_mini_window): Temporarily change to the
1554 mini-window's buffer if necessary.
1bfdbe43 1555
d392e9c5
GM
1556 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
1557 the tooltip obscures less text under it.
1558
15592000-11-17 Gerd Moellmann <gerd@gnu.org>
1560
1561 * puresize.h (BASE_PURESIZE): Increase to 700000.
1562
92bb977f
JR
15632000-11-18 Jason Rumney <jasonr@gnu.org>
1564
1565 * w32term.c (w32_draw_bitmap): Use face to set colors.
1566
26fbf20b
DL
15672000-11-17 Dave Love <fx@gnu.org>
1568
1569 * lread.c (Fload): Fix #ifdef for pcc.
1570
100b593b
GM
15712000-11-17 Gerd Moellmann <gerd@gnu.org>
1572
1573 * xdisp.c (pos_visible_p): Compute the default character height
1574 differently.
1575
a288d0d1
GM
15762000-11-16 Gerd Moellmann <gerd@gnu.org>
1577
cac94de6
GM
1578 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
1579 knowing the line's height; use the default font's height in that
1580 case.
1581
a288d0d1
GM
1582 * xfaces.c (weight_table): Add `demi' with the same meaning as
1583 `demibold'.
1584
981fb6f6
KH
15852000-11-16 Kenichi Handa <handa@etl.go.jp>
1586
2cca872d 1587 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
1588 (clear_glyph_row): Delete local static variable null_row.
1589
e5fa381b
JR
15902000-11-15 Jason Rumney <jasonr@gnu.org>
1591
1592 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
1593 (w32_alloc_lighter_color): Use new brightness calculations from
1594 xterm.c. Scale delta to be in the range expected by W32.
1595 (w32_draw_relief_rect): Use frame relief colors.
1596
8e42f043
GM
15972000-11-15 Gerd Moellmann <gerd@gnu.org>
1598
6d133d1f
GM
1599 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
1600 (Qinhibit_default_face_x_resources): New variable.
1601 (syms_of_frame): Initialize it.
1602 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
1603
1604 * xdisp.c (pos_visible_p): Improve function comment.
1605
1606 * lisp.h (BINDING_STACK_SIZE): New macro.
1607
8e42f043
GM
1608 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
1609 reading the directory if readdir returns null and errno is EAGAIN
1610 or EINTR.
1611
e8c87124
SM
16122000-11-14 Stefan Monnier <monnier@cs.yale.edu>
1613
1614 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
1615 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
1616 Set amount_to_scroll to max of dx and scroll_step so that
1617 scroll-conservatively doesn't defeat scroll-step>1.
1618 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
1619 scroll-conservatively for line-at-a-time scrolling.
1620
5f0c971d
GM
16212000-11-14 Gerd Moellmann <gerd@gnu.org>
1622
1623 * window.c (Fpos_visible_in_window_p): Call pos_visible with
1624 extra argument.
1625
1626 * xdisp.c (current_mode_line_height, current_header_line_height):
1627 New variables.
1628 (init_xdisp): Initialize them.
1629 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
1630 and use exact mode line heights if it is set.
1631
1632 * lisp.h (pos_visible_p): Change prototype.
1633
1634 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
1635 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
1636 and current_header_line_height first.
1637 (current_mode_line_height, current_header_line_height): Declare
1638 extern.
1639
d7361edf
MB
16402000-11-14 Miles Bader <miles@lsi.nec.co.jp>
1641
1642 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
1643 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
1644 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
1645
ee5e440a
MB
16462000-11-14 Miles Bader <miles@gnu.org>
1647
1648 * xterm.c (x_alloc_lighter_color): Include an additive component
1649 too for dark colors, because FACTOR isn't enough.
1650 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
1651 New macros.
1652
5ca020fc
GM
16532000-11-13 Gerd Moellmann <gerd@gnu.org>
1654
1655 * keyboard.c (show_help_echo): Call message3_nolog with number of
1656 bytes in the help string as 2nd parameter, instead of the number
1657 of characters.
1658
9d348294
MB
16592000-11-13 Miles Bader <miles@gnu.org>
1660
1661 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
1662 (Fload): Use new openp return protocol.
1663 Don't try to use Vload_source_file_function to load .elc files.
1664 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
1665 openp return protocol.
1666 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
1667
1729bb9a
KH
16682000-11-11 Kenichi Handa <handa@etl.go.jp>
1669
4e677396
KH
1670 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
1671
1672 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
1673 Defined these macros.
1674 (NLIST_STRUCT): Avoid re-defining it.
1675
1729bb9a
KH
1676 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
1677 -I/usr/contrib/X11R6/include.
1678 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
1679
a82fe213
JR
16802000-11-10 Jason Rumney <jasonr@gnu.org>
1681
1682 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
1683
1684 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
1685 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
1686
1687 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
1688 (Qw32_charset_vietnamese): New symbol.
1689 (xlfd_charset_of_font): New function.
1690 (w32_load_system_font): Use it.
1691 (x_to_w32_charset): Use Fassoc to find charset info. Special case
1692 when Vw32_charset_info_alist is nil to ensure default face always
1693 has font. Use Fcar and Fcdr for safety.
1694 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
1695 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
1696 pseudo-codepages for special cases.
1697 (w32_to_x_font): New parameter to allow charset portion to be
1698 specified where there is many to one mapping. Callers changed.
1699 (w32_list_fonts): Avoid listing fonts that won't display.
1700
52d89894
GM
17012000-11-10 Gerd Moellmann <gerd@gnu.org>
1702
1703 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
1704 (font_list_1): Renamed from font_list.
1705 (font_list): New function, trying alternative registries from
1706 Vface_alternative_font_registry_alist.
1707 (Finternal_set_alternative_font_registry_alist): New function.
1708 (syms_of_xfaces): Initialize and Staticpro
1709 Vface_alternative_font_registry_alist. Defsubr
1710 Finternal_set_alternative_font_registry_alist.
1711
651cd3da
KR
17122000-11-09 Ken Raeburn <raeburn@gnu.org>
1713
1714 * lisp.h (Flooking_at): Declare.
1715
388ac098
GM
17162000-11-09 Gerd Moellmann <gerd@gnu.org>
1717
778fbc46
GM
1718 * dired.c (directory_files_internal): Fix a braino.
1719
388ac098
GM
1720 * dired.c (directory_files_internal): Add missing GCPRO's.
1721 Some cleanup.
1722
ecaedde1
GM
17232000-11-08 Gerd Moellmann <gerd@gnu.org>
1724
f7eb32aa
GM
1725 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
1726 (resize_mini_window): Return quickly if Vresize_mini_window is
1727 nil. Don't return if Vmax_mini_window_height is nil.
1728
1729 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
1730 (syms_of_xdisp): Initialize them.
1731 (resize_mini_window): Act according to the setting of
1732 Vresize_mini_window.
1733 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
1734
ecaedde1
GM
1735 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
1736 scroll bar widget after configuring it, so that it will appear at
1737 the right position from the start.
1738 (XTredeem_scroll_bar): Cleaned up.
1739
3747ef2c
KH
17402000-11-08 Kenichi Handa <handa@etl.go.jp>
1741
1742 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 1743 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
1744 division by two.
1745
1746 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
1747
03391420
DL
17482000-11-07 Dave Love <fx@gnu.org>
1749
7758f1c1 1750 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
1751
1752 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
1753
b5de343d
GM
17542000-11-07 Gerd Moellmann <gerd@gnu.org>
1755
acad3c0b
GM
1756 * window.c (Fset_window_configuration): Don't try to preserve
1757 point in the current buffer, if that buffer is displayed in more
1758 than one window.
1759
b5de343d
GM
1760 * xfaces.c (lookup_named_face): If default face isn't realized,
1761 try to realize it. Return -1 if not successful.
1762 (Fx_list_fonts): Handle case that face cannot be determined.
1763 (Fface_font): Likewise.
1764
cdb1fe49
GM
17652000-11-06 Gerd Moellmann <gerd@gnu.org>
1766
1767 * window.c (displayed_window_lines): Detect partially
1768 visible lines at the bottom correctly.
1769
d3a67486
SM
17702000-11-06 Stefan Monnier <monnier@cs.yale.edu>
1771
1772 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
1773 when ensuring we don't do visit in indirect buffer.
1774
ff8dd5d5
KH
17752000-11-06 Kenichi Handa <handa@etl.go.jp>
1776
1777 * composite.h (compose_chars_in_text): Add prototype.
1778
1779 * composite.c (Vcomposition_function_table): New variable.
1780 (Qcomposition_function_table): New variable.
1781 (run_composition_function): Call
1782 Vcompose_chars_after_function with three arguments.
1783 (compose_chars_in_text): New function.
1784 (syms_of_composite): Modified the doc-string of
1785 Vcompose_chars_after_function. Declare composition-function-table
1786 as a lisp variable, and initialize it.
1787
1788 * xfns.c (x_encode_text): Suppress producing escape sequences for
1789 composition.
1790
1791 * xselect.c: Include composite.h.
1792 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
1793
d1145f85
AI
17942000-11-05 Andrew Innes <andrewi@gnu.org>
1795
1796 * w32term.c (x_produce_glyphs): Fix typo in enum name.
1797
1798 * sysdep.c (read_input_waiting): Remove extraneous argument to
1799 read_socket_hook.
1800
1801 * w32fns.c (Fx_server_version): Include w32_build_number in the
1802 return list.
1803
1804 * w32heap.c (w32_build_number): New variable.
1805 (cache_system_info): Set it.
1806
1807 * w32heap.h (w32_build_number): Add extern.
1808
1809 * emacs.c (syms_of_emacs): Update docstring for
1810 system-configuration, to reflect the actual usage on MS-Windows.
1811
e85ee976
GM
18122000-10-31 Gerd Moellmann <gerd@gnu.org>
1813
26dcb81b
GM
1814 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
1815 process idle timers while waiting for another event.
1816
0a894bad
GM
1817 * dispnew.c (update_frame_line): Handle case where spaces in
1818 the default face are colored.
1819
e85ee976
GM
1820 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
1821 window height hasn't changed.
1822
01b220b6
JR
18232000-10-31 Jason Rumney <jasonr@gnu.org>
1824
1825 * w32term.c (x_produce_glyphs): Handle composite characters.
1826 (x_draw_glyph_string_foreground)
1827 (x_draw_composite_glyph_string_foreground): Restore old font.
1828
4e6b7204
MB
18292000-10-31 Miles Bader <miles@lsi.nec.co.jp>
1830
1831 * minibuf.c (read_minibuf): Reset the undo history just before
1832 starting the recursive-edit.
1833
d4358b37
GM
18342000-10-30 Gerd Moellmann <gerd@gnu.org>
1835
563f68f1
GM
1836 * xfaces.c (menu_face_change_count): New variable.
1837 (Finternal_set_lisp_face_attribute): Increment it for changes
1838 of the `menu' face.
1839 (realize_basic_faces): Reflect changes in the `menu' faces
1840 in menu bars.
1841
82e274d1
GM
1842 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
1843 dy obtained from the iterator's y-position after moving from
1844 scroll_margin_pos to PT; see comment there.
1845
0dbf9fd2
GM
1846 * xdisp.c (safe_eval_handler): Call add_to_log.
1847
906b3b14
GM
1848 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
1849 is not a symbol or string.
1850
d4358b37
GM
1851 * xdisp.c (echo_area_display): Don't perform a display update from
1852 inside redisplay. The update will happen anyway at the end of
1853 redisplay, and it can confuse redisplay (GC messages while
1854 redisplaying, for instance.)
1855
70c825df
SM
18562000-10-30 Stefan Monnier <monnier@cs.yale.edu>
1857
cf9b4b0b
SM
1858 * xrdb.c (x_load_resources): Use the class name in the defaults.
1859
70c825df
SM
1860 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
1861 (regex_compile): Catch bogus \(\1\).
1862
a1d34b1e
GM
18632000-10-30 Gerd Moellmann <gerd@gnu.org>
1864
cae71efe
GM
1865 * xterm.c (x_alloc_nearest_color): Fix last change to compare
1866 RGB values.
1867
35efe0a1
GM
1868 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
1869 we have a color cache, check that the cached color equals the
1870 allocated color. If not, clear the color cache.
1871
1d3baf74
GM
1872 * window.c (displayed_window_lines): Change buffers if necessary.
1873 Fix computation of displayed lines.
1874
a1d34b1e
GM
1875 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
1876 update_menu_bindings to DEFVAR_BOOL.
1877
70737ea9
KH
18782000-10-30 Kenichi Handa <handa@etl.go.jp>
1879
70c825df 1880 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 1881
fa0cb51d
KH
1882 * puresize.h (BASE_PURESIZE): Increase to 680000.
1883
70737ea9
KH
1884 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
1885
0e4c08e8
JR
18862000-10-29 Jason Rumney <jasonr@gnu.org>
1887
1888 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
1889
1890 * w32term.c (w32_bdf_per_char_metric): Negate descent.
1891 (w32_cache_char_metrics): Handle possibility that 'x' does not
1892 exist in a BDF font.
1893 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
1894
1895 * w32bdf.h (bdffont): Add nchars.
1896
1897 * w32bdf.c (set_bdf_font_info): Set it.
1898 (w32_BDF_TextOut): Swap byte order of double byte characters.
1899 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
1900
45b84006
EZ
19012000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1902
1903 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
1904 don't override the colors in frame's param_alist, unless they are
1905 unspecified.
1906
1907 * term.c (reassert_line_highlight): If inverse_video is non-zero,
1908 reverse the effect of the highlight flag.
1909
caf9deee
KR
19102000-10-27 Ken Raeburn <raeburn@gnu.org>
1911
1912 * window.h (Fwindow_live_p): Declare.
1913
ae0b9b46
KR
1914 * undo.c (record_delete): Check that last_undo_buffer is really a
1915 buffer before applying XBUFFER to it.
1916
1917 * keymap.c (where_is_internal): Pass lisp object, not integer, to
1918 Faref.
1919
02067692
SM
19202000-10-27 Stefan Monnier <monnier@cs.yale.edu>
1921
1922 * lisp.h (KEYMAPP): New macro.
1923 (get_keymap): Remove.
1924 (get_keymap_1): Rename get_keymap.
1925
1926 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
1927
1928 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
1929
1930 * xmenu.c (single_submenu): Use KEYMAPP.
1931 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
1932 Use KEYMAPP rather than Fkeymapp.
1933
1934 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
1935
1936 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
1937 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
1938 Use KEYMAPP rather than Fkeymapp.
1939 (single_submenu): Use KEYMAPP.
1940 (w32_menu_show, w32_dialog_show): Use TRUE.
1941
1942 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
1943
1944 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
1945 (Fkeymapp): Use KEYMAPP.
1946 (get_keymap): Rename from get_keymap_1. Remove old def.
1947 Return t when autoload=0 and error=0 and the keymap needs autoloading.
1948 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
1949 (Fminor_mode_key_binding): Don't raise an error if the binding
1950 is not a keymap.
1951 (Fuse_global_map, Fuse_local_map): Allow autoloading.
1952 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
1953
1954 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
1955 Allow Vspecial_event_map to be autoloaded.
1956 (menu_bar_items): Fetch the keymap rather than using keymapp.
1957 (menu_bar_one_keymap): No need to follow func-indirect any more.
1958 (parse_menu_item): get_keymap_1 -> get_keymap.
1959 (tool_bar_items): Fetch the keymap rather than using keymapp.
1960 (read_key_sequence): Use KEYMAPP.
1961
1962 * intervals.c (get_local_map): Use get_keymap rather than following
1963 function-indirections explicitly.
1964
1965 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
1966
f9d80af3
JR
19672000-10-27 Jason Rumney <jasonr@gnu.org>
1968
1969 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
1970 point, as Windows has oversized fonts.
1971
1972 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
1973
a3ba27da
GM
19742000-10-27 Gerd Moellmann <gerd@gnu.org>
1975
1976 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
1977 (freehook, reallochook): Handle null pointer arguments.
1978 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
1979
aa3b80cc
SM
19802000-10-27 Stefan Monnier <monnier@cs.yale.edu>
1981
1982 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
1983 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
1984 Giving in to popular pressure to shut up the compiler with casts.
1985
e24e84cc
GM
19862000-10-27 Gerd Moellmann <gerd@gnu.org>
1987
1988 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
1989 signed value, and use a default value computed from the font's
1990 maximum descent.
1991
05ea7ef2
MB
19922000-10-27 Miles Bader <miles@lsi.nec.co.jp>
1993
1994 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
1995 that specify a negative underline position can still use underlines.
1996
1997 * window.c (Fpos_visible_in_window_p): Make POS default to
1998 WINDOW's point, not the current buffer's point.
1999
0b95284b
DL
20002000-10-26 Dave Love <fx@gnu.org>
2001
2002 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
2003 when it's necessary.
2004
6c5b90af
GM
20052000-10-26 Gerd Moellmann <gerd@gnu.org>
2006
8b6d9dc9
GM
2007 * window.c (size_window): Compute size difference from sum of old
2008 child window sizes instead of from parent's size.
2009
6bc92b2e
GM
2010 * xdisp.c (pos_visible_p): Change current buffer if necessary.
2011 Handle obscured lines at the top of the window.
2012
2013 * frame.c (Fdelete_frame): Doc fix. Move running the hook
2014 down after the last error condition check.
2015
6c5b90af
GM
2016 * frame.c (Fdelete_frame): Run delete-frame-hook.
2017
42f92d4d
KH
20182000-10-26 Kenichi Handa <handa@etl.go.jp>
2019
2020 * coding.c (decode_coding): Fix previous change (check also
2021 CODING_MODE_LAST_BLOCK).
2022
d97151cb
SM
20232000-10-25 Stefan Monnier <monnier@cs.yale.edu>
2024
e7efc503
SM
2025 * regex.c: More `unsigned char' -> `re_char' changes.
2026 Also change several `int' into `re_wchar_t'.
2027 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
2028 (PUSH_FAILURE_POINTER): Don't cast any more.
2029 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
2030 We want GCC to complain, since this piece of code makes
2031 re_match non-reentrant, which *should* be fixed.
2032 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
2033 (EXTEND_BUFFER): Use RETALLOC.
2034 (SET_LIST_BIT): Don't cast.
2035 (re_wchar_t): New type.
2036 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
2037 that those two functions will always properly return.
2038 (IMMEDIATE_QUIT_CHECK): Cast to void.
2039 (analyse_first): Use recursion rather than an explicit stack.
2040 (re_compile_fastmap): Can't fail anymore.
2041 (re_search_2): Don't check re_compile_fastmap for failure.
2042 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
2043 Now also sets the new value (passed in a new argument).
2044 (re_match_2_internal): Use it.
2045 Also, use a new var `reg' of type size_t when looping through regs
2046 rather than reuse the inappropriate `mcnt'.
2047
d97151cb
SM
2048 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
2049 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
2050 (where_is_internal): Renamed from Fwhere_is_internal.
2051 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
2052 (Fwhere_is_internal): New function wrapping where_is_internal.
2053 (where_is_internal_1): Handle the case where we're filling the cache.
2054 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
2055
d5789b65
MB
20562000-10-25 Miles Bader <miles@gnu.org>
2057
2058 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
2059
4ecda532
GM
20602000-10-25 Gerd Moellmann <gerd@gnu.org>
2061
2062 * window.c (pos_fully_visible_p): Removed.
2063 (Fpos_visible_in_window_p): Use pos_visible_p to determine
2064 if position is visible and/or fully visible.
2065
2066 * lisp.h (pos_visible_p): Add prototype.
2067
2068 * xdisp.c (pos_visible_p): New function.
2069
68c3a137
KH
20702000-10-25 Kenichi Handa <handa@etl.go.jp>
2071
2072 * process.c (send_process): If OBJECT is t, it means that the data
2073 is from C string, but we should encode it. Before calling
2074 setup_raw_text_coding_system, be sure to flush out data by the
2075 previous coding system.
2076
7ae1c032
MB
20772000-10-25 Miles Bader <miles@lsi.nec.co.jp>
2078
ff4dcd4b
MB
2079 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
2080 assignment of startpos to prev when startpos == pos.
2081
7ae1c032
MB
2082 * editfns.c (find_field): Set the field stickiness correctly from
2083 overlay fields. Use renamed `text_property_stickiness'.
2084 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 2085 Only check text properties, not overlays.
7ae1c032
MB
2086 * textprop.c (get_char_property_and_overlay): New function.
2087 (Fget_char_property): Use it.
2088 * intervals.h (get_char_property_and_overlay): Add declaration.
2089
49801145
SM
20902000-10-25 Stefan Monnier <monnier@cs.yale.edu>
2091
2092 * keymap.c: Use AREF, ASET and ASIZE macros.
2093 (Fmake_sparse_keymap): Docstring fix.
2094 (synkey): Remove.
2095 (shadow_lookup): Move up.
2096 Handle the case where lookup-key returns an integer.
2097 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
2098 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
2099 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
2100 Simplify/rewrite the keymap-finding code.
2101 Add check for command shadowing, using shadow_lookup.
2102
39e776cd
SM
21032000-10-24 Stefan Monnier <monnier@cs.yale.edu>
2104
2105 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
2106 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
2107 a symbol.
2108
2488aba5
AI
21092000-10-24 Andrew Innes <andrewi@gnu.org>
2110
2111 * dired.c (directory_files_internal_unwind): New function.
2112 (directory_files_internal): Use it to ensure closedir is called
2113 even if expand-file-name or file-attributes throw, eg. because of
2114 a user interrupt. Also enable immediate_quit while calling
2115 re_search, so that matching can be interrupted as well.
2116
b94fdf61
AI
21172000-10-24 Andrew Innes <andrewi@gnu.org>
2118
2119 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
2120 NT-Emacs only.
2121 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
2122 so that re_search functions only quit when callers expect them to.
2123
21242000-10-24 Kenichi Handa <handa@etl.go.jp>
2125
2126 * regex.c (regex_compile): Change the way of handling a range from
2127 a char less than 256 to a char not less than 256.
2128
1946f901
GM
21292000-10-24 Gerd Moellmann <gerd@gnu.org>
2130
7ae2f10f
GM
2131 * window.c (size_window): Prevent setting window's width or
2132 height to a negative value (esp. with XSETFASTINT).
2133
5dcab13e
GM
2134 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
2135 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
2136 (protect_malloc_state) [GC_MALLOC_CHECK &&
2137 GC_PROTECT_MALLOC_STATE]: New function.
2138 (PROTECT_MALLOC_STATE): New macro.
2139 (__malloc_initialize, morecore, _malloc_internal)
2140 (_free_internal) _realloc_internal): Use it to make _heapinfo
2141 read-only outside of gmalloc.
2142
63e1b552
GM
2143 * keymap.c: Update copyright.
2144
1946f901
GM
2145 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
2146 a symbol.
2147
4fa09beb
GM
21482000-10-24 Colin Walters <walters@cis.ohio-state.edu>
2149
2150 * filelock.c (unlock_all_files): Use unlock_file to expand each
2151 buffer's file_truename before trying remove its lock file.
2152
23afac01
EZ
21532000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
2154
2155 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
2156 or CRLF, decode EOLs.
2157
04448b95
KH
21582000-10-24 Kenichi Handa <handa@etl.go.jp>
2159
2160 * window.c (Fdisplay_buffer): Fix doc.
2161
3090a5a5
JR
21622000-10-23 Jason Rumney <jasonr@gnu.org>
2163
2164 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
2165 ASCII font of default fontset on Windows.
2166
2167 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
2168 xterm.c comment below).
2169
2170 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
2171
a83fee2c
GM
21722000-10-23 Gerd Moellmann <gerd@gnu.org>
2173
2174 * xterm.c (x_connection_closed): Reset handling_signal.
2175
2176 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
2177 null.
2178
6ffdb539
MB
21792000-10-23 Miles Bader <miles@gnu.org>
2180
2181 * window.c (window_scroll_pixel_based, window_scroll_line_based):
2182 Pass nil for FULLY argument to Fpos_visible_in_window_p to
2183 maintain old behavior.
2184 * minibuf.c (Fminibuffer_complete): Likewise.
2185
7f1c969b
MB
21862000-10-23 Miles Bader <miles@lsi.nec.co.jp>
2187
2188 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
2189 that when a font can't be exactly centered, it errs up rather than
2190 down.
2191
23afac01 21922000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
2193
2194 * fns.c (Fbase64_decode_string): The decoded result should be
2195 unibyte.
2196
1a578e9b
AC
21972000-10-23 Andrew Choi <akochoi@i-cable.com>
2198
2199 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
2200
2201 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 2202 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
2203
2204 * emacs.c (main) [macintosh]: Call syms_of_textprop,
2205 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
2206 syms_of_search, x_term_init, and init_keyboard before calling
2207 init_window_once. Also, call syms_of_xmenu.
2208
2209 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
2210 default fontset to Monaco.
2211
2212 * frame.c [macintosh]: Include macterm.h. Remove declarations of
2213 NewMacWindow and DisposeMacWindow.
2214 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
2215 instead of calling NewMacWindow and setting fields of
2216 f->output_data.mac directly. Call init_frame_faces.
2217 (Fdelete_frame) [macintosh]: Remove unused code.
2218 (Fmodify_frame_parameters) [macintosh]: Call
2219 x_set_frame_parameters instead of mac_set_frame_parameters.
2220
2221 * frame.h [macintosh]: Define menu_bar_lines field in struct
2222 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
2223
2224 * keyboard.c [macintosh]: Include macterm.h.
2225 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
2226 and menu_bar_activate_event type events as for X and NT.
2227 (make_lispy_event) [macintosh]: Construct lisp events of type
2228 MENU_BAR_EVENT as for X and NT.
2229
2230 * sysdep.c [macintosh]: Remove declaration for sys_signal.
2231 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
2232 (sys_subshell) [macintosh]: Remove definition entirely.
2233 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
2234 Vwindow_system_version here. Remove initialization of
2235 Vx_bitmap_file_path.
2236 (read_input_waiting): Correct the number of parameters passed to
2237 read_socket_hook.
2238 Move all Macintosh functions to mac/mac.c.
2239
2240 * term.c [macintosh]: Include macterm.h.
2241
2242 * window.c [macintosh]: Include macterm.h.
2243
2244 * xdisp.c [macintosh]: Include macterm.h. Declare
2245 set_frame_menubar and pending_menu_activation.
2246 (echo_area_display) [macintosh]: Do not return if terminal frame
2247 is the selected frame.
2248 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
2249 Allow only the selected frame to set menu bar.
2250 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
2251 calling FRAME_EXTERNAL_MENU_BAR (f).
2252 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
2253
2254 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
2255 and check_x. Declare XCreateGC. Define x_create_gc and
2256 x_free_gc. Initialize font_sort_order.
2257 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
2258 but call x_list_fonts instead of w32_list_fonts.
2259 (Finternal_face_x_get_resource) [macintosh]: Do not call
2260 display_x_get_resource.
2261 (prepare_face_for_display) [macintosh]: Set xgcv.font.
2262 (realize_x_face) [macintosh]: Load the font if it is specified in
2263 ATTRS.
2264 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
2265 to Qt.
2266
1ffbabe3
SM
22672000-10-22 Stefan Monnier <monnier@cs.yale.edu>
2268
2269 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
2270 is nil: since we go to the end of submap anyway, we'd end up
2271 setting nil to nil.
2272 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
2273 doesn't obey autoload.
2274
bed43f1d
EZ
22752000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
2276
1ffbabe3 2277 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 2278
ea4233a7
JR
22792000-10-21 Jason Rumney <jasonr@gnu.org>
2280
2281 * w32term.c (w32_cache_char_metrics): Double check that font is
2282 really fixed pitch before trusting tmPitchAndFamily.
2283
f3d3c491
AI
22842000-10-21 Andrew Innes <andrewi@gnu.org>
2285
2286 * w32gui.h (w32_char_font_type): Move enum from w32term.c
2287
2288 * w32term.h: Extern decl for w32_cache_char_metrics.
2289
2290 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
2291
2292 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
2293 (w32_unload_font): Free per_char array if present.
2294
2295 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
2296 cached information in emulated XFontStruct to handle common cases
2297 quickly. Do not allocate XCharStruct for return.
2298 (w32_native_per_char_metric): New function.
2299 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
2300 allocating one.
2301 (x_produce_glyphs): Don't get an HDC. Change calls to
2302 w32_per_char_metric to match arg change above. Remove calls to
2303 free results.
2304 (w32_get_glyph_overhangs): Ditto.
2305 (w32_cache_char_metrics): New function.
2306
2307 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
2308 ($(BLD)/casefiddle.$(O)): Remove compile command.
2309 ($(BLD)/gmalloc.$(O)): Remove compile command.
2310 ($(BLD)/dispnew.obj):
2311 ($(BLD)/keyboard.obj):
2312 ($(BLD)/w32inevt.obj):
2313 ($(BLD)/w32bdf.obj):
2314 ($(BLD)/alloc.obj):
2315 ($(BLD)/buffer.obj):
2316 ($(BLD)/editfns.obj):
2317 ($(BLD)/emacs.obj):
2318 ($(BLD)/fileio.obj):
2319 ($(BLD)/fns.obj):
2320 ($(BLD)/indent.obj):
2321 ($(BLD)/insdel.obj):
2322 ($(BLD)/intervals.obj):
2323 ($(BLD)/minibuf.obj):
2324 ($(BLD)/print.obj):
2325 ($(BLD)/scroll.obj):
2326 ($(BLD)/sysdep.obj):
2327 ($(BLD)/textprop.obj):
2328 ($(BLD)/widget.obj):
2329 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
2330 ($(BLD)/term.obj): Add dependency on dispextern.h.
2331
2332 * makefile.nt ($(BLD)\dispnew.obj):
2333 ($(BLD)\keyboard.obj):
2334 ($(BLD)\w32inevt.obj):
2335 ($(BLD)\w32bdf.obj):
2336 ($(BLD)\alloc.obj):
2337 ($(BLD)\buffer.obj):
2338 ($(BLD)\editfns.obj):
2339 ($(BLD)\emacs.obj):
2340 ($(BLD)\fileio.obj):
2341 ($(BLD)\fns.obj):
2342 ($(BLD)\indent.obj):
2343 ($(BLD)\insdel.obj):
2344 ($(BLD)\intervals.obj):
2345 ($(BLD)\minibuf.obj):
2346 ($(BLD)\print.obj):
2347 ($(BLD)\scroll.obj):
2348 ($(BLD)\sysdep.obj):
2349 ($(BLD)\textprop.obj):
2350 ($(BLD)\widget.obj):
2351 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
2352 ($(BLD)\term.obj): Add dependency on dispextern.h
2353
18ad4821
EZ
23542000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
2355
2356 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
2357 with an additional argument of Qt.
2358
de54681a
MB
23592000-10-21 Miles Bader <miles@gnu.org>
2360
2361 * window.c (pos_fully_visible_in_window_p): New function.
2362 (Fpos_visible_in_window_p): Add FULLY argument.
2363 Use pos_fully_visible_in_window_p.
2364 (window_scroll_pixel_based, window_scroll_line_based): Update
2365 calls to Fpos_visible_in_window_p.
2366 * lisp.h (Fpos_visible_in_window_p): Update prototype
2367
13c844fb
GM
23682000-10-20 Gerd Moellmann <gerd@gnu.org>
2369
2370 * alloc.c (toplevel): Conditionalize compilation of mem_*
2371 functions differently.
2372
d9506268
JR
23732000-10-20 Jason Rumney <jasonr@gnu.org>
2374
2375 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
2376 mem_init where it used to be. mem_z etc not defined otherwise.
2377
8094989b
GM
23782000-10-20 Gerd Moellmann <gerd@gnu.org>
2379
2380 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
2381 GC_MALLOC_CHECK.
2382 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
2383 structure definition and related variabled to the top of the file.
2384 Include this code when GC_MALLOC_CHECK is defined.
2385 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
2386 register/unregister allocated region.
2387 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
2388 which isn't allocated.
2389 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
2390 something which is already in use.
2391 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
2392 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
2393 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
2394 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
2395
2396 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
2397 _malloc_internal instead of malloc.
2398 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
2399 of free.
2400
ea456eb4
AI
24012000-10-20 Andrew Innes <andrewi@gnu.org>
2402
2403 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
2404 Windows.
2405 (my_strftime) <macro>: Don't use macro arg list when redefining as
2406 _strftime_copytm.
2407 (my_strftime) <function>: Supply 0 as ut argument.
2408
e64c3a75
JR
24092000-10-19 Jason Rumney <jasonr@altavista.net>
2410
2411 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
2412 including dispextern.h, as it stops faces from working.
2413
2414 * w32fns.c (Fx_create_frame): Don't bother calling
2415 face-set-after-frame-default since the caller does it for us
2416 anyway. Clean up calls to x_get_arg to be consistent with X.
2417
2418 * w32term.c (x_produce_glyphs): Handle
2419 unibyte_display_via_language_environment correctly.
2420 (w32_draw_box_rect): Fix the calculation of width and height.
2421
2422 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
2423 as it has stopped working.
2424 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
2425 menu-bar.
2426
17401c97
GM
24272000-10-19 Gerd Moellmann <gerd@gnu.org>
2428
2429 * eval.c (skip_debugger): Prevent a compiler warning.
2430 (Fcondition_case): Likewise.
2431 (Fbacktrace_frame): Use a null interactive spec.
2432
773272d8
KH
24332000-10-19 Kenichi Handa <handa@etl.go.jp>
2434
2435 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
2436
a42943e9
GM
24372000-10-18 Gerd Moellmann <gerd@gnu.org>
2438
e50517d9
GM
2439 * strftime.c: Sync with glibc, file version 1.78.
2440 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
2441 should no longer be used according to ISO 8601.
2442
9035a35a
GM
2443 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
2444 no map for meta_prefix_char, don't try to use it as a keymap.
2445 Instead, if T_OK is non-zero, look up a default binding, if any,
2446 otherwise, if T_OK is zero, return nil.
2447
a42943e9
GM
2448 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
2449 (x_to_xcolors, png_load): Use x_query_color.
2450
2451 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
2452 functions.
2453 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
2454 which can be slow.
2455 (x_copy_color, x_alloc_lighter_color): Likewise.
2456
2457 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
2458 (x_query_color, x_query_colors): Add prototype.
2459
2460 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
2461 check_string_bytes only if not noninteractive, increase count to 50.
2462
00de2987
MB
24632000-10-18 Miles Bader <miles@lsi.nec.co.jp>
2464
2465 * insdel.c (adjust_markers_for_delete): Handle before-insertion
2466 markers correctly.
2467
54918e2b
GM
24682000-10-17 Gerd Moellmann <gerd@gnu.org>
2469
1f0b3fd2
GM
2470 * alloc.c (pure_bytes_used): Renamed from pureptr.
2471 (ALIGN): New macro.
2472 (pure_alloc): New function.
2473 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
2474 Use it.
2475 (Fpurecopy): Use PURE_POINTER_P.
2476
68c5d1db
GM
2477 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
2478 PT has moved backward.
2479
9a038881
GM
2480 * xdisp.c (cursor_row_p): Take continued lines into account.
2481
361b097f
GM
2482 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
2483 string's size_byte.
2484 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
2485 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
2486 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
2487 string allocated.
2488
54918e2b
GM
2489 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
2490 of selective display off while searching for the next line start.
2491
03ed0806
KH
24922000-10-17 Kenichi Handa <handa@etl.go.jp>
2493
2494 * Makefile.in (term.o): Depend on dispextern.h.
2495
7e05cdaf
SM
24962000-10-16 Stefan Monnier <monnier@cs.yale.edu>
2497
2498 * keymap.c (keymap_memberp): Ensure that nil is not a member.
2499
a6801fd1
GM
25002000-10-16 Gerd Moellmann <gerd@gnu.org>
2501
483de32b
GM
2502 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
2503 the iterator at the beginning, so that they can be set later on,
2504 for instance in reseat_at_next_visible_line_start, without being
2505 overwritten.
2506
a6801fd1
GM
2507 * xfns.c (pbm_format): Add :foreground and :background keywords.
2508 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 2509 (xbm_load): Recognize foreground and background color
a6801fd1
GM
2510 specifications.
2511
dbf1fcc1
EZ
25122000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
2513
2514 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
2515
2516 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
2517 declaration.
2518
2519 * msdos.c (IT_set_face): Compare highlighted face with the default
2520 face, and invert colors if these faces' colors are identical.
2521 (Fmsdos_remember_default_colors): Don't swap foreground and
2522 background colors in initial_colors[].
2523 (IT_set_frame_parameters): Don't swap frame's foreground and
2524 background pixels. If ALIST includes "(reverse . t)", swap
2525 foreground-color and background-color properties in frame's
2526 param_alist. If the original frame's param_alist doesn't specify
2527 the colors, store unspecified-fg and unspecified-bg, reversed if
2528 required.
2529
2530 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
2531 the colors are unspecified and reversed, reverse fore- and back-
2532 ground in the returned value.
2533 (Fframe_parameter): Ditto.
2534
b41fe2c3
GM
25352000-10-16 Gerd Moellmann <gerd@gnu.org>
2536
3a6b59d9
GM
2537 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
2538 get_last_unchanged_at_beg_row.
2539 (find_first_unchanged_at_end_row): Renamed from
2540 get_first_unchanged_at_end_row.
2541 (find_first_unchanged_at_end_row): Convert assertions to
2542 unconditional tests which abort. When looking for a row in
2543 unchanged text, don't go further back than first_text_row.
2544
b41fe2c3
GM
2545 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
2546 Don't add in the last line's height when deciding if the new
2547 position is below the scroll margin.
9d1af64f 2548
b41fe2c3 25492000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
2550
2551 * editfns.c (Fconstrain_to_field): Check carefully for field
2552 boundaries if either OLD_POS or NEW_POS has a non-nil field
2553 property, even if they're the same.
2554
c412cb7b
KH
25552000-10-16 Kenichi Handa <handa@etl.go.jp>
2556
2557 * xterm.c (x_draw_box_rect): Fix the calculation of width and
2558 height for XFillRectangle.
2559
5586f3eb
SM
25602000-10-15 Stefan Monnier <monnier@cs.yale.edu>
2561
2562 * syntax.c (Fstring_to_syntax): New function extracted from
2563 Fmodify_syntax_entry.
2564 (Fmodify_syntax_entry): Use it and document the ! and | fences.
2565 (skip_chars, Fforward_comment): Remove unused variables.
2566 (syms_of_syntax): Add defsubr for string-to-syntax.
2567 (describe_syntax): Add code for comment and string fences.
2568
db785038
SM
25692000-10-14 Stefan Monnier <monnier@cs.yale.edu>
2570
2571 * keymap.c (access_keymap): Add AUTOLOAD parameter.
2572 Do the meta->esc mapping. Call get_keyelt before returning.
2573 Start scanning from the second element (the first is always `keymap')
2574 to make it easier to detect when we reach a parent map.
2575 Handle the case of inheriting from a symbol whose function is a map.
2576 (Fkeymap_parent): Also handle the `inherit from symbol' case.
2577 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
2578 (get_keyelt, Flookup_key): Update call to access_keymap.
2579 Remove the meta->esc mappings.
2580 (define_as_prefix): Delete old disabled code.
2581 (menu_item_p): New function.
2582 (where_is_internal_1): Skip over the few remaining menu items.
2583 * lisp.h (access_keymap): Update prototype.
2584 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
2585 Update call to access_keymap.
2586 (follow_key, read_key_sequence): Update calls to access_keymap.
2587 Remove the meta->esc mappings.
2588
cafafe0b
GM
25892000-10-13 Gerd Moellmann <gerd@gnu.org>
2590
a2e2a7f6
GM
2591 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
2592 with additional argument.
2593
cafafe0b
GM
2594 * xdisp.c (cursor_row_p): New function.
2595 (try_cursor_movement, display_line): Use it.
2596
2597 * xdisp.c (append_space): Also save/restore iterator's current
2598 character and its length.
2599
2600 * xdisp.c (init_from_display_pos): Add an assertion.
2601 (handle_stop): Don't set iterator's add_overlay_start.
2602 (handle_invisible_prop): Likewise.
2603 (load_overlay_strings): If text under an overlay is invisible,
2604 take both before- and after-strings into account when the iterator
2605 is positioned either at the start or at the end of the overlay.
2606 (forward_to_next_line_start): Rewritten.
2607 (reseat_at_next_visible_line_start): Rewritten.
2608 (set_iterator_to_next): Add parameter RESEAT_P.
2609
2610 * dispextern.h (struct it): Remove member add_overlay_start.
2611 (set_iterator_to_next): Change prototype.
2612
c744452b
KH
26132000-10-13 Kenichi Handa <handa@etl.go.jp>
2614
2615 * coding.c (code_convert_region): Be sure to initialize
2616 coding->category_idx.
e4a3f4e1
KH
2617 (decode_coding_string): Set coding->src_multibyte and
2618 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
2619 (encode_coding_string): Set coding->src_multibyte and
2620 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 2621
321fd26f
SM
26222000-10-12 Stefan Monnier <monnier@cs.yale.edu>
2623
2624 * xfns.c (Fx_create_frame): Don't bother calling
2625 face-set-after-frame-default since the caller does it for us anyway.
2626
76832439
EZ
26272000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2628
2629 * window.c (coordinates_in_window): Fix detection of vertical line
2630 on character terminals.
2631
2483cf58
GM
26322000-10-12 Gerd Moellmann <gerd@gnu.org>
2633
2634 * editfns.c (save_excursion_save): Additionally record the
2635 selected window.
2636 (save_excursion_restore): If buffer was visible in a window, and a
2637 different window was selected, and the old selected window is
2638 still live, restore point in that window.
2639
eb991b25
KH
26402000-10-12 Kenichi Handa <handa@etl.go.jp>
2641
8a0eba09
KH
2642 * xterm.c (x_produce_glyphs): Handle
2643 unibyte_display_via_language_environment correctly.
2644
20401fcc
KH
2645 * regex.c (regex_compile): Change the way of handling a range from
2646 unibyte char to multibyte char.
2647
2648 * syntax.c (skip_chars): Change the way of handling a range from
2649 unibyte char to multibyte char.
2650
eb991b25
KH
2651 * process.c (read_process_output): Cancel previous change.
2652
365dd325
EZ
26532000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
2654
c1b096cb
EZ
2655 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
2656
365dd325
EZ
2657 * charset.c (Ffind_charset_string): Doc fix.
2658 (Ffind_charset_region): Doc fix.
2659
eb483c2b
KH
26602000-10-11 Kenichi Handa <handa@mule.m17n.org>
2661
2662 * process.c (read_process_output): Fix previous change. Adjust
2663 multibyteness of text to insert in a buffer by
df3c11b9 2664 string_make_unibyte/multibyte instead of
eb483c2b
KH
2665 Fstring_as_unibyte/multibyte.
2666
b40bfb99
AS
26672000-10-10 Andreas Schwab <schwab@suse.de>
2668
2669 * alloc.c (mark_object): Remove all workarounds installed on
2670 1993-08-08.
2671
caff31d4
KH
26722000-10-10 Kenichi Handa <handa@etl.go.jp>
2673
2674 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
2675 returning.
2676 (base64_encode_1): Make it work for a text of multibyte form.
2677 (Fbase64_decode_region): Allocate sufficient memory for multibyte
2678 case. Don't call str_to_multibyte because base64_decode_1
2679 produces correct multibyte form for eight-bit codes.
2680 (Fbase64_decode_string): Adjusted for the change of
2681 base64_decode_1.
2682 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
2683 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
2684 codes.
2685
2686 * charset.h (CHAR_STRING): Optimized for single byte characters.
2687
cba026ef
AS
26882000-10-09 Andreas Schwab <schwab@suse.de>
2689
2690 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
2691 -1 after socket is closed, to fall through to error processing.
2692
1e21fe48
EZ
26932000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
2694
2695 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 2696 variables. If ALIST includes foreground-color or
1e21fe48
EZ
2697 background-color, change also the colors of the default face for
2698 this frame.
2699
a640322e
EZ
27002000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2701
2702 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
2703 them extern (they are defined on xfaces.c).
2704 (syms_of_msdos): Don't intern and don't staticpro
2705 Qbackground_color and Qforeground_color.
2706
a115794c
EZ
27072000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
2708
2709 * frame.c (Fframe_parameter): For non-windowed frames, if
2710 f->param_alist says foreground or background color is unspecified,
2711 call tty_color_name to return the color name computed from the
2712 frame's current colors.
2713
f5533b63
DL
27142000-10-06 Dave Love <fx@gnu.org>
2715
2716 * terminfo.c (ospeed): Don't declare.
2717
2718 * sysdep.c: Don't include string.h.
2719 (h_errno): Declare conditional also on TRY_AGAIN.
2720
2721 * charset.c (Ffind_charset_string): Doc fix.
2722
2723 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
2724 (Fbase64_decode_region, Fbase64_decode_string): More explicit
2725 error messages.
2726
2b06561a
DL
27272000-10-05 Dave Love <fx@gnu.org>
2728
2729 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
2730 position like menu-bar.
2731
ca839c85
GM
27322000-10-05 Gerd Moellmann <gerd@gnu.org>
2733
2734 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
2735
2736 * xdisp.c (handle_single_display_prop): Use safe_call1.
2737 (safe_call): Renamed from call_function.
2738 (safe_call1): New function.
2739 (handle_fontified_prop): Use safe_call1 instead of call1.
2740 (safe_eval): Renamed from eval_form.
2741 (safe_eval_handler): Renamed from eval_handler.
2742 (handle_single_display_prop, display_mode_element): Use safe_eval
2743 instead of eval_form.
2744
2745 * xfaces.c (merge_face_heights): Use safe_call instead of
2746 call_function.
2747
2748 * keyboard.c (show_help_echo): Use safe_call instead of
2749 call_function; use safe_eval instead of eval_form.
2750
2751 * lisp.h (safe_call): Renamed from call_function.
2752 (safe_eval): Renamed from eval_form.
2753 (safe_call1): Add prototype.
2754
a3489ece
MB
27552000-10-05 Miles Bader <miles@lsi.nec.co.jp>
2756
2757 * xfns.c (image_ascent): Rearrange ascent calculation for the
2758 has-a-font case.
2759
35810b6f
SM
27602000-10-04 Stefan Monnier <monnier@cs.yale.edu>
2761
2762 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
2763 (where_is_internal_1): Don't bother ignoring menu-items any more.
2764
3dc78168
GM
27652000-10-04 Gerd Moellmann <gerd@gnu.org>
2766
2767 * keyboard.c (update_menu_bindings): New variable.
2768 (parse_menu_item): Use AREF. If update_menu_bindings
2769 is 0, don't update menu bindings.
2770 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
2771
1efc2bb9
EZ
27722000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
2773
2774 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
2775 to `mark_object'.
2776
3f679f55
SM
27772000-10-02 Stefan Monnier <monnier@cs.yale.edu>
2778
2779 * syntax.c (forw_comment): Match nestedness of ender/starter.
2780 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
2781 (prev_char_comstart_first): Remove.
2782 (back_comment): Check two-char comment markers more carefully
2783 to better handle overlapping cases like *//* or /* */* */ ...
2784 Match nestedness of ender/starter.
2785
2021ab61
DL
27862000-10-02 Dave Love <fx@gnu.org>
2787
2788 * config.in (HAVE_GAI_STRERROR): Add undef.
2789
2790 * process.c (Fopen_network_stream): Use it.
2791
2792 * m/alpha.h (NO_REMAP): Don't define.
2793
64e6cc18
GM
27942000-10-02 Gerd Moellmann <gerd@gnu.org>
2795
2796 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
2797 return with a string converted to an integer or vice versa when
2798 Vmocklisp_arguments is t.
2799 (Fsignal): Likewise. The function can return for `quit'.
2800 (struct gcpro): Declare member `var' to point to a volatile
2801 Lisp_Object.
2802
2803 * eval.c (error): Prevent compiler warning.
2804
b1904cd9
SM
28052000-09-30 Stefan Monnier <monnier@cs.yale.edu>
2806
2807 * keymap.c (keymap_memberp): New function.
2808 (Fset_keymap_parent): Use it.
2809 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
2810 Use keymap_memberp to avoid creating cycles.
2811 (access_keymap): Use KEYMAPP.
2812
71c9ec51
GM
28132000-09-30 Gerd Moellmann <gerd@gnu.org>
2814
2815 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
2816 gai_strerror. Make sure xerrno is set if connect fails. Improve
2817 error recovery.
71c9ec51 2818
c70c6b58
JR
28192000-09-29 Jason Rumney <jasonr@gnu.org>
2820
2821 * w32term.c (w32_char_font_type, w32_encode_char)
2822 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
2823 (w32_bdf_per_char_metric): New function.
2824 (w32_per_char_metric): Use it.
2825 (x_draw_glyph_string_background): Always draw background for BDF
2826 glyphs.
2827
2828 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
2829 GDI object which is a scarce resource.
2830
2831 * w32bdf.c (search_file_line): Fix skipping of whitespace.
2832 (get_quoted_string): Fix limit on memchr search.
2833 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
2834 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
2835 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
2836 (get_cached_font_char, cache_char_offset): Use macro
2837 BDF_CODEPOINT_RANGE_COVER_P.
2838 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
2839 (clear_cached_bitmap_slots): New function.
2840 (GET_HEX_VALUE): G-Z, g-z are not hex.
2841 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
2842 (get_bitmap_with_cache): Use new cache implementation.
2843 (create_offscreen_bitmap): New function.
2844 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
2845
2846 * w32term.c (x_produce_glyphs): If the distance from the current
2847 position to the next tab stop is less than a canonical character
2848 width, use the tab stop after that.
2849 (x_draw_glyphs): Handle case START and END are out of bounds more
2850 carefully.
2851 (x_clear_mouse_face): Block/unblock input.
2852 (x_display_and_set_cursor): Don't show a hollow box cursor for
2853 buffers whose cursor_type is nil.
2854
fe01239f
GM
28552000-09-29 Gerd Moellmann <gerd@gnu.org>
2856
2857 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
2858 disappears.
2859
2860 * dispextern.h (updating_frame): Declare extern.
2861
e7c52f1f
AS
28622000-09-29 Andreas Schwab <schwab@suse.de>
2863
2864 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
2865
de6e1f7c
GM
28662000-09-29 Gerd Moellmann <gerd@gnu.org>
2867
25126faa
GM
2868 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
2869 use its function definition.
2870 (tool_bar_items): Likewise.
2871
de6e1f7c
GM
2872 * lisp.h (fatal): Declare NO_RETURN.
2873
454ee39b
KH
28742000-09-29 Kenichi Handa <handa@etl.go.jp>
2875
2876 * keymap.c: Remove the line "#undef NULL".
2877
96301c5f
GM
28782000-09-28 Gerd Moellmann <gerd@gnu.org>
2879
2880 * xterm.c (x_make_frame_visible): Try harder to make the frame
2881 visible.
2882
efffeeb4
DL
28832000-09-28 Dave Love <fx@gnu.org>
2884
ecb8b666
DL
2885 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
2886
dc3cd20f
DL
2887 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
2888
2889 * .gdbinit (xreload): Note its need on GNU/Linux.
2890
efffeeb4
DL
2891 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
2892 r_alloc, r_alloc_free.
2893
8610d903
KH
28942000-09-28 Kenichi Handa <handa@etl.go.jp>
2895
2896 * syntax.c (skip_chars): Handle negation correctly.
2897
8901d1ac
GM
28982000-09-27 Gerd Moellmann <gerd@gnu.org>
2899
6f22f1ad
GM
2900 * xfaces.c (realize_default_face): Call set_lface_from_font_name
2901 with non-zero FORCE_P argument.
2902
8901d1ac
GM
2903 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
2904 Add assertions.
2905
2906 * xdisp.c (window_box_height): Add an assertion.
2907
2908 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
2909 tool-bar than is available.
2910 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
2911
36f1966f
DL
29122000-09-27 Dave Love <fx@gnu.org>
2913
efffeeb4 2914 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 2915
31d929e5
GM
29162000-09-26 Gerd Moellmann <gerd@gnu.org>
2917
c98863bf
GM
2918 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
2919 instead of BITS_PER_INT.
2920 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
2921 EMACS_UINT, respectively.
2922 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
2923
2924 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
2925
2926 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
2927
77072ab1
GM
2928 * window.c (freeze_window_starts): Construct last argument for
2929 foreach_window differently.
2930
2931 * xfns.c (x_decode_color): Don't return a Lisp_Object.
2932
2933 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
2934 EMACS_UINT instead of `int' and `unsigned int'.
2935 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
2936
2937 * frame.h (struct frame): Make the `nothing' member of union
2938 output_data an EMACS_INT.
2939
31d929e5
GM
2940 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
2941 hunting.
2942 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
2943 size in the sdata structure.
2944 (SDATA_NBYTES, SDATA_DATA): New macros.
2945 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
2946 differently for the different layout of the sdata structure.
2947 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
2948 in sdata.
2949 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
2950 Check that size recorded in the string size and size recorded in
2951 the sdata structure agree.
2952
3e60b029
DL
29532000-09-25 Dave Love <fx@gnu.org>
2954
2955 * buffer.c: Include stdio.h.
2956
2957 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
2958
2959 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
2960
2961 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
2962 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
2963 size_t.
2964 (__malloc_extra_blocks): Declare as __malloc_size_t.
2965
8ff16b4e
GM
29662000-09-25 Gerd Moellmann <gerd@gnu.org>
2967
755a2ccd
GM
2968 * alloc.c (mark_image): Use GC_NILP instead of NILP.
2969
d8b4516f
GM
2970 * keyboard.c (show_help_echo): Set help_echo_showing_p.
2971 (read_char): If help-echo is showing, preserve the echo area
2972 when redisplaying.
2973
2974 * xdisp.c (help_echo_showing_p): New variable.
2975 (set_message): Reset it to 0.
2976 (init_xdisp): Initialize help_echo_showing_p.
2977
2978 * dispextern.h (help_echo_showing_p): Declare extern.
2979
2980 * config.in: Fix typo in __GNUC_MINOR__.
2981
2982 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
2983
b11af2dd
GM
2984 * s/freebsd.h (POSIX_SIGNALS): Define.
2985
8ff16b4e
GM
2986 * xterm.c (x_clear_mouse_face): Block/unblock input.
2987
844eb643
DL
29882000-09-24 Dave Love <fx@gnu.org>
2989
2990 * fns.c (base64_encode_1): Fix last change.
2991
b30ab1b3
GM
29922000-09-22 Gerd Moellmann <gerd@gnu.org>
2993
2994 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
2995
2996 * xdisp.c (try_window_reusing_current_matrix): More fixes
2997 for the case window has a header-line.
2998
c6cbe5f0
DL
29992000-09-22 Dave Love <fx@gnu.org>
3000
4c7c1f3f
DL
3001 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
3002 a doc string.
3003
3004 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
3005
c6cbe5f0
DL
3006 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
3007
550a625e
GM
30082000-09-21 Gerd Moellmann <gerd@gnu.org>
3009
4c7c1f3f 3010 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
3011 for GCC >= 2.5.
3012
3013 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
3014 NO_RETURN.
3015
80d26f99
GM
3016 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
3017 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
3018 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
3019 warnings.
3020
3021 * marker.c (byte_char_debug_check): Return void.
3022
623a0aae
GM
3023 * xfns.c (Fx_create_frame): Set default frame parameter value
3024 for tool-bar-lines to 1.
3025
3026 * dispnew.c (scrolling_window): Compare y-positions of rows
3027 equal at the start. Some simplification.
3028
3029 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
3030 reused rows' y-position in the case window has a header-line, and
3031 new window start is greater than old window start.
3032
42ac0ae5
GM
3033 * process.c (process_sent_to): New variable.
3034 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
3035 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
3036 Declare more parameters volatile.
3037
550a625e
GM
3038 * lread.c (Vrecursive_load_depth_limit): New variable.
3039 (Fload): Check recursive loads whose recursion depth exceeds
3040 Vrecursive_load_depth_limit.
3041 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
3042
8320414c
GM
30432000-09-20 Gerd Moellmann <gerd@gnu.org>
3044
f46c275e
GM
3045 * fileio.c (Fread_file_name): Doc fix.
3046
3047 * editfns.c (Fmessage_or_box): Doc fix.
3048
3049 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
3050
b7e11c5b
GM
3051 * xfns.c (xbm_scan): Allow C-style comments.
3052
8320414c
GM
3053 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
3054 symbols are specified, add color translations to the cache.
3055 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
3056 functions.
3057 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
3058 xpm_cache_color.
3059 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
3060 structures to xpm_init_color_cache.
3061
da1608d9
GM
30622000-09-19 Gerd Moellmann <gerd@gnu.org>
3063
3064 * dispnew.c (update_window_line): Make sure to always draw
3065 mode-lines.
3066
6badfa25
AI
30672000-09-19 Andrew Innes <andrewi@gnu.org>
3068
3069 * makefile.nt (bootstrap-emacs): Don't change directory.
3070
3a5f42bb
KH
30712000-09-19 Kenichi Handa <handa@etl.go.jp>
3072
1b7649bd
KH
3073 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
3074
3a5f42bb
KH
3075 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
3076 If output buffer is too small, signal an appropriated error.
3077
9f83cf0b
DL
30782000-09-18 Dave Love <fx@gnu.org>
3079
3080 * keyboard.c (menu_bar_items, tool_bar_items)
3081 (current_active_maps): Remove redundant get_local_map call.
3082
28c7826c
GM
30832000-09-18 Gerd Moellmann <gerd@gnu.org>
3084
5cefa566
GM
3085 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
3086 cursor for buffers whose cursor_type is nil.
3087
6fed3546
GM
3088 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
3089 a feature to implement that is already implemented.
3090 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
3091 warnings.
3092
3093 * xfns.c (x_clear_image_1): New function.
3094 (x_clear_image): Use it.
3095 (x_from_xcolors): Use x_clear_image_1; don't free the image's
3096 mask.
3097
05b1f851
GM
3098 * dispnew.c (update_window): Move test for invisible lines
3099 at the top to update_window_line.
3100 (update_window_line): Handle invisible lines here.
3101
f4779de9
GM
3102 * xfns.c (clear_image_cache): Clear current matrices of all
3103 frames sharing an image cache. Block input while freeing
3104 images. Fix timestamp comparison.
3105 (x_clear_image): Also free the mask.
3106
28c7826c
GM
3107 * xfns.c (lookup_image): Block input while loading the image so
3108 that we won't get interrupted in a state where the image isn't yet
3109 set up completely.
3110 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
3111 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
3112 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
3113 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
3114 input.
3115
b7412313
GM
31162000-09-16 Gerd Moellmann <gerd@gnu.org>
3117
3118 * dispnew.c (update_window): Make sure to make desired rows
3119 current even if they are completely invisible at the top
3120 of a window.
3121
47e351a3
GM
31222000-09-15 Gerd Moellmann <gerd@gnu.org>
3123
7f8f1edc
GM
3124 * xfns.c (lookup_image): Build mask before applying an algorithm.
3125 Recognize algorithm `disabled'.
3126 (cross_disabled_images): New variable.
3127 (COLOR_INTENSITY): New macro.
3128 (x_detect_edges): Use COLOR_INTENSITY.
3129 (x_disable_image): New function.
3130 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
3131
3132 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
3133 disabled state, don't apply an image transformation algorithm if
3134 the user specified an image for the disabled state. Use
28c7826c 3135 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
3136 user hasn't specified an image.
3137
ebb8f116
GM
3138 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
3139 allocation functions with the XPM lib.
3140 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
3141 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
3142 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
3143 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
3144 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
3145 functions.
3146 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
3147 functions, if possible, because these handle color allocation
3148 failure more gracefully.
3149 (Fimage_mask_p): New function.
3150
47e351a3
GM
3151 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
3152 (Qedge_detection, Qheuristic): New symbols.
3153 (syms_of_xfns): Initialize new symbols.
3154 (lookup_image): Handle `:mask X', `:algorithm emboss', and
3155 `algorithm (edge-detection ...)'.
3156 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
3157 (tiff_format, gif_format, gs_format): Add `:mask'.
3158 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
3159 (GIF_MASK, GS_MASK): New enumerators.
3160 (x_laplace_read_row, x_laplace_write_row): Functions removed.
3161 (emboss_matrix, laplace_matrix): New variables.
3162 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
3163 (x_edge_detection): New functions.
3164 (x_laplace): Rewritten in terms of x_detect_edges.
3165 (x_build_heuristic_mask): If image has a mask, free it.
3166
fe83b953
AI
31672000-09-14 Andrew Innes <andrewi@gnu.org>
3168
3169 * makefile.w32-in: Revert to Unix line endings.
3170
3021e816
AI
31712000-09-14 Andrew Innes <andrewi@gnu.org>
3172
3173 * makefile.w32-in: Standardize indentation somewhat.
3174 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
3175 cater for differences between shells.
3176
3177 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
3178
2a32b5ea
GM
31792000-09-14 Gerd Moellmann <gerd@gnu.org>
3180
3181 * xterm.c (x_produce_glyphs): If the distance from the current
3182 position to the next tab stop is less than a canonical character
3183 width, use the tab stop after that.
3184
b4331e96
DL
31852000-09-14 Dave Love <fx@gnu.org>
3186
3187 * buffer.c (alloc_buffer_text): Fix xmalloc call.
3188
ef9e4345
GM
31892000-09-14 Gerd Moellmann <gerd@gnu.org>
3190
085536c2
GM
3191 * xdisp.c (handle_fontified_prop): While running fontification
3192 functions, bind `fontification-functions' and
3193 `after-change-functions' to nil.
3194
ef9e4345
GM
3195 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
3196 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
3197
3198 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
3199
3200 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
3201 USE_MMAP_FOR_BUFFERS.
3202
3203 * insdel.c (make_gap): Use enlarge_buffer_text.
3204
3205 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
3206 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
3207 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
3208 from former r_alloc_* functions in ralloc.c.
3209 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
3210 variables.
3211 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
3212 (mmap_init) [REL_ALLOC_MMAP]: New function.
3213 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
3214 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
3215 BUFFER_FREE.
3216
3217 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
3218 (enlarge_buffer_text): Add prototype.
3219
3220 * ralloc.c: Remove everything having to do with the use of mmap.
3221
f8608968
GM
32222000-09-13 Gerd Moellmann <gerd@gnu.org>
3223
2a494b2d
GM
3224 * sound.c (Fplay_sound): Doc fix.
3225
8c907a56
GM
3226 * keyboard.c: Avoid some more compiler warnings.
3227 (parse_tool_bar_item): Ignore cached key bindings.
3228
f8608968
GM
3229 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
3230 and allocation of Lisp data.
3231
6ab70e9a
GM
32322000-09-12 Gerd Moellmann <gerd@gnu.org>
3233
d12d0a9b
GM
3234 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
3235 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
3236 defaults first.
3237
6ab70e9a
GM
3238 * lread.c (Fload): Put code checking for recursive loads in #if 0.
3239
63c36c3c
KH
32402000-09-12 Miyashita Hisashi <himi@meadowy.org>
3241
3242 * ccl.c: Comment fixed.
3243 (MAX_MAP_SET_LEVEL): Increased to 30.
3244 (PUSH_MAPPING_STACK): Enclose with do-while block.
3245 (POP_MAPPING_STACK): Likewise.
3246 (stack_idx_of_map_multiple): New variable.
3247 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
3248 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
3249 call the corresponding CCL program by
3250 CCL_CALL_FOR_MAP_INSTRUCTION.
3251 (ccl_driver) <CCL_MapSingle>: Likewise.
3252 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
3253 with the case where looking up process reaches to the end of
3254 map-set, and call CCL programs as the above change.
3255
7ee3bd7b
GM
32562000-09-11 Gerd Moellmann <gerd@gnu.org>
3257
8ec8a5ec
GM
3258 * xfns.c (png_load, jpeg_load): Declare some variables volatile
3259 that might be clobbered by longjmp.
3260 (check_x_display_info, x_decode_color, create_frame_xic)
3261 (Fx_display_backing_store, Fx_display_visual_class)
3262 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
3263 warnings.
3264
f74b0705
GM
3265 * lread.c (init_lread): Set Vloads_in_progress to nil.
3266 (Fload): Show list of recursively loaded files, when signaling an
3267 error.
3268
7ee3bd7b
GM
3269 * lread.c (Vloads_in_progress): New variable.
3270 (record_load_unwind): New function.
3271 (Fload): Check for recursive loads.
3272 (syms_of_lread): Initialize Vloads_in_progress.
3273 (read_integer, read1): Avoid some compiler warnings.
3274
3275 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
3276 compiler warnings.
3277
974e1e5b
MB
32782000-09-11 Miles Bader <miles@gnu.org>
3279
3280 * editfns.c (Fbuffer_string): Doc fix.
3281
9824c4e3
GM
32822000-09-10 Gerd Moellmann <gerd@gnu.org>
3283
3284 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
3285
6a72fdd1
KR
32862000-09-09 Ken Raeburn <raeburn@gnu.org>
3287
3288 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
3289 whether to include other header files.
3290
28e6fb66
GM
32912000-09-09 Gerd Moellmann <gerd@gnu.org>
3292
3293 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 3294 by Fmemq as a boolean.
28e6fb66 3295
7f8b6551
SM
32962000-09-08 Stefan Monnier <monnier@cs.yale.edu>
3297
3298 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
3299
a8710abf
GM
33002000-09-08 Gerd Moellmann <gerd@gnu.org>
3301
d1a02881
GM
3302 * ralloc.c (mmap_fd): Remove initializer which can make it
3303 read-only in a dumped Emacs.
3304 (mmap_fd_1): New variable.
3305 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
3306 restore it from there.
3307 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
3308 unconditionally so that mmap_fd can be initialized there.
3309 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
3310 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
3311 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
3312
c454aac1
GM
3313 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
3314
3315 * xdisp.c (dump_glyph_row): Fix printf format string.
3316 (display_line, move_it_in_display_line_to): Avoid compiler
3317 warnings.
3318
fc653ef2
GM
3319 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
3320
3015eec0
GM
3321 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
3322 inheritance.
3323
bfe0ee88
GM
3324 * xdisp.c (try_window_id): When trying to locate cursor in
3325 unchanged rows at the top, handle the case that we can't find it.
3326
a8710abf
GM
3327 * xterm.c (x_draw_glyphs): Handle case START and END are out
3328 of bounds more carefully.
3329
6b7d4ae4
DL
33302000-09-08 Dave Love <fx@gnu.org>
3331
423193c5
DL
3332 * s/sol2.h (REL_ALLOC_MMAP): Define.
3333 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
3334
3335 * ralloc.c: Don't include string.h (redundant).
3336 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
3337 [!MAP_ANON]: Include fcntl.h.
3338 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
3339 (r_alloc, r_re_alloc, r_alloc_free)
3340 (mmap_enlarge, mmap_set_vars): Use it.
3341 (r_alloc_init_fd): New function.
3342 (__morecore) [SYSTEM_MALLOC]: Don't declare.
3343 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
3344 malloc type.
3345
3346 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
3347 Remove vm-limit.o.
3348
6b7d4ae4
DL
3349 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
3350 change to __NetBSD__.
3351
44d31981
KH
33522000-09-08 Kenichi Handa <handa@etl.go.jp>
3353
3354 * search.c (compile_pattern): Check the multibyteness of cached
3355 string and PATTERN.
3356
aad40737
MB
33572000-09-08 Miles Bader <miles@gnu.org>
3358
3359 * xfaces.c (default_face_vector): Function removed.
3360 (Finternal_merge_in_global_face): Restore old global/local
3361 attribute override order. Use inline loop instead of calling
3362 default_face_vector.
3363
91a211b5
GM
33642000-09-07 Gerd Moellmann <gerd@gnu.org>
3365
3366 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
3367 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
3368 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
3369 where necessary, in case POINTER_TYPE is `void'.
3370
03419440
EZ
33712000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
3372
3373 * frame.c (make_terminal_frame): Initialize frame foreground and
3374 background colors to unspecified, for the initial instance of an
3375 MSDOS frame.
3376
f46f845b
GM
33772000-09-07 Gerd Moellmann <gerd@gnu.org>
3378
24f76fbf
GM
3379 * ralloc.c (mmap_find): Fix overlap computation.
3380 (mmap_enlarge): Compute nbytes before trying to find an
3381 overlapping region.
3382
f46f845b
GM
3383 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
3384 instead of `!='.
3385
3386 * lread.c (syms_of_lread): Change value of regexp
3387 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
3388
3389 * xmenu.c (xdialog_show): When looking up the selection in
3390 menu_items, take `quote' boundaries into account; this corresponds
3391 to a nil ITEM in x-popup-dialog.
3392
3c014385
KH
33932000-09-07 Kenichi Handa <handa@etl.go.jp>
3394
fd6f711b
KH
3395 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
3396 not 0x81.
3397 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
3398
3c014385 3399 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
3400 encoding, not decoding. Fix the handling of latin-jisx0201.
3401 Check for the charset katakana-jisx0201 too.
3c014385 3402 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 3403 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 3404
0da3ecef
GM
34052000-09-07 Gerd Moellmann <gerd@gnu.org>
3406
ab0ee409
GM
3407 * xfaces.c (Vparam_value_alist): New variable.
3408 (syms_of_xfaces): Initialize it.
3409 (Finternal_set_lisp_face_attribute): Avoid more consing.
3410
3411 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
3412 specially.
3413 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
3414 (Qbackground_mode): New variable.
3415 (syms_of_frame_1): Initialize Qbackground_mode.
3416
3417 * lisp.h (Qdisplay): Declare extern.
1091dd67 3418
0da3ecef
GM
3419 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
3420 change face on all frames, and change the default for new frames.
3421
b14654b9
DL
34222000-09-07 Dave Love <fx@gnu.org>
3423
3424 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
3425
d24fd56f
KH
34262000-09-07 Kenichi Handa <handa@etl.go.jp>
3427
794f3670
KH
3428 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
3429
0fddd0dc
KH
3430 * charset.c: Include composite.h
3431 (lisp_string_width): New function.
3432 (Fstring_width): Call lisp_string_width instead of strwidth.
3433
3434 * Makefile.in (charset.o): Depends on composite.h.
3435
d24fd56f
KH
3436 * process.c (read_process_output): Before inserting the decoded
3437 text in the buffer, adjust the multibyteness.
3438
fa0b693c
GM
34392000-09-06 Gerd Moellmann <gerd@gnu.org>
3440
73b77ee5
GM
3441 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
3442 buffer's text buffer is null, map new memory.
3443
0a58f946
GM
3444 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
3445 POINTER_TYPE and size_t.
3446 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
3447 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
3448 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
3449 [REL_ALLOC_MMAP]: New macros.
3450 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
3451 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
3452 [REL_ALLOC_MMAP]: New functions.
3453
3454 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
3455 before and after unexec.
3456
3457 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
3458 text buffers if necessary.
3459
3460 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
3461 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
3462 in prototypes.
3463
fa0b693c
GM
3464 * config.in (HAVE_MMAP): Add #undef.
3465
877055f6
GM
34662000-09-05 Gerd Moellmann <gerd@gnu.org>
3467
08ba3862
GM
3468 * frame.c (Qdisplay_type): New variable.
3469 (syms_of_frame_1): Initialize it.
3470 (Fframe_parameter): New function that avoids consing.
3471 (syms_of_frame): Defsubr it.
3472
66ffe51c
GM
3473 * buffer.c (Fother_buffer): Consider buffers as invisible when
3474 they are displayed in a window on an invisible frame.
3475
877055f6
GM
3476 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
3477 get-largest-window always return nil.
3478
bb970e67
GM
34792000-09-04 Gerd Moellmann <gerd@gnu.org>
3480
3481 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
3482 variable; recognize Emacs 19 elc files.
3483
7a3d0e0e
MB
34842000-09-04 Miles Bader <miles@gnu.org>
3485
3486 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
3487 before initially popping up the menu, so the menu doesn't flash
3488 when the face settings are significantly different from the
3489 defaults.
3490
14473664
SM
34912000-09-04 Stefan Monnier <monnier@cs.yale.edu>
3492
3493 * regex.c (WIDE_CHAR_SUPPORT): New macro.
3494 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
3495 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
3496 (BIT_UNIBYTE): Remove.
3497 (re_match_2_internal): Delete corresponding code and streamline the
3498 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
3499 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
3500 (re_wctype_t): New type.
3501 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
3502 (regex_compile): Use them and fix handling of overly long char classes.
3503
c1174479
AI
35042000-09-03 Andrew Innes <andrewi@gnu.org>
3505
f8803e97
AI
3506 * makefile.w32-in: Change to DOS line endings.
3507
c1174479
AI
3508 * s/ms-w32.h (ORDINARY_LINK): New define.
3509
3510 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
3511 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
3512
3513 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
3514 (distclean): Delete them here instead.
3515
44ef7cf6
AI
3516 * w32proc.c (compare_env): Convert to uppercase for comparison,
3517 not lowercase, to match how the native Windows shell works.
3518
49b3bd82
JR
35192000-09-03 Jason Rumney <jasonr@gnu.org>
3520
3521 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
3522 CVS changes the line-ends when checking in/out on DOS/Windows.
3523
3524 * makefile.nt (emacs): Do not change directory to run temacs, as
3525 the load-path is set relative to current directory.
3526
a3d35a39
MB
35272000-09-03 Miles Bader <miles@gnu.org>
3528
3529 * xterm.c (x_alloc_lighter_color_for_widget): New function.
3530
d276b0cf
GM
35312000-09-02 Gerd Moellmann <gerd@gnu.org>
3532
715e84c9
GM
3533 * xdisp.c (redisplay_mode_lines): New function.
3534 (display_mode_lines): Return number of mode lines displayed.
3535 (echo_area_display): Use redisplay_mode_lines to draw garbaged
3536 mode lines. Don't temporarily bind redisplay-dont-pause to t.
3537
8892f40b
GM
3538 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
3539 string.h and strings.h.
3540 (index) [HAVE_INDEX]: Add prototype.
3541
d276b0cf
GM
3542 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
3543 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
3544
3545 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
3546 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
3547
38404229
GM
35482000-09-01 Gerd Moellmann <gerd@gnu.org>
3549
3550 * lread.c (read1): Accept `?' as symbol constituent, for
3551 compatiblity with XEmacs.
3552
c0f9ea08
SM
35532000-08-31 Stefan Monnier <monnier@cs.yale.edu>
3554
3555 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
3556 (struct re_pattern_buffer): Remove newline_anchor.
3557 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
3558 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
3559 (re_max_failures, fail_stack): Use size_t rather than unsigned.
3560 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
3561 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
3562 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
3563 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
3564 Get rid of references to newline_anchor.
3565 (regcomp): Allocate and precompute a fastmap.
3566
8c0f83fe
GM
35672000-08-31 Gerd Moellmann <gerd@gnu.org>
3568
3569 * lread.c (openp): GCPRO local variable `filename'.
3570
4bb91c68
SM
35712000-08-30 Stefan Monnier <monnier@cs.yale.edu>
3572
3573 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
3574
3575 * regex.c: Merge some changes from GNU libc. Add prototypes.
3576 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
3577 Use memcmp and memcpy instead of bcopy and bcmp.
3578 (init_syntax_once): Use ISALNUM.
3579 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
3580 (REG_UNSET_VALUE): Remove. Use NULL instead.
3581 (REG_UNSET, re_match_2_internal): Use NULL.
3582 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
3583 New macros.
3584 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
3585 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
3586 (regex_compile): In handle_interval, return an error rather than try to
3587 unfetch the interval if we can't find the closing brace.
3588 Obey the RE_NO_GNU_OPS syntax bit.
3589 (TOLOWER): New macro.
3590 (regcomp): Use it.
3591 (regexec): Allocate regs.start and regs.end as one block.
3592
5226a931
GM
35932000-08-30 Gerd Moellmann <gerd@gnu.org>
3594
868dd24b
GM
3595 * xdisp.c (echo_area_display): Check display_completed instead
3596 of calling detect_input_pending.
3597
3598 * dispnew.c (update_frame): Only set display_completed here; move
3599 the update_begin and update_end calls here from update_frame_1.
3600 (update_frame_1): Don't set display_completed here, don't call
3601 update_begin/update_end.
3602
5226a931
GM
3603 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
3604 instead of store_frame_param.
3605
2a8bd25f
GM
36062000-08-29 Gerd Moellmann <gerd@gnu.org>
3607
3608 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
3609 desired window matrix hasn't been displayed, use the current row
3610 instead. Make sure that only those frame rows are updated for
3611 which there exists a corresponding enabled desired row.
3612
ba3478d9
MB
36132000-08-29 Miles Bader <miles@gnu.org>
3614
3615 * xfaces.c (default_face_vector): New function.
3616 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
3617
87d0f685
GM
36182000-08-29 Gerd Moellmann <gerd@gnu.org>
3619
3620 * lread.c (openp): Prevent temporary string passed to
3621 Ffile_readable_p from being garbage collected.
3622
6fa86045
DL
36232000-08-28 Dave Love <fx@gnu.org>
3624
3625 * keymap.c (store_in_keymap): Add `static' to declaration.
3626
bb17930d
GM
36272000-08-28 Gerd Moellmann <gerd@gnu.org>
3628
3629 * emacs.c, callint.c, doc.c, editfns.c
3630 (toplevel) [HAVE_STRING_H]: Include string.h.
3631 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
3632 (index): Remove prototypes which might conflict with non-standard
3633 definitions of index/strchr.
3634
3635 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
3636 (rindex): Define only if !HAVE_RINDEX.
3637
3638 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
3639
3640 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
3641
87188200
MB
36422000-08-28 Miles Bader <miles@gnu.org>
3643
3644 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
3645 made inconsistent by a font-related attribute in FROM.
3646 (merge_face_inheritance): Add function comment.
3647
41a68aef
KH
36482000-08-28 Kenichi Handa <handa@etl.go.jp>
3649
3650 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
3651 the 4th arg (PREV_EVENT) Qt to suppress input method.
3652
f7c436c1
SM
36532000-08-27 Stefan Monnier <monnier@cs.yale.edu>
3654
0b32bf0e
SM
3655 * regex.c: Indent cpp directives and remove parens after `defined'.
3656 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
3657 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
3658 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
3659 (re_compile_pattern): Use size_t for length.
3660 (init_syntax_once): Move to a better place.
3661 * regex.h: Merge changes from GNU libc. Indent cpp directives.
3662 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
3663
f7c436c1
SM
3664 * syntax.c (back_comment): Detect cases where a comment-starter is
3665 actually inside another comment as in: /* a // b */ c // d \n.
3666 Make it clear that `comstart_pos' is unused for nested comments.
3667
3668 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
3669 (KEYMAPP): New macro.
3670 (Fkeymap_parent, Fset_keymap_parent): Use it.
3671 (fix_submap_inheritance): Mark it static.
3672 (define_as_prefix, describe_buffer_bindings, describe_command)
3673 (describe_translation, describe_map): Complete prototypes.
3674
3675 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
3676
3677 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
3678 to better match the key-lookup behavior.
3679
6288c62f
GM
36802000-08-27 Gerd Moellmann <gerd@gnu.org>
3681
3682 * xfaces.c (lface_fully_specified_p): Handle :inherit.
3683 (Finternal_set_lisp_face_attribute): Fix typo in error message.
3684
e931344e
EZ
36852000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
3686
3687 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
3688 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
3689 (xterm.o): Depend on coding.h
3690
d10dfeef
KH
36912000-08-26 Kenichi Handa <handa@etl.go.jp>
3692
3693 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
3694 the corresponding '#endif'.
3695
2d73e8d3
MB
36962000-08-26 Miles Bader <miles@gnu.org>
3697
3698 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
3699 * xfaces.c (QCinherit): New variable.
3700 (syms_of_xfaces): Initialize it.
3701 (LFACE_INHERIT): New macro.
3702 (Finternal_get_lisp_face_attribute)
3703 (merge_face_vector_with_property)
3704 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
3705 (check_lface_attrs): Allow new types of face height. Check
3706 inherit attribute.
3707 (CYCLE_CHECK): New macro.
3708 (merge_face_inheritance): New function.
3709 (merge_face_vectors): Merge inherited faces too. Add F and
3710 CYCLE_CHECK arguments.
3711 (merge_face_vector_with_property, Finternal_merge_in_global_face)
3712 (lookup_named_face, lookup_derived_face, realize_named_face)
3713 (face_at_string_position, face_at_buffer_position): Supply
3714 new F and CYCLE_CHECK arguments to merge_face_vectors.
3715 (merge_face_heights): New function.
3716 (merge_face_vectors, merge_face_vector_with_property)
3717 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
3718 handle relative face heights.
3719 (lface_same_font_attributes_p): Compare heights using EQ.
3720
6ce974d4
KH
37212000-08-26 Kenichi Handa <handa@etl.go.jp>
3722
3723 * charset.c (char_to_string): Check the character validity.
3724 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
3725 0.
3726
dc1e502d
SM
37272000-08-25 Stefan Monnier <monnier@cs.yale.edu>
3728
3729 * regex.c (PUSH_FAILURE_COUNT): New macro.
3730 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
3731 Handle popping of a register's or a counter's data.
3732 (POP_FAILURE_POINT): Use the new name.
3733 (re_match_2_internal): Push counter data on the stack for succeed_n,
3734 jump_n and set_number_at and remove misleading dead code in succeed_n.
3735
bd9d0f3f
GM
37362000-08-25 Gerd Moellmann <gerd@gnu.org>
3737
3738 * xdisp.c (redisplay_internal): If considering all windows on all
3739 frames, update the display for each frame as soon as possible,
3740 instead of first building all desired matrices for all frames, and
3741 then updating them all.
3742 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
3743
aa5b8e15
GM
37442000-08-24 Gerd Moellmann <gerd@gnu.org>
3745
17494071
GM
3746 * bytecode.c (mark_byte_stack): Add a comment.
3747
aa5b8e15
GM
3748 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
3749 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
3750 a graphical frame.
3751
c543db81
KH
37522000-08-24 Kenichi Handa <handa@etl.go.jp>
3753
d246d5f5
KH
3754 * minibuf.c (do_completion): Always use compare-string, not
3755 string-equal because the latter doesn't pay attention to
3756 multibyteness of strings.
3757
c543db81
KH
3758 * process.c (create_process): Don't setup raw-text coding here.
3759 (Fopen_network_stream): Don't set coding->src_multibyte and
3760 coding->dst_multibyte here.
3761 (read_process_output): For process filter, return unibyte string
3762 if default-enable-multibyte-characters is nil.
3763 (send_process): If OBJECT is multibyte text, be sure to encoded it
3764 by the specified coding system for the process. Otherwise, setup
3765 raw-text coding.
3766 (init_process): Don't initialize default-process-coding-system
3767 here.
3768
9b47cfe0
EZ
37692000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
3770
3771 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
3772 <scroll-down-aggressively>: Likewise.
3773
f5a36960
KH
37742000-08-23 Kenichi Handa <handa@etl.go.jp>
3775
3776 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
3777 zero. Set coding->produced_char correctly.
3778
69a7ffa7
AI
37792000-08-22 Andrew Innes <andrewi@gnu.org>
3780
3781 * makefile.w32-in: New file.
3782
3783 * unexw32.c (unexec): Ignore old_name, and use the actual location
3784 of the current executable instead. Base new_name on this.
3785
3786 * w32proc.c (create_child): Remove reference to security
3787 descriptor, which isn't needed and doesn't compile with mingw32.
3788
3789 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3790 up dllimport attributes.
3791 (x_update_window_end): Update prototype.
3792
3793 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
3794 extern, which screws up dllimport attributes.
3795
3796 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3797 up dllimport attributes.
3798
3799 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
3800 screws up dllimport attributes.
3801
3802 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3803 up dllimport attributes.
3804 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
3805 screws up dllimport attributes.
3806
3807 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3808 up dllimport attributes.
3809
3810 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
3811 screws up dllimport attributes.
3812
3813 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
3814 screws up dllimport attributes.
3815
3816 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3817 up dllimport attributes.
3818
3819 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
3820 unnecessary extern, which screws up dllimport attributes.
3821 (main): Ditto.
3822
3823 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3824 up dllimport attributes.
3825
3826 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
3827 unnecessary extern, which screws up dllimport attributes.
3828
3829 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
3830 screws up dllimport attributes.
3831
3832 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3833 up dllimport attributes.
3834
3835 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
3836
3837 * w32bdf.c (search_file_line):
3838 (set_bdf_font_info):
3839 (seek_char):
3840 (w32_get_bdf_glyph):
3841 (w32_BDF_to_x_font): Fix compile warnings.
3842
3843 * w32menu.c: Include keyboard.h before frame.h. Fix compile
3844 warnings.
3845
3846 * w32select.c: Include keyboard.h before frame.h.
3847
3848 * w32fns.c (max): Define macro.
3849 (JOHAB_CHARSET): Define if not known.
3850 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
3851 (Fx_show_tip): Synch with X version.
3852
3853 * w32xfns.c: Include keyboard.h before frame.h.
3854
3855 * w32fns.c: Include keyboard.h before frame.h.
3856
3857 * w32term.c: Include keyboard.h before frame.h.
3858
3859 * fontset.c: Include keyboard.h before frame.h.
3860
3861 * w32inevt.c: Include keyboard.h before frame.h.
3862 (MOUSE_MOVED): Define if not known.
3863
3864 * minibuf.c: Include keyboard.h before frame.h.
3865
3866 * keyboard.c: Include keyboard.h before frame.h.
3867
3868 * indent.c: Include keyboard.h before frame.h.
3869
3870 * dispnew.c: Include keyboard.h before frame.h.
3871
3872 * buffer.c: Include keyboard.h before frame.h.
3873
3874 * alloc.c: Include keyboard.h before frame.h.
3875
3876 * print.c: Include keyboard.h before frame.h.
3877
3878 * process.c: Include keyboard.h before frame.h.
3879
3880 * scroll.c: Include keyboard.h before frame.h.
3881
3882 * sysdep.c: Include keyboard.h before frame.h.
3883
3884 * term.c: Include keyboard.h before frame.h.
3885
3886 * window.c: Include keyboard.h before frame.h.
3887
3888 * xdisp.c: Include keyboard.h before frame.h.
3889 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
3890
3891 * frame.c: Include keyboard.h before frame.h.
3892
3893 * w32heap.h: Undefine min, max.
3894
3895 * w32gui.h: Undefine min, max.
3896
3897 * unexw32.c: Change PUCHAR to PCHAR.
3898 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
3899 (relocate_offset):
3900 (get_section_info):
3901 (copy_executable_and_dump_data): Remove unnecessary static defs.
3902 (copy_executable_and_dump_data): Fix compile warnings.
3903
3904 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
3905
3906 * w32console.c (min): Define macro.
3907 (clear_frame, write_glyphs): Fix compile warning.
3908
3909 * w32proc.c (compare_env):
3910 (find_child_console): Fix compile warning.
3911
3912 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
3913 sys_errlist instead of _sys_errlist.
3914 (get_emacs_configuration_options): New function.
3915
3916 * s/ms-w32.h (sys_nerr): Provide default definition.
3917 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
3918 name with _ prepended.
3919 (NSIG): Define if not known.
3920 (get_emacs_configuration): Provide extern declaration.
3921 (get_emacs_configuration_options): Provide extern declaration.
3922 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
3923
3924 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
3925 (map_w32_filename):
3926 (read_unc_volume): Fix compile warning.
3927
3928 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
3929 definitions from being used.
3930
3931 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
3932
3933 * w32.c (unc_volume_file_attributes):
3934 (open_unc_volume): Make arg const.
3935
3936 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
3937 (read_input_waiting): Remove excess parameter.
3938
3939 * w32.c (init_environment): Call _access.
3940 (check_windows_init_file): Call _close.
3941 (init_user_info): Call _putenv.
3942 (init_environment): Call _putenv and _strdup.
3943 (init_ntproc): Reset volume info cache on startup.
3944
3945 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
3946 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
3947 cannot override the CRT malloc.
3948
3949 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
3950 (LINK_FLAGS): Append to original value of LINK_FLAGS.
3951
3952 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
3953 unless we are linking with a static CRT.
3954 (RVA_TO_PTR): Cast result to unsigned char*.
3955
3956 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
3957 (add_volume_info): Use xstrdup.
3958
25060080
SM
39592000-08-22 Stefan Monnier <monnier@cs.yale.edu>
3960
3961 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
3962 (do_completion, Fminibuffer_complete_word): Use it.
3963 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
3964 var so it can take non-boolean values.
3965
6917e6bb
GM
39662000-08-21 Gerd Moellmann <gerd@gnu.org>
3967
acb7cc89
GM
3968 * editfns.c (find_field): Formatting changes.
3969 (toplevel): Some old-style function forward declarations
3970 changed to prototypes, some new protypes added, some functions
3971 made static.
3972
3973 * lisp.h (set_time_zone_rule): Add prototype.
3974 (use_dialog_box): External declaration.
3975
0bbfdc25
GM
3976 * keyboard.c (gen_help_event): Add parameter SIZE.
3977 (kbd_buffer_events_waiting): Slightly rewritten.
3978 (clear_event): New function.
3979 (kbd_buffer_get_event): Use it, and clear the input_events of
3980 HELP_EVENTs.
3981 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
3982 don't fill the newly created array with nils.
3983 (toplevel): Convert some old-style function forward declarations
3984 to prototypes.
3985
3986 * keyboard.h (gen_help_event): Change prototype.
3987
3988 * xterm.c (XTread_socket): Change calls to gen_help_event.
3989
3990 * w32term.c (w32_read_socket): Change calls to gen_help_event.
3991
6917e6bb
GM
3992 * eval.c (Fmacroexpand): Doc fix.
3993
e5cd3d11
JR
39942000-08-20 Jason Rumney <jasonr@gnu.org>
3995
3996 * w32term.h (x_display_info_for_display): Remove as this function
3997 does not exist on W32.
3998
3999 * w32term.c (help_echo_window): New variable.
4000 (syms_of_w32term): staticpro it.
4001 (note_mode_line_highlight): Set it.
4002 (XTextExtents16): Removed as there is no equivalent on W32.
4003 (x_compute_glyph_string_overhangs): Incomplete body removed, as
4004 the X way of doing this will not work for W32.
4005 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
4006 (x_draw_image_foreground): Avoid drawing outside of the clip area
4007 when image doesn't have a mask.
4008 (note_mouse_highlight): Process overlays in the right order of
4009 priority. Set help_echo_window.
4010 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
4011 because that's more visible for large images.
4012
4013 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
4014 name to single_keymap_panes.
4015 (w32_menu_show): Set wv->title when dealing with titles.
4016 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
4017
6e69ab8c
MB
40182000-08-21 Miles Bader <miles@gnu.org>
4019
4020 * minibuf.c (do_completion): Try again if we rewrite the input
4021 string, but no completion was done, so that any completion message
4022 will be correct.
4023
511bd4eb
GM
40242000-08-20 Gerd Moellmann <gerd@gnu.org>
4025
4026 * xfaces.c (lface_equal_p): Compare strings differently.
4027 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
4028 (realize_tty_face): Use them.
4029 (syms_of_xfaces): Initialize new variables.
4030 (map_tty_color): New function, extracted from realize_tty_face.
4031 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
4032 foreground or background color, store the new color name in the
4033 realized face; previous code trying to do this had no effect.
4034 (realize_tty_face): Use map_tty_color.
4035 (Fclear_face_cache): Set face_change_count and ensure thorough
4036 redisplay.
4037
1433385f
GM
40382000-08-19 Gerd Moellmann <gerd@gnu.org>
4039
511bd4eb
GM
4040 * undo.c (record_first_change, record_marker_adjustment): Don't
4041 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 4042
419ac0a2
KH
40432000-08-18 Kenichi Handa <handa@etl.go.jp>
4044
4045 * coding.c (decode_coding_string): Set members consumed,
4046 consumed_char, produced, produced_char of *coding correctly. If
4047 decode_coding doesn't consume any byte, don't try anymore.
4048 (encode_coding_string): Likewise.
4049
7eb9e30d
GM
40502000-08-18 Gerd Moellmann <gerd@gnu.org>
4051
511bd4eb
GM
4052 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
4053 conditional have void type, for Standard C compilers.
7eb9e30d
GM
4054
4055 * xdisp.c (redisplay_internal): Compare windows for equality with
4056 EQ, instead of applying XWINDOW to something that might not
4057 be a window.
4058
dd34a735
KH
40592000-08-18 Kenichi Handa <handa@etl.go.jp>
4060
4061 * fontset.c (Finternal_char_font): Search only the selected frame
4062 for a window of the current buffer.
4063
385ff9e3
GM
40642000-08-18 Gerd Moellmann <gerd@gnu.org>
4065
511bd4eb 4066 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
4067 Lisp_Objects.
4068
385ff9e3
GM
4069 * keyboard.c (kbd_buffer_get_event): Handle the case that the
4070 second half of a HELP_EVENT is found at the start of kbd_buffer.
4071
d6abb4c7
MB
40722000-08-18 Miles Bader <miles@gnu.org>
4073
4618074a
MB
4074 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
4075
d6abb4c7
MB
4076 * editfns.c (save_restriction_save): Rewrite to use markers.
4077 (save_restriction_restore): Rewrite to understand new form of data
4078 saved by save_restriction_save.
4079 (Fsave_restriction): Remove cautionary note in doc-string.
4080
a7b28523
GM
40812000-08-17 Gerd Moellmann <gerd@gnu.org>
4082
4083 * fileio.c (build_annotations): Add a comment explaining the
4084 return value of format-annotate-function. Replace a spurious call
4085 to Flength with a CONSP test. Call format-annotate-function with
4086 a fifth arg specifying how many times the function is been called
4087 in a row, to let it choose temporary buffers appropriately.
4088
03c9ed77
DL
40892000-08-17 Dave Love <fx@gnu.org>
4090
4091 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
4092 declare make_temp_name twice.
4093
4094 * lread.c: Prototype readevalloop, load_unwind,
4095 load_descriptor_unwind.
4096 (unreadpure): Give it an arg.
4097
4098 * unexalpha.c: Prototype fatal_unexec, mark_x,
4099 update_dynamic_symbols. Declare unexec as void.
4100
4101 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
4102 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
4103
4104 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
4105 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
4106 DOUG_LEA_MALLOC.
4107
4108 * alloca.c: Use #error.
4109 [POINTER_TYPE]: Use it.
4110
4111 * eval.c (Fdefvar): Doc fix.
4112
4113 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
4114 INITIALIZE_INTERVAL.
4115
4116 * buffer.h: Avoid DECLARE_INTERVALS.
4117
4118 * config.in: Add size_t.
4119
aae41d97
EZ
41202000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
4121
4122 * w16select.c (set_clipboard_data): If there's not enough memory
4123 to put text into clipboard, return 1, as Fw16_set_clipboard_data
4124 expects. In case of other failures, return 3.
4125 (system_error_msg): New error message.
4126 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
4127 system_error_msg.
4128
65aa5e85
GM
41292000-08-16 Gerd Moellmann <gerd@gnu.org>
4130
4131 * term.c (write_glyphs): Also turn off inverse video after turning
4132 off other appearances in case TS_exit_attribute_mode is not equal
4133 to TS_end_standout_mode.
4134 (insert_glyphs): Turn inverse video on/off for each run of glyphs
4135 with the same face.
4136 (turn_off_face): Reset standout_mode only if
4137 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
4138 is equal to TS_end_standout_mode.
4139
ece23901
KH
41402000-08-16 Kenichi Handa <handa@etl.go.jp>
4141
9d7bcb2e
KH
4142 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
4143 sequence at the end of the source block.
4144
ece23901
KH
4145 * ccl.c (Fccl_program_p): Docstring modified.
4146 (Fccl_execute): Likewise.
4147 (Fccl_execute_on_string): Likewise.
4148
5e30eaa2
EZ
41492000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
4150
4151 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
4152
290602fd
KH
41532000-08-16 Kenichi Handa <handa@etl.go.jp>
4154
4155 The following changes are mainly to fix bugs of
4156 encode/decode-coding-string failing if encoding/decoding return
4157 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
4158 variable conversion_buffer.
4159
4160 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
4161 decrement dst_end to avoid buffer overflow in the later call of
4162 string_as_multibyte
4163
4164 * coding.h (conversion_buffer_size, conversion_buffer)
4165 (get_conversion_buffer): Extern deleted.
4166
4167 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
4168 (conversion_buffer, conversion_buffer_size): Variables deleted.
4169 (get_conversion_buffer): Function deleted.
4170 (struct conversion_buffer): New structure.
4171 (MAX_ALLOCA): New macro.
4172 (allocate_conversion_buffer): New macro.
4173 (extend_conversion_buffer, free_conversion_buffer): New functions.
4174 (ccl_coding_driver): Set coding->result.
4175 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
4176 this is the last block of source.
4177 (encode_coding): Likewise. Handle the source block as the last
4178 one only when the whole source text is consumed.
4179 (decode_coding_string): Handle the case that the output buffer is
4180 too small to decode the whole source text. Use
4181 allocate_conversion_buffer, extend_conversion_buffer and
4182 free_conversion_buffer, not get_conversion_buffer.
4183 (encode_coding_string): Likewise.
4184 (init_coding): Function deleted.
4185 (init_coding_once): Delete code to initialize
4186 conversion_buffer_size.
4187
4188 * emacs.c (main): Don't call init_coding.
4189
4190 * msdos.c (IT_write_glyphs): Use a locally declared
4191 conversion_buffer.
4192
4193 * term.c (write_glyphs): Use a locally declared conversion_buffer.
4194 (insert_glyphs): Likewise.
4195
4196 * w32console.c (write_glyphs): Use a locally declared
4197 conversion_buffer.
4198
b9f80d41
EZ
41992000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
4200
4201 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
4202 member of display_info is NULL.
4203
32dc52f7
GM
42042000-08-15 Gerd Moellmann <gerd@gnu.org>
4205
58ed0d3b
GM
4206 * alloc.c (compact_small_strings): Use safe_bcopy, add an
4207 assertion.
4208
32dc52f7 4209 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 4210 appearances with capability `me'.
32dc52f7
GM
4211 (write_glyphs): Switch on inverse video before each face change.
4212
4eb22d33
DL
42132000-08-14 Dave Love <fx@gnu.org>
4214
4215 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
4216 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
4217 (lisp_free): Declare and make static.
4218
4219 * window.c: Fix embedded comment.
4220 (syms_of_window): Fix doc string.
4221
90cbf47e
GM
42222000-08-14 Gerd Moellmann <gerd@gnu.org>
4223
4224 * keymap.c (push_key_description): If C without modifiers is < 32,
4225 make sure to print `C-' before `M-', like in the manual.
4226
440fc135
GM
42272000-08-11 Gerd Moellmann <gerd@gnu.org>
4228
4229 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
4230 since they aren't relocated anymore.
4231 (sxhash_string): Make sure returned hash code fits in a Lisp
4232 integer.
4233
4234 * xdisp.c (try_cursor_movement): Fix handling of cursor in
4235 partially visible line which is smaller than the window's
4236 height.
4237
6e264fad
KH
42382000-08-11 Kenichi Handa <handa@etl.go.jp>
4239
4240 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
4241 the multibyte form of eight-bit-control characters.
4242 (Fccl_execute_on_string): Initialize ccl->multibyte.
4243
4244 * ccl.h (struct ccl_program): New member multibyte.
4245
4246 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
4247
c371f69a
KH
42482000-08-11 Kenichi Handa <handa@etl.go.jp>
4249
4250 * regex.c (regex_compile) <normal_char>: Pay attention to
4251 multibyteness.
4252 (analyse_first) <exactn>: Setup fastmap correctly for
4253 eight-bit-control characters.
4254
42552000-08-11 Kenichi Handa <handa@etl.go.jp>
4256
4257 * termhooks.h (enum event_kind): New member
4258 multibyte_char_keystroke.
4259
4260 * keyboard.c (make_lispy_event): Handle the new event type
4261 multibyte_char_keystroke.
4262
4263 * xterm.c: Include coding.h.
4264 (XTread_socket): Work around a bug of XmbLookupString. If the
4265 input is from XIM, decode it according to the current locale. In
4266 that case, generate multibyte_char_keystroke events.
4267
b8ddbe71
KH
42682000-08-11 Kenichi Handa <handa@etl.go.jp>
4269
4270 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
4271 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
4272
47589c8c
GM
42732000-08-10 Gerd Moellmann <gerd@gnu.org>
4274
4275 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
4276 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
4277 (move_it_in_display_line_to): Record iterator's ascent and descent
4278 before producing glyphs, and restore them when we know the glyph
4279 doesn't fit on the line.
4280 (move_it_to): Restructured so that it's easier to debug. If
4281 moving to a vpos, and not moving to an x or character position,
4282 stop as soon as the specified vpos is reached; don't move further
4283 into that line because that might change the computed line height.
4284 (try_cursor_movement): New function, extracted from the cursor
4285 movement branch of redisplay_window. If ending on a partially
4286 visible line, don't try to scroll if the cursor line is taller
4287 than the window.
4288 (redisplay_window): Use try_cursor_movement.
4289
4290 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
4291 because that function doesn't cope with variable-height lines.
4292
4293 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
4294 box cursor because that's better visible for large images.
4295
c51bacd6
MB
42962000-08-10 Miles Bader <miles@gnu.org>
4297
4298 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
4299
bea56df7
GM
43002000-08-10 Gerd Moellmann <gerd@gnu.org>
4301
4302 * xdisp.c (Vmessages_buffer_name): New variable.
4303 (message_dolog): Use it.
4304 (syms_of_xdisp): Initialize it.
4305
99cd7364
EZ
43062000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
4307
4308 * msdos.c (IT_note_mouse_highlight): Update the calls to
4309 overlays_at.
4310 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
4311 redundant now that keyboard.h is included.
4312
7d093d56
EZ
43132000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
4314
4315 * keyboard.c (kbd_buffer_events_waiting): New function.
4316
4317 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
4318
4319 * msdos.c: Include keyboard.h.
4320 (XMenuActivate): Empty no_event events from the event buffer. If
4321 no events are left after that, call clear_input_pending.
4322 (mouse_clear_clicks): New function, code moved from mouse_init.
4323 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
4324 mouse driver to ``forget'' any past clicks.
4325
4326 * Makefile.in (msdos.o): Depend on keyboard.h.
4327
41e757a6
GM
43282000-08-09 Gerd Moellmann <gerd@gnu.org>
4329
8e7bd231
GM
4330 * lisp.h (input_pending): External declaration.
4331
4332 * dispextern.h (Qredisplay_dont_pause): Declare extern.
4333
4334 * xdisp.c (echo_area_display): Display thoroughly if input is
4335 pending. Bind redisplay-dont-pause to t during the redisplay.
4336 in case input is pending.
4337
4338 * dispnew.c (Qredisplay_dont_pause): New variable.
4339 (syms_of_display): Initialize and staticpro it.
4340 (update_frame_1): Don't interrupt the display for pending input if
4341 redisplay_dont_pause is set.
4342
43028b7e
GM
4343 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
4344
41e757a6
GM
4345 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
4346
2f2174fa
KH
43472000-08-09 Miles Bader <miles@lsi.nec.co.jp>
4348
4349 * callproc.c (Fcall_process): Terminate the unwind-protect around
4350 the post-read-conversion of coding system.
4351
0a6fd67e
MB
4352 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
4353 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
4354 * buffer.h (overlays_at): Update prototype.
4355 * xdisp.c (next_overlay_change): Update call to overlays_at.
4356 * xfaces.c (face_at_buffer_position): Likewise.
4357 * textprop.c (Fget_char_property): Likewise.
4358 * xterm.c (note_mouse_highlight): Likewise.
4359
0c80756e
MB
4360 * minibuf.c (do_completion): Don't consider a simple change of
4361 case as `completion'.
4362
975f250a
KR
43632000-08-08 Ken Raeburn <raeburn@gnu.org>
4364
b347b3fd
KR
4365 * keyboard.c (syms_of_keyboard): Initialize
4366 last_point_position_buffer.
4367 * undo.c (record_delete): Make sure last_point_position_buffer is
4368 a buffer before comparing pointers.
4369
4370 * coding.h (decode_coding_string): Declare.
4371
4372 * intervals.h (Fprevious_single_char_property_change): Declare.
4373
4374 * textprop.c (Fprevious_single_char_property_change): Don't do
4375 arithmetic directly on lisp objects.
4376
25ad1371 4377 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
4378 objects.
4379
4380 * keyboard.h (menu_item_eval_property): Declare.
4381
4382 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
4383 reuse as buffer name, instead of recreating (and discarding) every
4384 time a message is logged.
4385 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
4386 (current_message_1, truncate_message_1, set_message_1)
4387 (display_echo_area_1, resize_mini_window_1): Signatures changed.
4388 (current_message, truncate_echo_area, display_echo_area)
4389 (resize_echo_area_axactly): Changed calls.
b347b3fd 4390
975f250a 4391 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 4392 Lisp object.
975f250a 4393 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 4394 must be an integer, not a Lisp object.
975f250a 4395
46dc9912
KH
43962000-08-08 Kenichi Handa <handa@etl.go.jp>
4397
4398 * charset.c (Fchar_width): Doc fix.
4399
9f6d1a6c
GM
44002000-08-08 Gerd Moellmann <gerd@gnu.org>
4401
4402 * charset.c (Fstring_width): Doc fix.
4403
ff3d9573
GM
44042000-08-07 Gerd Moellmann <gerd@gnu.org>
4405
41e757a6 4406 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
4407 line, clear ascent and descent members of the iterator structure;
4408 the height of the continued line does not affect the height of the
4409 continuation line.
4410 (make_cursor_line_fully_visible): Do nothing if cursor is on a
4411 line taller than the window.
4412 (redisplay_window) <forced window start>: Handle case that the
4413 middle of the window is not found in any row.
4414 (dump_glyph_row): Show more information.
4415 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
4416 first text line in a glyph matrix.
4417
4418 * xterm.c (x_draw_image_foreground): Avoid drawing outside
4419 of the clip area when image doesn't have a mask.
4420
70fc58b3
GM
4421 * fns.c (sweep_weak_table): Fix survival conditions for
4422 key-or-value and key-and-value weakness.
4423
4424 * .gdbinit (xhashtable): New command.
4425
ac0e96ee
GM
4426 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
4427 tables out of the list of all weak hash tables.
4428
ff3d9573
GM
4429 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
4430 a new buffer is created, make sure echo_area_buffer[] references
4431 the new buffer.
4432
e0d8827b
EZ
44332000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
4434
4435 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
4436 the doc string.
4437
c6f35378
KH
44382000-08-07 Kenichi Handa <handa@etl.go.jp>
4439
4440 * syntax.c (skip_chars): Fix previous change. Make the handling
4441 of unibyte string consistent with that of regex search.
4442
1fd4c450
GM
44432000-08-05 Gerd Moellmann <gerd@gnu.org>
4444
e49aa397
GM
4445 * xmenu.c (popup_get_selection): Use xfree instead of free.
4446
4447 * fileio.c (Finsert_file_contents): Use xfree instead of free.
4448
4449 * editfns.c (Ftranspose_regions): Use xfree instead of free.
4450
4451 * callproc.c (child_setup): Use xfree instead of free.
4452
4453 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
4454 instead of malloc.
4455 (run_mac_command, closedir): Use `xfree' instead of `free'.
4456
4457 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
4458
4459 * eval.c (error): Use xfree instead of free.
4460
1fd4c450
GM
4461 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
4462
4463 * fns.c: Replace `illegal' with `invalid'.
e49aa397 4464 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 4465
82d497fc
KH
44662000-08-05 Kenichi Handa <handa@etl.go.jp>
4467
4468 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
4469 conversion.
4470
59f953a2
NF
44712000-08-04 Noah Friedman <friedman@splode.com>
4472
4473 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
4474 docstring.
4475
688351f2
GM
44762000-08-04 Gerd Moellmann <gerd@gnu.org>
4477
4478 * syntax.c (skip_chars): Fix typo in error message.
4479
2dad51cc
AS
44802000-08-04 Andreas Schwab <schwab@suse.de>
4481
4482 * m/ia64.h: Moved from s/ia64.h.
4483
99bb2c60
KH
44842000-08-04 Kenichi Handa <handa@etl.go.jp>
4485
082a1df2
KH
4486 * process.c (read_process_output): Big simplification. Handle
4487 composition and post-read-conversion of coding system correctly.
4488 (send_process): Handle composition correctly.
4489
4490 * callproc.c (Fcall_process): Handle post-read-conversion of
4491 coding system if any.
4492
99bb2c60
KH
4493 * coding.c (decode_coding_iso2022): More strict check for handling
4494 single shifting.
082a1df2
KH
4495 (coding_restore_composition): Pay attention to the case that
4496 cmp_data is not set properly (because of invalid code in the
4497 source text).
4498 (run_pre_post_conversion_on_str): Include text properties in the
4499 resulting string.
4500 (decode_coding_string): Set members of coding correctly.
99bb2c60 4501
f4988be7
GM
45022000-08-03 Gerd Moellmann <gerd@gnu.org>
4503
4504 * s/ia64.h: New file.
4505
4506 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
4507 Use NULL instead of 0 at the end of variable argument list of
4508 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
4509 sizeof (int) < sizeof (void *).
4510
4511 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
4512 of variable argument lists of XtVaGetValues and XtVaSetValues.
4513
4514 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
4515 variable argument lists of XtVaGetValues and XtVaSetValues.
4516
ead53494
GM
45172000-08-02 Gerd Moellmann <gerd@gnu.org>
4518
4519 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
4520 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
4521
4522 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
4523 prototype.
4524
4525 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
4526 in call to Fsingle_key_description.
4527
4528 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
4529 Callers changed.
4530
45312000-08-02 Colin Walters <walters@cis.ohio-state.edu>
4532
4533 * window.c (display_buffer_reuse_frames): New variable.
4534 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
4535 frames displaying BUFFER.
4536 (syms_of_window): Define Lisp variable
4537 display-buffer-reuse-frames.
4538
10b0f752
MB
45392000-08-01 Miles Bader <miles@gnu.org>
4540
4541 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
4542 when to constrain NEW_POS (they were pretty screwed up before).
4543
16425c4a
EZ
45442000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
4545
4546 * msdos.c (run_msdos_command): Save and restore the master
4547 environment, for the case that child_setup signals an error.
4548 When mirroring slashes in DOS shell commands, don't fail when
4549 argv[2] has embedded blanks.
da288c14
EZ
4550 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
4551 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
4552 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
4553
4554 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
4555 using alloca; free it after run_msdos_command returns.
4556
27f73852
DL
45572000-07-27 Dave Love <fx@gnu.org>
4558
4559 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
4560 define.
4561 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
4562 working.
4563
4564 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
4565
c0261b5e
EZ
45662000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
4567
4568 * editfns.c (lisp_time_argument): Fix last change.
4569
b548072f
GM
45702000-07-27 Gerd Moellmann <gerd@gnu.org>
4571
3ab82477
GM
4572 * fns.c (Fdelete): Make it work on vectors and strings in addition
4573 to lists.
4574
b548072f
GM
4575 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
4576 (syms_of_fns): Initialize new variables.
4577 (sweep_weak_table): Handle weakness `key-or-value' and
4578 `key-and-value'.
4579 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
4580 weakness, with t meaning the same as `key-and-value'.
4581
91ae8751
KH
45822000-07-27 Kenichi Handa <handa@etl.go.jp>
4583
4584 * coding.h (struct coding_system): Member safe_charset deleted.
4585
4586 * coding.c (Qsafe_charsets): This variable deleted.
4587 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
4588 variables.
4589 (coding_safe_chars): New function.
4590 (CODING_SAFE_CHAR_P): New macro.
4591 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
4592 checking safe_charsets member of the coding system. Caller
4593 changed.
4594 (detect_coding_iso2022): New local variable safe_chars.
4595 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
4596 safe_charsets member of the coding system.
4597 (decode_coding_iso2022): New local variable safe_chars.
4598 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
4599 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
4600 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
4601 (ENCODE_UNSAFE_CHARACTER): New macro.
4602 (encode_coding_iso2022): New local variable safe_chars. Check
4603 unsafe chars.
4604 (setup_coding_system): Delete the code to initialize
4605 coding->safe_charses
4606 (intersection, find_safe_codings): New functions.
4607 (Ffind_coding_systems_region_internal): New function.
4608 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
4609 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
4610 variable and initialize it.
4611
4612 * fns.c (char_table_ref_and_index): New function.
4613
4614 * lisp.h (char_table_ref_and_index): Add prototype.
4615
34a7a267
SS
46162000-07-26 Sam Steingold <sds@gnu.org>
4617
4618 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 4619 (Ffloat_time): New built-in Lisp function.
34a7a267 4620
a95cb10a
GM
46212000-07-26 Gerd Moellmann <gerd@gnu.org>
4622
3353ef5a
GM
4623 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
4624 for the character code.
4625
4626 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
4627 GNU/Linux.
4628
a95cb10a
GM
4629 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
4630 if called for a popup menu.
4631 (xmenu_show): Store help string in widget values.
4632
b4a12321
DL
46332000-07-26 Dave Love <fx@gnu.org>
4634
4635 * syswait.h: Move some definitions.
4636 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
4637 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
4638 perspicuous definitions.
4639 (WTERMSIG): Fix bit pattern used.
4640
13f5ad37
KH
46412000-07-26 Kenichi Handa <handa@etl.go.jp>
4642
4643 * print.c (print_object): If vector printing is truncated, print
4644 "..." to indicate it as well as the case of list printing.
4645
070fe99c
GM
46462000-07-25 Gerd Moellmann <gerd@gnu.org>
4647
969065c3
GM
4648 * xdisp.c (next_element_from_display_vector): Improve comments.
4649
4650 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
4651 for the character code, and the rest for the face id as in 20.x.
4652 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
4653
4654 * window.c (window_display_table): Cleaned up.
4655
070fe99c
GM
4656 * syntax.c (Fforward_word): Add last arg nil in call of
4657 Fconstrain_to_field.
4658
bad77ef7
EZ
46592000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
4660
969065c3 4661 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
4662 identical but for the letter-case, don't call
4663 barf_or_query_if_file_exists.
4664
c28da489
MB
46652000-07-25 Miles Bader <miles@gnu.org>
4666
4667 * editfns.c (find_field): Honor special `boundary' fields.
4668 (Qboundary): New variables.
4669 (syms_of_editfns): Initialize Qboundary.
4670 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
4671 Use scan_buffer instead of find_before_next_newline, because it
4672 allows us to detect the boundary case where there's a newline at
4673 the search limit.
4674 * lisp.h (Fconstrain_to_field): Update external declaration.
4675
e3c31fd5
GM
46762000-07-24 Gerd Moellmann <gerd@gnu.org>
4677
4678 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
4679 if that is nil.
c28da489 4680
c66c29a2
DL
46812000-07-24 Dave Love <fx@gnu.org>
4682
4683 * s/sunos4-0.h, s/sol2.h:
4684 (LIBS_TERMCAP): Move from m/sparc.h.
4685
4686 * m/sparc.h (TERMINFO): Moved to system files (probably only
4687 relevant for sunos4 judging by its vintage).
4688 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
4689 __arch64__.
4690
fbe0a958
EZ
46912000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
4692
4693 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
4694 name to single_keymap_panes.
4695
7d88e5c9
AS
46962000-07-24 Andreas Schwab <schwab@suse.de>
4697
4698 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
4699
e024b101
GM
47002000-07-24 Gerd Moellmann <gerd@gnu.org>
4701
4702 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
4703 parameters instead of using int parameters. Expect FN to accept
4704 EMACS_INT parameters.
4705 (display_echo_area, resize_echo_area_axactly, current_message)
4706 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
4707 with new argument list.
4708 (resize_mini_window_1): New callback function.
4709 (current_message_1, truncate_message_1, set_message_1): Change
4710 parameter lists to the new format expected by
4711 with_echo_area_buffer.
4712
25c1a9ce
KH
47132000-07-24 Kenichi Handa <handa@etl.go.jp>
4714
4715 * fontset.c (fontset_ref): Remove INLINE declaration.
4716 (fontset_ref_via_base): Likewise.
4717 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
4718 to downcase.
4719
7f987ac0
EZ
47202000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
4721
4722 * msdos.c (IT_note_mouse_highlight): Process overlays in the
4723 correct order of priority. If help echo was found in an overlay,
4724 use that overlay as the object in which the help echo was found.
4725
e2db3069
MB
47262000-07-22 Miles Bader <miles@gnu.org>
4727
4728 * textprop.c (Fprevious_single_char_property_change): The initial
4729 property value should be from the position preceding POSITION, not
4730 following it.
4731
5e3203e4
EZ
47322000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
4733
4734 * coding.c (syms_of_coding): Doc fix for
4735 inhibit-iso-escape-detection.
4736
62145073
GM
47372000-07-21 Gerd Moellmann <gerd@gnu.org>
4738
c20aeb83
GM
4739 * xterm.c (note_mouse_highlight): Process overlays in the right
4740 order of priority.
34a7a267 4741
743934db
GM
4742 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
4743
4744 * xterm.c (note_mouse_highlight): If help-echo was found in an
4745 overlay, use that overlay as the object in which the help was
4746 found.
4747
d1dc7e43 4748 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 4749
62145073
GM
4750 * window.c (foreach_window): Instead of a fake variable argument
4751 list, take one USER_DATA argument.
4752 (foreach_window_1): Likewise, and call callback functions with two
4753 args, the window and USER_DATA.
4754 (struct check_window_data): New struct.
4755 (check_window_containing): Use it.
4756 (window_from_coordinates): Set up a struct check_window_data for
4757 foreach_window.
4758 (add_window_to_list, freeze_window_start): Change parameters
4759 according to new calling convention.
4760
4761 * window.h (foreach_window): Change prototype.
4762
4763 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
4764
47652000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
4766
4767 * xmenu.c (menu_help_callback): Call show_help_echo with
4768 additional arguments OBJECT and POS.
4769
11270583
KH
47702000-07-21 Kenichi Handa <handa@etl.go.jp>
4771
07b14857
KH
4772 * data.c (Faset): Allow storing any multibyte character in a
4773 string. Convert unibyte string to multibyte if necessary.
4774
11270583
KH
4775 * xfns.c (x_encode_text): New function.
4776 (x_set_name): Use x_encode_text.
4777 (x_set_title): Likewise.
4778
4779 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
4780
4781 * xterm.h (x_encode_text): Add prototype.
4782
bc75b4fd
DL
47832000-07-20 Dave Love <fx@gnu.org>
4784
4785 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
4786 xfree, not free.
4787
48c14970
EZ
47882000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
4789
4790 * msdos.c (help_echo_window): New variable.
4791 (syms_of_msdos): Initialize and staticpro it.
4792 (IT_note_mode_line_highlight): Set help_echo_window.
4793 (IT_note_mouse_highlight): Ditto.
4794 (dos_rawgetc): Store help_echo_window in the second event produced
4795 for HELP_EVENTs.
4796
4797 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
4798 Record the object that generated the help echo and the position of
4799 that object in help_echo_object and help_echo_pos. Record that
4800 some glyphs in a row are displayed in mouse-face.
4801 (IT_update_begin): Don't clear mouse highlight unless one of the
4802 enabled glyph rows is marked as being displayed in mouse-face.
4803 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
4804 and position recorded in help_echo_object and help_echo_pos to the
4805 event queue.
4806 (IT_menu_display): Accept a new argument PN: the pane number of
4807 the current menu pane. Record the pane number and the item
4808 number of the item which has associated help string.
4809 (XMenuActivate): Update the prototype for help_callback in
4810 function declaration. Call IT_menu_display with the current menu
4811 pane number as an additional argument. Call help_callback with
4812 two additional arguments: the pane number and the item number of
4813 the menu item associated with the help text.
4814 (help_echo_object, help_echo_pos): New variables.
4815 (syms_of_msdos): Initialize them and staticpro help_echo_object.
4816
4817 * msdos.h (XMenuActivate): Update prototype.
4818
4279296d
GM
48192000-07-19 Gerd Moellmann <gerd@gnu.org>
4820
47db06aa
GM
4821 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
4822 Add some more prototypes.
4823
4824 * xterm.c, xterm.h: Add some more prototypes.
4825
4826 * lisp.h (Fnext_single_char_property_change): Add prototype.
4827
4828 * dispnew.c (direct_output_for_insert): Remove confusing
4829 outer local variable mouse_face_overwritten_p.
4830 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
4831
4279296d
GM
4832 * alloc.c (allocate_string_data): Don't copy old string contents.
4833
670acd62
KH
48342000-07-19 Kenichi Handa <handa@etl.go.jp>
4835
4836 * coding.c (code_convert_region): Delete text properties before
4837 shrinking the conversion region.
4838
7cea38bc
GM
48392000-07-18 Gerd Moellmann <gerd@gnu.org>
4840
dc1cac59
GM
4841 * dispnew.c (update_text_area): Write the whole row if it
4842 has mouse-face in it.
4843
85a8aca9
GM
4844 * xfaces.c (face-alternative-font-family-alist): Remove
4845 DEFVAR_LISP; staticpro instead.
4846
34a7a267 4847 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
4848 new arguments.
4849
4850 * keyboard.c (show_help_echo): Add parameter WINDOW.
4851 (read_char): Call show_help_echo with window extracted from Lisp
4852 help event.
4853 (gen_help_event): Add parameter WINDOW.
4854
4855 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
4856
4857 * xterm.c (help_echo_window): New variable.
4858 (note_mouse_highlight, note_tool_bar_highlight): Set
4859 help_echo_window.
4860 (XTread_socket): Pass help_echo_window to gen_help_event.
4861 (syms_of_xterm): Initialize and staticpro help_echo_window.
4862
f8276b77
DL
48632000-07-18 Dave Love <fx@gnu.org>
4864
4865 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
4866 systime.h.
4867
088831a6
GM
48682000-07-18 Gerd Moellmann <gerd@gnu.org>
4869
3d6cd763
GM
4870 * alloc.c (allocate_string_data): If string had already data
4871 assigned, copy old contents to new string data.
4872
4873 * coding.c (syms_of_coding): Fix typo in spelling of variable
4874 `inhibit-iso-escape-detection'.
4875
088831a6
GM
4876 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
4877
4878 * Makefile.in: Add dependencies on dispextern.h.
4879 (alloca.o): Don't define malloc and define EMACS_FREE instead of
4880 `free'; both can conflict with system header files.
4881
bc8a8d55
KH
48822000-07-18 Kenichi Handa <handa@etl.go.jp>
4883
4884 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
4885 undefined.
4886
069f5950
DL
48872000-07-18 Dave Love <fx@gnu.org>
4888
4889 * window.c (Fwindow_list): Declare arg `window'.
4890
aa96c820
KH
48912000-07-18 Kenichi Handa <handa@etl.go.jp>
4892
4893 * coding.c (setup_coding_system): Don't override the explicitly
4894 specified designations.
4895
06be8d32
MB
48962000-07-15 Miles Bader <miles@gnu.org>
4897
4898 * editfns.c (char_property_eq, char_property_stickiness): Renamed
4899 from `text_property_eq' and `text_property_stickiness', respectively.
4900 (find_field, Fconstrain_to_field, char_property_eq)
4901 (char_property_stickiness): Changed to call char-property functions
4902 instead of text-property-only ones.
4903
4904 * textprop.c (Fnext_single_char_property_change): Made a subr (was
4905 `next_single_char_property_change'). Do more error checking, and
4906 cleanup limit behavior.
4907 (Fprevious_single_char_property_change): New function.
4908 (syms_of_textprop): Initialize new subrs.
4909
4910 * xdisp.c (display_prop_end, invisible_text_between_p):
4911 Call Fnext_single_char_property_change instead of
4912 next_single_char_property_change.
4913
3fddcdc3
JR
49142000-07-15 Jason Rumney <jasonr@gnu.org>
4915
4916 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
4917 after menu is finished with.
4918 (add_menu_item): Only consider wv->title as a menu title.
4919 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
4920
4921 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
4922 null title.
4923 (FONT_REGEXP): Remove unused macro, and its sub-components.
4924 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
4925
4926 * w32term.c (help_echo_object, help_echo_pos): New variables.
4927 (note_mode_line_highlight): Store additional information about the
4928 help-echo in help_echo_object and help_echo_pos. Check both
4929 `local-map' and `keymap' properties for changing the cursor
4930 (note_mouse_highlight): Store additional information about the
4931 help-echo in help_echo_object and help_echo_pos.
4932 (note_tool_bar_highlight): Set help_echo_object to nil and
4933 help_echo_pos to -1.
4934 (w32_read_socket): Use gen_help_event instead of filling
4935 input_events manually.
4936 (syms_of_w32term): Staticpro help_echo_object.
4937 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
4938 set, arrange for a mouse-highlight redisplay in
4939 XTframe_up_to_date.
4940 (x_clear_mouse_face): New function.
4941 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
4942 (x_update_window_begin): No need to turn off the mouse
4943 highlight here.
4944 (show_mouse_face): Set the mouse_face_p flag of glyph rows
4945 depending on whether they contain glyphs highlighted in
4946 mouse-face.
4947 (x_fill_stretch_glyph_string): Consume runs of stretch
4948 glyphs instead of a single one.
4949 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
4950 with new argument list.
4951 (x_set_glyph_string_gc): Make sure the face's GC is valid.
4952 (x_append_glyph, x_append_composite_glyph)
4953 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
4954 changes in struct glyph starting 1999-12-27. See comments for
4955 xterm.c on 2000-07-05.
4956
178c5d9c
SS
49572000-07-14 Sam Steingold <sds@gnu.org>
4958
4959 * xfaces.c (realize_x_face): Fix the last patch:
4960 check `default_face' before dereferencing.
4961
6fe533f6
DL
49622000-07-14 Dave Love <fx@gnu.org>
4963
069f5950 4964 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 4965
dd7b81cf
KH
49662000-07-14 Kenichi Handa <handa@etl.go.jp>
4967
0693904a 4968 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 4969 default_face's fontset, not using the default fontset.
0693904a 4970
dd7b81cf
KH
4971 * coding.c (inhibit_iso_escape_detection): New variable.
4972 (syms_of_coding): Make it a Lisp variable.
4973 (detect_coding_iso2022): If inhibit_iso_escape_detection is
4974 nonzero, ignore ISO2022's escape sequence.
4975
d5aa31d8
GM
49762000-07-14 Gerd Moellmann <gerd@gnu.org>
4977
e5acf0ca
GM
4978 * alloca.c (malloc) [emacs]: Define as xmalloc.
4979
bd23a692
GM
4980 * xfns.c (Fx_show_tip): If frame parameters contain a position,
4981 use that instead of the mouse position. Add parameters DX and DY.
4982
4983 * dispextern.h (Fx_show_tip): Adjust number of parameters
4984 in prototype.
4985
9662da0b
GM
4986 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
4987 if HELP is a function, call it with OBJECT and POS as parameters
4988 to get the help to display.
4989 (gen_help_event, kbd_buffer_store_help_event): New functions.
4990 (kbd_buffer_get_event): Construct the Lisp help-event differently.
4991 (read_char): Call show_help_echo with new parameters.
4992
178c5d9c 4993 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
4994 Add prototypes.
4995
4996 * xterm.c (help_echo_object, help_echo_pos): New variables.
4997 (note_mode_line_highlight): Store additional information about the
4998 help-echo in help_echo_object and help_echo_pos. Check both
4999 `local-map' and `keymap' properties for changing the cursor
5000 (note_mouse_highlight): Store additional information about the
5001 help-echo in help_echo_object and help_echo_pos.
5002 (note_tool_bar_highlight): Set help_echo_object to nil and
5003 help_echo_pos to -1.
5004 (XTread_socket): Use gen_help_event instead of filling
5005 input_events manually.
5006 (syms_of_xterm): Staticpro help_echo_object.
5007
5008 * xmenu.c (menu_highlight_callback): Use
5009 kbd_buffer_store_help_event instead of setting up and input_event
5010 structure manually.
5011
5012 * xdisp.c (eval_form): GCPRO argument sexpr.
5013 (call_function): New function.
5014 (handle_single_display_prop): Use call_function and FUNCTIONP
5015 instead of checking whether if font_height is a symbol and
5016 using eval_form.
5017
5018 * eval.c (internal_condition_case_2): New function.
5019
5020 * lisp.h (FUNCTIONP): New macro.
5021 (internal_condition_case_2, call_function): Add prototypes.
5022
d5aa31d8
GM
5023 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
5024 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
5025 Always set `arg' member of input_events.
5026 (construct_menu_click): Unused function removed.
5027
5028 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
5029
5030 * w32term.c (construct_mouse_click, construct_mouse_wheel)
5031 (construct_drag_n_drop, x_scroll_bar_handle_click)
5032 (w32_read_socket): Always set `arg' member of input_events.
5033
5034 * keyboard.c (show_help_echo): Use eval_form. Add comment.
5035
5036 * lisp.h (eval_form): Add prototype.
5037
5038 * xdisp.c (eval_form): Make it externally visible.
5039
0f1a9b23
GM
50402000-07-13 Gerd Moellmann <gerd@gnu.org>
5041
5042 * xterm.c (x_handle_tool_bar_click): Store the frame in the
5043 frame_or_window slot of TOOL_BAR_EVENT input events instead of
5044 consing. For prefix events, store the frame in the `arg' slot of
5045 the event, otherwise store the key there.
5046 (XTread_socket): Instead of consing, use the frame_or_window slot
5047 of HELP_EVENTs for the frame, and the `arg' slot for the help
5048 string.
5049
5050 * xmenu.c (menu_highlight_callback): Store help string in the
5051 `arg' member of the input event; don't cons.
5052 (menubar_selection_callback): Use the `arg' slot of input events
5053 to queue additional information, instead of consing.
5054
5055 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
5056
5057 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
5058 TOOL_BAR_EVENTs.
5059 (w32_read_socket): Adapt to changes in HELP_EVENTs.
5060
5061 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
5062 input events to queue additional information, instead of consing.
5063
5064 * keyboard.c (kbd_buffer_gcpro): Renamed from
5065 kbd_buffer_frame_or_window. Now used for all Lisp objects
5066 referenced from the input queue.
5067 (kbd_buffer_store_event): Always use structure assignment for
5068 copying input events. Record all Lisp objects referenced from
5069 events in kbd_buffer_gcpro.
5070 (kbd_buffer_get_event): Construct Lisp `help-echo' events
5071 differently from input events. Test for prefix menu_bar_events
5072 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
5073 event in kbd_buffer_gcpro to nil.
5074 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
5075 frame_or_window is equal to its arg member as prefix events.
5076 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
5077 used by an input event to nil.
5078 (init_keyboard): Use two times the size of the input queue
5079 for kbd_buffer_gcpro.
5080 (syms_of_keyboard): Likewise.
5081
5082 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
5083 USER_SIGNAL_EVENT.
5084
5085 * termhooks.h (struct input_event): Add member `arg'.
5086 (MENU_BAR_EVENT): Renamed from menu_bar_event.
5087 (USER_SIGNAL_EVENT): Renamed from user_signal.
5088
5089 * xfaces.c (ASET): Remove definition.
5090
5091 * lisp.h (AREF, ASET, ASIZE): New macros.
5092
5093 * fontset.c (AREF, ASIZE): Remove definitions.
5094
5095 * fns.c (AREF): Remove definition.
178c5d9c 5096
0f1a9b23
GM
5097 * composite.c (AREF): Remove definition.
5098
712eaef2
GM
50992000-07-12 Gerd Moellmann <gerd@gnu.org>
5100
d8ee7803
GM
5101 * dispnew.c (redraw_overlapped_rows): Add missing local.
5102 (scrolling_window): Remove debug code.
5103
712eaef2
GM
5104 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
5105 Before scrolling, turn off a mouse-highlight in the window
5106 being scrolled.
5107
5108 * xterm.c (x_update_window_end): Add parameter
5109 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
5110 redisplay in XTframe_up_to_date.
5111 (x_clear_mouse_face): New function.
5112 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
5113
5114 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
5115 current glyph row.
5116 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
5117 it when any row is written to that contains glyphs highlighted in
5118 mouse-face.
5119 (update_window): Call the window update end hook with new
5120 parameter MOUSE_FACE_OVERWRITTEN_P.
5121 (direct_output_for_insert): Give up if row contains mouse-face.
5122
5123 * dispextern.h (struct redisplay_interface): Add parameter
5124 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
5125 (clear_mouse_face): New function pointer member.
5126
02010917
SM
51272000-07-11 Stefan Monnier <monnier@cs.yale.edu>
5128
5129 * syntax.c (back_comment): Use one switch rather than a few `if's.
5130 Obey open_paren_in_column_0_is_defun_start.
5131 When reverting to the `slow' method, try to nicely handle the case
5132 of nested comments by checking that the comment-starter we found
5133 does indeed match the comment-ender.
5134 (scan_sexps_forward, scan_sexps_forward):
5135 Ignore excessive opening parenthesis rather than throwing an error.
5136
d76c03ea
GM
51372000-07-11 Gerd Moellmann <gerd@gnu.org>
5138
5139 * doc.c (Fsubstitute_command_keys): Handle case that a GC
5140 in Fwhere_is_internal or get_keymap_1 relocates string contents.
5141
5142 * dispnew.c (direct_output_forward_char): Give up if currently
5143 displaying a message instead of the minibuffer contents.
5144
5145 * xterm.c (x_update_window_begin): No need to turn off the mouse
5146 highlight here.
5147 (show_mouse_face): Set the mouse_face_p flag of glyph rows
5148 depending on whether they contain glyphs highlighted in
5149 mouse-face.
5150
5151 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
5152 compare the mouse_face_p flags of both rows.
5153
5154 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
5155
d55ead18
EZ
51562000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
5157
5158 * keyboard.c (show_help_echo): Accept additional parameter
5159 ok_to_overwrite_keystroke_echo.
5160 (read_char): Call show_help_echo with a zero
5161 ok_to_overwrite_keystroke_echo argument.
5162 * keyboard.h (show_help_echo): Update prototype of
5163 show_help_echo.
5164 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
5165 ok_to_overwrite_keystroke_echo argument.
5166 * w32menu.c (w32_menu_display_help): Call show_help_echo with
5167 non-zero ok_to_overwrite_keystroke_echo argument.
5168
df75b1a3
GM
51692000-07-10 Gerd Moellmann <gerd@gnu.org>
5170
4b92c49a
GM
5171 * xdisp.c (try_window_id): If changes are all below what is
5172 displayed in the window, and point is in the window, we still
5173 might have to find point on the display.
5174
5175 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
5176 glyphs instead of a single one.
5177 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
5178 with new argument list.
5179 (x_set_glyph_string_gc): Make sure the face's GC is valid.
5180
df75b1a3
GM
5181 * keymap.c (get_keymap_1): Add comment that this function can GC.
5182 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
5183 comment that functions can GC.
5184 (Fset_keymap_parent): GCPRO arg KEYMAP.
5185
4314cf3e
EZ
51862000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
5187
5188 * msdos.c (XMenuActivate): After exiting the menu, restore the
5189 echo area message and erase it.
5190
ab49ce15
KH
51912000-07-10 Kenichi Handa <handa@etl.go.jp>
5192
5193 * fontset.c (Ffontset_info): Make the return value more compatible
5194 with that of Emacs 20.
5195
090a072f
GM
51962000-07-07 Gerd Moellmann <gerd@gnu.org>
5197
5198 * eval.c (Fsignal): Handle case that backtrace_list is null.
5199
f92de4a6
KH
52002000-07-07 Kenichi Handa <handa@etl.go.jp>
5201
5202 * ccl.c (Fccl_execute): Typo fixed.
5203
dd8888a1
GM
52042000-07-06 Gerd Moellmann <gerd@gnu.org>
5205
e5c81191 5206 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 5207
dd8888a1
GM
5208 * window.c (Fwindow_list): Reverse list at the end.
5209 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
5210 means allow windows on OWINDOW's frame, only.
5211 (window_loop): Simplified; use Fwindow_list.
5212
5213 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
5214
485266d0
GM
52152000-07-05 Gerd Moellmann <gerd@gnu.org>
5216
5217 * xterm.c (XTread_socket): Increment handling_signal at the start,
5218 decrement it at the end.
5219
5220 * eval.c (handling_signal): New variable.
5221 (Fsignal): Abort if handling_signal is non-zero.
5222
5223 * lisp.h (handling_signal): External declaration.
178c5d9c 5224
485266d0
GM
5225 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
5226
80fcd514
KR
52272000-07-05 Ken Raeburn <raeburn@gnu.org>
5228
5229 Sound support for NetBSD through "Linux emulation" support:
5230 * config.in (HAVE_SOUNDCARD_H): Undef.
5231 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
5232 * Makefile.in (LIBSOUND): New variable.
5233 (LIBES): Include it.
5234 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
5235 <soundcard.h>.
5236 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
5237 elsewhere.
5238 (vox_open): Use DEFAULT_SOUND_DEVICE.
5239 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
5240
d5c5cddd
GM
52412000-07-05 Gerd Moellmann <gerd@gnu.org>
5242
5243 * print.c (print_error_message): If Vsignaling_function is set,
5244 show it in *Messages*.
5245
5246 * lisp.h (Vsignaling_function): External declaration.
5247
5248 * eval.c (Vsignaling_function): New variable.
5249 (Fsignal): Compute it.
5250 (syms_of_eval): Staticpro it.
5251
65171e3a
DL
52522000-07-05 Dave Love <fx@gnu.org>
5253
5254 * syswait.h: Use the autoconf recommended approach. Old code
5255 #if'd out in case we need to revert.
5256
178c5d9c 5257 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 5258
e2c46326
AI
52592000-07-05 Andrew Innes <andrewi@gnu.org>
5260
5261 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
5262 when non-NULL instead of __morecore, to take account of buffer
5263 memory. This also solves a problem with spurious memory warnings
5264 on Windows.
5265
5266 * ralloc.c: Make real_morecore non-static.
5267
5268 * eval.c (internal_condition_case): Comment out abort if
5269 interrupt_input_blocked is not zero.
5270
5271 * makefile.nt: Add support for `bootstrap' and related targets.
5272 Include minimal debug info in emacs.exe in release build.
5273 Remove all dependencies on lisp.h, and fixup some others.
5274
5275 * w32.c (init_environment): Install code from 20.7 for providing
5276 default values for environment variables, based on the
5277 executable's own location.
5278 (map_w32_filename): Handle filenames that are longer than
5279 MAX_PATH.
5280 (sys_socket): Install socket inheritance bug fix from 20.7.
5281
5282 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
5283 here via blockinput.h).
5284
a027a91b
SM
52852000-07-05 Stefan Monnier <monnier@cs.yale.edu>
5286
e4b31601
SM
5287 * w32menu.c (w32_menu_display_help):
5288 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
5289
5290 * keyboard.h (show_help_echo): Declare.
5291
5292 * keyboard.c (show_help_echo): New function, extracted from read_char.
5293 Feval its `msg' argument if it's a cons cell.
5294 (read_char): Use it.
4cf8d9d5 5295 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 5296
178c5d9c 5297 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 5298 (note_tool_bar_highlight, XTread_socket):
178c5d9c 5299 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
5300 (dos_rawgetc):
5301 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
5302 (note_tool_bar_highlight, w32_read_socket):
5303 Do not gratuitously ignore non-string `help-echo' properties.
5304
88d75730
GM
53052000-07-05 Gerd Moellmann <gerd@gnu.org>
5306
969f7e79
GM
5307 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
5308
71201b00
GM
5309 * window.c (delete_all_subwindows): Reset Vwindow_list.
5310
88d75730
GM
5311 * xterm.c (x_append_glyph, x_append_composite_glyph)
5312 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
5313 changes in struct glyph starting 1999-12-27. Some bit-fields of
5314 struct glyph were not set, which made glyphs unequal when compared
5315 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
5316 effects were the result. This also depended on the contents of
5317 memory returned by xmalloc. If flickering happens again, activate
5318 the code in clear_glyph_row that's in #if 0. If the flickering is
5319 gone with that, chances are that it is caused by something
5320 similar.
5321
5322 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 5323
88d75730
GM
5324 * dispextern.h: Add some comments.
5325
5326 * window.c (add_window_to_list): Add parameter LIST.
5327 (window_list): Order list so that, for each frame, windows are
5328 in canonical order, and so that frames appear in the list in
5329 the order given by Vframe_list.
5330 (next_window): Reverse the handling of NEXT_P.
5331
53654733
GM
53322000-07-04 Gerd Moellmann <gerd@gnu.org>
5333
87efd256
GM
5334 * window.c (Vwindow_list): New variable.
5335 (make_window, delete_window): Set Vwindow_list to nil.
5336 (check_window_containing): New function.
5337 (window_from_coordinates): Rewritten.
5338 (add_window_to_list, window_list, candidate_window_p)
5339 (decode_next_window_args, next_window): New functions.
5340 (Fnext_window, Fprevious_window): Rewritten in terms of
5341 next_window.
5342 (Fwindow_list): New function.
5343 (Fother_window): Cleaned up.
5344 (foreach_window): Add a longer "variable argument list". Let
5345 callback function return 0 to indicate that cycling over windows
5346 should stop.
5347 (foreach_window_1): Likewise.
5348 (freeze_window_start): Return int.
5349 (init_window): New function.
5350 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
5351
5352 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
5353 input_event with bzero.
5354 (main): Call init_window.
5355
53654733
GM
5356 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
5357 a menu filter.
5358
4a8c194f
KH
53592000-07-04 Kenichi Handa <handa@etl.go.jp>
5360
5361 * composite.h (make_composition_value_copy): Extern it.
5362
5363 * composite.c (make_composition_value_copy): New function.
5364
5365 * editfns.c (Fformat): While copying text properties, make each
5366 composition property value a copy.
5367
5368 * fns.c (concat): While copying text properties, make each
5369 composition property value a copy.
5370
831a6cb0
GM
53712000-07-03 Gerd Moellmann <gerd@gnu.org>
5372
2f516940
GM
5373 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
5374
178c5d9c 5375 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
5376 marked already.
5377
831a6cb0
GM
5378 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
5379 include those frames as candidates which have their focus
5380 redirected to the minibuffer frame.
5381
d9c4f922
SM
53822000-07-03 Stefan Monnier <monnier@cs.yale.edu>
5383
5384 * fns.c (Fputhash): Return `value' rather than nil.
5385
3780bc22
GM
53862000-06-30 Gerd Moellmann <gerd@gnu.org>
5387
97d176db
GM
5388 * frame.c (next_frame): Don't check focus redirection in case
5389 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
5390 unless their focus is redirected, which contradicts the
5391 specification of next-frame, and leads to infinite loops in
5392 certain situations when cycling through windows with next-window.
5393
dca9961d
KH
53942000-06-30 Kenichi Handa <handa@etl.go.jp>
5395
5396 * coding.c (code_convert_region): Even if the length of text is
5397 zero, try to convert it if coding->type is coding_type_ccl.
5398 (decode_coding_string, encode_coding_string): Likewise.
5399
d5483ab1
GM
54002000-06-28 Gerd Moellmann <gerd@gnu.org>
5401
af5c25e1 5402 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 5403 the display if windows_or_buffers_changed.
af5c25e1
GM
5404
5405 * dispnew.c (struct row_entry): New structure.
5406 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
5407 (row_table_size, old_lines, new_lines, old_lines_size)
5408 (new_lines_size, run_pool, runs_size, runs): New variables.
5409 (add_row_entry): New function.
5410 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 5411 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
5412 holding them in local variables. Use a larger hash table whose
5413 size depends on glyph matrix sizes. Don't use bzero to clear the
5414 hash table; instead, clear used slots only.
5415
5416 * fns.c (next_almost_prime): Make it externally visible.
5417
5418 * lisp.h (next_almost_prime): Add prototype.
5419
d5483ab1
GM
5420 * s/isc4-0.h (sigunblock): Define.
5421
5422 * s/sco5.h (sigunblock): Define.
5423
93e40f40
DL
54242000-06-27 Dave Love <fx@gnu.org>
5425
5426 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
5427 (moved to osf5-0.h).
5428 [!NOT_C_CODE]: Protect string.h stuff.
5429
5430 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
5431 (sys_siglist, NSIG): Definitions moved here from osf1.h.
5432
3c4b7685
GM
54332000-06-27 Gerd Moellmann <gerd@gnu.org>
5434
97d176db 5435 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
5436 below the last line from the needed window height.
5437
32cad0aa
SM
54382000-06-26 Stefan Monnier <monnier@cs.yale.edu>
5439
5440 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
5441 (Fwidget_get): Use it.
5442 (syms_of_fns): Defsubr it.
5443
2c69ced2
GM
54442000-06-26 Gerd Moellmann <gerd@gnu.org>
5445
178c5d9c 5446 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
5447 display info for XIM.
5448 (xim_open_dpy): Likewise.
5449 (xim_close_dpy): Don't free the display info's XIM.
5450
5451 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
5452
5453 * config.in (USE_XIM): New define.
5454
3fc720e4
GM
5455 * keymap.c (get_keyelt): For menu-items containing a `:filter
5456 FILTER', apply FILTER to the menu-item's definition to get the
5457 real definition to use.
5458
5459 * lisp.h (QCfilter): External declaration.
5460
2c69ced2
GM
5461 * xfns.c (Fimage_size): New function.
5462 (syms_of_xfns): Defsubr it.
5463
f978b2a2
AS
54642000-06-26 Andreas Schwab <schwab@suse.de>
5465
5466 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
5467 Fstring_as_unibyte.
5468
94cc7892
DL
54692000-06-25 Dave Love <fx@gnu.org>
5470
5471 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
5472 tgetnum.
5473
5474 * Makefile.in (blockinput.h): Depend on atimer.h.
5475 (atimer.h): Depend on systime.h.
5476
5477 * blockinput.h: Protect against multiple inclusion. Include
5478 atimer.h.
5479
5480 * atimer.h: Protect against multiple inclusion. Include
5481 systime.h.
5482
5483 * lisp.h (swap_in_global_binding): Declare.
5484
b8c24556
KR
54852000-06-24 Ken Raeburn <raeburn@gnu.org>
5486
5487 * process.c (Fopen_network_stream): Turn off atimers for duration
5488 of call to connect. (Patch from Gerd.)
5489
8cf8560b
DL
54902000-06-23 Dave Love <fx@gnu.org>
5491
511c7541
DL
5492 * ralloc.c: Maybe include unistd.h
5493
8cf8560b
DL
5494 * emacs.c (setgrp): Undefine before defining.
5495 (malloc_warning, set_time_zone_rule, index): Prototype.
5496
5497 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
5498 HAVE_STRUCT_TIMEZONE.
5499
5500 * s/osf1.h: Move string.h hack here from alpha.h and make it
5501 conditional.
5502 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
5503 _XOPEN_SOURCE.
5504 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
5505 (SOCKLEN_TYPE): Don't define.
5506
5507 * m/alpha.h: Remove string.h hack.
5508
5509 * s/osf5-0.h: New file.
5510
5511 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
5512 include time.h, done by systime.h.
5513 [__FreeBSD__]: Remove redundant includes.
5514
3fc720e4 5515 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
5516 (delete_temp_file): Return Qnil to avoid warning.
5517
5518 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
5519
5520 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
5521 HAVE_X_WINDOWS.
5522
5523 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
5524
5525 * composite.h (compose_text): Declare.
5526
5527 * xterm.c: Don't include sys/types.h unconditionally. Don't
5528 protect its inclusion with !USG (following xmenu.c).
5529
ea055732
GM
55302000-06-23 Gerd Moellmann <gerd@gnu.org>
5531
5532 * xfns.c (x_create_tip_frame): Initialize frame's colors like
5533 in x_create_frame.
5534
74b01b80
EZ
55352000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
5536
5537 * coding.c (decode_eol_post_ccl): Special handling for undecided
5538 and inconsistent EOL types.
5539
64f3a166
GM
55402000-06-22 Gerd Moellmann <gerd@gnu.org>
5541
16cf31f7
GM
5542 * xrdb.c (x_load_resources): Add default resource for scroll bar's
5543 trough color and main window's background color.
5544
178c5d9c 5545 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
5546 differently.
5547
5548 * xterm.h (Xt_app_con): External declaration.
5549
5550 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 5551
486a103d
GM
5552 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
5553
64f3a166
GM
5554 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
5555 (handle_invisible_prop): Record the start of invisible text in
5556 it->add_overlay_start.
5557 (struct overlay_entry): Add member `overlay'.
5558 (handle_overlay_change): Simplify.
5559 (next_overlay_string): After having processed overlay strings at the
5560 end of the buffer, record that fact in
5561 it->overlay_strings_at_end_processed_p.
5562 (compare_overlay_entries): If before- and after-strings come
5563 from the same overlay, let before-strings come first.
5564 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
5565 (load_overlay_strings): Take it->add_overlay_start into account
5566 when adding overlay strings.
5567
5568 * dispextern.h (struct it): Add member add_overlay_start.
5569
bb746ea6
DL
55702000-06-22 Dave Love <fx@gnu.org>
5571
5572 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
5573
5574 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
5575
a8f573f3
KH
55762000-06-22 Kenichi Handa <handa@etl.go.jp>
5577
5578 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
5579 is greater than 0.
5580
9f2bbc92
DL
55812000-06-21 Dave Love <fx@gnu.org>
5582
178c5d9c 5583 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 5584
3ee5041c
SM
55852000-06-21 Stefan Monnier <monnier@cs.yale.edu>
5586
5587 * syntax.c (back_comment): Simplify string-parity counting (with
5588 the added benefit of handling multiple string-styles as long as
5589 they are not intertwined).
5590 Jump to the slow code as soon as a comment starter is found in
5591 a "string_lossage" position. Fixes the case: " /* " /* " */.
5592
4c343001
DL
55932000-06-21 Dave Love <fx@gnu.org>
5594
5595 * Makefile.in: Use GETLOADAVG_LIBS.
5596
5597 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
5598 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
5599
e6365855
SM
56002000-06-20 Stefan Monnier <monnier@cs.yale.edu>
5601
5602 * syntax.c (describe_syntax): Recognize the `n'estable bit.
5603 (Fforward_comment, scan_lists):
5604 Check the comstyle of single-char comment-starters.
5605 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
5606 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
5607 Check the comstyle of single-char comment-starters.
5608 Clarify control-flow around the Scomment case.
e6365855 5609
5700d2cc
DL
56102000-06-20 Dave Love <fx@gnu.org>
5611
d355bd8a
SM
5612 * fns.c (make_hash_table, maybe_resize_hash_table):
5613 Cast arg of next_almost_prime.
5700d2cc 5614
178c5d9c 5615 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
5616
5617 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
5618 and unistd.h.
5619
4a27bdfb
GM
56202000-06-20 Gerd Moellmann <gerd@gnu.org>
5621
a61d762c
GM
5622 * keyboard.c (adjust_point_for_property): Check if display
5623 property should be treated as intangible by looking at its
5624 value.
5625
178c5d9c 5626 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
5627 (display_prop_intangible_p): New functions.
5628
5629 * dispextern.h (display_prop_intangible_p): Add prototype.
5630
5631 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 5632
4a27bdfb
GM
5633 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
5634 argument to sigprocmask.
5635
5636 * s/sco5.h (sigblock): Redefined to pass a pointer as second
5637 argument to sigprocmask.
5638
5639 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
5640 sigprocmask_set, and pass a pointer to it to sigprocmask.
5641
5642 * sysdep.c (sigprocmask_set): New variable.
5643
5644 * fileio.c (make_temp_name): Don't use `%s' in string passed to
5645 report_file_error.
5646
427ec082
SS
56472000-06-20 Sam Steingold <sds@gnu.org>
5648
5649 * xrdb.c: Don't declare xmalloc, xrealloc.
5650
8972fe79 56512000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
5652
5653 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
5654 (re_comp): Cast gettext return value to avoid complaints when
5655 !HAVE_LIBINTL.
5656
074b6efe
DL
56572000-06-20 Dave Love <fx@gnu.org>
5658
f85c008a
DL
5659 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
5660 HAVE_GETTIMEOFDAY.
5661
5700d2cc 5662 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 5663
d355bd8a 5664 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
5665
5666 * m/alpha.h: Don't declare xmalloc, xrealloc.
5667
0af4f205
DL
5668 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
5669
5670 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
5671
5672 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
5673
5674 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
5675 HAVE_GETWD.
5676
074b6efe
DL
5677 * keyboard.h (poll_for_input_1): Declare.
5678
5679 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
5680
5681 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
5682
5683 * doprnt.c: Don't declare xmalloc, xrealloc.
5684
5685 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
5686 (getenv, ctime, getwd): Removed.
5687 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
5688
5689 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
5690 x_set_tool_bar_lines.
5691
5692 * config.in: Add HAVE_GETWD. Move some definitions above
5693 machine/system includes.
5694
68a5e97b
KH
56952000-06-20 Kenichi Handa <handa@etl.go.jp>
5696
95417e1e
KH
5697 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
5698
68a5e97b
KH
5699 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
5700 contain information about ENCODING.
5701
5702 * fontset.c (FONTSET_ASCII): Use the first element of char table
5703 for an ASCII font, not defalt slot.
5704 (fontset_ref_via_base): If FONTSET doesn't contain information for
5705 C, try the default fontset.
5706 (make_fontset): Don't copy the default fontset.
5707 (fontset_font_pattern): Likewise.
5708 (accumulate_font_info): If ELT is nil, use the corresponding
5709 element in the default fontset.
5710
3b4fa1b2
DL
57112000-06-19 Dave Love <fx@gnu.org>
5712
943e731c
DL
5713 * syntax.c (Fparse_partial_sexp): Doc fix.
5714
5715 * regex.h: Test PROTOTYPES as well as __STDC__.
5716
3b4fa1b2
DL
5717 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
5718 errno, strerror. Put text after #endif in comment.
5719
5720 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
5721 pcc).
5722
5723 * xterm.c (x_frame_of_widget): Likewise.
5724
cdf0357b
GM
57252000-06-19 Gerd Moellmann <gerd@gnu.org>
5726
5727 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
5728 to Vfundamental_mode_abbrev_table.
5729
5730 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
5731 bogus objects are marked. This slows down GC by ~80 percent, but
5732 it might be worth trying when debugging GC-related problems.
5733 This feature requires conservative stack marking to be enabled.
5734
5735 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
5736 returns XLookupChars, reset `modifiers' to zero.
5737
998e9f8c
DL
57382000-06-19 Dave Love <fx@gnu.org>
5739
5740 * mktime.c: Unprotoized.
5741
18e21ce8 57422000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
5743
5744 * data.c (set_internal): If variable is frame-local,
5745 store the new value immediately into the frame parameter alist.
5746
140c4ac6
KR
57472000-06-19 Ken Raeburn <raeburn@gnu.org>
5748
14358466
KR
5749 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
5750 in the custom handler pointer.
5751
140c4ac6
KR
5752 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
5753 value, or checks for CHAR_META can fail when Lisp_Object is a
5754 union type.
5755 * keymap.c (get_keyelt): Likewise.
5756
10d7bf84
KH
57572000-06-19 Kenichi Handa <handa@etl.go.jp>
5758
5759 * ccl.h (struct ccl_program): New member eol_type.
5760 (struct ccl_spec): New member cr_carryover.
5761
5762 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
5763 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
5764
5765 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
5766 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
5767 (decode_eol_post_ccl): New function.
5768 (decode_coding): Don't detect EOL format here for CCL based coding
5769 systems.
5770 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
5771 decode_eol_post_ccl after running the CCL program.
5772 (code_convert_region): Don't detect EOL format here for CCL based
5773 coding systems.
5774 (decode_coding_string): Likewise.
5775
52e386c2
KR
57762000-06-18 Ken Raeburn <raeburn@gnu.org>
5777
5778 * charset.c (update_charset_table): Use XINT on "iso_final_char"
5779 when treating it as an integer.
5780
5781 * coding.h (encode_coding_string): Declare.
5782
5783 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
5784 it as an integer.
5785
5786 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
5787 "xkeymap" to avoid shadowing the "enum map_type" value that needs
5788 to be passed to get_local_map.
5789
5790 * sound.c (Fplay_sound): Don't call make_number on
5791 Frun_hook_with_args count argument.
5792
5793 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
5794 for lisp objects in X event structure data field, when lisp
5795 objects are represented with unions.
5796 (x_scroll_bar_to_input_event): Ditto.
5797
b357b9d4
KR
57982000-06-16 Ken Raeburn <raeburn@gnu.org>
5799
5800 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
5801 termination of string. Fix sense of test whether
5802 Vline_number_display_limit is an integer.
b357b9d4 5803
a871441d
GM
58042000-06-16 Gerd Moellmann <gerd@gnu.org>
5805
a9021acd
GM
5806 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
5807 only if HAVE_X_WINDOWS.
5808
6344985d
GM
5809 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
5810 of titles.
5811
427ec082 5812 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
5813 out of bounds.
5814
228b083e
EZ
58152000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
5816
5817 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
5818 of its headers.
5819
c25b53a2
KH
58202000-06-15 Kenichi Handa <handa@etl.go.jp>
5821
5822 * coding.c (decode_coding_emacs_mule): Always set src_base at the
5823 start of the while loop.
5824
a6981b11
GM
58252000-06-15 Gerd Moellmann <gerd@gnu.org>
5826
e9924e52
GM
5827 * atimer.c (alarm_signal_handler): Add forward declaration.
5828
a6981b11
GM
5829 * data.c (set_internal): Remove debug code.
5830
25fa6deb
GM
58312000-06-14 Gerd Moellmann <gerd@gnu.org>
5832
dce6b995
GM
5833 * Makefile.in (bootstrap-temacs): Add `-I../src'.
5834
9f817ea4
GM
5835 * unexec.c (toplevel) [COFF]: Include coff.h.
5836
5837 * s/lynxos.h: New file.
5838
5839 * keymap.c (Fsingle_key_description): Enclose function key and
5840 event symbol names in angle brackets.
5841
8a4e3c0c
GM
5842 * xdisp.c (setup_echo_area_for_printing): Call
5843 message_log_maybe_newline if message_buf_print is not set.
5844
5845 * print.c (printchar, strout): Don't check message_buf_print
427ec082 5846 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
5847 function does something useful even when message_buf_print is
5848 already set.
5849
25fa6deb
GM
5850 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
5851 variables.
5852 (ensure_echo_area_buffers): Initialize echo buffer's
5853 truncate lines setting to nil.
5854 (with_echo_area_buffer): Don't set the echo buffer's truncate
5855 lines setting here.
8a4e3c0c 5856 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
5857 of message_truncate_lines.
5858 (resize_mini_window): Handle case that lines are truncated.
5859 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
5860 message-truncate-lines.
5861
5862 * keyboard.c (read_char): Bind message-truncate-lines to t
5863 while displaying a help-echo.
5864
5865 * lisp.h (Qmessage_truncate_lines): External declaration.
5866
163dcff3
GM
58672000-06-13 Gerd Moellmann <gerd@gnu.org>
5868
1681ead6
GM
5869 * xdisp.c (Vline_number_display_limit): Renamed from
5870 line_number_display_limit.
5871 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
5872 Extend documentation string. Initialize
5873 Vline_number_display_limit to nil meaning no limit.
5874 (decode_mode_spec): Use Vline_number_display_limit with its new
5875 meaning.
5876
163dcff3
GM
5877 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
5878
18e21ce8 58792000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
5880
5881 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 5882
163dcff3
GM
5883 * xfns.c (x_set_frame_parameters): Comment fix.
5884
5885 * frame.c (store_frame_param): Call swap_in_global_binding if the
5886 variable's current binding was chosen based on this frame.
5887
5888 * data.c (swap_in_global_binding): New function.
5889
a704139d
EZ
58902000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
5891
5892 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
5893 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
5894
9b6610db
EZ
58952000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
5896
5897 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
5898
c68833d2
JR
58992000-06-12 Jason Rumney <jasonr@gnu.org>
5900
5901 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
5902
5903 * w32.h (EMACS_W32_H): Renamed from _NT_H_
5904
5905 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
5906
5907 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
5908
ed1056b3
GM
59092000-06-12 Gerd Moellmann <gerd@gnu.org>
5910
5911 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
5912 (syms_of_xfaces): Defsubr Sdump_colors.
5913 (x_free_colors): Don't treat b&w specially on default visual.
5914 (x_free_dpy_colors): New function.
5915 (free_face_colors): Don't check visual class; it's done
5916 in x_free_colors.
5917
5918 * xterm.c (x_frame_of_widget): New function.
5919 (x_alloc_nearest_color_for_widget): Use it.
5920 (x_copy_dpy_color): New function.
5921 (x_destroy_window): Free various colors.
5922
5050a2ef
KH
59232000-06-12 Kenichi Handa <handa@etl.go.jp>
5924
5925 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
5926
5927 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
5928
5929 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
5930
5931 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
5932
5933 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
5934
fb1b041d
DL
59352000-06-11 Dave Love <fx@gnu.org>
5936
5937 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
5938
ff96b5f4
EZ
59392000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
5940
5941 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
5942
db8eeecd
GM
59432000-06-11 Gerd Moellmann <gerd@gnu.org>
5944
ed1056b3 5945 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
5946 to `XEvent *'.
5947
49b71c5f
KH
59482000-06-10 Kenichi Handa <handa@etl.go.jp>
5949
c479bd55
KH
5950 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
5951 (regex_compile): Fix the code for handling the case of single byte
5952 char and multibyte char being mixed in a range within [...].
5953
ff6a65c2
KH
5954 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
5955 and dst_multibyte members of coding.
5956
49b71c5f
KH
5957 * charset.c (update_charset_table): Update the table
5958 bytes_by_char_head.
5959 (init_charset_once): Initialize elements of bytes_by_char_head to
5960 1 except for leading codes for private charases.
5961
5962 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
5963 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
5964 sequence.
5965
9e80b57d
KR
59662000-06-09 Ken Raeburn <raeburn@gnu.org>
5967
5968 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
5969 access the data it doesn't point to.
5970
f83fe4b4
GM
59712000-06-08 Gerd Moellmann <gerd@gnu.org>
5972
5973 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 5974 will be translated to a switch-frame event when reading the
f83fe4b4
GM
5975 event queue. This is necessary because Emacs otherwise won't
5976 perform a switch-frame to a new frame until some other event, for
5977 example a keystroke event, forces it to do so. This has various
5978 effects, one visible being that the cursor of a frame created with
5979 C-x 5 2 or switched to with a window manager key binding like
5980 A-TAB stays hollow because selected_window isn't on the newly
5981 focused frame until the switch-frame is performed.
5982
5983 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
5984 generating a switch-frame event if necessary.
5985
5986 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
5987
5988 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
5989 it's an integer.
5990
0890801b
KH
59912000-06-08 Kenichi Handa <handa@etl.go.jp>
5992
5993 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
5994 charset.
5995
173cbca8
GM
59962000-06-07 Gerd Moellmann <gerd@gnu.org>
5997
3091c2a6
GM
5998 * window.c (displayed_window_lines): Take empty lines at
5999 the bottom of a window into account.
427ec082 6000
f38952fe
GM
6001 * window.c (displayed_window_lines): New function.
6002 (Fmove_to_window_line): Use displayed_window_lines to determine
6003 the number of lines to move, instead of using the window's height.
6004
6005 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
6006 to stop reading, even if the form read sets point to a different
6007 value when evaluated.
6008
427ec082 6009 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
6010 put the cursor.
6011
6ba6c818
KH
60122000-06-07 Kenichi Handa <handa@etl.go.jp>
6013
6014 * fileio.c (e_write): Free composition data if stored in
6015 coding->cmp_data.
6016
5f1aea9a
GM
60172000-06-06 Gerd Moellmann <gerd@gnu.org>
6018
666852af
GM
6019 * xdisp.c (display_line): Set row's and iterator's
6020 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
6021 Set cursor even if row ends in the middle of a character.
6022 (dump_glyph_row): Print values of new flags.
6023 (redisplay_window) <cursor movement in unchanged window>: When
6024 point has been moved forward, and PT is at the end of the cursor
6025 row, don't place the cursor in the next row if the cursor row ends
6026 in the middle of a character or at ZV.
6027
6028 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
6029 (struct glyph_row): Add starts_in_middle_of_char_p and
6030 ends_in_middle_of_char_p.
6031 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
6032 ends_in_middle_of_char_p flag.
6033 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
6034
d13f3e2e
GM
6035 * term.c (append_glyph): Revert change of 2000-06-06.
6036
6037 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
6038 padding glyph not fitting on line as whole character not
6039 fitting on line.
6040
5f1aea9a
GM
6041 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
6042 this isn't true for images with `:ascent 100'.
6043
10cda9b0
KH
60442000-06-06 Kenichi Handa <handa@etl.go.jp>
6045
ed00559d
KH
6046 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
6047 as modified if it is originally unmodified.
6048
10cda9b0
KH
6049 * term.c (encode_terminal_code): Change the way to check if
6050 terminal coding does any conversion.
6051 (append_glyph): Set glyph->pixel_width correctly.
6052
6053 * xdisp.c (display_line): While checking line continuation, pay
6054 attention to a padding glyph.
6055
1969fae2
GM
60562000-06-05 Gerd Moellmann <gerd@gnu.org>
6057
6058 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
6059
162ccef4
DL
60602000-06-05 Dave Love <fx@gnu.org>
6061
f19f32dd
DL
6062 * xdisp.c: Include fontset.h.
6063
6064 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
6065
6066 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
6067
6068 * dispnew.c: Conditionally include term.h.
6069
6070 * coding.h: Declare code_convert_string_norecord.
6071
6072 * frame.h (struct frame): Use volatile unconditionally.
6073
6074 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
6075
6076 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
6077
6078 * systime.h: Protect against multiple inclusion.
6079 (timezone) [USG5_4]: Define as time_t.
6080
6081 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
6082 (Foptimize_char_table, make_temp_name): Declare.
6083
6084 * Makefile.in (xdisp.o): Depend on fontset.h.
6085
6086 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
6087
6088 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
6089 (Foptimize_char_table, make_temp_name): Declare.
6090
427ec082 6091 * s/irix4-0.h:
162ccef4
DL
6092 * s/irix5-0.h:
6093 * s/netbsd.h: Don't define autoconfiscated MATHERR.
6094
2082fe81
DL
60952000-06-02 Dave Love <fx@gnu.org>
6096
6097 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
6098
dcf671d2
GM
60992000-06-02 Gerd Moellmann <gerd@gnu.org>
6100
6101 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 6102 result face, set flags in that face indicating that colors may not
dcf671d2
GM
6103 be freed.
6104
6105 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
6106 glyph, use the ASCII NUL character to determine the face.
6107
d42122a3
DL
61082000-06-02 Dave Love <fx@gnu.org>
6109
6110 * sysdep.c: Conditionally include stdlib.h, unistd.h.
6111 (VFORK_RETURN_TYPE): Remove.
427ec082 6112
d42122a3
DL
6113 * config.in: Add NO_MATHERR.
6114
dd432f16
DL
61152000-06-01 Dave Love <fx@gnu.org>
6116
90aa4ea8
DL
6117 * cmds.c (internal_self_insert): Don't check
6118 Vbefore_change_function, Vafter_change_function.
6119
6120 * insdel.c (signal_before_change, signal_after_change): Likewise.
6121
6122 * buffer.c (Vbefore_change_function, Vafter_change_function):
6123 Variables and their initializations deleted.
6124
2330c9d4
DL
6125 * callint.c (Fcall_interactively): Doc fix.
6126
dd432f16
DL
6127 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
6128
bf9e8804
DL
61292000-05-31 Dave Love <fx@gnu.org>
6130
6131 * textprop.c: Revert last change -- duplicated.
6132
3694b4ab
GM
61332000-05-31 Gerd Moellmann <gerd@gnu.org>
6134
6135 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
6136 in #if 0.
6137
6138 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
6139
f14156cd
JR
61402000-05-31 Jason Rumney <jasonr@gnu.org>
6141
8119aab8
JR
6142 * search.c (Fre_search_forward, Fre_search_backward)
6143 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
6144
f14156cd
JR
6145 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
6146
4aab9be3
JR
61472000-05-30 Jason Rumney <jasonr@gnu.org>
6148
6149 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
6150 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
6151
6152 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
6153 member.
6154
6155 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
6156 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
6157 expand a nil default_filename.
6158
6159 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
6160 pointer to glyph_to_pixel_coords, not a frame.
6161
6162 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
6163 coding.h to dependencies.
6164
6165 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
6166
6167 * w32console.c (glyph_to_pixel_coords): Change first parameter to
6168 window pointer to be consistent with w32term.c and xterm.c.
6169
6170 * w32fns.c: Format and doc changes to bring closer to xfns.c.
6171 (VIETNAMESE_CHARSET): Define if not defined in system headers.
6172 (Qline_spacing, Qcenter): New variables.
6173 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
6174 (x_set_line_spacing): New function.
6175 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
6176 macros.
6177 (x_specified_cursor_type): New function.
6178 (x_set_cursor_type): Use it.
6179 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
6180 and icon strings.
6181 (validate_x_resource_name, x_get_resource_string): Measure lengths
6182 of external strings in bytes.
6183 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
6184 GetTextExtentPoint32 with NULL title.
6185 (Fx_create_frame): Initialize Qline_spacing.
6186 (w32_load_system_font): Initialize font->double_byte_p.
6187 (x_to_w32_charset): Use Vw32_charset_info_alist.
6188 (Image, busy cursor, tooltip functions): Merged changes from
6189 xfns.c. Not yet functional on Windows.
6190
6191 * w32gui.h (W32FontStruct): Add double_byte_p member.
6192
6193 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
6194 (emacs_button_translation): Use it.
6195 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
6196 in `mask' to be set.
6197
6198 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
6199 menu strings.
6200
6201 * w32term.c: Format and doc changes to bring closer to xterm.c.
6202 (w32_char_font_type): New enum.
6203 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
6204 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
6205 (w32_encode_char): New function.
6206 (x_encode_char): Removed.
6207 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
6208 x_encode_char and w32_font_is_double_byte.
6209 (x_produce_image_glyph): Use image_ascent.
6210 (x_produce_glyphs): Use new version of w32_per_char_metric and
6211 handle NULL return value. Allow extra line spacing.
6212 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
6213 (w32_get_glyph_overhangs): Remove unicode_p param. Use
6214 w32_font_type member of glyph instead.
6215 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
6216 (fast_find_position): Make sure not to consider rows not visible
6217 in the window.
6218 (w32_read_socket) [WM_MENUSELECT]: Cannot call
6219 w32_menu_display_help with input blocked, as it can abort.
6220 (x_display_and_set_cursor): Choose cursor depending
6221 on buffer-local value of cursor_type.
6222 (x_draw_bar_cursor): Add parameter WIDTH.
6223
6224 * w32term.h (CP_DEFAULT): Define.
6225 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
6226
10fc3187
GM
62272000-05-30 Gerd Moellmann <gerd@gnu.org>
6228
6229 * search.c (Fre_search_forward, Fre_search_backward)
6230 (Fposix_search_backward, Fposix_search_forward): Doc fix.
6231
d0555360
KH
62322000-05-30 Kenichi Handa <handa@etl.go.jp>
6233
6234 * coding.c (detect_coding_iso2022): Fix code for checking
6235 CODING_CATEGORY_MASK_ISO_8_2.
6236
f1ad044f
SM
62372000-05-29 Stefan Monnier <monnier@cs.yale.edu>
6238
6239 * regex.c (PREFETCH_NOLIMIT): New function.
6240 (re_match_2_internal): Use it and adjust the end_match_2 logic.
6241
84ec3b4b
GM
62422000-05-29 Gerd Moellmann <gerd@gnu.org>
6243
66254a13
GM
6244 * syntax.c (find_defun_start): Move test for
6245 open_paren_in_column_0_is_defun_start outside of the loop.
6246
49e70dec
GM
6247 * xdisp.c (redisplay_window): Really switch buffers when
6248 displaying mode lines, and temporarily set selected_frame to the
6249 frame of the window that's redisplayed.
6250
84ec3b4b
GM
6251 * xfaces.c (free_realized_faces): Block/unblock input.
6252 (free_realized_multibyte_face): Ditto.
6253
869a3a14
DL
62542000-05-29 Dave Love <fx@gnu.org>
6255
6256 * textprop.c (Qkeymap): New variable.
6257 (syms_of_textprop): Intern it.
6258
6259 * keymap.c: Include intervals.h.
6260 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
6261
6262 * Makefile.in (keymap.o): Depend on intervals.h.
6263
6264 * keyboard.c (menu_bar_items, tool_bar_items)
6265 (Fexecute_extended_command): Deal with `keymap' property.
6266 (read_key_sequence): Track map from `keymap' property as well as
6267 `local_map'.
6268
6269 * intervals.c (get_local_map): Extra arg to allow looking for
6270 `keymap' too.
6271
6272 * intervals.h (map_property): New enum.
6273 (get_local_map): Extra arg using it.
6274 (Qkeymap): Declare.
6275
84ec3b4b 6276 * lisp.h (get_local_map): Don't declare here.
869a3a14 6277
89d0c844
KH
62782000-05-29 Kenichi Handa <handa@etl.go.jp>
6279
6280 * Makefile.in (callproc.o): Depend on composite.h.
6281
6282 * callproc.c: Include composite.h.
6283 (Fcall_process): Handle composition correctly.
6284
6285 * coding.h (coding_allocate_composition_data): Extern it.
6286 (coding_restore_composition): Likewise.
6287
6288 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
6289 yet allocated, finish decoding with result
6290 CODING_FINISH_INSUFFICIENT_CMP.
6291 (coding_allocate_composition_data): Make it non-static.
6292 (coding_restore_composition): Likewise.
6293
797a084a
EZ
62942000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
6295
6296 * charset.c (syms_of_charset): Revert last change.
6297
cf872af5
EZ
62982000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
6299
6300 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
6301 charsets as unibyte, with 1-column screen width. Sent by Kenichi
6302 Handa.
cf872af5 6303
5b1ae051
EZ
63042000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
6305
6306 * charset.c (syms_of_charset): Set width of character sets
6307 eight-bit-control and eight-bit-graphic to 1 column.
6308
34ec9ebe
GM
63092000-05-26 Gerd Moellmann <gerd@gnu.org>
6310
6311 * config.in (HAVE_SPEED_T): New define.
6312
6313 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
6314 `extern speed_t'.
6315
dd854dc2
DL
63162000-05-26 Dave Love <fx@gnu.org>
6317
6318 * coding.c (shrink_decoding_region): Initialize eol_conversion.
6319
6320 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
6321 (Fsubr_arity): New function.
6322 (syms_of_data): Install them.
6323
ba9f8f95
KH
63242000-05-26 Kenichi Handa <handa@etl.go.jp>
6325
0f3e0672
KH
6326 * charset.c (init_charset_once): Set the table bytes_by_char_head
6327 correctly.
6328
cebefb44
KH
6329 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
6330 the default fontset to what Emacs uses by default.
0f3e0672
KH
6331 (check_registry_encoding): This function deleted.
6332 (Fset_fontset_font): Remove the adhoc condition for the default
6333 fontset. Allow cons in FONTNAME.
cebefb44 6334
0f3e0672
KH
6335 * fns.c (map_char_table): Ignore char-table entries for
6336 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 6337
7a18af49
KR
63382000-05-25 Ken Raeburn <raeburn@gnu.org>
6339
6340 * emacs.c (main): Initialize keyboard syms before initializing
6341 window code, so face names are available.
6342
d2af47df
SM
63432000-05-25 Stefan Monnier <monnier@cs.yale.edu>
6344
6345 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
6346 of an anchor at the beginning of a shy-group.
6347
fc6a6a4e
GM
63482000-05-25 Gerd Moellmann <gerd@gnu.org>
6349
6350 * xdisp.c (handle_invisible_prop): Don't try to skip over
6351 invisible text if end of text is already reached.
6352
005f0d35
DL
63532000-05-25 Dave Love <fx@gnu.org>
6354
02513cdd
DL
6355 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
6356
005f0d35
DL
6357 * coding.c (encode_eol): Add null statement after label.
6358
89f6ca4e
EZ
63592000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
6360
6361 * w16select.c (Fw16_set_clipboard_data): Fix the change from
6362 2000-05-20.
6363
a4e1759e
KH
63642000-05-25 Kenichi Handa <handa@etl.go.jp>
6365
6366 * ccl.c (ccl_driver): Fix previous change.
6367
eacfd7fe
KH
63682000-05-25 Kenichi Handa <handa@etl.go.jp>
6369
46ab33a9
KH
6370 * coding.c (run_pre_post_conversion_on_str): Set point to the
6371 beginning of buffer before calling coding->post_read_conversion.
6372 (decode_coding_string): Give correct args to
6373 run_pre_post_conversion_on_str.
6374 (encode_coding_string): Likewise.
6375
eacfd7fe
KH
6376 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
6377 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
6378 eight-bit-graphic correctly.
6379
f8569325
DL
63802000-05-24 Kenichi HANDA <handa@etl.go.jp>
6381
6382 * fileio.c (Finsert_file_contents): Even if a file is not found,
6383 execute codes for setting up coding system. Call
6384 after-insert-file-functions unconditionally.
6385
04545643
GM
63862000-05-24 Gerd Moellmann <gerd@gnu.org>
6387
6388 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
6389 BSD_PGRPS are not defined.
6390
747d90ea
KH
63912000-05-24 Kenichi Handa <handa@etl.go.jp>
6392
6393 * charset.c (update_charset_table): Accept nil in LONG_NAME and
6394 DESCRIPTION.
6395 (syms_of_charset): Avoid building same strings.
6396
716e3b88
GM
63972000-05-23 Gerd Moellmann <gerd@gnu.org>
6398
6399 * lread.c (Fload): Add a comment about the meaning of
6400 Vuser_init_file being t.
6401
6402 * puresize.h (BASE_PURESIZE): Increase to 675000.
6403
6404 * s/gnu-linux.h (setpgrp): Don't define it here because this
6405 prevents compilation on GNU/Linux systems with glib 2.2.
6406
6407 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
6408 as setpgid.
427ec082 6409
9aeb39fa
EZ
64102000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
6411
6412 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
6413 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
6414 version.
6415 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
6416
29ced61b
KH
64172000-05-23 Kenichi Handa <handa@etl.go.jp>
6418
0574a2ed
KH
6419 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
6420 unconditionally.
6421
3d80f24d
KH
6422 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
6423
6424 * term.c (encode_terminal_code): Set coding->src_multibyte
6425 properly.
6426
29ced61b
KH
6427 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
6428
d7e00792
KH
64292000-05-22 Kenichi Handa <handa@etl.go.jp>
6430
c9d80d38
KH
6431 * keyboard.c (read_char): Allow character codes 128..255 to be
6432 handled by input-method-function.
6433
d7e00792
KH
6434 * insdel.c (adjust_markers_for_replace): Fix previous change.
6435 (adjust_after_replace): If PREV_TEXT is nil, call
6436 adjust_markers_for_insert, not adjust_markers_for_replace.
6437
087121cc 64382000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 6439
087121cc
GM
6440 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
6441 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
6442 [HAVE_GRANDPT]: Define.
6443 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
6444
6445 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
6446 like SYSV_PTYS.
6447
6448 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
6449
6450 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
6451
c9671f81
KH
64522000-05-20 Kenichi Handa <handa@etl.go.jp>
6453
6454 The following changes are to handle 8-bit characters in a
6455 multibyte buffer/string without facing with byte combining
6456 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
6457 eight-bit-graphic (for 0xA0..0xFF) are introduced.
6458
6459 * Makefile.in (fns.o): Depend on charset.h.
6460
6461 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
6462 convert it to unibyte.
6463 (make_string): Use parse_str_as_multibyte, not chars_in_text.
6464
6465 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
6466 apparent char boundary.
6467 (Fset_buffer_multibyte): Convert 8-bit characters in the range
6468 0x80..0x9F to/from multibyte form.
6469
6470 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
6471 to unibyte.
6472
6473 * callproc.c (Fcall_process): Always encode an argument string if
6474 it is multibyte. Setup src_multibyte and dst_multibyte members of
6475 process_coding properly.
ce75fd23 6476
c9671f81
KH
6477 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
6478 SPLIT_NON_ASCII_CHAR.
6479
6480 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
6481 as is.
6482 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
6483
6484 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
6485 variables.
6486 (SPLIT_CHARACTER_SEQ): This macro deleted.
6487 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
6488 valid.
6489 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
6490 and eight-bit-graphic.
6491 (char_to_string): Likewise. Signal an error for too large
6492 character code.
6493 (char_printable_p): Return 0 for 8-bit characters.
6494 (update_charset_table): Update iso_charset_table only when a final
6495 character is non-negative.
6496 (find_charset_in_text): Renamed from find_charset_in_str.
6497 Arguments and return value changed. Callers changed.
6498 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
6499 be -1 if CHARSET is used only internally.
6500 (Fmake_char_internal): Handle new charsets; eight-bit-control and
6501 eight-bit-graphic.
6502 (Fcharset_after): Simplified.
6503 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
6504 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
6505 (multibyte_chars_in_text): Simplified by assuming there's no
6506 invalid multibyte sequence.
6507 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
6508 str_as_unibyte): New functions.
6509 (Fstring): Simpified by assuming that byte combining never
6510 happens.
6511 (init_charset_once): Initialization for
6512 LEADING_CODE_8_BIT_CONTROL.
6513 (syms_of_charset): Intern and staticpro Qeight_bit_control and
6514 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
6515 eight-bit-control and eight-bit-graphic.
6516
6517 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
6518 CHARSET_8_BIT_GRAPHIC): New macros.
6519 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
6520 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
6521 (CHARSET_REVERSE_CHARSET): Likewise.
6522 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
6523 eight-bit-graphic.
6524 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
6525 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
6526 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
6527 encounter an invalid multibyte sequence.
6528 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
6529 sequence is always valid.
6530 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
6531 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
6532 macros.
6533 (CHAR_STRING): For 8-bit characters, call char_to_string.
6534 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
6535 multibyte sequence is always valid.
6536 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
6537 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
6538 str_as_unibyte): Extern them.
6539 (BCOPY_SHORT): Fix a bug.
6540 (CHAR_LEN): This macro deleted. Callers changed to use
6541 CHAR_BYTES.
6542 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
6543 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
6544 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
6545
bd4bde7f 6546 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
6547 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
6548 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
6549 EMIT_BYTES): New macros.
6550 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
6551 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
6552 macros deleted.
6553 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
6554 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
6555 check the validity of multibyte sequence.
6556 (decode_coding_emacs_mule): New function.
6557 (encode_coding_emacs_mule): New macro.
6558 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
6559 the source.
6560 (DECODE_ISO_CHARACTER): Just return a character code.
6561 (DECODE_COMPOSITION_START): Set coding->result instead of result.
6562 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
6563 EMIT_CHAR to produced decoded characters. Exit the loop only by
6564 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
6565 block here.
6566 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
6567 only position codes for an invalid character.
6568 (encode_designation_at_bol): Return new destination pointer. 5th
6569 arg DSTP is changed to DST.
6570 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
6571 from the source by ONE_MORE_CHAR. Don't handle the case of last
6572 block here.
6573 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
6574 macros deleted.
6575 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
6576 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
6577 TWO_MORE_BYTES to fetch a byte from the source.
6578 (encode_eol): Pay attention to coding->src_multibyte.
6579 (detect_coding, detect_eol): Preserve members src_multibyte and
6580 dst_multibyte.
6581 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
6582 (encoding_buffer_size): Set magnification to 3 for all coding
6583 systems that require encoding.
6584 (ccl_coding_driver): For decoding, be sure that the result is
6585 valid multibyte sequence.
6586 (decode_coding): Initialize coding->errors and coding->result.
6587 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
6588 and raw-text, always call decode_eol. Handle the case of last
6589 block here. If not coding->dst_multibyte, convert the resulting
6590 sequence to unibyte.
6591 (encode_coding): Initialize coding->errors and coding->result.
6592 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
6593 and raw-text, always call encode_eol. Handle the case of last
6594 block here.
6595 (shrink_decoding_region, shrink_encoding_region): Detect cases
6596 that we can't skip data more rigidly.
6597 (code_convert_region): Setup src_multibyte and dst_multibyte
6598 members of coding. For decoding, if the buffer is multibyte,
6599 convert the source sequence to unibyte in advance. For encoding,
6600 if the buffer is multibyte, convert the resulting sequence to
6601 multibyte afterward.
6602 (run_pre_post_conversion_on_str): New function.
6603 (code_convert_string): Deleted and divided into the following two.
6604 (decode_coding_string, encode_coding_string): New functions.
6605 (code_convert_string1, code_convert_string_norecord): Call one of
6606 above.
6607 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
6608 MAKE_NON_ASCII_CHAR.
6609 (Fset_terminal_coding_system_internal,
6610 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
6611 and dst_multibyte members.
6612 (init_coding_once): Initialize iso_code_class with new enum
6613 ISO_control_0 and ISO_control_1.
6614
6615 * coding.h (enum iso_code_class_type): Member ISO_control_code is
6616 devided into ISO_control_0 and ISO_control_1.
6617 (struct coding_system): New members src_multibyte, dst_multibyte,
6618 errors, and result. Delete member fake_multibyte.
6619 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
6620 nonzero.
6621 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
6622 nonzero.
6623
6624 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
6625 (Faset): Likewise.
6626
6627 * editfns.c (Fformat): Be sure to convert 8-bit characters to
6628 multibyte form.
6629 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
6630 combining occurs.
6631 (Ftranspose_region): Delete codes for handling byte combining.
6632
6633 * fileio.c (Finsert_file_contents): Setup src_multibyte and
6634 dst_multibyte members of coding. On handling REPLACE on unibyte
6635 buffer, convert the result of decode_coding to unibyte. On
6636 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 6637 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
6638 multibyteness of the source (buffer or string).
6639
6640 * fns.c (concat): Handle 8-bit characters correctly.
6641 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
6642 unibyte in the result.
6643 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
6644 valid multibyte form in the result.
6645 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
6646 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
6647 return -1, signal an error.
6648 (base64_encode_1): New arg MULTIBYTE. Get each character by
6649 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
6650 character is found, return -1.
6651 (Fbase64_decode_region): Delete codes for handling byte-combining.
6652 Treat each decoded byte as a unibyte character.
6653 (Fbase64_decode_string): Return unibyte string.
6654 (Fcompare_strings, concat, string_byte_to_char): Use
6655 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
6656 FETCH_STRING_CHAR_ADVANCE.
6657 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
6658 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
6659
6660 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
6661 SPLIT_NON_ASCII_CHAR.
6662 (fontset_ref_via_base, fontset_set): Likewise
6663
6664 * insdel.c (adjust_markers_for_record_delete): Deleted.
6665 (adjust_markers_for_insert): Argument changed. Caller changed.
6666 (adjust_markers_for_replace): Likewise.
6667 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
6668 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
6669 (copy_text): Delete unused local varialbe c_save. For converting
6670 to multibyte, be sure to make all 8-bit characters in valid
6671 multibyte form.
6672 (count_size_as_multibyte): Handle 8-bit characters correctly.
6673 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
6674 adjust_after_replace, replace_range, del_range_2)
6675 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
6676 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
6677 adjust_after_replace, replace_range, del_range_2) Delete codes for
6678 handling byte combining.
6679 (adjust_before_replace): Deleted.
427ec082 6680
c9671f81
KH
6681 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
6682 SPLIT_NON_ASCII_CHAR.
6683 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
6684 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
6685 unconditionally.
6686 (Fkey_description): Likewise.
6687
6688 * lread.c (read1): On reading multibyte string, be sure to make
6689 all 8-bit chararacters in valid multibyte form.
6690 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
6691
6692 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
6693 unconditionally.
6694
6695 * process.c (Fstart_process): GCPRO current_dir before calling
6696 Ffind_operation_coding_system. Encode arguments here.
6697 (create_process): Don't encode arguments here. Setup
6698 src_multibyte and dst_multibyte members of struct coding.
6699 (read_process_output): Setup src_multibyte and dst_multibyte
6700 members of struct coding. If the output is to multibyte buffer,
6701 always decode the output of the process. Adjust the
6702 representation of 8-bit characters to the multibyteness of the
6703 output.
6704 (send_process): Setup coding->src_multibyte according to the
6705 multibyteness of the source.
6706
6707 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
6708 unconditionally.
6709 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
6710 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
6711
6712 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
6713 CHAR_LEN.
6714
6715 * w16select.c (Fw16_set_clipboard_data): Setup members
6716 src_multibyte and dst_multibyte of coding. Adjusted for the
6717 change for find_charset_in_str.
6718 (Fw16_get_clipboard_data): Likewise.
6719
6720 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
6721 dst_multibyte of coding.
6722 (x_to_w32_font): Likewise.
6723
6724 * w32select.c (Fw32_set_clipboard_data): Setup members
6725 src_multibyte and dst_multibyte of coding. Adjusted for the
6726 change for find_charset_in_str.
6727 (Fw32_get_clipboard_data): Likewise.
6728
6729 * xdisp.c (get_next_display_element): Handle 8-bit characters
6730 correctly.
6731 (next_element_from_display_vector): Use CHAR_BYTES instead of
6732 CHAR_LEN.
6733 (disp_char_vector): Use SPLIT_CHAR instead of
6734 SPLIT_NON_ASCII_CHAR.
6735
6736 * xselect.c (selection_data_to_lisp_data): Setup members
6737 src_multibyte and dst_multibyte of coding. Adjusted for the
6738 change for find_charset_in_str.
6739 (lisp_data_to_selection_data): Likewise.
6740
5f64c9e0
GM
67412000-05-19 Gerd Moellmann <gerd@gnu.org>
6742
2b63d473
GM
6743 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
6744 buffer.
6745
5f64c9e0
GM
6746 * dispextern.h (Vimage_types): Add extern declaration.
6747
6748 * xdisp.c (Vimage_types): Moved here from xfns.c.
6749 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
6750
6751 * xfns.c (Vimages_types): Moved to xdisp.c.
6752 (syms_of_xfns): Move `image-types' to xdisp.c.
6753
6754 * w32fns.c (Vimage_types): Removed.
6755 (syms_of_w32fns): Remove `image-types'.
6756
813086ea
KH
67572000-05-18 Kenichi Handa <handa@etl.go.jp>
6758
6759 * fns.c (map_char_table): Pay attention to character number of
6760 charset. Check the validity of charset at the first level. For
6761 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
6762 the default value.
6763
6764 * fontset.c: Include "buffer.h".
6765 (fs_load_font): If the face has fontset, record the face ID in
6766 that fontset.
6767 (Finternal_char_font): New function.
6768 (accumulate_font_info): New function.
6769 (Ffontset_info): Rewritten for the new fontset implementation.
6770 (syms_of_fontset): Register Vdefault_fontset in the first element
6771 of Vfontset_table. Include Vdefault_fontset in
6772 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
6773 function.
6774
bdaebbf0
DL
67752000-05-16 Dave Love <fx@gnu.org>
6776
6777 * m/iris5d.h: Deleted -- unused.
6778
cb613bb8
GM
67792000-05-16 Gerd Moellmann <gerd@gnu.org>
6780
b15f3b77
GM
6781 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
6782 `invalid' instead of `illegal'.
6783
6784 * indent.c (Fmove_to_column): When ending within a tab, insert
6785 spaces first so that markers at the end of the tab get adjusted.
6786
835c1b36
GM
6787 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
6788 buffer list that wasn't selected in that frame.
6789
cb613bb8
GM
6790 * filelock.c (get_boot_time): To obtain an 8 char file name, which
6791 is needed on mescaline, use a 2 char prefix, and call
6792 make_temp_name with second arg non-zero.
6793
6794 * fileio.c (make_temp_name): New function, extracted from
6795 Fmake_temp_name.
6796 (Fmake_temp_name): Use it.
6797
f685bea9
EZ
67982000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
6799
6800 * window.c (coordinates_in_window): Subtract 1 when computing
6801 right_x.
6802
a1b8d58b
GM
68032000-05-15 Gerd Moellmann <gerd@gnu.org>
6804
6805 * Makefile.in (lisp): Add env.elc.
6806
6807 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
6808
a265079f
GM
68092000-05-12 Gerd Moellmann <gerd@gnu.org>
6810
6811 * search.c (Freplace_match): Handle case of `\N' in the
6812 replacement when there's no group N.
6813
da4496b6
GM
68142000-05-11 Gerd Moellmann <gerd@gnu.org>
6815
0ace421a
GM
6816 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
6817 of the message to message_dolog.
6818
1172eb8d
GM
6819 * keyboard.c (read_char): Don't clear current message for help
6820 events; let the code handling help events handle this. Change
6821 code detecting help events that should be ignored.
6822
da4496b6
GM
6823 * xdisp.c (handle_single_display_prop): Don't try to set PT if
6824 we're interating over a string.
6825
0623e40f
DL
68262000-05-09 Dave Love <fx@gnu.org>
6827
6828 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
6829 that offset before writing. Move gcpro region past call of
6830 Ffile_regular_p.
6831
bae2503b
DL
68322000-05-04 Dave Love <fx@gnu.org>
6833
6834 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
6835
ec82fb2f
GM
68362000-05-04 Gerd Moellmann <gerd@gnu.org>
6837
6838 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
6839 of inserted characters when BUF equals the current buffer, and PT
6840 is in front of or equal to FROM.
6841
cbf18892
GM
68422000-05-03 Gerd Moellmann <gerd@gnu.org>
6843
4ff40dd0
GM
6844 * xdisp.c (handle_single_display_prop): If display property value
6845 is invalid, or something not supported on the frame, restore
6846 iterator's position to what it was initially. Make sure to return
6847 0 for invalid and unsupported property values.
6848
cbf18892
GM
6849 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
6850 that x_per_char_metric returns null.
6851
1b0672c3
GM
68522000-05-02 Gerd Moellmann <gerd@gnu.org>
6853
576da55d
GM
6854 * xterm.h (struct face): Add forward declaration.
6855 (struct image): Ditto.
6856 (image_ascent): Add prototype.
6857
6858 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
6859 (x_draw_image_relief, x_draw_image_foreground_1): Call function
6860 image_ascent instead of using IMAGE_ASCENT.
6861
6862 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
6863 (IMAGE_ASCENT): Removed.
6864
6865 * xfns.c (Qcenter): New variable.
6866 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
6867 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
6868 (image_ascent): New function.
6869 (lookup_image): Recognize `:ascent center'.
6870 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
6871 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
6872 (xbm_load): Don't set image's ascent here.
6873 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
6874 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
6875 check ascent values here.
6876 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
6877 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
6878 (syms_of_xfns): Initialize Qcenter.
6879
1b0672c3
GM
6880 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
6881 to the limits, increase the limits.
6882
0d7811ed
KH
68832000-05-01 Kenichi Handa <handa@etl.go.jp>
6884
6885 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
6886 Check Vfont_encoding_alist against the full name of the opened
6887 font.
6888
a943a5ca
GM
68892000-04-28 Gerd Moellmann <gerd@gnu.org>
6890
6891 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
6892 taller than the window.
6893
5dba1e29
KH
68942000-04-28 Kenichi Handa <handa@etl.go.jp>
6895
6896 * xfaces.c (realize_x_face): Fix the argument of the second
6897 xassert. BASE_FACE may not be a face for ASCII.
6898
353964e3
GM
68992000-04-27 Gerd Moellmann <gerd@gnu.org>
6900
c76e04a8
GM
6901 * print.c (print_object): Treat print-length < 0 as nil.
6902
6903 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
6904
6905 * s/freebsd.h (TERMCAP_OBJ): Removed.
6906 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
6907
6908 * lread.c (read1): Don't treat period followed by certain
6909 characters as symbol start.
6910
6911 * xfns.c (slurp_file): New function.
6912 (xbm_image_p): Handle case of in-memory XBM files.
6913 (xbm_scan): Rewritten to work on memory buffers instead of files.
6914 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
6915 Work on memory buffers instead of files. If DATA is null test
6916 if buffer looks like an in-memory XBM file.
6917 (xbm_load_image): Renamed from xbm_load_image_file. Work on
6918 memory buffers instead of files.
6919 (xbm_file_p): New function.
6920 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
6921
353964e3
GM
6922 * lread.c (end_of_file_error): New function.
6923 (read1): Call it instead of signaling `end-of-file' directly.
6924
427ec082 6925 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
6926 with Fprinc instead of Fprin1.
6927
24d744ac
KR
69282000-04-26 Ken Raeburn <raeburn@gnu.org>
6929
6930 * window.c (freeze_window_start): Check that minibuffer scroll
6931 window isn't nil before extracting the window structure pointer
6932 from it.
6933
6934 * undo.c (record_delete): If we hit the end of the undo list, stop
6935 picking elements apart.
6936
7464346d
GM
69372000-04-26 Gerd Moellmann <gerd@gnu.org>
6938
6939 * xdisp.c (display_line): If lines are continued, restore
6940 iterator's ascent/descent information to the values before the
6941 first glyph not fitting on the line.
6942
612839b6
GM
69432000-04-25 Gerd Moellmann <gerd@gnu.org>
6944
6945 * xdisp.c (try_window_id) <all changes above window start>: Adjust
6946 positions in glyph matrix. Don't compute new window end
6947 positions.
6948
6949 * dispnew.c (increment_matrix_positions): Renamed from
6950 increment_glyph_matrix_buffer_positions.
6951 (increment_row_positions): Renamed from
6952 increment_glyph_row_buffer_positions.
6953
6954 * dispextern.h: Change names of renamed functions from dispnew.c
6955 in prototypes.
6956
cc181e95
GM
69572000-04-24 Gerd Moellmann <gerd@gnu.org>
6958
abfcc168
GM
6959 * fileio.c (Fdo_auto_save): Create directories for auto-save
6960 list file if necessary.
6961
cc181e95
GM
6962 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
6963 from buffer or frame.
6964 (automatic_hscrolling_p): New variable.
6965 (hscroll_windows): Scroll windows horizontally only if automatic
6966 hscrolling is allowed.
6967 (syms_of_xdisp): New variable `automatic-hscrolling'.
6968
6969 * frame.h (struct frame): Add member extra_line_spacing.
6970
6971 * xfns.c (x_set_line_spacing): New function.
6972 (Fx_create_frame): Set line spacing from resources.
6973 (Qline_spacing): New variable.
6974 (syms_of_xfns): Initialize Qline_spacing.
427ec082 6975
cc181e95
GM
6976 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
6977
6978 * buffer.c (init_buffer_once): Handle extra_line_spacing.
6979 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 6980 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
6981 extra_line_spacing from default value.
6982 (init_buffer_once): Initialize default value of extra_line_spacing.
6983
6984 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
6985 and extra3.
6986
6987 * xterm.c (x_produce_glyphs): Remove reference to struct it's
6988 prompt_width. Add extra line spacing.
6989
6990 * term.c (produce_glyphs): Remove reference to struct it's
6991 prompt_width.
6992
6993 * dispextern.h (struct it): Remove member prompt_width, add
6994 extra_line_spacing.
6995
58827478
GM
69962000-04-22 Gerd Moellmann <gerd@gnu.org>
6997
6998 * dispnew.c (update_frame_line): When writing a whole line, make
6999 sure cursor is in the right row afterwards, otherwise a use of
7000 capability `ch' in cmgoto might leave the cursor in the row below.
7001
25a87f42
GM
70022000-04-21 Gerd Moellmann <gerd@gnu.org>
7003
7004 * lisp.h (struct Lisp_Buffer_Cons): Remove.
7005
7006 * keyboard.c (timer_check): Fix typo in comment.
7007
54edf5c2
KH
70082000-04-21 Kenichi Handa <handa@etl.go.jp>
7009
7010 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
7011 name change: ch -> character.
7012
3a64eef5
GM
70132000-04-20 Gerd Moellmann <gerd@gnu.org>
7014
7015 * keyboard.c (echo_message_buffer): New variable.
7016 (echo_now): Set echo_message_buffer to the echo area buffer used
7017 to display the echo.
7018 (cancel_echoing): Reset echo_message_buffer to nil.
7019 (read_char): Code rewritten that handles canceling an echo or
7020 echoing a dash, respectively.
7021
7022 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
7023 directory doesn't exist.
7024
6142fdcb
DL
70252000-04-19 Dave Love <fx@gnu.org>
7026
7027 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
7028 (concat): Don't allow numeric args.
7029 (Fconcat): Doc change.
6142fdcb 7030
ac6b5352
SM
70312000-04-19 Stefan Monnier <monnier@cs.yale.edu>
7032
7033 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
7034 instead define end_match(1|2) more carefully.
7035 Use GET_CHAR_BEFORE_2 for `begline'.
7036
cb9215e4
GM
70372000-04-19 Gerd Moellmann <gerd@gnu.org>
7038
5e3dac3f
GM
7039 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
7040 on 64-bit systems where NULL is defined as `0'.
7041
7042 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
7043 the `variable argument list' to make it work on Alpha.
7044
cb9215e4
GM
7045 * m/alpha.h (_LP64) [!_LP64]: Define.
7046 (ORDINARY_LINK): Define for NetBSD.
7047
7048 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 7049
f532dca0
DL
70502000-04-19 Dave Love <fx@gnu.org>
7051
c750667e
DL
7052 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
7053 change.
7054
7055 * Makefile.in (LIBS): Don't use.
7056 (GETLOADAVG_OBJ): Define again.
7057 (otherobj): Add GETLOADAVG_OBJ.
7058
f532dca0
DL
7059 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
7060
1c7e22fd
GM
70612000-04-18 Gerd Moellmann <gerd@gnu.org>
7062
f6d3257b
GM
7063 * lread.c (read_filtered_event): Cancel and start busy cursor.
7064
427ec082 7065 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
7066 that the per-character metrics may be null.
7067
e10f64e7
GM
70682000-04-17 Gerd Moellmann <gerd@gnu.org>
7069
0daee095
GM
7070 * buffer.c (clone_per_buffer_values): New function.
7071 (Fmake_indirect_buffer): Add optional argument CLONE. Call
7072 clone_per_buffer_values if CLONE is not nil.
7073
e10f64e7
GM
7074 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7075
38687d43
DL
70762000-04-16 Dave Love <fx@gnu.org>
7077
7078 * Makefile.in: Remove obsolete localcpp stuff.
7079 (GETLOADAVG_OBJ): Don't define.
7080 (obj): Move LIBOBJS...
7081 (otherobj): ... to here.
7082 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
7083 whitespace-only lines after the continuation (Irix).
7084
c21c7262
GM
70852000-04-14 Gerd Moellmann <gerd@gnu.org>
7086
7087 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
7088
7089 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
7090
314767c0
DL
70912000-04-14 Dave Love <fx@gnu.org>
7092
7093 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
7094 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
7095 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
7096 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
7097 NLIST_STRUCT.
7098
7099 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
7100 autoconfiscated HAVE_GETLOADAVG.
7101
7102 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
7103 BROKEN_MKTIME.
7104
a2522dca
GM
71052000-04-14 Gerd Moellmann <gerd@gnu.org>
7106
7107 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
7108 (fill_in_lock_file_name): Avoid existing files that aren't
7109 links.
7110
33744b5d
DL
71112000-04-14 Dave Love <fx@gnu.org>
7112
c21c7262 7113 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
7114 (INTERVAL_SRC): Convert to make variable.
7115 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
7116 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
7117 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
7118 add LIBOBJS.
7119 (SOME_MACHINE_OBJECTS): Remove interval stuff.
7120 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
7121 (shortlisp): Add facemenu, float-sup, frame.
7122 (SOME_MACHINE_LISP): Remove them from here.
7123 (LIBES): Change unused LDLIBS to autoconf LIBS.
7124
7125 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
7126
9d3d5916
KH
71272000-04-14 Kenichi Handa <handa@etl.go.jp>
7128
7129 * composite.c (update_compositions): If FROM and TO are not in a
7130 valid range, do nothing.
7131
198e3c7a
GM
71322000-04-13 Gerd Moellmann <gerd@gnu.org>
7133
7134 * tparam.c (tparam1): Abort when encountering an unknown
7135 `%'-specifier.
7136
7137 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
7138 terminfo.o.
7139
7140 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
7141 as TERMCAP_OBJ.
7142
055a28c9
EZ
71432000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
7144
7145 * fileio.c (a_write): Remove redundant semi-colons.
7146 (e_write): Return -1 if failed to write all the data.
7147 This fixes the changes made at 1999-12-15.
7148
f5c75033
DL
71492000-04-12 Dave Love <fx@gnu.org>
7150
7151 * fns.c (mapcar1): Test for null vals to support mapc.
7152 (Fmapc): New function.
7153
0c3cfc51
EZ
71542000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
7155
7156 * msdos.c (NUM_MOUSE_BUTTONS): Define.
7157 (IT_frame_up_to_date): Support the buffer local value of
7158 cursor-type, if defined.
7159
33465a31
DL
71602000-04-10 Dave Love <fx@gnu.org>
7161
7162 * editfns.c (preceding-char, following-char): Doc fix.
7163
6ed56568
KR
71642000-04-10 Ken Raeburn <raeburn@gnu.org>
7165
7166 * Makefile.in (temacs): Revert 2000-03-12 change.
7167
7cf80d4e
JR
71682000-04-10 Jason Rumney <jasonr@gnu.org>
7169
7170 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
7171
34f3f342
GM
71722000-04-10 Gerd Moellmann <gerd@gnu.org>
7173
1a1b1895
GM
7174 * xdisp.c (setup_echo_area_for_printing): Choose an echo
7175 area buffer, if it's not set up yet.
7176
34f3f342
GM
7177 * indent.c (compute_motion): Set immediate_quit.
7178
be0dbdab
GM
71792000-04-09 Gerd Moellmann <gerd@gnu.org>
7180
c45be9ac
GM
7181 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
7182 variable.
7183 (realize_tty_face): Suppress boldness if colors are the inverse of
7184 the default colors, and tty_suppress_bold_inverse_default_colors_p
7185 is set.
7186 (Ftty_suppress_bold_inverse_default_colors): New function.
7187 (syms_of_xfaces): Defsubr it.
7188
be0dbdab
GM
7189 * buffer.c (Frestore_buffer_modified_p): New function.
7190 (syms_of_buffer): Defsubr it.
7191
e8413c3b
KR
71922000-04-08 Ken Raeburn <raeburn@gnu.org>
7193
87f67317
KR
7194 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
7195 charset id (int) argument, not a charset (Lisp_Object).
7196
e8413c3b
KR
7197 * coding.h (code_convert_string): Declare.
7198 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
7199 object, as the fourth argument to code_convert_string.
7200
7201 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
7202 value.
7203 (Fset_fontset_font): Use EQ to compare lisp objects.
7204
7c752c80
KR
72052000-04-05 Ken Raeburn <raeburn@gnu.org>
7206
c0333abc
KR
7207 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
7208 a pointer that looks like a lisp object.
7209 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
7210 zero, instead see whether it's an integer object, since they can't
7211 have intervals.
7212 (GET_INTERVAL_OBJECT): Simply assign to the destination.
7213
7c752c80
KR
7214 * dispnew.c (allocate_matrices_for_frame_redisplay,
7215 direct_output_forward_char): Use X(U)INT and make_number as needed
7216 to convert between (unsigned) int values and lisp integers.
7217 * keyboard.c (read_key_sequence): Likewise.
7218 * lread.c (substitute_object_recurse): Likewise.
7219 * fns.c (concat, hash_lookup, hash_remove): Likewise.
7220 * minibuf.c (do_completion, Fminibuffer_complete_word,
7221 Fminibuffer_completion_help): Likewise.
7222 * term.c (produce_special_glyphs): Likewise.
7223
7224 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
7225 * print.c (print_preprocess, print_object): Likewise.
7226
7227 * search.c (compile_pattern): Use NILP when checking for nil.
7228
74e49b38
KR
7229 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
7230 __OPTIMIZE__]: Provide a GNU C macro version that handles
7231 lisp-object unions.
7232 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
7233 field, to better cope with ENABLE_CHECKING and calls that modify a
7234 Lisp_Object using its old value.
7235
685e5ed2
GM
72362000-04-04 Gerd Moellmann <gerd@gnu.org>
7237
c407c570
GM
7238 * window.c (compare_window_configurations): Signal an error
7239 if parameters C1 or C2 aren't window configurations.
7240
685e5ed2
GM
7241 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
7242 AFTER_POTENTIAL_GC calls around calls to functions that can
7243 signal an error and thus invoke the debugger.
7244
587a49ab
GM
72452000-04-03 Gerd Moellmann <gerd@gnu.org>
7246
62f20204
GM
7247 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
7248 an error if decoding fails.
7249
587a49ab
GM
7250 * keyboard.c (lispy_mouse_names): Variable removed.
7251 (Vlispy_mouse_stem): New variable.
7252 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
7253 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
7254 for any mouse button number. Increase size of mouse_syms and
7255 button_down_location as needed. Call modify_event_symbol with
7256 different arguments.
7257 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
7258 Call modify_event_symbol with different arguments.
7259 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
7260 for any button number. Call modify_event_symbol with different
7261 arguments.
7262 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
7263 Accept a string for NAME_ALIST_OR_STEM.
7264
7265 * lisp.h (larger_vector): Add prototype.
7266
7267 * fns.c (larger_vector): Make externally visible.
7268
7269 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
7270
2d1675e4
SM
72712000-04-02 Stefan Monnier <monnier@cs.yale.edu>
7272
7273 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
7274 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
7275 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
7276 we are between str1 and str2.
7277 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
7278 (PATFETCH): Use `TRANSLATE'.
7279 (PATFETCH_RAW): Fetch multibyte char if applicable.
7280 (PATUNFETCH): Remove.
7281 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
7282 When writing a char, write it directly into the pattern buffer rather
7283 than going needlessly through a temp char-array.
7284 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
7285 multibyte magic and remove the useless `#ifdef emacs'.
7286 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
7287 buffer.
7288
7289 * regex.h (struct re_pattern_buffer): Make field `multibyte'
7290 conditional on `emacs'.
7291
7292 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
7293
cc2d8c6b
KR
72942000-04-01 Ken Raeburn <raeburn@gnu.org>
7295
7296 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
7297 non-union-type versions of XMARK and friends here, because XMARK
7298 and friends won't work on an integer field if NO_UNION_TYPE is not
7299 defined.
7300 (make_number): Define as a function if it's not defined as a
7301 macro.
7302
09654086
KR
7303 * composite.c (run_composite_function): Use NILP when checking for
7304 nil.
7305 (syms_of_composite): Delete local var NARGS, pass an int as first
7306 argument to Fmake_hash_table.
7307
2387b382
KR
7308 * editfns.c (text_property_stickiness): Use NILP to test
7309 Lisp_Object boolean value.
7310 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
7311 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
7312 problems reading from and changing the same lisp value in an
7313 XSETSTRING call.
7314
27660e89
GM
73152000-04-01 Gerd Moellmann <gerd@gnu.org>
7316
7317 * term.c (TN_no_color_video): New variable.
7318 (term_init): Intitialize TN_no_color_video.
7319 (enum no_color_bit): New enumeration.
7320 (MAY_USE_WITH_COLORS_P): New macro.
7321 (turn_on_face): Use it to determine if attributes may be used
7322 combined with colors.
7323
3578db3c
KR
73242000-04-01 Ken Raeburn <raeburn@gnu.org>
7325
7326 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
7327 with int lvalues via casts; instead, just yield lisp object
7328 lvalues.
7329 (enlarge_window): Variable sizep now points to Lisp_Object. Use
7330 proper accessor macros.
7331 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
7332 (grow_mini_window): Fix typo getting int value of root->height.
7333
6fc556fd
KR
7334 * xdisp.c (compute_string_pos): Fix order of arguments to
7335 string_pos_nchars_ahead.
7336 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
7337 count arg to variable-arg routines like Frun_hook_with_args and
7338 Fformat.
587a49ab
GM
7339 (back_to_previous_visible_line_start)
7340 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
7341 fixed-arg routines like Fget_char_property and Fmake_string.
7342 (reconsider_clip_changes): Use XINT when comparing integer lisp
7343 objects, or passing them as int arguments.
587a49ab
GM
7344 (mark_window_display_accurate, insert_left_trunc_glyphs)
7345 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
7346 storing or passing integer values as lisp objects.
7347 (set_cursor_from_row, highlight_trailing_whitespace): Use
7348 INTEGERP, not implicit test against zero, for glyph object.
7349 (try_window_id): Don't use make_number when we want an int value.
7350
7351 * xfaces.c (xlfd_symbolic_value): Make last argument a
7352 Lisp_Object, to be consistent with callers.
7353 (Fbitmap_spec_p): Use XINT to get numeric value of height.
7354 (lface_hash): Apply XFASTINT to lisp values before folding in.
7355
7356 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
7357 fill in window width and height. Pass an int, not a lisp object,
7358 as first arg to Finsert.
7359
6e7b2457
GM
73602000-04-01 Gerd Moellmann <gerd@gnu.org>
7361
610d841e
GM
7362 * xfaces.c (realize_basic_faces): Block input while realizing
7363 the faces.
7364
6e7b2457
GM
7365 * keyboard.c (lispy_mouse_names): Add additional mouse names.
7366
7367 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
7368
aa110c0c
GM
73692000-03-31 Gerd Moellmann <gerd@gnu.org>
7370
7371 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 7372 or ASCII, handle case that per-char metric is null.
aa110c0c 7373
8801a864
KR
73742000-03-30 Ken Raeburn <raeburn@gnu.org>
7375
c6129d7e
KR
7376 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
7377
8801a864
KR
7378 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
7379 XSUBR, XBUFFER): Verify correct object type before returning
7380 pointer, using eassert.
7381 * frame.h (XFRAME): Likewise.
7382
7383 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
7384 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
7385 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
7386 type.
7387 * data.c (set_internal): Likewise.
7388 * dispextern.h (WINDOW_WANTS_MODELINE_P,
7389 WINDOW_WANTS_HEADER_LINE_P): Likewise.
7390 * fileio.c (auto_save_1): Likewise.
7391 * insdel.c (check_markers): Likewise.
7392 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
7393 * undo.c (record_insert): Likewise.
7394 * vmsproc.c (child_sig): Likewise.
7395 * window.c (unshow_buffer, window_loop): Likewise.
7396 * xterm.c (x_erase_phys_cursor): Likewise.
7397
8e7af858
GM
73982000-03-30 Gerd Moellmann <gerd@gnu.org>
7399
7400 * xfns.c (free_image_cache): Free the cache structure itself
7401 last, after all its members have been freed.
7402
7403 * lisp.h (xstrdup): Add prototype.
7404
7405 * alloc.c (xstrdup): Moved here from xfaces.c.
7406 (allocating_for_lisp): Variable removed.
7407 (lisp_malloc): Block input around the calls to malloc and
7408 mem_insert.
7409
7410 * xfaces.c (realize_tty_face): Use find_symbol_value instead
7411 of Fsymbol_value.
7412 (xstrdup): Moved to alloc.c.
7413
e0b8c689
KR
74142000-03-29 Ken Raeburn <raeburn@gnu.org>
7415
b96f9fb7
KR
7416 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
7417
7418 * emacs.c (main): Fix sense of no-loadup test.
7419
e0b8c689
KR
7420 * config.in (ENABLE_CHECKING): Undef.
7421
7422 * lisp.h (struct interval): Replace "parent" field with a union of
7423 interval pointer and Lisp_Object; add new bitfield to use as
7424 discriminant. Change other flag fields to bitfields.
7425 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
7426 is defined and the supplied test fails, print a message and
7427 abort.
7428 (eassert): New macro. Use CHECK to provide an assert-like
7429 facility.
7430
7431 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
7432 pointers; abort if the value looks like a lisp object.
7433 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
7434 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
7435 Modify for new interval parent definition.
7436
7437 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
7438 UNMARK_BALANCE_INTERVALS): Update references that need an
7439 addressable lisp object in the interval structure.
7440 (die): New function.
7441 (suppress_checking): New variable.
7442
7443 * intervals.c (interval_start_pos): Just return 0 if there's no
7444 parent object.
7445
f83c5440
GM
74462000-03-29 Gerd Moellmann <gerd@gnu.org>
7447
7448 * lread.c (read1): Accept `.' (period) as symbol start like in CL
7449 and earlier Emacs versions.
7450
7451 * keyboard.c (Ftop_level): Cancel busy-cursor.
7452
7453 * eval.c (call_debugger): Cancel busy-cursor.
7454
fdce64ff
KH
74552000-03-29 Kenichi Handa <handa@etl.go.jp>
7456
7457 * search.c (Freplace_match): Adjust multibyteness of the current
7458 buffer and NEWTEXT. Free allocated memory before signaling an
7459 error.
7460
f6a3f532
SM
74612000-03-28 Stefan Monnier <monnier@cs.yale.edu>
7462
7463 * regex.c (analyse_first): New function obtained by ripping out most
7464 of re_compile_fastmap and generalizing it a little bit so that it
7465 can also just return whether a given (sub)pattern can match the empty
7466 string or not.
7467 (regex_compile): Use `analyse_first' to decide whether the loop-check
7468 needs to be done or not for *, +, *? and +? (the loop check is costly
7469 for non-greedy repetition).
7470 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
7471
e9b309ac
DL
74722000-03-28 Dave Love <fx@gnu.org>
7473
bb15bd9a
DL
7474 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
7475 alpha.
7476
e9b309ac
DL
7477 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
7478
ed0767d8
SM
74792000-03-27 Stefan Monnier <monnier@cs.yale.edu>
7480
7481 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
7482 an expression.
7483 (enum re_opcode_t): Update description of succeed_n.
7484 (PATFETCH): Always define.
7485 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
7486 operators, char classes, shy-groups and intervals).
7487 Optimize special cases of intervals so as to only use succeed_n and
7488 jump_n when really needed.
7489 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
7490 that we don't have to handle the special cases any more.
7491 Simplify on_failure_jump handling as well.
7492
e11e7e46
JR
74932000-03-28 Jason Rumney <jasonr@gnu.org>
7494
7495 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
7496
88faab89
GM
74972000-03-27 Gerd Moellmann <gerd@gnu.org>
7498
182ff242
GM
7499 * s/freebsd.h (GC_SETJMP_WORKS): Define.
7500
7501 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 7502
182ff242
GM
7503 * alloc.c (mark_maybe_object): New function.
7504 (mark_memory): Use it.
7505 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
7506 (setjmp_tested_p, longjmp_done): New variables.
7507 (test_setjmp): New function.
7508 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
7509 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
7510
c1005d06
GM
7511 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
7512 to DEC_TEXT_POS and INC_TEXT_POS.
7513
7514 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
7515 with parameter MULTIBYTE_P.
7516
427ec082 7517 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
7518 MULTIBYTE_P.
7519
7439e5b9 7520 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
7521 buffers because it looks for multibyte character byte sequences
7522 which don't exist in unibyte text.
7439e5b9 7523
d9c545da
GM
7524 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
7525
11fd416e 7526 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
7527 [DEBUG_X_COLORS]: New functions.
7528 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
7529
7530 * xfns.c (x_set_cursor_color): Get color reference counts right.
7531
7532 * xterm.c (x_copy_color): New function.
7533 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
7534
7535 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
7536 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
7537 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
7538 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
7539 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
7540 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
7541 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
7542 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
7543 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
7544 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
7545
11fd416e
GM
7546 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
7547 names for handling per-buffer variables.
d9c545da
GM
7548
7549 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
7550 instead of MAX_BUFFER_LOCAL_VARS.
7551 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
7552
7553 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
7554
88faab89
GM
7555 * xfns.c (x_specified_cursor_type): New function.
7556 (x_set_cursor_type): Use it.
7557
7558 * buffer.h (struct buffer): Add cursor_type.
7559
d80f42b7
SM
75602000-03-26 Stefan Monnier <monnier@cs.yale.edu>
7561
7562 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 7563 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 7564 opcode.
d80f42b7
SM
7565 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
7566 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
7567 executing it as well as when popping it off the stack to find infinite
7568 loops in non-greedy repetition operators.
7569
89e80928
GM
75702000-03-26 Gerd Moellmann <gerd@gnu.org>
7571
3d4ff2dd
GM
7572 * doc.c (Qfunction_documentation): New variable.
7573 (syms_of_doc): Initialize Qfunction_documentation.
7574 (Fdocumentation): If FUNCTION is a symbol with non-nil
7575 `function-documentation' property, return a documentation derived
7576 from that.
7577
bd96bd79
GM
7578 * buffer.c (syms_of_buffer): Add default-cursor-type.
7579 (init_buffer_once): Don't let cursor_type have a local value
7580 in every buffer.
7581
19d1bc27
GM
7582 * xterm.c (x_display_and_set_cursor): Choose cursor depending
7583 on buffer-local value of cursor_type.
7584 (x_draw_bar_cursor): Add parameter WIDTH.
7585
7586 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
7587 (init_buffer_once): Set default cursor_type value to t.
7588 Mark cursor_type as local everywhere.
7589 (syms_of_buffer): New per-buffer variable cursor-type.
7590
89e80928
GM
7591 * buffer.h (struct buffer): Remove member local_var_flags,
7592 add local_flags.
7593 (MAX_BUFFER_LOCAL_VARS): New macro.
7594 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
7595 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
7596 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
7597 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
7598
7599 * print.c (print_object): Use new macros for per-buffer
7600 variables.
7601
7602 * category.c (Fset_category_table): Use new macros for per-buffer
7603 variables.
7604
7605 * buffer.c (buffer_permanent_local_flags): Make a char array.
7606 (max_buffer_local_idx): New variable.
7607 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
7608 for new handling of per-buffer variables.
7609 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
7610 (init_buffer_once): Initialize per-buffer vars differently.
7611 Set max_buffer_local_idx.
7612
7613 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
7614 variables.
7615
7616 * lread.c (defvar_per_buffer): Use new macros for per-buffer
7617 variables.
7618
7619 * data.c (do_symval_forwarding, store_symval_forwarding)
7620 (find_symbol_value, set_internal, default_value, Fset_default)
7621 (Fkill_local_variable, Flocal_variable_p): Use new macros for
7622 per-buffer variables.
7623
7624 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
7625
9a0dd3dc
GM
76262000-03-24 Gerd Moellmann <gerd@gnu.org>
7627
b68c375f
GM
7628 * xterm.c (x_term_init): Unblock input around call1 of
7629 Qvendor_specific_keysyms.
7630
9a0dd3dc
GM
7631 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
7632 (find_defun_start): Consider an open parenthesis in column 0
7633 a defun start only if open_paren_in_column_0_is_defun_start is set.
7634 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
7635
7973e637
SM
76362000-03-24 Stefan Monnier <monnier@cs.yale.edu>
7637
7638 * eval.c (Fautoload): Add entry in load-history (if after dump).
7639 * lread.c (load-history): Update docstring.
7640
39210e90
GM
76412000-03-24 Gerd Moellmann <gerd@gnu.org>
7642
7643 * indent.c (Fvertical_motion): Always use the current buffer.
7644 Temporarily change the window's buffer, if necessary.
7645
72db3ab5
GM
76462000-03-23 Gerd Moellmann <gerd@gnu.org>
7647
7648 * xterm.c (fast_find_position): Make sure not to consider rows
7649 not visible in the window.
7650
990b2375
SM
76512000-03-22 Stefan Monnier <monnier@cs.yale.edu>
7652
7653 * regex.c (enum syntaxcode): Provide default for non-Emacs.
7654 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
7655
ff4df011
JR
76562000-03-22 Jason Rumney <jasonr@gnu.org>
7657
7658 * w32menu.c (single_submenu): Set help string to NULL if none.
7659 (w32_menu_show): Set help string correctly.
7660 (add-menu-item): Set help string in MIIM_DATA for menu item.
7661 Load SetMenuItemInfoA explicitly.
7662 (w32_menu_display_help): New function.
427ec082 7663
ff4df011
JR
7664 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
7665 (QCdata): Moved to xdisp.c.
7666
7667 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
7668 (Vw32_charset_to_codepage_alist): Removed.
7669 (Vw32_charset_info_alist): New variable.
7670 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
7671 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
7672 greek, hebrew, thai, johab, mac, unicode]): New symbols.
7673 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
7674 with TODO comment.
7675 (w32_codepage_for_font): Use Vw32_charset_info_alist.
7676 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
7677 Define Vw32_charset_info_alist and w32_charset symbols.
7678
76792000-03-22 Jason Rumney <jasonr@gnu.org>
7680
7681 * makefile.nt (w32bdf.obj): Update dependencies.
7682
7683 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
7684
7685 * w32fns.c: Include fontset.h after dispextern.h.
7686 (Fx_create_frame): Do not create fontset.
7687 (w32_load_system_font): Doc fix.
7688 (Fx_close_connection): Free full_name if it is not shared.
7689
7690 * w32term.c: Include fontset.h after dispextern.h.
7691 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
7692 updated.
7693 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
7694 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
7695 (w32_font_is_double_byte): New function, needs body.
7696 (x_append_glyph): Set glyph->glyph_not_available_p.
7697 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
7698 it->charset. If it->multibyte_p is zero and it->c is a multibyte
7699 character, convert it to a unibyte character.
7700 (struct glyph_string): Delete member `charset'.
7701 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
7702 calculating it is found.
7703 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
7704 the case that per char metric is not available correctly.
7705 (x_fill_glyph_string): Handle the case that the specific glyph is
7706 not available correctly.
7707 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
7708 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
7709 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
7710 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
7711 fontset. Don't call FS_LOAD_FONT.
7712
439d5cb4
KR
77132000-03-22 Ken Raeburn <raeburn@gnu.org>
7714
7715 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
7716 (INT_LISPLIKE): New macro.
7717 (NULL_INTERVAL_P): Use it.
7718 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
7719 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
7720 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
7721
7722 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
7723 explicit references to "parent" field of struct interval and
7724 associated unclean type conversions.
7725 * intervals.c (create_root_interval, root_interval, rotate_right,
7726 rotate_left, balance_possible_root_interval, split_interval_right,
7727 split_interval_left, interval_start_pos, find_interval,
7728 next_interval, previous_interval, update_interval,
7729 adjust_intervals_for_insertion, delete_node, delete_interval,
7730 adjust_intervals_for_deletion, merge_interval_right,
7731 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
7732 copy_intervals_to_string): Likewise.
7733 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
7734 Likewise.
7735 * syntax.c (update_syntax_table): Likewise.
7736
7737 * intervals.c (reproduce_tree_obj): New function, like
7738 reproduce_tree but takes a Lisp_Object for the parent. Declare
7739 with prototype.
7740 (graft_intervals_into_buffer): Use it when appropriate.
7741 (reproduce_tree): Declare with prototype.
7742 (balance_possible_root_interval): Check that the parent is a lisp
7743 object before trying to examine its type.
7744
ee1c5b21
GM
77452000-03-22 Gerd Moellmann <gerd@gnu.org>
7746
7747 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
7748 as strings only if both are known to be strings.
7749
7750 * s/openbsd.h (LIBS_TERMCAP): Undef.
7751
1fb352e0
SM
77522000-03-21 Stefan Monnier <monnier@cs.yale.edu>
7753
7754 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
7755 definitions for non-Emacs compilation.
7756 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
7757 outside of `#ifdef emacs'.
7758 (print_partial_compiled_pattern): Update.
7759 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
7760 (re_compile_fastmap): Merge handling of charset and charset_not (for
7761 emacs and non-emacs compilation as well).
7762 Similarly for (not)categoryspec and (not)syntaxspec.
7763 Don't use the fastmap when reaching `anychar' since the added
7764 complexity is not justified.
7765 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
7766 and (not)syntaxspec. Merge (not)categoryspec.
7767
fdaa1f77
KH
77682000-03-22 Kenichi Handa <handa@etl.go.jp>
7769
ff1a0d8e
KH
7770 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
7771 FACE_FOR_CHAR): Define them differently for the configuration of
7772 --without-x.
fdaa1f77 7773
d152fb46
DL
77742000-03-21 Dave Love <fx@gnu.org>
7775
7776 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
7777 doc string.
7778
d2cafc8c
GM
77792000-03-21 Gerd Moellmann <gerd@gnu.org>
7780
7781 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
7782 (lface_fully_specified_p): Don't check contents of
7783 LFACE_FONT_INDEX because that attribute is optional.
7784 (realize_x_face): Remove now unwarranted xassert.
7785
9111d4b5
KH
77862000-03-21 Kenichi HANDA <handa@etl.go.jp>
7787
7788 The following changes are to make font selection based on
7789 characters, not charset. In addition, they recover fontset
7790 facilities while utilizing the new font selection mechanism.
7791
6c4bfdc0
KH
7792 * Makefile.in (fontset.o): Depend on dispextern.h.
7793
7794 * alloc.c (mark_face_cache): Don't mark face->registry.
7795
9111d4b5
KH
7796 * dispextern.h (struct glyph): New member glyph_not_available_p.
7797 Use 22 bits for face_id.
7798 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
7799 (struct face): Delete member registry, new member ascii_face.
7800 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
7801 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
7802 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
7803 (struct it): Delete member charset, new member
7804 glyph_not_available_p.
7805
7806 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
7807 (struct fontset_info, struct fontset_data): Structs removed.
7808 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
7809 Vglobale_fontset_alist, font_idx_temp): Externs removed.
7810 (fs_load_font, fs_query_fontset): Adjusted for new argument.
7811 (fs_free_face_fontset, fontset_font_pattern,
7812 face_suitable_for_char_p, face_for_char,
7813 make_fontset_for_ascii_face): Extern them.
7814 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
7815 (FS_LOAD_FACE_FONT): New macro.
7816
7817 * fontset.c: All codes rewritten or adjusted for the change of
7818 fontset implementation. Now fontset is represented by char table.
7819 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
7820 removed.
7821 (my_strcasecmp): Function removed.
7822 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
7823 variables.
7824 (AREF, ASIZE): New macros.
7825 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
7826 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
7827 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
7828 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
7829 fontset_id_valid_p, font_family_registry, fontset_name,
7830 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
7831 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
7832 New functions.
7833 (fs_load_font): New arg FACE. Caller changed.
7834 (fs_query_fontset): Argument changed. Caller changed.
7835 (Fquery_fontset): call fs_query_fontset.
7836 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
7837 Functions removed.
7838 (clear_fontset_elements, check_registry_encoding,
7839 check_fontset_name): New functions.
7840 (syms_of_fontset): Set char-table-extra-slots property of fontset
7841 to 3. Staticpro and initialize Vfontset_table and
7842 Vdefault_fontset. Defsubr fontset_font and fontset_list.
7843
7844 * frame.h (struct frame): Member `fontset_data' removed.
7845 (FRAME_FONTSET_DATA): Macro removed.
7846
7847 * frame.c (make_frame): Don't allocate f->fontset_data.
7848 (Fdelete_frame): Don't free f->fontset_data.
7849
6c4bfdc0
KH
7850 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
7851
9111d4b5
KH
7852 * xdisp.c (charset_at_position): Function removed.
7853 (init_iterator): Don't set member charset of struct `it'.
7854 (handle_face_prop, reseat_to_string, set_iterator_to_next,
7855 next_element_from_display_vector, insert_left_trunc_glyphs):
7856 Likewise.
7857 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
7858 FACE_FOR_CHARSET.
7859 (get_next_display_element, append_space,
7860 extend_face_to_end_of_line): Likewise.
7861
7862 * xfaces.c (Qx_charset_registry, Vface_default_registry):
7863 Variables removed.
7864 (clear_font_table, frame_update_line_height, load_face_font):
7865 Adjusted for the change of fontset implementation.
7866 (load_face_fontset_font): Function removed.
7867 (pixel_point_size): New function.
7868 (font_list): Argument type changed. Caller changed.
7869 (LFACE_FONT): New macro.
7870 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
7871 (set_lface_from_font_name): Type of arg FONTNAME is changed to
7872 Lisp_Object. Determine the font name by actually loading a font
7873 by the specified pattern. Set LFACE_FONT (lface) to the specified
7874 pattern. Even if a font is not found, don't try alternatives.
7875 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
7876 (set_font_frame_param): If `font' is specified in lface, use it.
7877 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
7878 (lface_same_font_attributes_p): Likewise.
7879 (make_realized_face): Arguent changed. Caller changed. Set
7880 face->ascii_face to face itself.
7881 (free_realized_face): Free face->fontset if face is for ASCII.
7882 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
7883 deduce_unibyte_registry, x_charset_registry): Functions removed.
7884 (free_realized_multibyte_face): New function.
7885 (lookup_face, lookup_named_face, lookup_derived_face): Argument
7886 changed. Caller changed.
7887 (try_font_list): Argument type changed.
7888 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
7889 (choose_face_font): Argument changed. Handle fontset properly.
7890 (choose_face_fontset_font): Function removed.
7891 (realize_default_face, realize_named_face): Don't remove the
7892 former face here.
7893 (realize_face): Argument changed. Caller changed. Remove face
7894 with the arg former_face_id in advance. Load font for the new
7895 face.
7896 (realize_x_face): Argument changed. Caller changed. For a
7897 multibyte character, share fontset with base_face. For a single
7898 byte character, make a new realized fontset. Don't load a font
7899 here.
7900 (realize_tty_face): Argument changed. Caller changed.
7901 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
7902 (face_at_buffer_position): Don't check multibyte_p for returning
7903 DEFAULT_FACE_ID.
7904 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
7905 FACE_SUITABLE_FOR_CHARSET_P.
7906 (syms_of_xfaces): Remove code for Qx_charset_registry and
7907 Vface_default_registry.
7908
6c4bfdc0
KH
7909 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
7910 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
7911 (x_per_char_metric): Don't try FONT->default_char. Even if
7912 pcm->width is zero, glyph bits may exist.
7913 (x_encode_char): Always initialize char2b->byte1.
7914 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
7915 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
7916 changed.
7917 (x_append_glyph): Set glyph->glyph_not_available_p.
7918 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
7919 it->charset. Handle the case that per char metric is not
7920 available. If it->multibyte_p is zero and it->c is a multibyte
7921 character, convert it to a unibyte character.
7922 (struct glyph_string): Delete member `charset'.
7923 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
7924 the case that per char metric is not available correctly.
7925 (x_fill_glyph_string): Handle the case that the specific glyph is
7926 not available correctly.
7927 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
7928 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
7929 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
7930 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
7931 fontset. Don't call FS_LOAD_FONT.
7932
7933 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
7934 (x_create_tip_frame): Likewise.
7935 (Fx_close_connection): Free full_name of font_info.
7936
7937 * fns.c (optimize_sub_char_table): New function.
7938 (Foptimize_char_table): New function.
7939 (syms_of_fns): Defsubr Soptimize_char_table.
7940
b33dd3b0
GM
79412000-03-20 Gerd Moellmann <gerd@gnu.org>
7942
7943 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
7944 only if buffer is displayed in some window.
7945
7946 * xdisp.c (handle_single_display_prop): Initialize local `value'.
7947 (try_window_reusing_current_matrix): Don't call scroll run
7948 function if run's current and desired position are the same;
7949 this prevents cursor flickering.
7950
4e8a9132
SM
79512000-03-19 Stefan Monnier <monnier@cs.yale.edu>
7952
7953 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
7954
7955 * regex.c (RE_STRING_CHAR): New macro.
7956 (GET_CHAR_AFER_2): Remove.
7957 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
7958 (enum re_opcode_t): Remove on_failure_jump_exclusive.
7959 (print_partial_compiled_pattern, re_compile_fastmap)
7960 (re_match_2_internal): Remove on_failure_jump_exclusive.
7961 (regex_compile): Turn optimizable P+ loops into PP*, so that the
7962 optimization only need to work for * (ie. can use of_keep_string_jump).
7963 Remove the special case for .*\n since it is now covered by the general
7964 optimization.
7965 (re_search_2): Don't bother with `room'.
7966 (skip_one_char): New function.
7967 (skip_noops): Simplify since `memory' is not needed any more.
7968 (mutually_exclusive_p): Restructure slightly to use `switch' and
7969 add handling for "all" remaining cases.
7970 (re_match_2_internal): Change on_failure_jump_smart to use
7971 on_failure_keep_string_jump (and redirect the end-of-loop jump)
7972 rather than on_failure_jump_exclusive.
7973
2136fdd4
GM
79742000-03-19 Gerd Moellmann <gerd@gnu.org>
7975
7976 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
7977 number of bits per RGB because it's everywhere used as the depth
7978 of the visual.
7979
7980 * term.c (calculate_costs): Remove code dealing with X frames.
7981
18e21ce8 79822000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
7983
7984 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
7985
d7b511c4
GM
79862000-03-18 Gerd Moellmann <gerd@gnu.org>
7987
7988 * lread.c (read_integer): Unread the last char not consumed.
7989
16b5d424
GM
79902000-03-17 Gerd Moellmann <gerd@gnu.org>
7991
7992 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 7993 which are in the process of being deleted.
16b5d424 7994
1fa28578
GM
79952000-03-16 Gerd Moellmann <gerd@gnu.org>
7996
83488cce
GM
7997 * Makefile.in (mostlyclean): Add `*.core'.
7998 (clean): Add `bootstrap-emacs'.
7999
1fa28578
GM
8000 * lread.c (read_integer): New function.
8001 (read1): Support read syntax #o, #x, #b, #r.
8002
99633e97
SM
80032000-03-15 Stefan Monnier <monnier@cs.yale.edu>
8004
1fa28578
GM
8005 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
8006 make sure POINTER_TO_OFFSET gives the same value before and after
8007 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
8008 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
8009 (debug): Now only active if > 0 rather than if != 0.
8010 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
8011 (print_partial_compiled_pattern): Add missing `succeed' case. Use
8012 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
8013 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
8014 (store_op1, store_op2, insert_op1, insert_op2)
8015 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
8016 (group_in_compile_stack): Move to after its arg's types are
8017 declared and add a prototype.
99633e97 8018 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
8019 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
8020 wrapper.
99633e97 8021 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
8022 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
8023 indentation of the greedy-op and shy-group code.
99633e97
SM
8024 (at_(beg|end)line_loc_p): Fix argument's types.
8025 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
8026 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
8027 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
8028 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
8029 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
8030 QUIT unconditionally.
99633e97 8031
699238d9
GM
80322000-03-15 Gerd Moellmann <gerd@gnu.org>
8033
8034 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
8035 a sole completion.
8036
8037 * process.c (send_process): Add a hint that the function
8038 can call Lisp code to its comment.
8039
8040 * lread.c (load_dangerous_libraries): New variable.
8041 (Vbytecomp_version_regexp): New variable.
8042 (safe_to_load_p): New function.
8043 (Fload): Handle files not compiled with Emacs specially.
8044 (syms_of_lread): New Lisp variable load-dangerous-libraries.
8045
34e23e5a
GM
80462000-03-14 Gerd Moellmann <gerd@gnu.org>
8047
9c763cca
GM
8048 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
8049
8050 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
8051 support functions only if HAVE_X11R6_XIM is defined.
8052 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
8053
8054 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
8055
8056 * xfns.c (X_I18N_INHIBITED): Don't define.
8057 (create_frame_xic): Remove conditional compilation on
8058 X_I18N_INHIBITED.
8059 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
8060
8061 * config.in (HAVE_X_I18N): Moved here from xterm.h.
8062 (HAVE_X11R6_XIM): Define.
8063
8064 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
8065
34e23e5a
GM
8066 * xterm.c (x_term_init): Add support for X resource `synchronous'.
8067 If set, call XSynchronize.
8068
66f0296e
SM
80692000-03-13 Stefan Monnier <monnier@cs.yale.edu>
8070
34e23e5a
GM
8071 * regex.c: Declare a new type `re_char' used throughout the code
8072 for the string char type. It's `const unsigned char' to match the
8073 rest of Emacs. Consistently make sure all pointers to strings use
8074 it and make sure all pointers into the pattern use `unsigned
8075 char'.
66f0296e 8076 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
8077 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
8078 code duplication.
66f0296e
SM
8079
8080 * charset.h (GET_CHAR_AFTER_2): Remove.
8081 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
8082
854a025c
KR
80832000-03-12 Ken Raeburn <raeburn@gnu.org>
8084
8085 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
8086 variable before the invocation of YMF_PASS_LDFLAGS, in case both
8087 of them try to use backquotes.
8088
b9d2c7e2
DL
80892000-03-12 Dave Love <fx@gnu.org>
8090
8091 * unexelf.c: Restore changes of 1999-10-19.
8092 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
8093 fix its type and alignment; copy it from current process.
8094
5e5dff44
GM
80952000-03-12 Gerd Moellmann <gerd@gnu.org>
8096
9b2f3c38
GM
8097 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
8098 has been found. Fix bug not computing timer's predecessor.
8099
427ec082 8100 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
8101 file name.
8102
e1cff360
GM
8103 * window.c (Fsave_window_excursion): Doc fix.
8104
5e5dff44
GM
8105 * xfns.c (x_defined_color): Rewritten to use
8106 x_allocate_nearest_color.
8107
e411ce4b
EZ
81082000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
8109
8110 * msdos.c (vga_installed): New function, code moved from
8111 dos_set_window_size.
8112 (Qbar, Qcursor_type, outside_cursor): New variables.
8113 (syms_of_msdos): Intern and staticpro them.
8114 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
8115 shape used outside Emacs when called for the first time.
8116 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
8117 cursor shape used outside Emacs.
8118 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
8119 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
8120 type has changed.
8121 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
8122 parameters specify the cursor. Make qreverse a global
8123 variable (renamed to Qreverse).
8124
80460654
GM
81252000-03-09 Gerd Moellmann <gerd@gnu.org>
8126
8127 * fns.c (Fy_or_n_p): Cancel busy-cursor.
8128
95cd4c40
SM
81292000-03-08 Stefan Monnier <monnier@cs.yale.edu>
8130
8131 This is a big redesign of failure-stack and register handling, prompted
8132 by bugs revealed when trying to add shy-groups. Overall, what happened
8133 is that loops are now structured a little differently, groups can be
8134 shy and the code is a little simpler.
8135
8136 * regex.h: Update the copyright.
8137 (RE_SHY_GROUPS): New value.
8138 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
8139 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
8140
80460654
GM
8141 * regex.c (enum re_opcode_t): Remove jump_past_alt,
8142 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
8143 on_failure_jump_(exclusive, loop and smart). Also fix the comment
8144 for (start|stop)_memory since they now only take one argument (the
8145 second has becomes unnecessary).
8146 (print_partial_compiled_pattern): Adjust for changes in
8147 re_opcode_t.
8148 (print_compiled_pattern): Use %ld to printf long ints and flush to
8149 make debugging a little easier.
95cd4c40
SM
8150 (union fail_stack_elt): Make the integer unsigned.
8151 (struct fail_stack_type): Add a `frame' element.
8152 (INIT_FAIL_STACK): Init `frame' as well.
8153 (POP_PATTERN_OP): New macro for re_compile_fastmap.
8154 (DEBUG_PUSH, DEBUG_POP): Remove.
8155 (NUM_REG_ITEMS): Remove.
8156 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
8157 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
8158 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 8159 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
8160 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
8161 macros.
8162 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
8163 address pushed is not the destination of the jump but the source
8164 of it instead.
95cd4c40
SM
8165 (NUM_FAILURE_ITEMS): Remove.
8166 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
8167 registers before the actual failure point). Don't hardcode any
8168 meaning for str==NULL anymore.
95cd4c40 8169 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
8170 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
8171 Remove.
95cd4c40
SM
8172 (REG_UNSET_VALUE): Use NULL (why not?).
8173 (compile_range): Remove declaration since it doesn't exist.
8174 (struct compile_stack_elt_t): Remove inner_group_offset.
8175 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
8176 (regex_grow_registers): Remove dead code.
8177 (FIXUP_ALT_JUMP): New macro.
80460654
GM
8178 (regex_compile): Add shy-groups Change loops to use
8179 on_failure_jump_smart&jump instead of
8180 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
8181 initial (dummy_failure_)jump. Remove c1_base (looks like unused
8182 variable to me). Use `jump' instead of `jump_past_alt' and don't
8183 bother with push_dummy_failure in alternatives since it is now
8184 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
8185 emacs' for (re)allocating the stack.
8186 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
8187 from loop when bufp->can_be_null rather than jumping to `done'.
8188 Avoid jumping backwards so as to ensure termination. Use
8189 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
8190 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 8191 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
8192 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
8193 improve mutually_exclusive_p to handle ".+\n".
8194 (lowest_active_reg, highest_active_reg,
8195 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
8196 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
8197 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
8198 variables. Push register (in `start_memory') on the stack rather
8199 than storing it in old_reg(start|end). Remove the cycle detection
8200 from `stop_memory', replaced by the use of on_failure_jump_loop
8201 for greedy loops. Add code for the new on_failure_jump_<foo>.
8202 Remove ad-hoc code in `on_failure_jump' to push more registers in
8203 the case of a loop. Take out code from `maybe_pop_jump' into
8204 separate functions and adapt it to the semantics of
8205 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
8206 and push_dummy_failure. Remove dummy_failure handling and
8207 handling of `failures to jump to on_failure_jump' (this last one
8208 was already dead code, it seems).
8209 (group_match_null_string_p, alt_match_null_string_p)
8210 (common_op_match_null_string_p): Remove.
95cd4c40 8211
7397acc4
DL
82122000-03-08 Dave Love <fx@gnu.org>
8213
8214 * config.in: Don't depend on __STDC__ for volatile.
8215 Add POINTER_TYPE, PTR, PROTOTYPES.
8216
8217 * hftctl.c, strftime.c: Use PROTOTYPES.
8218 * eval.c (find_handler_clause): Likewise.
8219
8220 * mem-limits.h: Use POINTER_TYPE.
8221
8222 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
8223 (memory_warnings): Declare using POINTER_TYPE.
8224
5e91ff9e
GM
82252000-03-08 Gerd Moellmann <gerd@gnu.org>
8226
feab4fba
GM
8227 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
8228
25edb08f
GM
8229 * xdisp.c (display_echo_area): Temporarily inhibit garbage
8230 collection.
8231
5e91ff9e
GM
8232 * xfns.c: Remove obsolete code in #if 0.
8233 (Fx_focus_frame): New function.
8234
a735b7e1
KH
82352000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
8236
8237 * coding.c (coding_category_name): Add coding-category-utf-8,
8238 coding-category-utf-16-be, coding-category-utf-16-le.
8239 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
8240 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
8241 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
8242 (detect_coding_utf_8): New function.
8243 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
8244 UTF_16_LOW_SURROGATE_P): New macros.
8245 (detect_coding_utf_16): New function
8246 (detect_coding_mask): When priorities are specified, skip any
8247 categories that have `nil' coding-system. Fix bug of returning
8248 wrong mask when PRIORITIES is specified and detect_coding_XXX()
8249 returns a mask not set in PRIORITIES.
8250 (detect_eol_type_in_2_octet_form): New function.
8251 (detect_eol): selects detect_eol_type_XXX to call according to
8252 cooding->category_idx.
8253 (detect_coding_system): Remove `nil' coding-system in the result.
8254 (Fupdate_coding_systems_internal): Update all coding-categories.
8255
8256 * coding.h (CODING_CATEGORY_IDX_UTF_8,
8257 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
8258 macros.
8259 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
8260 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
8261 CODING_CATEGORY_IDX_UTF_16_LE.
8262 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
8263 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
8264 (CODING_CATEGORY_MASK_ANY): Include the above macros.
8265 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
8266
9994cc69
GM
82672000-03-07 Gerd Moellmann <gerd@gnu.org>
8268
e9b4e5ff
GM
8269 * doc.c (Fdocumentation_property): If value is not a string,
8270 and doesn't refer to etc/DOC, evaluate it to obtain a string.
8271
f7daf1e1
GM
8272 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
8273 close the display with XtCloseDisplay. This caused a bus error
8274 on OpenWindows.
8275
9994cc69
GM
8276 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
8277 complete but not unique.
8278
4336c705
GM
82792000-03-06 Gerd Moellmann <gerd@gnu.org>
8280
18bb0684
GM
8281 * process.c (send_process): Remove local variable `procname' that
8282 might become invalid when a GC happens. Instead, access the
8283 process name slot directly.
8284
4336c705
GM
8285 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
8286 orig_height if set.
8287
8288 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
8289 orig_height if set.
8290
515d0d0e
EZ
82912000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
8292
8293 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
8294 glyph matrices have been freed.
8295
100b3cbb
GM
82962000-03-05 Gerd Moellmann <gerd@gnu.org>
8297
50df5e5a 8298 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 8299 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
8300
8301 * xfns.c (QCdata): Moved to xdisp.c.
8302
8303 * xdisp.c (QCdata): Moved here from xfns.c.
8304 (syms_of_xdisp): Initialize QCdata.
8305
8306 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
8307
8308 * window.c (coordinates_in_window): Use
8309 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
8310 FRAME_INTERNAL_BORDER_WIDTH.
8311
100b3cbb 8312 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 8313 it is obviously invalid.
100b3cbb
GM
8314
8315 * xterm.c (x_term_init): Create a colormap if not using the
8316 default visual.
8317
8318 * xterm.h (select_visual): Change prototype.
8319
8320 * xfns.c (select_visual): Rewritten. Recognize user-specified
8321 visual classes.
8322 (visual_classes): New variable.
8323
64d739c4
GM
83242000-03-04 Gerd Moellmann <gerd@gnu.org>
8325
8326 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
8327 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
8328 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
8329 (x_decode_color): Don't handle allocation of white and black
8330 specially.
8331 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
8332 XtNcolormap resources.
8333 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
8334 (Fx_create_frame): Initialize color members of x_output structure.
8335 (xpm_load): Pass colormap to XPM lib.
8336
8337 * xfaces.c (x_free_colors): Access colormap of frame using
8338 FRAME_X_COLORMAP. Be paranoid about freeing black and white
8339 when default colormap is used.
8340
8341 * xterm.c (x_term_init): Set Colormap member of x_display_info
8342 structure. Copy colormap if resource `privateColormap' is
8343 specified (PseudoColor only).
8344 (x_setup_relief_color): Access colormap of frame using
8345 FRAME_X_COLORMAP.
8346
8347 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
8348 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
8349
c3cee013
JR
83502000-03-04 Jason Rumney <jasonr@gnu.org>
8351
8352 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
8353 other non-platform-specific equivalents.
64d739c4 8354 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
8355 specific functions and macros as their w32 equivalents where
8356 non-platform-specifics are not available.
8357 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
8358 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
8359 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
8360 (frame_update_line_height): Use macros to access f->output_data.
8361 (defined_color): Remove FIXME comments; fixed.
8362 (x_face_list_fonts, prepare_face_for_display): Put X specifics
8363 into #ifdef blocks. Add WINDOWSNT blocks.
8364 (Fx_list_fonts): Use macros for accessing font data.
8365 (set_lface_from_font_name): Different default fonts for X and
8366 WINDOWSNT.
8367 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
8368 scalable for backward compatibility.
64d739c4 8369 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
8370 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
8371
64d739c4 8372 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
8373 syms_of_w32faces.
8374
8375 * makefile.nt (w32faces.obj): Remove.
8376 (xfaces.obj): Add.
8377
807cc41c
JR
83782000-03-03 Jason Rumney <jasonr@gnu.org>
8379
8380 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
8381 correct parameters.
8382
0007072a
KR
83832000-03-03 Ken Raeburn <raeburn@gnu.org>
8384
8385 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
8386 standard ELF definitions here if the system header does not.
8387
71a6ba55
GM
83882000-03-03 Gerd Moellmann <gerd@gnu.org>
8389
8390 * xterm.c (PER_CHAR_METRIC): Removed.
8391 (x_per_char_metric_1, x_default_char): New functions.
8392 (x_per_char_metric): If font's default char is invalid, return
8393 metrics of a suitably chosen usable default char.
8394 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
8395 char, replace occurrences of unprintable chars with a suitably
8396 chosen usable default char.
71a6ba55 8397
900fa1f1
GM
83982000-03-02 Gerd Moellmann <gerd@gnu.org>
8399
42f55fe0
GM
8400 * xterm.c (note_mouse_highlight): Return quickly if frame's
8401 glyph matrices have been freed.
8402
8403 * dispnew.c (free_glyphs): Block input while freeing matrices.
8404
900fa1f1
GM
8405 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
8406
8407 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
8408 x_free_colors.
8409
8410 * dispextern.h (x_free_colors): Add prototype.
8411
8412 * xfaces.c (x_free_colors): New function.
8413 (unload_color, free_face_colors): Use it.
8414
2f950292
EZ
84152000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
8416
8417 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
8418
8419 * window.c [MSDOS]: Include msdos.h.
8420
54d04320
DL
84212000-03-02 Dave Love <fx@gnu.org>
8422
8423 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
8424
8425 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
8426 set C_OPTIMIZE_SWITCH for gcc.
8427
0ba93ac4
KH
84282000-03-02 Kenichi Handa <handa@etl.go.jp>
8429
8430 * coding.c (coding_save_composition): Be sure to allocate
8431 composition data area in coding even if there's no composition in
8432 the current run.
8433
a2bc11d4
JR
84342000-03-01 Jason Rumney <jasonr@gnu.org>
8435
8436 * w32term.c: Equivalent changes to those made to xterm.c on
8437 2000-02-25 and 2000-02-24.
8438
8439 * w32fns.c: Equivalent changes to those made to xfns.c on
8440 2000-02-25 and 2000-02-21.
8441
8442 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
8443 correct line-end convention is followed.
8444
8445 * w32menu.c [HAVE_BOXES]: Remove #undef.
8446 (single_keymap_panes): Remove code for simulating checkmarks.
8447 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
8448 Remove code for drawing simulated checkmarks.
8449 (w32_menu_show): make unibyte help string correctly.
8450 (add_menu_item): draw standard Windows checkmarks. Draw radio
8451 buttons as radio buttons if possible.
8452
72d19d75
GM
84532000-03-01 Gerd Moellmann <gerd@gnu.org>
8454
2df636f4
GM
8455 * sysdep.c (start_of_text): Don't define this function for NetBSD
8456 with ELF.
8457
427ec082 8458 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
8459 Don't define.
8460 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
8461 (LINKER): Don't undef if __NetBSD__ is defined.
8462
8463 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
8464
8465 * fileio.c [__NetBSD__]: Define `unix'.
8466
72d19d75
GM
8467 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
8468
ed4d0512
GM
84692000-02-29 Gerd Moellmann <gerd@gnu.org>
8470
50b1039f
GM
8471 * atimer.c (start_atimer): Don't abort when timers are stopped.
8472 (append_atimer_lists): New function.
8473 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
8474 arbitrary lists of stopped and running atimers.
8475
ed4d0512
GM
8476 * atimer.c (cancel_atimer): Handle canceling an atimer when
8477 some timers are stopped.
8478
8479 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
8480 after canceling it.
8481
8482 * fns.c (maybe_resize_hash_table): Handle case of new size
8483 coming out as being the same as old size.
8484
387023ee
JR
84852000-02-27 Jason Rumney <jasonr@gnu.org>
8486
8487 * makefile.nt: Add atimer.h to dependencies.
8488 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
8489 * w32console.c: Only disable window system features for dispextern.h
8490 (initialize_w32_display): Build a display info for the console.
8491 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
8492 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
8493 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
8494 as 2 button mice.
8495 * w32gui.h (struct W32FontStruct): Revert last change after change
8496 to xdisp.c.
8497 * w32menu.c (single_submenu): Set up help string.
8498 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
8499 (w32_dialog_show): Set up help string.
8500 * w32term.c (w32_display_info_for_display): Remove unused function.
8501 (w32_draw_bitmap): Use pre-built bitmaps.
8502 (w32_initialize_display_info): New function to initialize parts of
8503 display info that are common to both GUI and console frames.
8504 (w32_term_init): Use w32_initialize_display_info. Do not set
8505 Vw32_num_mouse_buttons here, as it is not called for console
8506 frames. Build bitmaps for indicating truncated lines etc.
8507 (x_delete_display): Destroy pre-built bitmaps.
8508 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
8509 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
8510
4516715a
DL
85112000-02-27 Dave Love <fx@gnu.org>
8512
8513 * lisp.h: Add a bunch of prototypes.
8514
171ca836
KH
85152000-02-26 Kenichi Handa <handa@etl.go.jp>
8516
8517 * keyboard.c (read_char): Set `usec' correctly.
8518
4013921d
KH
85192000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
8520
8521 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
8522 `lambda', set reg[RRR] to the map index.
8523 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
8524 reg[RRR] to 0. Otherwise, set it to -1.
8525
9244a058
GM
85262000-02-25 Gerd Moellmann <gerd@gnu.org>
8527
2df636f4 8528 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 8529
18e21ce8 85302000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 8531
f43d79c1
GM
8532 * fileio.c (Ffile_symlink_p): If result starts with a `/'
8533 and contains a `:', prepend `/:'.
8534
8535 * window.c (select_window_1): If selected_window is nil,
8536 don't "swap out" the buffer's point.
8537 (Fset_window_configuration): Set selected_window to nil
8538 before calling Fselect_window.
8539 (unshow_buffer): Don't set point in buffer from window's point
8540 if another more recently selected window also shows the buffer.
8541
bed0c171
GM
85422000-02-25 Gerd Moellmann <gerd@gnu.org>
8543
449c3c52
GM
8544 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
8545
f5b58615
GM
8546 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
8547 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
8548 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
8549 variables.
8550 (DEFAULT_BUSY_CURSOR_DELAY): New define.
8551 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
8552 (hide_busy_cursor): New functions.
8553 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
8554
8555 * minibuf.c (read_minibuf): Cancel busy-cursor.
8556
8557 * keyboard.c (command_loop_1): Call start_busy_cursor before
8558 Fcommand_execute and cancel_busy_cursor after it.
8559 (timer_check): Remove busy-cursor code.
8560 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
8561 cursor timer.
8562
8563 * process.c (wait_reading_process_input): Remove busy-cursor code.
8564
8565 * eval.c (Fsignal): Call cancel_busy_cursor instead of
8566 Fx_hide_busy_cursor.
8567
8568 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
8569 Remove prototyoes.
8570 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
8571
8572 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
8573
8574 * xterm.c (XTread_socket): Remove busy-cursor code.
8575
4eb8436f
GM
8576 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
8577 (build_frame_matrix_from_leaf_window): Put code handling
8578 glyph row's not being a slice of a frame row in #if 0.
8579 (sync_window_with_frame_matrix_rows): New function.
8580 (frame_row_to_window): New function.
8581 (mirror_line_dance): Handle copies between windows.
8582
3cb65b0e
GM
8583 * lread.c (Fload): Use `xfree' instead of `free'.
8584 (init_obarray): Use `xmalloc' instead of `malloc'.
8585
bed0c171
GM
8586 * window.c (Fset_window_buffer): Set WINDOW to the window
8587 after decoding.
2add4349
GM
8588 (coordinates_in_window): Take frame's internal border width
8589 into account.
bed0c171 8590
42088c12
GM
85912000-02-24 Gerd Moellmann <gerd@gnu.org>
8592
8593 * xterm.c (x_display_and_set_cursor): Display cursor of
8594 non-selected windows depending on the setting of
8595 cursor_in_non_selected_windows.
8596
8597 * xdisp.c (cursor_in_non_selected_windows): New variable.
8598 (syms_of_xdisp): DEFVAR_BOOL it.
8599
d1e103b2
GM
86002000-02-23 Gerd Moellmann <gerd@gnu.org>
8601
723e779c
GM
8602 * data.c (Fstring_to_number): If number is greater than what
8603 fits into an integer, return a float.
8604
d1e103b2
GM
8605 * eval.c (specbind): Remove references to
8606 keyword_symbols_constant_flag.
8607
8608 * data.c (keyword_symbols_constant_flag): Removed.
8609 (Fmakunbound, set_internal, syms_of_data): Remove references to
8610 keyword_symbols_constant_flag.
8611
8612 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
8613
214f877f
KH
86142000-02-23 Kenichi Handa <handa@etl.go.jp>
8615
8616 * syntax.c (multibyte_syntax_as_symbol): New variable.
8617 (syms_of_syntax): Declare it as a Lisp variable.
8618 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
8619 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
8620 nonzero, treat all multibyte characters as symbol.
42088c12 8621 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
8622 characters.
8623
130adcb7
EZ
86242000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
8625
3cb65b0e 8626 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 8627 a deleted frame.
130adcb7 8628
17cbbf95
GM
86292000-02-21 Gerd Moellmann <gerd@gnu.org>
8630
8631 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
8632
8633 * xfns.c (x_window_to_frame, x_any_window_to_frame)
8634 (x_non_menubar_window_to_frame): Check the busy-cursor window.
8635
beb0bc36
DL
86362000-02-21 Dave Love <fx@gnu.org>
8637
8638 * frame.c (Vmouse_position_function): New variable.
8639 (Fmouse_position): Use it.
8640 (syms_of_frame): Install it.
8641
8642 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
8643
1d92afcd
GM
86442000-02-20 Gerd Moellmann <gerd@gnu.org>
8645
8646 * fileio.c (Finsert_file_contents): Unbind the binding of
8647 standard-output done by temp_output_buffer_setup.
329eed9f
GM
8648
8649 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
8650 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
8651 (specbind, unbind_to): Handle most common case of non-constant
8652 symbol with trivial value specially.
8653
8654 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
8655
18e21ce8 86562000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
8657
8658 * data.c (Fmake_variable_buffer_local): Doc fix.
8659 Init found_for_buffer to 0.
8660 (Fmake_variable_frame_local): If the variable has already
8661 been buffer-local, set the check_frame field.
8662
1d4311c3
EZ
86632000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
8664
8665 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
8666 produced for CODING_MODE_LAST_BLOCK requires.
8667
2dc95ddd
DL
86682000-02-18 Dave Love <fx@gnu.org>
8669
8670 * keyboard.c (echo_keystrokes): Remove declaration.
8671 (Vecho_keystrokes) New variable.
8672 (read_char, record_menu_key, read_key_sequence): Use it to allow
8673 use of float value.
8674 (syms_of_keyboard): Change Vecho_keystrokes declaration.
8675
8676 * lread.c: Undef feature selection macros before defining.
8677
f0930f35
GM
86782000-02-18 Gerd Moellmann <gerd@gnu.org>
8679
8680 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
8681 for symbols other than the symbol in question.
8682
e3d4de90
DL
86832000-02-17 Dave Love <fx@gnu.org>
8684
8685 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
8686
0b378936
GM
86872000-02-17 Gerd Moellmann <gerd@gnu.org>
8688
d621caf7
GM
8689 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
8690
0b378936
GM
8691 * alloc.c (enum mem_type): Compile unconditionally.
8692
3b451f74
EZ
86932000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
8694
8695 * xfaces.c (tty_defined_color): Don't return faulire indication
8696 for unspecified-fg and unspecified-bg pseudo-colors.
8697
10689a01
GM
86982000-02-17 Gerd Moellmann <gerd@gnu.org>
8699
1216f5e4
GM
8700 * alloc.c (mark_object): Don't mark symbol names in pure space.
8701 (gc_sweep): Don't unmark symbol names in pure space.
8702
8703 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
8704 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
8705 [GC_MARK_STACK]: New defines.
427ec082 8706 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
8707 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
8708
8709 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
8710
8711 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
8712 allocate_buffer instead of xmalloc.
8713
8714 * alloc.c (toplevel): Include setjmp.h.
8715 (PURE_POINTER_P): New define.
8716 (enum mem_type) [GC_MARK_STACK]: New enumeration.
8717 (Vdead) [GC_MARK_STACK]: New variable.
8718 (lisp_malloc): Add parameter TYPE, call mem_insert if
8719 GC_MARK_STACK is defined.
8720 (allocate_buffer): New function.
427ec082 8721 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
8722 (free_float) [GC_MARK_STACK]: Set type to Vdead.
8723 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
8724 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
8725 (MEM_NIL) [GC_MARK_STACK]: New define.
8726 (struct mem_node) [GC_MARK_STACK]: New structure.
8727 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
8728 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
8729 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
8730 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
8731 (mark_stack) [GC_MARK_STACK]: New functions.
8732 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
8733 (clear_marks): Removed.
8734 (gc_sweep): Set free conses' car, free floats' type, free
8735 symbols' function to Vdead. Use lisp_free to free buffers.
8736 (init_alloc_once): Initialize Vdead.
8737 (survives_gc_p): Return non-zero for pure objects.
8738
8739 * alloc.c: Add comments throughout the file.
8740
2503c8b1
GM
8741 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
8742 that unblocks alarms.
8743
8389e1e2
GM
8744 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
8745 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
8746 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
8747
10689a01 8748 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 8749
bfc17d18
KH
87502000-02-17 Kenichi Handa <handa@etl.go.jp>
8751
4a09dee0
KH
8752 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
8753 avoid infinite error signaling. Allocate sufficient memory for
8754 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 8755
2b927d02
SM
87562000-02-17 Stefan Monnier <monnier@cs.yale.edu>
8757
8758 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
8759 depends on the previous behavior.
8760
b49cb764
GM
87612000-02-16 Gerd Moellmann <gerd@gnu.org>
8762
8763 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
8764
99e95407
GM
87652000-02-15 Gerd Moellmann <gerd@gnu.org>
8766
8767 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
8768
8769 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 8770 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
8771 write(2).
8772
6ffd3cf7
RS
87732000-02-15 Richard M. Stallman <rms@gnu.org>
8774
8775 * data.c (set_internal): Don't make variable buffer-local
8776 if within a let-binding for the same buffer.
8777 (let_shadows_buffer_binding_p): New function.
8778
8779 * eval.c (specbind): For buffer-local value,
8780 record the current buffer also.
8781 (unbind_to): Cope with that change.
8782
cad53475
GM
87832000-02-15 Gerd Moellmann <gerd@gnu.org>
8784
8785 * window.c (Fsave_window_excursion): Doc fix.
8786
1aa963c8
SM
87872000-02-15 Stefan Monnier <monnier@cs.yale.edu>
8788
8789 * syntax.c (back_comment): Make sure we only consider comment-starters
8790 of the relevant style and return -1 in case of a failure to find the
8791 beginning of the comment.
8792 (Fforward_comment): If back_comment fails, go back to the position just
8793 after the comment-end.
8794 (scan_lists): Add comment describing a very minor bug.
8795
b9b84fd3
SM
87962000-02-14 Stefan Monnier <monnier@cs.yale.edu>
8797
8798 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
8799 `completion-regexp-list' in the docstring.
8800
3a28db80
DL
88012000-02-14 Dave Love <fx@gnu.org>
8802
8803 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
8804
fb4a568d
SM
88052000-02-14 Stefan Monnier <monnier@cs.yale.edu>
8806
8807 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
8808 to Emacs' syntax. Also fix the comment about set/not-set meanings
8809 since Emacs syntax is not the value 0 any more.
8810 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
8811 since it's now part of RE_SYNTAX_EMACS.
8812
1063ebb5
DL
88132000-02-12 Dave Love <fx@gnu.org>
8814
8815 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
8816 Alpha.
8817
fb07a302
GM
88182000-02-12 Gerd Moellmann <gerd@gnu.org>
8819
8820 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
8821
aaf2320c
DL
88222000-02-12 Dave Love <fx@gnu.org>
8823
8824 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
8825
8826 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
8827 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
8828 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
8829
8830 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
8831
8832 * s/nextstep.h: Don't define HAVE_ALLOCA.
8833
8834 * config.in: Add vfork bits.
8835
eedf8bde
GM
88362000-02-12 Gerd Moellmann <gerd@gnu.org>
8837
8838 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
8839 unwind function to undo the effect of stopping atimers.
8840
8841 * keyboard.c (bind_polling_period): Stop all timers except
8842 poll_timer.
8843
8844 * atimer.c (stopped_atimers): New variable.
8845 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
8846 New functions.
8847
8848 * atimer.h (stop_other_atimers, run_all_atimers)
8849 (unwind_stop_other_atimers): Add function prototypes.
427ec082 8850
eedf8bde
GM
8851 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
8852
8476c2f8
KR
88532000-02-11 Ken Raeburn <raeburn@gnu.org>
8854
8855 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
8856 library may depend on jpeg.
8857 (atimer.o): Depends on atimer.c.
8858
0e85e4a3
KH
88592000-02-11 Kenichi Handa <handa@etl.go.jp>
8860
8861 * insdel.c (del_range_1): Call update_compositions.
8862 (del_range_both): Call update_compositions just once..
8863
97fa0cc8
DL
88642000-02-10 Dave Love <fx@gnu.org>
8865
8866 * xfns.c (create_frame_xic): Fix initialization of automatic
8867 aggregates for pcc.
8868
25566a3c
KH
88692000-02-09 Kenichi Handa <handa@etl.go.jp>
8870
8871 * ccl.c (CCL_MAKE_CHAR): New macro.
8872 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
8873 registers by CCL_MAKE_CHAR before calling translate_char.
8874 <CCL_TranslateCharacterConstTbl> Likewise.
8875
69da54ba
DL
88762000-02-08 Dave Love <fx@gnu.org>
8877
8878 * lread.c (__EXTENSIONS__): Define.
8879
f7136ee8
GM
88802000-02-08 Gerd Moellmann <gerd@gnu.org>
8881
8882 * puresize.h (BASE_PURESIZE): Increase to 650000.
8883
7768790b
EZ
88842000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
8885
8886 * msdos.c (XMenuActivate): Turn off the cursor after displaying
8887 the help message.
8888
38fd211b
EZ
88892000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
8890
8891 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
8892 md, mh, mb, mr, and me to the fake termcap entry.
8893
66e4690f
KR
88942000-02-06 Ken Raeburn <raeburn@gnu.org>
8895
8896 * sound.c (sound_cleanup): Don't call device close routine if the
8897 function pointer is null.
8898
a75dfea0
AI
88992000-02-06 Andrew Innes <andrewi@gnu.org>
8900
8901 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
8902 around image definitions and prototypes.
8903 (gamma_correct) [WINDOWSNT]: New prototype.
8904
8905 * w32term.c (x_make_frame_visible): Replace call to
8906 input_poll_signal with poll_for_input.
8907
8908 * window.c [WINDOWSNT]: Include w32term.h.
8909
8910 * xdisp.c [WINDOWSNT]: Include w32term.h.
8911
8912 * makefile.nt: Add dependencies on w32gui.h.
8913 (OBJ1): Include atimer.obj.
8914 ($(BLD)\atimer.obj): New dependency rule.
8915
8916 * w32.c (sigmask): New function (does nothing).
8917 (sigunblock): Ditto.
8918
8919 * frame.c [WINDOWSNT]: Include w32term.h.
8920
8921 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
8922
8923 * lread.c (syms_of_lread): Fix literal newlines.
8924
8925 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
8926 the string constant limit (2048 bytes) in MSVC.
8927 (main): Ditto.
8928
59ddecde
GM
89292000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
8930
8931 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
8932 area.
8933 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
8934 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
8935 dispatch the event.
8936
07590973
DL
89372000-02-04 Dave Love <fx@gnu.org>
8938
8939 * fileio.c: Remove some unused vars.
8940 (_GNU_SOURCE): Define (for euidaccess).
8941
8942 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
8943
8944 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
8945 gcpro1, gcpro2.
8946 (read_minibuf): Deal with allow_props correctly.
8947
649351f9
EZ
89482000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
8949
8950 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
8951
66e4690f 89522000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
8953
8954 * search.c (compile_pattern): If a cache entry has a nil regexp,
8955 fill in that entry instead of clobbering a previously cached
8956 string regexp.
8957
66e4690f 89582000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
8959
8960 * puresize.h (BASE_PURESIZE): Increase to 610000.
8961
d240a249
GM
89622000-02-02 Gerd Moellmann <gerd@gnu.org>
8963
8964 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
8965 can GC.
8966
ca91fb26
KH
89672000-02-02 Kenichi Handa <handa@etl.go.jp>
8968
25660570
KH
8969 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
8970 instead of incrementing ic directly.
8971 <CCL_WriteExprConst> Likewise.
8972 <ccl_set_expr>: Set ic to jump_address.
8973
ca91fb26
KH
8974 * fileio.c (e_write): Fix the handling of
8975 CODING_FINISH_INSUFFICIENT_SRC.
8976
2ede9689
DL
89772000-02-01 Dave Love <fx@gnu.org>
8978
8979 * editfns.c (Fpropertize): Doc fix.
8980
8981 * process.c (Fstart_process): Doc fix.
8982
8983 * eval.c: Fix various doc strings not to duplicate information
8984 from help-manyarg-func-alist.
8985
8986 * window.c (Fset_window_margins): Don't make interactive. Doc
8987 fix.
8988
8989 * doc.c (Vhelp_manyarg_func_alist): New variable.
8990 (Fdocumentation): Use it.
8991 (syms_of_doc): Define it.
8992
b6680a0e
GM
89932000-01-31 Gerd Moellmann <gerd@gnu.org>
8994
2cb750ba
GM
8995 * xterm.c (xim_open_dpy): Remove unused local variable.
8996
74e9213b
GM
8997 * emacs.c (USAGE): Use term `display options' instead of `X
8998 options'.
8999
9000 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
9001 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
9002
b6680a0e
GM
9003 * fns.c (sweep_weak_table): New function.
9004 (sweep_weak_hash_tables): Use it. Keep on marking until there
9005 is no more change.
9006
994c5afe
GM
90072000-01-30 Gerd Moellmann <gerd@gnu.org>
9008
9009 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
9010 that XTread_socket does not crash by trying to call XNoOp on a
9011 closed display.
427ec082 9012
f00276e3
JR
90132000-01-30 Jason Rumney <jasonr@gnu.org>
9014
9015 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
9016 Change selected_frame to SELECTED_FRAME ().
9017 (w32_console_mouse_position): Remove #ifndef MULE from around
9018 `insist' parameter.
9019
9020 * makefile.nt: Remove dosfns.obj.
9021
9022 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
9023
9024 * w32fns.c (w32_defined_color): Check for valid frame before
9025 applying gamma correction. Eliminate dependency on frame elsewhere.
9026 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
9027 (w32_to_x_font): Use resx and resy not height_in and width_in.
9028 (x_to_w32_font): Doc fix.
9029 (xlfd_strip_height): New function to strip and return font height.
9030 (w32_font_match): Compare height separately from rest of xlfd
9031 spec, using xlfd_strip_height.
9032
9033 * w32term.c (w32_term_init): Swap resx and height_in, resy and
9034 width_in. Use w32_defined_color in place of defined_color.
9035
9036 * w32faces.c: Merge more of DOS and X specifics in preparation for
9037 merge with xfaces.c.
9038 (defined_color): Remove FIXME comment.
9039 (tty_color_name): Provide w32-specific function.
9040 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
9041
9042 * w32console.c (turn_on_face, turn_off_face): Removed.
9043 (w32_face_attributes): New function.
9044 (Global_variables): Reduce scope where possible.
9045 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
9046 fill attribute.
9047 (hl_mode): Don't modify text attributes.
9048 (write_glyphs): Don't do anything if len <= 0. Use
9049 w32_face_attributes to get attributes for drawing. Write
9050 terminating codes using char_attr_normal.
9051 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
9052 (update_begin, update_end): Likewise.
9053 (vga_stdcolor_name): New function.
9054 (initialize_w32_display): Remove char_attr_reverse and char_attr.
9055 (Fset_screen_color): Remove char_attr_reverse.
9056
b08e8bb2
GM
90572000-01-29 Gerd Moellmann <gerd@gnu.org>
9058
9059 * xfns.c (xic_set_preeditarea): Take window parameter and
9060 window-relative pixel-positions.
9061
9062 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
9063 is its frame's selected window.
9064 (xim_instantiate_callback): Likewise.
9065
9066 * xfns.c (x_create_im): Removed.
9067 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
9068 (supported_xim_styles): Renamed from supported_styles.
9069 (best_xim_style): Renamed from best_style.
9070 (create_frame_xic): Renamed from xic_create_frame.
9071 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 9072
b08e8bb2
GM
90732000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
9074
9075 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
9076 our frames, call XFilterEvent with 2nd parameter `None'.
9077 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
9078 returning XBufferOverflow.
9079 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
9080 area.
9081 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
9082 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
9083 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
9084 (xim_initialize, xim_close)
9085 [HAVE_X_I18N && HAVE_X11R6]: New functions.
9086 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
9087 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
9088 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
9089
9090 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
9091 and `xim_styles'.
9092 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
9093 `xic_style' and `xic_xfs'.
9094 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
9095 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
9096 (FRAME_XIM): Removed.
9097
9098 * xfns.c (supported_styles): New variable.
9099 (DEFAULT_STYLE, DEFAULT_FONT): New macros
9100 (xic_create_xfontset, best_style, xic_create_frame)
9101 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
9102 (xic_set_xfontset): New functions.
9103
142e109c
DL
91042000-01-28 Dave Love <fx@gnu.org>
9105
9106 * s/irix6-5.h: Revert last change after change to irix5-0.h.
9107
9108 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
9109
b02786f9
GM
91102000-01-28 Gerd Moellmann <gerd@gnu.org>
9111
d060bc9f
GM
9112 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
9113 for *scratch* if it already existed.
9114
b02786f9
GM
9115 * emacs.c (USAGE): New macro.
9116 (main): Use it to display usage information.
9117
2c52d7e4
EZ
91182000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
9119
9120 Support for the menu-help feature:
9121
9122 * msdos.h: Change prototypes of XMenuAddSelection and
9123 XMenuActivate.
9124
9125 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
9126 part of the line to the termscript file.
9127 (IT_clear_to_end): Clear the entire line, not just its beginning.
9128 (menu_help_message, prev_menu_help_message): New variables.
9129 (IT_menu_make_room): Make room for the help_text member.
9130 (IT_menu_display): New argument disp_help; all callers changed.
9131 If disp_help is non-zero, store the help text of the active menu
9132 item in menu_help_message.
9133 (XMenuAddPane): Initialize the help_text member to NULL.
9134 (XMenuAddSelection): New argument help_text. Store it in the
9135 XMenu structure.
9136 (XMenuActivate): New argument help_callback. If the value of
9137 menu_help_message has changed since the last time, display the
9138 menu help message text while waiting for the mouse to move. Clear
9139 the echo area before exiting.
9140 (XMenuDestroy): Free the help_text member.
9141
ffe0bcd1
GM
91422000-01-27 Gerd Moellmann <gerd@gnu.org>
9143
9144 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
9145 XMenuAddSelection. Pass help callback to XMenuActivate.
9146 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
9147
50dbd23f
EZ
91482000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
9149
9150 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
9151 and EMACS_SET_USECS.
9152
f5941bf8
GM
91532000-01-26 Dave Love <fx@gnu.org>
9154
6c67ddee
DL
9155 * editfns.c (Fchar_after, Fchar_before): Doc fix.
9156
f5941bf8
GM
9157 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
9158 an error may be signalled.
9159
9e49c990
GM
91602000-01-26 Gerd Moellmann <gerd@gnu.org>
9161
fc3cb460
GM
9162 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
9163 LD_SWITCH_SYSTEM inherited from irix5-0.h.
9164
9e49c990
GM
9165 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
9166
d0c037d8
GM
91672000-01-25 Gerd Moellmann <gerd@gnu.org>
9168
9169 * charset.c (Fstring): If there is a multibyte char among
9170 the args, always return a multibyte string.
9171
e12489f9
GM
91722000-01-25 Gerd Moellmann <gerd@gnu.org>
9173
9174 * sysdep.c (sys_select): Turn atimers off and on instead of
9175 recording and restoring old alarm handler
9176
9177 * process.c (toplevel): Include atimer.h.
9178 (create_process_1): Rewritten.
9179 (create_process): Use atimers instead of alarm.
9180 (wait_reading_process_input) [hpux]: Turn atimers off instead
9181 of turning off SIGALRM.
9182 (wait_reading_process_input): Turn off atimers instead off
9183 calling stop_polling.
9184
9185 * emacs.c (main): Call init_atimer.
9186
9187 * keyboard.c (toplevel): Include systime.h and atimer.h.
9188 (polling_for_input): Removed because unused.
9189 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
9190 (poll_timer): New variable.
9191 (poll_for_input, poll_for_input_1): New functions.
9192 (start_polling, stop_polling): Rewritten.
9193
9194 * keyboard.h (polling_for_input): Removed.
427ec082 9195
e12489f9
GM
9196 * atimer.h, atimer.c: New files.
9197
9198 * Makefile.in (obj): Add atimer.o.
9199 (atimer.o): New target.
9200
9201 * blockinput.h (pending_atimers): Add extern declaration.
9202 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
9203
9204 * lisp.h (popup_activated_flag): Add extern declaration.
9205
9206 * xmenu.c (popup_activated_flag): Make externally visible.
9207 (popup_activate_callback) [USE_MOTIF]: Increment
9208 popup_activated_flag.
9209 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
9210
9211 * xterm.c (toplevel): Include atimer.h.
9212 (toolkit_scroll_bar_interaction): New variable.
9213 (Fxt_process_timeouts): Removed.
9214 (x_process_timeouts): New function.
9215 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
9216 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
9217 (x_make_frame_visible): Call poll_for_input_1 instead of
9218 input_poll_signal. Don't call alarm.
9219 (x_initialize): Install timer calling x_process_timeouts.
427ec082 9220
1e5279b9
DL
92212000-01-24 Dave Love <fx@gnu.org>
9222
6c67ddee 9223 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
9224 Don't use -cckr -- apparently not now necessary.
9225
edf6aeb8
EZ
92262000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
9227
9228 * msdos.c (IT_menu_display): Truncate long menu lines at the right
9229 screen boundary.
9230
9badad41
JR
92312000-01-23 Jason Rumney <jasonr@gnu.org>
9232
9233 * w32fns.c (w32_defined_color): Apply gamma correction before
9234 trying to map to the palette.
9235 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
9236 to w32_clear_rect.
9237
9238 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
9239 here. Callers changed to always pass real device context.
9240 (w32_draw_bitmap): Likewise.
9241 (w32_get_glyph_overhangs): Likewise.
9242 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
9243 one.
9244 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
9245 pfnSetScrollInfo and SetScrollRange.
9246 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
9247 back into MULE characters after decoding them.
9248 (x_get_glyph_face_and_encoding): Likewise.
9249 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
9250 GetCharABCWidthsW fails, since this is defined on Windows 9x.
9251 (x_produce_glyphs): Calculate per char metrics for a character
9252 that we know exists in default font when font_not_found_p is true.
9253
63bd786b
JR
92542000-01-22 Jason Rumney <jasonr@gnu.org>
9255
9256 * makefile.nt (intervals.obj, composite.obj): New modules.
9257 (composite.h): Added as dependency where appropriate.
9258
9259 * w32gui.h (XGCValue): New struct for emulating X GCs.
9260
9261 * w32term.h (XCharStruct): New struct for emulating X.
9262
9263 * w32console.c (turn_on_face, turn_off_face): New functions.
9264 (change_line_highlight): New prototype for new redisplay.
9265 (write_glyphs): Support multibyte text. Support faces.
9266
9267 * w32faces.c: Complete rewrite for new redisplay based on new
9268 xfaces.c.
9269
9270 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
9271 throughout. struct frame * in place of FRAME_PTR.
9272 Skeleton support for images, toolbars, tooltips from xfns.c.
9273 (Fx_create_frame): Use system default for default scroll bar
9274 width.
9275 (w32_get_arg): Renamed from x_get_arg.
9276 (Fx_file_dialog): New function.
9277 (w32_list_fonts): Check cache before asking system.
9278 (Vw32_enable_synthesized_fonts): New variable.
9279 (Vw32_enable_italics): Obsolete, removed.
9280
9281 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
9282 Use SELECTED_FRAME macro.
9283
9284 * w32menu.c: Add skeleton support for help strings on menus.
9285 (add_menu_item): Native checkbox and radio support added, but not
9286 yet enabled due to bugs.
9287 (push_menu_item): Add parameters type, selection and help.
9288 Callers updated.
9289 Formatting changes to reduce unnecessary diffs with xmenu.c.
9290
9291 * w32select.c (Fw32_set_clipboard_data): Update call to
9292 find_charset_in_str.
9293
9294 * w32term.c: Complete rewrite for new redisplay based on new
9295 xterm.c with necessary sections merged back in from old w32term.c.
9296
6ffd3cf7 92972000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
9298
9299 * data.c (set_internal): Further fix in same criterion.
9300
6ffd3cf7 93012000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
9302
9303 * data.c (set_internal): Fix the criteria for whether
9304 to swap out the old cached binding.
9305
60af03f1
DL
93062000-01-19 Dave Love <fx@gnu.org>
9307
9308 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
9309
f9be074f
KH
93102000-01-18 Kenichi Handa <handa@etl.go.jp>
9311
9312 * regex.c (re_compile_fastmap): While checking a range table for
9313 `charset', skip flag bits for a character class correctly.
9314
52b8dbf9
GM
93152000-01-17 Gerd Moellmann <gerd@gnu.org>
9316
d36100c9
GM
9317 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
9318
52b8dbf9
GM
9319 * xfns.c (x_window): Call lw_create_widget with new parameter
9320 list.
9321
9322 * widget.c (EmacsFrameSetCharSize): Change size of children first
9323 because of problems with main window geometry management under
9324 Lesstif.
9325
9326 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
9327 MENU_ITEMS_ITEM_.*.
9328 (MENU_ITEMS_ITEM_HELP): New enumerator.
9329 (push_menu_item): Add parameter HELP. Record help in menu_items.
9330 (single_menu_item, single_submenu, list_of_items): Call
9331 push_menu_item with new parameter.
9332 (single_submenu): Set help string in widget value.
9333 (menu_highlight_callback): New function.
9334 (set_frame_menubar): Call lw_create_widget with new
9335 parameter list.
9336 (xmenu_show, xdialog_show): Ditto.
9337
3139018f
GM
93382000-01-13 Gerd Moellmann <gerd@gnu.org>
9339
9340 * sound.c (Fplay_sound): Improve doc string.
9341
83c8f461
RS
93422000-01-11 Richard M. Stallman <rms@gnu.org>
9343
9344 * lisp.h (set_internal): Enter the new arg.
9345
9346 * eval.c (specbind): Record buffer-local variables specially,
9347 indicating which buffer's binding was saved.
9348 (unbind_to): Restore buffer-local variables specially
9349 in the proper buffer.
9350
9351 * data.c (set_internal): New arg BUF.
427ec082 9352
83c8f461
RS
9353 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
9354 * data.c (Fset): Pass new arg to set_internal.
9355 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 9356
1fab1775
GM
93572000-01-11 Gerd Moellmann <gerd@gnu.org>
9358
9359 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
9360 xprintsym.
9361
83c8f461 93622000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
9363
9364 * minibuf.c (Ftry_completion): Doc fix.
9365
7a85e4df
GM
93662000-01-11 Gerd Moellmann <gerd@gnu.org>
9367
9368 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
9369 vector, too.
9370
a970dae4
AS
93712000-01-11 Andreas Schwab <schwab@suse.de>
9372
9373 * coding.c (code_convert_region): Initialize total_skip.
9374
c65d14ee
DL
93752000-01-08 Dave Love <fx@gnu.org>
9376
9377 * eval.c (Fuser_variable_p): Check customizability too.
9378
834938d2
GM
93792000-01-07 Gerd Moellmann <gerd@gnu.org>
9380
9381 * minibuf.c (Fcompleting_read): Doc fix.
9382
e0303cd6
GM
93832000-01-05 Gerd Moellmann <gerd@gnu.org>
9384
8a26744b
GM
9385 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
9386 -L /usr/local/lib.
9387
e0303cd6
GM
9388 * xfns.c (x_create_im): New function to set IM and IC of a frame.
9389 Check that input style is supported before trying to create an
9390 IC for it.
9391 (x_window): Call x_create_im.
427ec082 9392
2e471eb5
GM
93932000-01-04 Gerd Moellmann <gerd@gnu.org>
9394
560a7bd2
GM
9395 * xfns.c (current_gif_memory_src): New variable.
9396 (gif_load): Record the address of the current memory source
9397 in current_gif_memory_src.
9398 (gif_read_from_memory): Use current_gif_memory_src.
9399
f9ee84a3
GM
9400 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
9401 macros statement form.
9402
d1299cde
GM
9403 * sound.c (struct sound): Renamed from struct sound_file.
9404 (struct sound): Add members `data' and `header_size'.
9405 (enum sound_attr): Add SOUND_DATA.
9406 (current_sound, current_sound_device): Variables renamed from
9407 sound_file and sound_device.
9408 (parse_sound): Parse :data.
9409 (parse_sound): Handle sound data in strings.
9410 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 9411 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
9412 needed header size.
9413 (wav_play, au_play): Play sounds from string data.
9414
2e471eb5
GM
9415 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
9416
9417 * lisp.h: Add prototype for allocate_string_data.
9418
9419 * alloc.c (Fgarbage_collect): Return number of live and free
9420 strings.
9421
9422 * alloc.c (mark_buffer): Remove code in #if 0.
9423 (gc_sweep): Ditto.
9424 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
9425 (strings_consed): New variable.
9426 (allocate_string): Set it.
9427 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
9428 (Fmemory_use_counts): Return strings_consed. Use Flist.
9429
9430 * alloc.c: General cleanup in comments etc. Remove conditional
9431 compilation for `standalone'.
9432
9433 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
9434
9435 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
9436 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
9437 (DONT_COPY_FLAG): Removed.
9438 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
9439 (struct sdata, struct sblock): New
9440 (struct string_block): Rewritten.
9441 (STRINGS_IN_STRING_BLOCK): New macro.
9442 (oldest_sblock, current_sblock, total_strings, total_free_strings)
9443 (large_sblocks, string_blocks, string_free_list): New variables.
9444 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
9445 (init_strings): Rewritten.
9446 (allocate_string, allocate_string_data, compact_small_strings)
9447 (free_large_strings, sweep_strings): New functions.
9448 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
9449 (struct string_block_head, current_string_block)
9450 (first_string_block, large_string_blocks, STRING_FULLSIZE)
9451 (STRING_PAD): Removed.
9452 (make_uninit_multibyte_string, make_pure_string): Rewritten.
9453 (Fgarbage_collect): Don't set mark bit in large strings.
9454 (mark_object): Mark strings differently. Mark symbol names
9455 differently.
9456 (survives_gc_p): Test marked strings differently.
427ec082 9457 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
9458 symbol names.
9459 (compact_strings): Removed.
9460
42608ba8
EZ
94612000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
9462
9463 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
9464 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
9465
e0a09e1a
KH
94662000-01-04 Kenichi Handa <handa@etl.go.jp>
9467
dd9f0750 9468 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 9469 in a non-empty buffer.
dd9f0750 9470
3c0f3b15 9471 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 9472
44cd3ae5
GM
94732000-01-03 Gerd Moellmann <gerd@gnu.org>
9474
9475 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
9476 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
9477
9478 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
9479
c182a70f
EZ
94802000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
9481
9482 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
9483 need to test for MSDOS frames.
9484
24480d5b
EZ
94852000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
9486
9487 * dosfns.c (unspecified_colors): Remove.
9488 (msdos_stdcolor_idx): Use global variables unspecified_fg and
9489 unspecified_bg.
9490 (msdos_stdcolor_name): Return strings for unspecified fore- and
9491 back-ground colors.
9492
9493 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 9494 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
9495 (tty_color_name): Return Lisp strings for unspecified fore- and
9496 back-ground colors.
9497 (Finternal_set_lisp_face_attribute): Remove the special treatment
9498 for Qunspecified_{f,b}g.
9499 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
9500 string.
9501
047f434a
GM
95022000-01-03 Gerd Moellmann <gerd@gnu.org>
9503
9504 * xdisp.c (reseat_at_next_visible_line_start): Position before
9505 newline only if ending up on a newline.
9506 (next_element_from_ellipsis): Return success. Handle case of
9507 displaying no ellipsis. Fix case of ellipsis defined in display
9508 table.
9509 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
9510 returns 0.
9511
d684c676
EZ
95122000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
9513
9514 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
9515 (Fcolor_supported_p): Renamed from face-color-supported-p.
9516
5fe1d139
EZ
95172000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
9518
9519 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
9520 list of colors renamed to tty-defined-color-alist.
9521 (tty_color_name): Pass the frame to tty-color-by-index.
9522 (realize_tty_face): tty-color-alist is now a function which
9523 accepts the frame as argument.
9524
9525 * term.c (Ftty_display_color_p): Accept an optional argument
9526 FRAME.
9527
816be8b8
EZ
95282000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
9529
9530 * term.c (insert_glyphs): Pass glyph, not &glyph, to
9531 encode_terminal_code.
9532
b635321e
EZ
95332000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
9534
9535 * dispnew.c (mode_line_string): Support termcap frames as well.
9536
9b784e96
GM
95372000-01-01 Gerd Moellmann <gerd@gnu.org>
9538
27189709
GM
9539 * syntax.c (Fforward_word): Undo previous change.
9540
9541 * editfns.c (Fconstrain_to_field): Don't constrain if
9542 inhibit-field-text-motion is non-nil.
9543 (Fline_beginning_position): Undo previous change.
9544 (Fline_end_position): Ditto.
9545
9546 * syntax.c (Fforward_word): Notice field boundaries only if
9547 inhibit-field-text-motion is nil.
9548
9549 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
9550
9551 * editfns.c (Vinhibit_field_text_motion): New variable.
9552 (inhibit-field-text-motion): New DEFVAR_LISP.
9553 (Fline_beginning_position, Fline_end_position): Notice field
9554 boundaries only if inhibit-field-text-motion is nil.
9555
45158a91
GM
9556 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
9557 All calls adjusted.
9558 (x_build_heuristic_mask): Likewise.
9559 (xbm_load_image_from_file): Change error output.
9560 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
9561 (gif_load, gs_load, x_kill_gs_process): Ditto.
9562
9b784e96
GM
9563 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
9564 color indices when accessing raster pixels.
63cec32f
GM
9565 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
9566 one of :file or :data.
9567 (enum pbm_keyword_index): Add PBM_DATA.
9568 (pbm_format): Add :data.
9569 (pbm_image_p): Allow either :file or :data.
9570 (pbm_read_file): New function.
9571 (pbm_scan_number): Rewritten to read from string.
9572 (pbm_load): Support :data.
9b784e96 9573
2cb085db 9574See ChangeLog.8 for earlier changes.
6922b018
KH
9575
9576;; Local Variables:
49b3bd82 9577;; coding: iso-2022-7bit
6922b018 9578;; End: