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