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