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