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