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