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