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