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