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