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