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