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