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