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