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