(quail-cxterm-package-ext-info):
[bpt/emacs.git] / src / ChangeLog
CommitLineData
6c145d35
EZ
12001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
2
6a65b1b5
EZ
3 * frame.c (Fframe_list): Don't reference tip_frame if
4 HAVE_WINDOW_SYSTEM is not defined.
5
6c145d35
EZ
6 * emacs.c (main): Update the copyright year. From Werner LEMBERG
7 <wl@gnu.org>.
8
d74c1900
GM
92001-03-25 Gerd Moellmann <gerd@gnu.org>
10
20fbd925
GM
11 * xdisp.c (init_from_display_pos): Test invisible property
12 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
13
927c5b3b
GM
14 * xdisp.c (redisplay_internal) <update one window>: Make sure
15 last_arrow_position and last_arrow_string are set.
16
d74c1900
GM
17 * frame.c (Fframe_list): Don't return a tooltip frame.
18
091f8878
GM
192001-03-23 Gerd Moellmann <gerd@gnu.org>
20
43c09969
GM
21 * xdisp.c (mark_window_display_accurate_1): New function,
22 extracted from mark_window_display_accurate. Compute
23 BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
24 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
25 (mark_window_display_accurate): Use it.
26 (redisplay_internal): Use it for the selected window.
27 (redisplay_internal): Avoid duplicate mark_window_display_accurate
28 for the selected frame.
29
ac90c44f
GM
30 * xdisp.c Use make_number, for readability.
31 (try_window_id): Disable rows below the window end.
32 (try_window_reusing_current_matrix): Use cursor_row_p.
33 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
34 of rows.
35 (init_from_display_pos): If POS specifies a position in a display
36 vector, maybe get the iterator set up for that ellipsis.
43c09969 37
091f8878
GM
38 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
39
991786dd
EZ
402001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
41
42 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
43
6c29b43c
GM
442001-03-23 Gerd Moellmann <gerd@gnu.org>
45
46 * xfaces.c (x_update_menu_appearance): Use a different path
47 for Lucid popup menus.
48
d8731202
SM
492001-03-22 Stefan Monnier <monnier@cs.yale.edu>
50
51 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
52
53 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
54 (string_buffer_position): Use `make_number'.
55
f61a541b
GM
562001-03-22 Gerd Moellmann <gerd@gnu.org>
57
3c9e997b
GM
58 * xfaces.c (x_update_menu_appearance): Renamed from
59 x_set_menu_face_resources. Use different resources for popups.
60
61 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
62 (GC_CHECK_STRING_BYTES): Don't define.
63
364cd450
GM
64 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
65 Removed, together with subroutines.
66 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 67 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 68
d8731202
SM
69 * dispextern.h (x_set_menu_resources_from_menu_face):
70 Remove prototype.
364cd450 71
d8731202 72 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
73 Remove calls to x_set_menu_resources_from_menu_face.
74
d8731202
SM
75 * xfaces.c (xm_set_menu_resources_from_menu_face):
76 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
77
78 * xmenu.c: Include widget.h.
79 (single_submenu): Return int. Some cleanup.
80 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
81
140330de
GM
822001-03-21 Gerd Moellmann <gerd@gnu.org>
83
84 * xterm.c (x_update_window_end): Handle overwritten mouse face
85 also for tool bar windows.
86 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
87 DRAW is DRAW_IMAGE_RAISED.
88
1741905c
GM
892001-03-20 Gerd Moellmann <gerd@gnu.org>
90
fa88947e
GM
91 * print.c (syms_of_print): Doc fixes.
92
1741905c
GM
93 * fns.c (Fmd5): Doc fix.
94
ade0bee1
GM
952001-03-19 Gerd Moellmann <gerd@gnu.org>
96
357e7376
GM
97 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
98 Clear area of the frame not occupied by the scroll bar.
99
c2c097cc
GM
100 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
101 tip frame's root window buffer to *tip* right after creating
102 the frame.
103
ade0bee1
GM
104 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
105 is an integer don't have to be for space characters.
106
88c6e37e
GM
1072001-03-16 Gerd Moellmann <gerd@gnu.org>
108
109 * indent.c (current_column, current_column_1, Fmove_to_column)
110 (compute_motion): Handle characters from display vectors
111 differently.
112
c62eed76
KH
1132001-03-15 Kenichi Handa <handa@etl.go.jp>
114
115 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
116 drawing glyph string.
117
c899e7e6
GM
1182001-03-15 Gerd Moellmann <gerd@gnu.org>
119
d0bbfc99
GM
120 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
121 (command_loop_1): Undo last change.
122
03d1a189
GM
123 * xterm.c (fast_find_position): Return the correct vpos.
124
c899e7e6
GM
125 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
126 non-null, set a per-buffer value in BUF instead of the current
127 buffer.
128 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
129 Call store_symval_forwarding with BUF null.
130 (set_internal): Call store_symval_forwarding with the BUF
131 parameter passed to set_internal. Formerly, the value was always
132 set in the current buffer; the buffer recorded in specbind for
133 this case wasn't used.
134 (arith_driver): Reindent.
135
136 * buffer.c (swap_out_buffer_local_variables): Call
137 store_symval_forwarding with BUF null.
138
139 * lisp.h (store_symval_forwarding): Change prototype.
140
141 * eval.c (specbind): Call store_symval_forwarding with BUF null.
142
57ac7c81
GM
1432001-03-14 Gerd Moellmann <gerd@gnu.org>
144
697617d9
GM
145 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
146 FOR_DELETION. Avoid resizing the mini-window of the selected
147 frame if FOR_DELETION is set.
148 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
149 (Fmake_frame_invisible): Change calls to do_switch_frame for new
150 signature.
151
152 * window.c (Fset_window_configuration): Change call to
153 do_switch_frame to new format.
154
155 * keyboard.c (quit_throw_to_read_char): Change call to
156 do_switch_frame to new format.
157
158 * lisp.h (do_switch_frame): Change prototype.
159
819dce0f
GM
160 * frame.c (Fframe_parameters): In the `buffer-list' frame
161 parameter, store the buffer list of FRAME, not the list of the
162 selected frame.
163
57ac7c81
GM
164 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
165 box just because the glyph row's full_width_p flag is set.
166
65008712
GM
1672001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
168
169 * xdisp.c (highlight_trailing_whitespace): On character terminals,
170 skip the padding blanks inserted in extend_face_to_end_of_line,
171 before checking for trailing whitespace.
172
159cf431
GM
1732001-03-13 Gerd Moellmann <gerd@gnu.org>
174
19b2bb80
GM
175 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
176 Remove special handling for LessTif/Motif.
177 (toplevel): Don't include Xm/Xm.h.
178
afcdc0a1
GM
179 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>: Remove
180 workaround code for LessTif; it doesn't work anymore.
181
2564ea1b 182 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 183 Xm/ScrollBarP.h.
afcdc0a1 184
23442ae4
GM
185 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Don't
186 access private scroll bar data; it's no longer necessary with
187 contemporary LessTif.
188
9faaaa52
GM
189 * xfaces.c (xm_set_menu_resources_from_menu_face): Change
190 #if 0 to #ifndef LESSTIF_VERSION.
191
159cf431
GM
192 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
193 removing button grabs.
194
c6f7429a
KH
1952001-03-13 Kenichi Handa <handa@etl.go.jp>
196
cb82d767
KH
197 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
198 and clip-large-size-font as obsolete.
199
c6f7429a
KH
200 * lread.c (read_multibyte): Check the validity of multibyte
201 sequence. If invalid, return the first byte.
202
760cefb5
GM
2032001-03-12 Gerd Moellmann <gerd@gnu.org>
204
205 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
206 before running the command; timer functions or process
207 filters may have set it.
208
5141f9d0
EZ
2092001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
210
211 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
212 Doc fix.
213
b6a15240
GM
2142001-03-12 Gerd Moellmann <gerd@gnu.org>
215
216 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
217 to sprintf.
218
95522746
GM
2192001-03-09 Gerd Moellmann <gerd@gnu.org>
220
db14cfc5
GM
221 * dispextern.h (string_buffer_position): Add prototype.
222
223 * xdisp.c (string_buffer_position, display_prop_string_p)
224 (single_display_prop_string_p): New functions.
225
226 * xterm.c (note_mouse_highlight): If there's no help-echo on
227 a string, look at the buffer text ``under'' it.
228
229 * keyboard.c (make_lispy_event): Add string info to the event,
230 analogous to what's done on mode lines.
231 (read_key_sequence): For a click on a string, consider `local-map'
232 and `keymap' of that string.
233
3cfd8357
GM
234 * keyboard.c (make_lispy_event, make_lispy_movement): Adjust
235 calls to buffer_posn_from_coords to new format.
236
237 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
238
239 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
240 POS; return void.
241
95522746
GM
242 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
243 flags argument to emacs_open; it seems to conflict with O_EXCL.
244
898a399d
KH
2452001-03-09 Kenichi Handa <handa@etl.go.jp>
246
28cd4910
KH
247 * composite.h (struct composition): Change types of members;
248 glyph_len to unsigned, width to unsigned short.
898a399d 249
4cdf6a6c
AI
2502001-03-08 Andrew Innes <andrewi@gnu.org>
251
252 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
253 menu titles.
254
129004d3
GM
2552001-03-08 Gerd Moellmann <gerd@gnu.org>
256
221dd3e7
GM
257 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
258 instead of nil.
259
5de7c6f2
GM
260 * xterm.c (note_mouse_highlight): Handle mouse-face and
261 help-echo in strings.
262 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
263 (fast_find_string_pos): New function.
264
265 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
266 (display_string): Call face_at_string_position with new
267 parameter.
268
269 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
270 Handle `mouse-face'.
271
272 * dispextern.h (face_at_string_position): Change prototype.
273
e1fbabaf
GM
274 * dired.c (directory_files_internal): Handle EAGAIN more
275 efficiently.
276
129004d3
GM
277 * keyboard.c (make_lispy_event): Avoid generating drag events
278 if the mouse hasn't actually moved to another buffer position.
279
80c8ab8c
DL
2802001-03-08 Dave Love <fx@gnu.org>
281
129004d3 282 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 283
989521fd
GM
2842001-03-08 Gerd Moellmann <gerd@gnu.org>
285
286 * process.c (Fset_process_window_size): Fix a typo.
287
bb5c338d
KH
2882001-03-08 Kenichi Handa <handa@etl.go.jp>
289
290 * coding.c (detect_coding_sjis): Do more rigid check.
291 (detect_coding_big5): Likewise.
292 (decode_coding_sjis_big5): Likewise.
293 (Fdetect_coding_region): Call detect_coding_system with tailing
294 anchor byte `\0' for more rigid detection.
a1b12fe9
KH
295 (detect_coding_mask): Fix the incorrect handling of arg
296 MULTIBYTEP.
bb5c338d
KH
297 (Fdetect_coding_string): Likewise.
298
8b8f9197
SM
2992001-03-07 Stefan Monnier <monnier@cs.yale.edu>
300
301 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
302 a string before extracting its data.
303
3bdf2660
GM
3042001-03-07 Gerd Moellmann <gerd@gnu.org>
305
306 * window.c (Frecenter): Rewrite code handling negative values
307 of ARG on graphical frames.
308
3092001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
310
311 * window.c (displayed_window_lines): If W->start is outside the
312 accessible portion of the buffer, call start_display with BEGV or
313 ZV instead of W->start.
314
471f86b9
GM
3152001-03-07 Gerd Moellmann <gerd@gnu.org>
316
2ab62c6c
GM
317 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
318
471f86b9
GM
319 * process.c (Fset_process_filter): Don't crash if the input
320 file descriptor of PROCESS is closed.
321 (Fset_process_window_size): Likewise.
322
101922c3
GM
3232001-03-06 Kenichi Handa <handa@etl.go.jp>
324
325 * xterm.c (XTflash): Make the timeout of select shorter, and call
326 select repeatedly until the desired time expires.
327
45d051a7
GM
3282001-03-06 Gerd Moellmann <gerd@gnu.org>
329
330 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
331
332 * xfns.c (Fx_create_frame): Clear Vwindow_list.
333
334 * lisp.h (Vwindow_list): Declare extern.
335
8f372c46
EZ
3362001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
337
338 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
339
f16a7aa5
GM
3402001-03-06 Gerd Moellmann <gerd@gnu.org>
341
157ae273
GM
342 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
343 to detect a case where we have to highlight a different region
344 despite not having left the currently highlighted region.
345 Set mouse_face_overlay in the x_display_info.
45d051a7 346 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
347
348 * xterm.h (struct x_display_info): Add mouse_face_overlay.
349
350 * buffer.c (mouse_face_overlay_overlaps): New function.
351
352 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
353 (Qmouse_face): Declare extern.
354
f16a7aa5
GM
355 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
356 if face_change_count is non-zero.
357
827afcac
KH
3582001-03-06 Kenichi Handa <handa@etl.go.jp>
359
360 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
361 that the source is unibyte.
362
14c7242e
DL
3632001-03-05 Dave Love <fx@gnu.org>
364
827afcac 365 * xterm.c (XTmouse_position): Fix typo.
14c7242e 366
c28b847b
GM
3672001-03-05 Gerd Moellmann <gerd@gnu.org>
368
369 * minibuf.c (read_minibuf): Clean up the binding stack if
370 called noninteractively.
371
b86644f2
KH
3722001-03-05 Kenichi Handa <handa@etl.go.jp>
373
374 * coding.c (syms_of_coding): Docstring modified.
375
203682cc 3762001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
377
378 * charset.c (char_to_string): If a single byte char has modifier
379 bits that can't be reflected to the character code, ignore them
45d051a7 380 instead of signaling an error.
b86644f2 381
e30bd7b7
EZ
3822001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
383
384 * s/msdos.h: Update copyright notice.
385
386 * dosfns.h: Update copyright notice.
387
388 * dosfns.c: Update copyright notice.
389
390 * msdos.c: Update copyright notice.
391
b52b65bd
GM
3922001-03-02 Gerd Moellmann <gerd@gnu.org>
393
394 * xterm.c (glyph_rect): New function.
395 (XTmouse_position): Use it to raise the threshold for mouse
396 movement event generation.
397
53c4b1e6
EZ
3982001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
399
400 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
401 specifies (reverse . t), reverse the initial screen colors.
402 (IT_set_frame_parameters): If the property is foreground-color,
403 but we are reversing the colors, set bg_set, not fg_set. Likewise
404 for setting background-color and reversing: set fg_set. Set
405 unspecified-fg and unspecified-bg correctly when (reverse . t) is
406 in effect.
407
408 * xfaces.c (Finternal_set_lisp_face_attribute)
409 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
410 parameters alist.
411
f964b4d7
GM
4122001-03-02 Gerd Moellmann <gerd@gnu.org>
413
ef53d75e
GM
414 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
415 to a single slash in the middle of file names.
416
cda0f4da
GM
417 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
418 Accept only alphanumeric time zone names.
419
f964b4d7
GM
420 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
421 or width area.
422 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
423 a widget to zero height.
424
c3c45f65
GM
4252001-03-01 Gerd Moellmann <gerd@gnu.org>
426
427 * window.c (Fwindow_end): Call move_it_past_eol only if
428 ending up on a partially visible line.
429
028d739a
DL
4302001-03-01 Dave Love <fx@gnu.org>
431
432 * ccl.c (Fccl_execute): Doc fix.
433
57c5889c
GM
4342001-03-01 Gerd Moellmann <gerd@gnu.org>
435
35f59f6b
GM
436 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
437 of the tool bar before calling x_figure_window_size.
438
f84ff02c
GM
439 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
440 NULL after destroying it, otherwise XTread_socket can access a
441 destroyed widget when input is unblocked.
442
8b8f9197 443 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
420f628c 444
57c5889c
GM
445 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
446 same name as before, although there was a change in fontsets.
447
224227d1
KR
4482001-02-28 Ken Raeburn <raeburn@gnu.org>
449
4560730a
KR
450 * lisp.h (Fframe_parameter): Declare.
451
224227d1 452 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 453 Lisp_Object.
224227d1 454
ece93c02
GM
4552001-02-28 Gerd Moellmann <gerd@gnu.org>
456
11ef99b9
GM
457 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
458 NULL instead.
459
460 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
461 NULL instead.
462
ece93c02
GM
463 * alloc.c (toplevel): Include process.h.
464 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
465 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
466 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
467 (allocate_vector, allocate_hash_table, allocate_window)
468 (allocate_frame, allocate_process, allocate_other_vector): New
469 functions.
470 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
471 (mark_maybe_pointer): New function.
472 (mark_memory): Also mark Lisp data to which only pointers
473 remain and not Lisp_Objects.
474 (min_heap_address, max_heap_address): New variables.
475 (mem_find): Return MEM_NIL if START is below min_heap_address or
476 above max_heap_address.
477 (mem_insert): Compute min_heap_address and max_heap_address.
478
479 * process.c (make_process): Use allocate_process.
480
481 * frame.c (make_frame): Use allocate_frame.
482
483 * window.c (make_window, make_dummy_parent): Use allocate_window.
484 (Fcurrent_window_configuration): Use allocate_other_vector.
485
486 * lisp.h (allocate_vectorlike): Remove prototype.
487 (allocate_vector, allocate_other_vector, allocate_frame)
488 (allocate_window, allocate_process, allocate_hash_table):
489 Add prototypes.
490
491 * fns.c (Fdelete, larger_vector): Use allocate_vector.
492 (make_hash_table, copy_hash_table): Use allocate_hash_table.
493
063af457
KH
4942001-02-27 Kenichi Handa <handa@etl.go.jp>
495
496 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
497 treat the produced bytes as a valid multibyte sequence.
498
499 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
500 (ccl_driver) <CCL_WriteMultibyteChar2>: Use
501 CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
502 <ccl_finish>: Set ccl->eight_bit_control properly.
503
504 * ccl.h (struct ccl_program): New member eight_bit_control.
505
f58c6494
SM
5062001-02-26 Stefan Monnier <monnier@cs.yale.edu>
507
508 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
509 accessible_keymaps_char_table.
510 (accessible_keymaps_char_table): Obey `is_metized'.
511 (where_is_internal, Fwhere_is_internal): Don't confuse int and
512 Lisp_Object.
513
c596c392
GM
5142001-02-26 Gerd Moellmann <gerd@gnu.org>
515
516 * dispnew.c: Check HAVE_TERM_H before including term.h.
517
425de386
AI
5182001-02-24 Andrew Innes <andrewi@gnu.org>
519
520 * makefile.w32-in: Update copyright notice.
521
2ba11bbd
SM
5222001-02-24 Stefan Monnier <monnier@cs.yale.edu>
523
524 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
525
66c56ed1
KH
5262001-02-24 Kenichi Handa <handa@etl.go.jp>
527
4c1593ce
KH
528 * Makefile.in (lisp): Add international/utf-8.elc.
529
66c56ed1
KH
530 * fontset.c (Fnew_fontset): Fix handling of the case that an
531 element of FONTLIST is a cons of family and registry.
532
796ead7e
JR
5332001-02-23 Jason Rumney <jasonr@gnu.org>
534
535 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
536 to height unconditionally.
537
538 * w32term.c (x_set_glyph_string_background_width): Extend the
539 background face to the end of the drawing area in the text area,
540 only.
541 (x_insert_glyphs): Call window_box_left to obtain the left
542 x-coordinate of the area to shift.
543
544 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
545 safe_run_hooks.
546
f6839838
AI
5472001-02-22 Andrew Innes <andrewi@gnu.org>
548
549 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header
550 files.
551 ($(BLD)\dispnew.obj):
552 ($(BLD)\editfns.obj):
553 ($(BLD)\fileio.obj):
554 ($(BLD)\filelock.obj):
555 ($(BLD)\keyboard.obj):
556 ($(BLD)\w32proc.obj):
557 ($(BLD)\process.obj):
558 ($(BLD)\sysdep.obj): Ditto.
559
560 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
561 header files.
562 ($(BLD)/dispnew.$(O)):
563 ($(BLD)/editfns.$(O)):
564 ($(BLD)/fileio.$(O)):
565 ($(BLD)/filelock.$(O)):
566 ($(BLD)/keyboard.$(O)):
567 ($(BLD)/w32proc.$(O)):
568 ($(BLD)/process.$(O)):
569 ($(BLD)/sysdep.$(O)): Ditto.
570
c224f70b
GM
5712001-02-22 Gerd Moellmann <gerd@gnu.org>
572
51695746
GM
573 * xdisp.c (forward_to_next_line_start): When taking the shortcut
574 at the start of the function, check that the \n in it->c is
575 from the iterator's current position.
576
a61b7058
GM
577 * xdisp.c (handle_single_display_prop): Add parameter
578 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
579 properties which replace the display of text with something else.
580 (handle_display_prop): Call handle_single_display_prop with
581 additional argument saying if we already replaced text display
582 with something else. Use AREF.
583 (with_echo_area_buffer_unwind_data, display_menu_bar)
584 (decode_mode_spec_coding): Use AREF and ASIZE.
585
3473f362
GM
586 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
587 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
588 * vmstime.h: Files removed.
589
2bb58df3
GM
590 * unexencap.c, unexfx2800.c: Files removed.
591
c224f70b
GM
592 * dispnew.c (direct_output_for_insert): Give up if we are showing
593 a message or just cleared the message because we might need to
594 resize the echo area window or display an empty echo area.
595
ffc9ff0c
GM
5962001-02-21 Gerd Moellmann <gerd@gnu.org>
597
0528abe1
GM
598 * xdisp.c (redisplay_internal): Do the
599 mark_window_display_accurate after all windows have been
600 redisplayed because this call resets flags in buffers which are
601 needed for proper redisplay.
602
ffc9ff0c
GM
603 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c: Use
604 display_hourglass_p, start_hourglass, cancel_hourglass instead of
605 the old names.
606
607 * w32term.h (struct x_output): Rename busy_cursor to
608 hourglass_cursor, busy_window to hourglass_window, busy_p to
609 hourglass_p.
610
611 * msdos.h (struct x_output): Rename busy_window to
612 hourglass_window, busy_p to hourglass_p.
613
614 * xterm.h (struct x_output): Rename busy_cursor to
615 hourglass_cursor, busy_window to hourglass_window, busy_p to
616 hourglass_p.
617
618 * xfns.c: Rename everything containing *busy_cursor* and similar
619 to *hourglass*.
620 (syms_of_w32fns): Rename x-busy-pointer-shape to
621 x-hourglass-pointer-shape, display-busy-cursor to
622 display-hourglass, busy-cursor-delay to hourglass-delay.
623
624 * w32fns.c: Rename everything containing *busy_cursor* and similar
625 to *hourglass*.
626 (syms_of_w32fns): Rename x-busy-pointer-shape to
627 x-hourglass-pointer-shape, display-busy-cursor to
628 display-hourglass, busy-cursor-delay to hourglass-delay.
629
630 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
631 of its busy_p flag.
632
633 * dispextern.h (start_hourglass, cancel_hourglass)
634 (display_hourglass_p): Renamed from *busy_cursor*.
635
ab2c5f0a
GM
6362001-02-20 Gerd Moellmann <gerd@gnu.org>
637
d17e49a8
GM
638 * keyboard.c (read_char): When an event from unread-command-events
639 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
640
fa97adf6
GM
641 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
642 equal to the current buffer.
643
ab2c5f0a
GM
644 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
645 nil, otherwise we're left with truncate_lines t when a message
646 is printed with message-truncate-lines bound to t.
647
aeac019e
GM
6482001-02-19 Gerd Moellmann <gerd@gnu.org>
649
c8bc6f65
GM
650 * window.c (Fmove_to_window_line): Undo last change.
651 (displayed_window_lines): Call line_bottom_y to determine
652 the line's bottom position.
653
654 * dispextern.h (line_bottom_y): Add prototype.
655
656 * xdisp.c (line_bottom_y): New function extracted from
657 pos_visible_p.
658 (pos_visible_p): Use it.
659
980a2d69
GM
660 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
661 set redisplaying_p to 0 here instead of in Frecursive_edit.
662 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
663 set redisplaying_p.
664
184d2372
GM
665 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
666 New variables.
667 (syms_of_xdisp): Initialize new variables.
668 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
669 Specbind `inhibit-menubar-update' when updating the menu bar.
670
65048e97
GM
671 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
672 safe_run_hooks.
673
674 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
675 safe_run_hooks.
676
a57c4026
GM
677 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
678 is null.
679
aeac019e
GM
680 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
681 to the start of the file.
682
76846b31
GM
6832001-02-16 Gerd Moellmann <gerd@gnu.org>
684
f3f053f3 685 * window.c (set_window_buffer): Fix last change.
25237df5 686
f3f053f3
GM
687 * window.c (set_window_buffer): Set window's vscroll to 0.
688
dad75588
GM
689 * window.c (coordinates_in_window): Increase width of area
690 where the vertical line can be dragged.
691
c220b753
GM
692 * xterm.c (x_set_glyph_string_background_width): Extend the
693 background face to the end of the drawing area in the text
694 area, only.
695
c56b1c1b
GM
696 * xdisp.c (handle_single_display_prop): Set iterator's position
697 to where the `display' property starts, like for images.
698 (dump_glyph): New function.
699 (dump_glyph_row): Use it. Dump info about marginal areas.
700
701 * dispnew.c (direct_output_for_insert): Recognize more cases where
702 glyphs can be written instead of being inserted.
703
704 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
705 the left x-coordinate of the area to shift.
706
76846b31
GM
707 * dired.c (directory_files_internal): Set result list to nil
708 before retrying.
709
0fc71a77
KH
7102001-02-15 Kenichi Handa <handa@etl.go.jp>
711
712 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
713 invalid multibyte sequence, treat *SRC as a character of
714 eight-bit-graphic.
715
25078b54
EZ
7162001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
717
718 * textprop.c (Fset_text_properties): Doc fix.
719
8399f8a0
GM
7202001-02-15 Gerd Moellmann <gerd@gnu.org>
721
722 * dispnew.c (update_text_area): Undo change of 2001-01-12.
723
9a2a6f73
DL
7242001-02-14 Dave Love <fx@gnu.org>
725
726 * coding.c: Doc and message fixes.
727
bf853fee
AI
7282001-02-14 Andrew Innes <andrewi@gnu.org>
729
730 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
731 Emacs frame above the screen size.
732
78c663d8
GM
7332001-02-14 Gerd Moellmann <gerd@gnu.org>
734
735 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
736
7cc9f69f
GM
7372001-02-13 Gerd Moellmann <gerd@gnu.org>
738
0a411995
GM
739 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
740 case that TO ends up beyond ZV after running before-change-functions.
741
5ddc1b75
GM
742 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
743 the selected window if it is showing the buffer in question.
744
7cc9f69f
GM
745 * dired.c (directory_files_internal): Initialize errno.
746 (toplevel): Include errno.h.
747
2e6621ca
GM
7482001-02-13 Kenichi Handa <handa@etl.go.jp>
749
750 * xfaces.c (best_matching_font): New parameter width_ratio.
751 Multiply avgwidth by width_ratio.
752 (choose_face_font): Call best_matching_font with width_ratio
753 calculated from the column width of C.
754
60222d69
AI
7552001-02-12 Andrew Innes <andrewi@gnu.org>
756
757 The following changes are to draw box lines inside characters area
758 if line-width is negative.
759
760 * w32term.c (x_produce_image_glyph): Pay attention to the case that
761 face->box_line_width is negative.
762 (x_produce_stretch_glyph): Likewise.
763 (x_produce_glyphs): Likewise.
764 (x_estimate_mode_line_height): Likewise.
765 (x_draw_glyph_string_background): Likewise.
766 (x_draw_glyph_string_foreground): Likewise.
767 (x_draw_composite_glyph_string_foreground): Likewise.
768 (x_draw_glyph_string_box): Likewise.
769 (x_draw_image_foreground): Likewise.
770 (x_draw_image_relief): Likewise.
771 (x_draw_image_foreground_1): Likewise.
772 (x_draw_image_glyph_string): Likewise.
773
9804b846
KH
7742001-02-09 Kenichi Handa <handa@etl.go.jp>
775
776 The following changes are to draw box lines inside characters area
777 if line-width is negative.
778
779 * xterm.c (x_produce_image_glyph): Pay attention to the case that
780 face->box_line_width is negative.
781 (x_produce_stretch_glyph): Likewise.
782 (x_produce_glyphs): Likewise.
783 (x_estimate_mode_line_height): Likewise.
784 (x_draw_glyph_string_background): Likewise.
785 (x_draw_glyph_string_foreground): Likewise.
786 (x_draw_composite_glyph_string_foreground): Likewise.
787 (x_draw_glyph_string_box): Likewise.
788 (x_draw_image_foreground): Likewise.
789 (x_draw_image_relief): Likewise.
790 (x_draw_image_foreground_1): Likewise.
791 (x_draw_image_glyph_string): Likewise.
792
793 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
794 and :line-width can be negative.
795 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be
796 negative.
797
49be9f70
JR
7982001-02-09 Jason Rumney <jasonr@gnu.org>
799
800 * w32term.c (w32_encode_char): Treat eight bit graphic and control
801 characters the same as ASCII and latin-1.
802 (x_display_and_set_cursor): Check for the focus frame's selected
803 window instead of selected_window.
804 (x_after_update_window_line): Don't clear if frame's internal
805 border width is zero.
806 (x_new_font): Don't change a tooltip's size.
807 (w32_initialize): Set char_ins_del_ok to 1.
808
809 * w32fns.c (Fx_show_tip): Fix calls to make_number.
810 (x_set_font): If font hasn't changed, avoid recomputing
811 faces and other things.
812 (x_set_tool_bar_lines): Do nothing if frame is
813 minibuffer-only,
814 (Fx_create_frame): Add the tool bar height to the frame
815 height.
816 (x_create_tip_frame): Prevent changing the tooltip's
817 background color by specifying a color for the default font
818 in .Xdefaults.
819 (Qcancel_timer): New variable.
820 (syms_of_w32fns): Initialize and staticpro it.
821 (Fx_hide_tip, Fx_show_tip): Use it.
822 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
823 the timer.
824 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
825
826 * w32.c (init_environment): Duplicate local string before putenv.
827
555e35d2
SZ
8282001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
829
830 * charset.c (Fstring): A typo.
831
19c92c94
KH
8322001-02-09 Kenichi Handa <handa@etl.go.jp>
833
e47a1c33
KH
834 * charset.c (Fstring): If all arguments are less than 256, return
835 a unibyte string.
836
837 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
838 return a unibyte string.
839
19c92c94
KH
840 * coding.c (code_convert_region): After detecting a coding, if
841 nothing found, set coding->composing to COMPOSITION_NO.
842 (decode_coding_string): Likewise.
843
d8e675f5
SM
8442001-02-08 Stefan Monnier <monnier@cs.yale.edu>
845
846 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
847 to avoid overflow.
848
bd503487
KH
8492001-02-07 Kenichi Handa <handa@etl.go.jp>
850
851 * charset.c (parse_str_to_multibyte): New function.
852
853 * charset.h (parse_str_to_multibyte): Extern it.
854
855 * print.c (print_string): If we are going to print a unibyte
856 string into a multibyte buffer, convert the string to multibyte by
857 str_to_multibyte.
858
a8370d72
AI
8592001-02-06 Andrew Innes <andrewi@gnu.org>
860
861 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
862 been created. It seems we can get sent window messages such as
863 WM_ERASEBKGND before we properly update a frame.
864
c363a1d6
GM
8652001-02-06 Gerd Moellmann <gerd@gnu.org>
866
867 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
868 Avoid some unnecessary cursor positioning.
869
a08332c0
GM
8702001-02-05 Gerd Moellmann <gerd@gnu.org>
871
872 * xfaces.c (split_font_name): Compute numeric value of
873 XLFD_AVGWIDTH.
874 (LFACE_AVGWIDTH): New macro.
875 (LFACEP): Use AREF.
876 (check_lface_attrs): Check LFACE_AVGWIDTH.
877 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
878 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
879 (merge_face_vectors): Check LFACE_AVGWIDTH.
880 (Finternal_make_lisp_face): Use AREF.
881 (xm_set_menu_resources_from_menu_face)
882 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
883 (Finternal_lisp_face_empty_p): Use AREF.
884 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
885 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
886 Compare average widths..
887 (best_matching_font): Arrange for comparing average widths.
888
889 * dispextern.h (enum lface_attribute_index): Add
890 LFACE_AVGWIDTH_INDEX (invisible from Lisp).
891
5cb3c8d4
DL
8922001-02-05 Dave Love <fx@gnu.org>
893
894 * puresize.h: Revert last change following loadup.el change.
895
193fba87
AI
8962001-02-05 Andrew Innes <andrewi@gnu.org>
897
898 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
899 invocation of temacs, to work with Windows 2000.
900 (bootstrap-emacs): Ditto.
901
e16f52ce
GM
9022001-02-05 Gerd Moellmann <gerd@gnu.org>
903
7a58ab59
GM
904 * xterm.c (x_display_and_set_cursor): Check for the focus
905 frame's selected window instead of selected_window.
906
e89aaabd
GM
907 * xdisp.c (try_scrolling): If point is in the line below the
908 window, make sure to move the iterator at least a canonical
909 char height down.
910
e16f52ce
GM
911 * window.c (Fmove_to_window_line): Don't add 1 if window is
912 vscrolled.
913
789ce875
KH
9142001-02-05 Kenichi Handa <handa@etl.go.jp>
915
916 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not. If
917 invalid, execute CCL_INVALID_CMD.
918 (ccl_driver): If the CCL program is terminated because of
919 CCL_STAT_INVALID_CMD, copy the remaining source data to the
920 destination instead of throwing them away.
921
20b28f82
GM
9222001-02-02 Gerd Moellmann <gerd@gnu.org>
923
79fb38c0
GM
924 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
925 faces and other things.
926
20b28f82
GM
927 * xdisp.c (get_next_display_element): Fix case of empty
928 display table entry.
929
5a72551e
EZ
9302001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
931
eb24d0bf
EZ
932 * editfns.c (Fconstrain_to_field): Doc fix.
933
6a3f48c7
EZ
934 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
935 into `thoroughly', to make it consistent with the doc string.
936
5a72551e
EZ
937 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
938
01acdb05
GM
9392001-02-01 Gerd Moellmann <gerd@gnu.org>
940
0353b28f
GM
941 * search.c (search_buffer): Call set_search_regs with a byte
942 position, not a character position.
943
01acdb05
GM
944 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
945 minibuffer-only,
946
e86b5133
EZ
9472001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
948
949 * frame.c (Fmodify_frame_parameters): Doc fix.
950
7442878f
GM
9512001-01-31 Gerd Moellmann <gerd@gnu.org>
952
01acdb05
GM
953 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
954 identifier which is not reserved by Standard C.
955
7442878f
GM
956 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
957
958 * window.c (enum window_part): New enumeration.
959 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
960 Qright_bitmap_area.
961 (coordinates_in_window): Return an enumerator from enum
962 window_part. Fix handling of right scroll bar.
963 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
964 `right-fringe' instead of `left-bitmap-area' and
965 `right-bitmap-area'. Use enumerators from enum window_part
966 instead of hard-coded integers.
967 (check_window_containing, window_from_coordinates): Use
968 enumerators from enum window_part instead of hard-coded integers.
969 (syms_of_window): Replace Qleft_bitmap_area and
970 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
971
7c132cba
EZ
9722001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
973
974 * editfns.c (Fformat_time_string): Doc fix.
975
c359dd9e
SM
9762001-01-31 Stefan Monnier <monnier@cs.yale.edu>
977
978 * keymap.c (Fwhere_is_internal): Use the first valid binding
979 if no ascii binding is found (when firstonly is t).
980
ce070307
GM
9812001-01-31 Gerd Moellmann <gerd@gnu.org>
982
b4f30ec5
GM
983 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
984 instead of Finteractive_p.
985
986 * lisp.h (interactive_p): Add prototype.
987
988 * eval.c (interactive_p): New function.
989 (Finteractive_p): Use it.
990
ce070307
GM
991 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
992
f57b6e64
DL
9932001-01-31 Dave Love <fx@gnu.org>
994
d61c7afe
DL
995 * .gdbinit (hook-run): Define to run xreload.
996
f57b6e64
DL
997 * textprop.c (Fset_text_properties): Fix newline in doc string.
998
eef93f99
GM
9992001-01-30 Gerd Moellmann <gerd@gnu.org>
1000
1001 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp): Use
1002 DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
1003
1004 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
1005 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
1006 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1007
1008 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1009 height.
1010
d9c1f6f9
DL
10112001-01-30 Dave Love <fx@gnu.org>
1012
1013 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1014 AFTER_POTENTIAL_GC.
1015
e8f044a0
GM
10162001-01-29 Gerd Moellmann <gerd@gnu.org>
1017
1018 * bytecode.c (Fbyte_code) <Bcurrent_column>: Add
1019 BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
1020
8e1db7b3
EZ
10212001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1022
1023 * textprop.c (Fset_text_properties): Doc fix.
1024
4eefd9d2
GM
10252001-01-29 Gerd Moellmann <gerd@gnu.org>
1026
1027 * xdisp.c (forward_to_next_line_start): Remove xassert.
1028
fccb8288
EZ
10292001-01-29 Jason Rumney <jasonr@gnu.org>
1030
4eefd9d2 1031 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1032 returning without releasing it.
1033
76581eab
KH
10342001-01-29 Kenichi Handa <handa@etl.go.jp>
1035
1036 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1037 for '^', '$', and '\0'.
1038
83a96b4d
AC
10392001-01-28 Andrew Choi <akochoi@i-cable.com>
1040
5604ec34
AC
1041 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1042 regex for '^', '$', and '\0'.
1043
83a96b4d
AC
1044 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1045 only if current_sblock has been initialized.
1046
1047 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1048 terminal frame even if it is the only visible frame.
1049
c09a6440
KH
10502001-01-28 Kenichi Handa <handa@etl.go.jp>
1051
1052 * fontset.c (font_family_registry): Even if FONTNAME conform to
1053 XLFD, if it specifies other fields than family and registry,
1054 return FONTANME. New argument FORCE if nonzero cancel that
1055 feature.
1056 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
1057 a signle byte character. Don't set FAMILY part to nil here. It
1058 is handled by the caller choose_face_font.
1059 (Fnew_fontset): Call font_family_registry with FORCE 0.
1060 (Fset_fontset_font): Likewise.
1061
4dcd74e6
GM
10622001-01-27 Gerd Moellmann <gerd@gnu.org>
1063
1064 * xdisp.c (display_line): Don't treat a newline as fitting
1065 on the line.
1066
d2906bf8
GM
10672001-01-26 Gerd Moellmann <gerd@gnu.org>
1068
0130fe1a
GM
1069 * window.c (size_window): Set the window's orig_top to nil when
1070 changing heights, so that a future shrink_mini_window won't
1071 restore a bogus height.
1072
550f0e6a
GM
1073 * frame.c (do_switch_frame): If selected frame has a mini-window,
1074 resize that to exact size.
1075
b7b20fbd
GM
1076 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1077
a47b7816
GM
1078 * xdisp.c (display_line): Simplify check for glyphs fitting
1079 entirely in the line.
1080
d2906bf8
GM
1081 * xfns.c (xic_style): New variable.
1082 (create_frame_xic): Move static variable to global scope for
550f0e6a 1083 the case that `static' gets defined away.
d2906bf8 1084
73df2b1e
KH
10852001-01-26 Kenichi Handa <handa@etl.go.jp>
1086
1087 * coding.c (decode_coding): Set a flag for inhibiting
1088 inconsistent eol.
1089 (code_convert_region): Always set saved_coding_symbol.
1090 (decode_coding_string): Likewise. Update coding->symbol when we
1091 encounter a inconsistent eol by the same way as
1092 code_convert_region.
1093
6613cfc4
GM
10942001-01-25 Gerd Moellmann <gerd@gnu.org>
1095
c5e6e06b
GM
1096 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1097 XClearArea.
1098
1099 * xterm.c (x_after_update_window_line): Don't clear if frame's
1100 internal border width is zero.
1101 (x_clear_area): New function.
1102 (x_after_update_window_line, x_clear_end_of_line)
1103 (x_scroll_bar_create, x_scroll_bar_set_handle)
1104 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1105 instead of XClearArea.
1106
1107 * xterm.h (x_clear_area): Add prototype.
1108
6613cfc4
GM
1109 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1110 which doesn't seem necessary anymore with Lesstif 0.92.
1111
650cc6cc
DL
11122001-01-25 Dave Love <fx@gnu.org>
1113
34ac3367
DL
1114 * puresize.h (BASE_PURESIZE): Up to 720000.
1115
650cc6cc
DL
1116 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1117
5e37dc22
GM
11182001-01-25 Gerd Moellmann <gerd@gnu.org>
1119
e1e441f9
GM
1120 * xdisp.c (echo_area_display): Don't call redisplay_internal
1121 when Emacs is shutting down. We can't run hooks etc. that
1122 would be necessary to do a redisplay.
1123
5e37dc22
GM
1124 * lread.c (read_integer): Use type EMACS_INT instead of int.
1125
0fb94c7f
EZ
11262001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1127
1128 * ccl.c (ccl_driver): Fix last change.
1129
e3778624
KH
11302001-01-25 Kenichi Handa <handa@etl.go.jp>
1131
1132 * ccl.h (sturct ccl_program): New member suppress_error.
1133
bb264518 1134 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1135 insert error message to the output.
1136 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1137
1138 * coding.h (struct coding_system): New member suppress_error.
1139
1140 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1141 (Fset_terminal_coding_system_internal): Set the member
1142 suppress_error to 1.
1143 (Fset_safe_terminal_coding_system_internal): Likewise.
1144
245ed2b1
SM
11452001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1146
1147 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1148 as if it was a `charset'.
1149
f9aaedb6
GM
11502001-01-24 Gerd Moellmann <gerd@gnu.org>
1151
1152 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1153 value in where_is_cache; the next lookup in the cache returns
1154 something bogus if we do.
1155
c3902c3e
EZ
11562001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1157
1158 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1159 if HAVE_WINDOW_SYSTEM isn't defined.
1160
3497f73e
GM
11612001-01-24 Gerd Moellmann <gerd@gnu.org>
1162
e7e41584
GM
1163 * fns.c (sweep_weak_table): Fix code taking items out of
1164 the hash collision chain. Some cleanup.
1165
3497f73e
GM
1166 * xterm.c (x_new_font): Don't change a tooltip's size.
1167
1168 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1169 background color by specifying a color for the default font
1170 in .Xdefaults.
1171
3d48e687
KH
11722001-01-24 Kenichi Handa <handa@etl.go.jp>
1173
96531b20
KH
1174 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1175 a workaround for SunOS 4's cc.
1176 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1177 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1178 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1179 statement.
3d48e687 1180
a30629d2
GM
11812001-01-23 Gerd Moellmann <gerd@gnu.org>
1182
1183 * xterm.c (x_set_window_size_1): New function extracted from
1184 x_set_window_size.
1185 (x_set_window_size): Use it.
1186 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1187 doesn't have a widget, like tooltips.
1188
5a43decf
EZ
11892001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1190
1191 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc
1192 fix.
1193
b0e98867
KH
11942001-01-23 Kenichi Handa <handa@etl.go.jp>
1195
1196 * fns.c (Fset_char_table_default): Fix to make sub char-table
1197 correctly.
1198
50606b4c
GM
11992001-01-22 Gerd Moellmann <gerd@gnu.org>
1200
cb2ddc53 1201 * xdisp.c (build_desired_tool_bar_string): Make sure we have
a30629d2 1202 a desired tool bar string, even if there are no tool bar
cb2ddc53
GM
1203 items.
1204
57c28064
GM
1205 * xdisp.c (Ftool_bar_lines_needed): New function.
1206 (syms_of_xdisp): Defsubr it.
1207
50606b4c
GM
1208 * editfns.c (Fformat): Don't extend text properties from arguments
1209 to padding chars in the result.
1210
2f169c38
EZ
12112001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1212
1213 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1214
0f32f023
AI
12152001-01-20 Andrew Innes <andrewi@gnu.org>
1216
1217 * w32term.c (w32_ring_bell): Only support visible bell on w32
1218 frames.
1219 (w32_initialize): Don't set term hooks that aren't actually needed
1220 in windowed mode.
1221
1222 * xfaces.c (realize_default_face):
1223 (realize_face):
1224 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1225
1226 * xdisp.c (handle_single_display_prop): Remove references to
1227 FRAME_W32_CONSOLE_P.
1228
1229 * dispnew.c (Fredraw_frame): Remove reference to
1230 FRAME_W32_CONSOLE_P.
1231
1232 * frame.h (output_method): Remove output_w32_console method.
1233 (FRAME_W32_CONSOLE_P): Remove macro.
1234
1235 * frame.c (Qw32_console): Remove variable.
1236 (Fframep): Remove references to it.
1237 (syms_of_frame): Ditto.
1238 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1239
1240 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1241 redefinition.
1242
7173eada
KH
12432001-01-20 Kenichi Handa <handa@etl.go.jp>
1244
1245 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1246
755b45ce
AI
12472001-01-19 Andrew Innes <andrewi@gnu.org>
1248
1249 * w32.c (init_environment): Add a version-independent site-lisp
1250 directory to EMACSLOADPATH, after the version dependent one.
1251
0a949811
GM
12522001-01-19 Gerd Moellmann <gerd@gnu.org>
1253
8501998a
GM
1254 * editfns.c (Fbuffer_substring): Doc fix.
1255
0a949811
GM
1256 * xdisp.c (message_dolog, message2, message2_nolog): Rename
1257 parameter LEN to NBYTES.
1258
e6ebcbbe
KH
12592001-01-19 Kenichi Handa <handa@etl.go.jp>
1260
200ecca2
KH
1261 * charset.c (strwidth): Use c_string_width.
1262 (c_string_width): New function.
1263 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1264 Caller changed.
1265
1266 * charset.h (c_string_width, lisp_string_width): Extern them.
1267
1268 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
1269
e6ebcbbe
KH
1270 * indent.c (check_composition): Check validity of composition.
1271
200ecca2
KH
1272 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1273 characters by calling c_string_width.
1274 (x_consider_frame_title): Get byte length of frame tile string
1275 correctly.
1276 (display_mode_element): Pay attention to width of non-ASCII
1277 characters by calling strwidth.
1278
8692ca92
GM
12792001-01-18 Gerd Moellmann <gerd@gnu.org>
1280
8962e303
GM
1281 * xfns.c (Qcancel_timer): New variable.
1282 (syms_of_xfns): Initialize and staticpro it.
1283 (Fx_hide_tip, Fx_show_tip): Use it.
1284 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1285 the timer.
1286 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1287
91523be9
GM
1288 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1289
1290 * window.h (WINDOW_LIVE_P): New macro.
1291
b0b7ed0e
GM
1292 * window.c (window_size_fixed): New variable.
1293 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1294 the doc string.
1295
06bccf8e
GM
1296 * eval.c (specbind): If binding a per-buffer variable which
1297 doesn't have a buffer-local value in the current buffer, change
1298 the global value by changing the value of the symbol bound in all
1299 buffers not having their own value, to make it consistent with
1300 what happens with other buffer-local variables.
1301
8692ca92
GM
1302 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1303
1304 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1305 when searching for a newline.
1306
bb3a3b50
KH
13072001-01-18 Kenichi Handa <handa@etl.go.jp>
1308
1309 * xdisp.c (display_string): Fix previous change.
1310
c2cc16fa
JR
13112001-01-18 Jason Rumney <jasonr@gnu.org>
1312
1313 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1314 GLYPH_DEBUG is defined.
1315 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1316 true for images with `:ascent 100'.
1317 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1318 meantime, use face MOUSE_FACE_ID.
1319 If first glyph isn't a character glyph, use the ASCII NUL
1320 character to determine the face.
1321 (expose_area): Do not treat left margin specially.
1322 (note_mode_line_highlight): If no local_map, check global keymap.
1323 (note_mouse_highlight): Initialize overlay.
1324 (clear_mouse_face): Don't return if tip_frame is
1325 non-nil.
1326 (show_scroll_bars): Remove unused function.
1327 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1328 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1329 Clip to row.
1330 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be
1331 nil.
1332 (x_free_frame_resources): Unload relief colors.
1333
9c11f79e
GM
13342001-01-17 Gerd Moellmann <gerd@gnu.org>
1335
3aec8722
GM
1336 * xdisp.c (forward_to_next_line_start): Avoid calling
1337 get_next_display_element when the newline is already found. This
1338 may change the iterator's position, when its current position is
1339 equal to the iterator's stop_charpos.
1340
f3ffc2c3
GM
1341 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1342 zero, use this method only at the end of a line.
1343
a86110a8
GM
1344 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
1345 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1346 if SCALABLE_FONTS_P is set.
1347
d26d6fd9
GM
1348 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1349 so that scalable fonts are included.
1350
9c11f79e
GM
1351 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1352 In the cache, use a key containing the information if scalable
1353 fonts are included.
1354 (x_load_font): Adapt to change of keys in the font cache.
1355
13562001-01-17 Kim F. Storm <storm@filanet.dk>
1357
d26d6fd9
GM
1358 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1359 XListFonts to take advantage of font caching.
1360
9c11f79e
GM
1361 * xterm.c (x_list_fonts): Ensure caching font information when
1362 called for a null frame, which is the case frequently when Emacs
1363 starts.
1364
51446987
GM
13652001-01-17 Gerd Moellmann <gerd@gnu.org>
1366
f864120f
GM
1367 * xfns.c (QCconversion): Replaces QCalgorithm.
1368
1369 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1370
1371 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1372 of :algorithm.
1373
e37d1417
GM
1374 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1375 not everything could be displayed.
1376
51446987
GM
1377 * line.h, x-list-font.c: Files removed because unused.
1378
9ad4f3e5
AI
13792001-01-17 Andrew Innes <andrewi@gnu.org>
1380
1381 * dired.c (directory_files_internal): Convert result from readdir
1382 to a unibyte string initially, to avoid possible misinterpretation
1383 of some bytes as the internal form of Emacs characters.
1384
2eda09b5
KH
13852001-01-17 Kenichi Handa <handa@etl.go.jp>
1386
1387 * fns.c (concat): Be sure to avoid putting the same `composition'
1388 property on the adjacent regions.
1389
826f3788
GM
13902001-01-16 Gerd Moellmann <gerd@gnu.org>
1391
f251459d
GM
1392 * window.c (Fset_window_hscroll): Don't set window's min_hscroll
1393 here.
1394 (Fscroll_right, Fscroll_left): Set it here instead, if called
1395 interactively.
1396
d57b83b3
GM
1397 * buffer.c (Fset_buffer_modified_p): Set buffer's
1398 prevent_redisplay_optimizations_p flag.
1399
826f3788
GM
1400 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
1401 * sysdep.c, vmsproc.c, xselect.c: Call
1402 redisplay_preserve_echo_area with additional arg.
1403
1404 * dispextern.h, lisp.h (redisplay_preserve_echo_area): Change
1405 prototype.
1406
1407 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1408 FROM_WHERE, for debugging.
1409
261d788b
KH
14102001-01-16 Kenichi Handa <handa@etl.go.jp>
1411
1412 * ccl.c (Fregister_ccl_program): Handle the return value of
1413 resolve_symbol_ccl_program correctly.
bda6b481
KH
1414 (CCL_Extension): Fix typo (originally CCL_Extention). Caller
1415 changed.
261d788b 1416
bccee4f2
GM
14172001-01-15 Gerd Moellmann <gerd@gnu.org>
1418
e4ded23c
GM
1419 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1420 has gone in the meantime, use face MOUSE_FACE_ID.
1421
ae24cb3b
GM
1422 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: If
1423 x_display_info_for_display returns null, don't try to close
1424 the display; we didn't open it.
1425
bccee4f2
GM
1426 * dispnew.c (save_or_restore_current_matrices): Function removed.
1427 (save_current_matrix, restore_current_matrix): New functions.
1428 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1429 restore the frame's current matrix. Due to the glyph pointer
1430 setup done in adjust_glyph_matrix, there is no easy way to make
1431 saving the current matrix in the desired matrix generally correct,
1432 so don't try it.
1433
ebeccffa
KH
14342001-01-15 Kenichi Handa <handa@etl.go.jp>
1435
1436 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1437 truncation glyphs.
1438 (display_line): Optimize for wide characters.
e4ded23c 1439 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1440 partially. On ttys, produce more than one truncation glyph for
1441 multi-column characters that don't fit on the line.
1442
64388126
KH
14432001-01-13 Kenichi Handa <handa@etl.go.jp>
1444
1445 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]: Define
1446 it instead of WORDS_BIGENDIAN. Caller changed.
1447
8edb0a6f
JR
14482001-01-13 Jason Rumney <jasonr@gnu.org>
1449
1450 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1451 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
1452 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1453 (tiff_format, gif_format, gs_format): Adapt to change of image
1454 margins.
1455
1456 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1457 (x_draw_image_relief, x_draw_image_foreground_1)
1458 (x_draw_image_glyph_string): Adapt to change of image margins.
1459
1460 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1461 variables.
1462
1463 * w32bdf.c (search_file_line, get_cached_font_char)
1464 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1465
1466 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1467
1468 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1469 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1470 (Fw32_send_sys_command): Remove unused variables.
1471 (w32_msg_pump): Add parentheses.
1472
1473 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1474 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1475 Add parentheses.
1476
4956d1ef
GM
14772001-01-12 Gerd Moellmann <gerd@gnu.org>
1478
b30623be
GM
1479 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1480 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1481 being a pair of margins.
1482 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1483 to DEFVAR_LISP. Extend doc.
1484
1485 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1486 margins.
1487 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1488 pair of integers `(X . Y)', use X for the horizontal and Y for the
1489 vertical margin.
1490 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1491 (parse_image_spec): Check it.
1492 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1493 (tiff_format, gif_format, gs_format): Use
1494 IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
1495
1496 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1497 (x_draw_image_relief, x_draw_image_foreground_1)
1498 (x_draw_image_glyph_string): Adapt to the change of image margins.
1499
1500 * dispextern.h (struct image): Replace member `margin' with
1501 `hmargin' and `vmargin'.
1502
4554cc79
GM
1503 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1504 and GLYPHS.
1505
1506 * dispnew.c (update_text_area): Put code which decrements the
1507 stop position when the row's face extends to the end of the
3bffc665 1508 line in #if 0.
4554cc79 1509
3cccce8d
GM
1510 * xfns.c (x_set_mouse_color): Fix color allocation.
1511
4956d1ef
GM
1512 * keyboard.c: Call get_local_map with new argument list.
1513
1514 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1515
1516 * intervals.h (enum map_property): Removed.
1517 (get_local_map): Change prototype.
1518
1519 * keymap.c: Call get_local_map with new argument list.
1520 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1521
2c2ff7f2
GM
15222001-01-11 Gerd Moellmann <gerd@gnu.org>
1523
a23887b9
GM
1524 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1525 of the size needed for the tool bar string. For the last image,
1526 use a `display' property that reaches to the end of the string.
1527
a7ee2d2e
GM
1528 * xselect.c (selection_request_dpyinfo): New variable.
1529 (x_handle_selection_request): Set it.
1530 (x_selection_request_lisp_error): Don't call
1531 x_decline_selection_request if selection request's display has
1532 been closed.
1533
2c2ff7f2
GM
1534 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]: Do
1535 the unregister_colors before calling XFreeColors.
1536
457b792c
GM
15372001-01-10 Dave Love <fx@gnu.org>
1538
1539 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1540 ${SOME_MACHINE_LISP}, not ${lisp}.
1541
c1efd260
GM
15422001-01-10 Gerd Moellmann <gerd@gnu.org>
1543
a98b5ed9 1544 * xdisp.c (display_line): On ttys, produce more than one
4554cc79 1545 truncation glyph for multi-column characters that don't fit on the
a98b5ed9
GM
1546 line.
1547
ac95a621
GM
1548 * xselect.c (x_reply_selection_request): Add a comment.
1549
c1efd260
GM
1550 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1551 XkbGetNames instead of XkbGetKeyboard.
1552
1bfb1345
DL
15532001-01-10 Dave Love <fx@gnu.org>
1554
1555 * sysdep.c (random): Revert the declaration.
1556
38119822
GM
15572001-01-09 Gerd Moellmann <gerd@gnu.org>
1558
35f464a7
GM
1559 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]: Call
1560 function string_bytes.
1561 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1562
1563 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1564 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1565 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1566 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1567 the current sblock.
1568 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1569 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1570 after sweeping strings, and at the end.
1571 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1572
38119822
GM
1573 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1574 ensure that pop_message is called.
1575
1576 * keyboard.c (Fexecute_extended_command): Use a
1577 record_unwind_protect to ensure that pop_message is called.
1578
1579 * lisp.h (push_message_unwind): Add prototype.
1580
1581 * xdisp.c (push_message_unwind): New function.
1582
1583 * fileio.c (do_auto_save_unwind): Do the pop_message here
1584 instead of in Fdo_auto_save.
1585 (Fdo_auto_save): Don't call pop_message.
1586
f47a9ec4
KR
15872001-01-08 Ken Raeburn <raeburn@gnu.org>
1588
1589 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1590 in inner block.
1591
a758f97d
GM
15922001-01-08 Gerd Moellmann <gerd@gnu.org>
1593
6d0afc03
GM
1594 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1595 when increasing window's vscroll.
1596
a758f97d
GM
1597 * macros.c (Qkbd_macro_termination_hook): New variable.
1598 (syms_of_macros): Initialize and staticpro it.
1599 (pop_kbd_macro): Run kbd-macro-termination-hook.
1600
1601 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
1602
1bfb1345 16032001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
1604
1605 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
1606 arglist, for documentation's sake.
1607
0dac6924
AI
16082001-01-06 Andrew Innes <andrewi@gnu.org>
1609
1610 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
1611 of *.pdb.
1612
8182406a
AI
16132001-01-05 Andrew Innes <andrewi@gnu.org>
1614
1615 * term.c (update_end): Don't check updating_frame; for some reason
1616 this can be 0 sometimes, such as after dismissing a popup menu,
1617 and isn't necessary given the explicit frame argument.
1618
3828218c
GM
16192001-01-05 Gerd Moellmann <gerd@gnu.org>
1620
1621 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
1622 on some systems, and an unsigned long on others, like FreeBSD 4.1.
1623
2f5ded21
GM
16242001-01-04 Gerd Moellmann <gerd@gnu.org>
1625
1626 * xterm.c (clear_mouse_face): Don't return if tip_frame is
1627 non-nil.
1628
1629 * xfns.c (x_create_tip_frame): Preserve the value of
1630 face_change_count around the creation of the tip frame.
1631
1632 * xfns.c (last_show_tip_args): New variable.
1633 (compute_tip_xy): New function.
1634 (Fx_show_tip): Reuse an existing tip frame, if possible.
1635 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
1636
dfad65fa
DL
16372001-01-04 Dave Love <fx@gnu.org>
1638
64d4ec0f
DL
1639 * editfns.c (Fformat): Doc fix.
1640
dfad65fa
DL
1641 * systime.h (set_file_times): Prototype.
1642
1643 * widget.h (EmacsFrameSetCharSize_): Prototype.
1644
1645 * sysdep.c (random, srandom): Declare explicitly.
1646
1647 * dispextern.h (move_it_vertically_backward): Declare.
1648
85fe3b5e
GM
16492001-01-04 Gerd Moellmann <gerd@gnu.org>
1650
0f2ac578
GM
1651 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
1652 like in Fx_create_frame.
1653
482cca61
GM
1654 * xfaces.c (set_font_frame_param): Don't do anything for
1655 non-graphical frames.
1656
85fe3b5e
GM
1657 * window.c (Fdelete_other_windows): Set window's window_end_valid
1658 to nil when changing the window's start. Don't change the
1659 window's start when its top position hasn't changed. If we do,
1660 this will set the window's optional_new_start, which act's like a
1661 force_start during redisplay with C-x 1 M-> under particular
1662 circumstances (see report from Per Starback to emacs-pretest-bug
1663 from 2000-12-13.).
1664
3e99d3b4
GM
16652001-01-03 Gerd Moellmann <gerd@gnu.org>
1666
a77dc1ec
GM
1667 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
1668 short cut at the start of the function. Add an assertion.
1669 (reseat_at_next_visible_line_start): Add an assertion.
1670
2f3cad6c
GM
1671 * window.c (Frecenter): When changing the window start, set the
1672 window's window_end_valid to nil.
1673 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
1674
1675 * dispextern.h (move_it_past_eol): Add prototype.
1676
1677 * xdisp.c (move_it_past_eol): New function.
1678
3e99d3b4
GM
1679 * window.c (Fwindow_end): Doc fix.
1680
16812001-01-03 Dave Love <fx@gnu.org>
1682
1683 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3
1684 kluge.
1685
bafb434c
GM
16862001-01-03 Gerd Moellmann <gerd@gnu.org>
1687
1688 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
1689 the enabled_p flag of the glyph row at window_end_vpos to 0.
1690 (handle_single_display_prop): Fix last change.
1691
5297fb00
RS
16922001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1693
1694 * window.c (Frecenter): Doc fix.
1695
13d6a61c
AI
16962001-01-02 Andrew Innes <andrewi@gnu.org>
1697
1698 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
1699
1700 * frame.h (output_method): Add output_w32_console method.
1701 (FRAME_W32_CONSOLE_P): New macro.
1702
1703 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
1704 use output_w32_console method.
1705 (Qw32_console): New Lisp_Object.
1706 (Fframep): Return it.
1707 (syms_of_frame): Init it.
1708 (Fframe_parameters): Report w32console as font for w32_console
1709 frames.
1710
1711 * xfaces.c (realize_default_face): Set face foreground and
1712 background to unspecified for w32_console frames.
1713 (realize_face): Realize face cache for w32_console frames.
1714 (realize_tty_face): Accept w32_console frames.
1715
1716 * xdisp.c (handle_single_display_prop): Return if frame is
1717 w32_console.
1718 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
1719 necessary, even if running interactively.
1720
1721 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
1722 w32_console frames.
1723
1724 * w32term.c (x_update_begin):
1725 (x_update_end):
1726 (x_clear_frame):
1727 (x_ins_del_lines):
1728 (x_change_line_highlight):
1729 (x_delete_glyphs):
1730 (w32_ring_bell):
1731 (x_update_begin):
1732 (x_update_end):
1733 (w32_reassert_line_highlight):
1734 (w32_frame_rehighlight):
1735 (w32_frame_raise_lower): Do nothing if not w32 frame.
1736
1737 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
1738
1739 * w32fns.c (Fx_display_color_cells): Determine correct value, when
1740 system doesn't tell us directly.
1741 (Fx_display_visual_class): Implement properly.
1742
d6bb0c0d
GM
17432001-01-02 Gerd Moellmann <gerd@gnu.org>
1744
1745 * window.c (Frecenter): Handle centering in graphical frames
1746 specially. Centering on the basis of line counts doesn't work
1747 reliably with variable-height lines.
1748
315f5865
EZ
17492001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
1750
1751 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
1752 and al[].
1753
1754 * composite.c (run_composition_function): Remove unused variable
1755 `val'.
1756 (update_compositions): Remove unused variable `hook'.
1757
1758 * intervals.c (get_local_map): Remove unused variable `tem'.
1759
1760 * doprnt.c (doprnt1): Remove unused variable `size'.
1761
1762 * fns.c (Flength): Remove unused variable `tail'.
1763 (Fdelete): Remove unused variable `size'.
1764
1765 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
1766 and `gcpro2'.
1767
1768 * doc.c (Fsnarf_documentation): Remove unused variables `fun' and
1769 `tem'.
1770
1771 * data.c (find_symbol_value): Remove extra 3rd argument in the
1772 call to swap_in_symval_forwarding.
1773
1774 * undo.c (Fprimitive_undo): Remove unused block-scope variable
1775 `end'.
1776
1777 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
1778 (trivial_regexp_p): Remove unused variable `c'.
1779 (boyer_moore): Remove unused variable `k'.
1780
1781 * indent.c (current_column): Remove unused variable `stopchar'.
1782 (Fcompute_motion): Remove unused variable `contin'.
1783
1784 * casefiddle.c (casify_object): Remove unused variable `tolen'.
1785
1786 * dired.c (directory_files_internal): Fix a typo in a comment.
1787 Remove an unused variable `handler'.
1788 (file_name_completion): Remove unused function-scope variable
1789 `dp'.
1790 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
1791 on BSD4_2.
1792
1793 * fileio.c (e_write): Remove unused variable
1794 `require_encoding_p'.
1795
1796 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
1797 and `buf'.
1798 (Fmarker_insertion_type): Remove unused variable `buf'.
1799
1800 * insdel.c (make_gap): Remove unused variable `result'.
1801
1802 * keyboard.c (record_char): Remove unused function-scope variable
1803 `help'.
1804 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
1805 (menu_bar_items): Remove unused function-scope variable `tem'.
1806
1807 * fontset.c (fontset_ref): Remove unused variable `i'.
1808 (fontset_set): Remove unused variables `j' and `tmp'.
1809 (make_fontset): Remove unused variables `i', `j', `elt' and
1810 `base_elt'.
1811 (make_fontset_for_ascii_face): Remove unused variable `name'.
1812 (fs_load_font): Remove unused variable `font_idx'.
1813 (fs_query_fontset): Remove unused function-local variable
1814 `fontset'.
1815 (list_fontsets): Remove unused variable `tail'.
1816 (Fnew_fontset): Remove unused variables `family' and `registry'.
1817 (accumulate_font_info): Remove unused variable `tmp'.
1818 (Ffontset_font): Remove unused variable `id'.
1819 (syms_of_fontset): Remove unused variable `i'.
1820
1821 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
1822 to x_term_init.
1823 (lookup_image): Remove unused variable `file'.
1824 (xbm_load): Remove unused variables `bitmap_data', `height', and
1825 `width'. Remove function-local variable `i', leave the
1826 block-local one.
1827 (gif_load): Remove unused variable `inc'.
1828
1829 * xterm.c (XTread_socket): Remove unused variables `p' and
1830 `pend'.
1831 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
1832 leave only the one in the inner block.
1833
1834 * xfaces.c (face_fontset, realize_default_face): Remove unused
1835 variable `fontset'.
1836 (face_at_buffer_position): Remove unused variable `multibyte_p'.
1837
1838 * term.c (encode_terminal_code): Remove unused variable `c'.
1839
1840 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
1841 char *' instead of `char *'.
1842
1843 * category.c (Fcategory_docstring): Remove unused variable `doc'.
1844 (Fget_unused_category): Remove unused variable
1845 `docstring_vector'.
1846 (Fchar_category_set): Remove unused variables `val', `charset',
1847 `c1' and `c2'.
1848
1849 * coding.c (detect_coding_iso2022, setup_coding_system): Remove
1850 unused variable `i'.
1851 (detect_coding_mask): Remove unused variable `idx'.
1852 (detect_coding): Remove unused variable `i'.
1853 (ccl_coding_driver): Remove unused variable `result'.
1854 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
1855 (decode_coding_string): Remove unused variables `to' and
1856 `gcpro1'.
1857 (encode_coding_string): Remove unused variables `gcpro1' and
1858 `saved_coding_symbol'.
1859 (Ffind_coding_systems_region_internal): Remove function-local
1860 variable args[], leave only the block-local one.
1861 (code_convert_region1): Remove unused variable `len'.
1862
1863 * charset.c (char_printable_p): Remove unused variable `chars'.
1864 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
1865 (str_to_multibyte): Remove unused variable `c'.
1866
1867 * window.c (size_window): Remove block-local variable `min_size'.
1868
1869 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
1870 `header_line_height'.
1871 (append_space, extend_face_to_end_of_line): Declare `saved_what'
1872 enum display_element_type.
1873
1a8a9daf
GM
18742001-01-02 Gerd Moellmann <gerd@gnu.org>
1875
6dde6abc
GM
1876 * xterm.c (x_connection_closed): Catch X errors around all
1877 statements that call X. Save away the error message in a local
1878 copy.
1879
1883b2c6
GM
1880 * xterm.c (x_connection_closed): Set handling_signal to 0 at
1881 the start.
1882
a13be207
GM
1883 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
1884 in or at the start of invisible text.
1885
1a8a9daf
GM
1886 * dispnew.c (update_window): Don't check_current_matrix_flags.
1887
3608c0f9
JR
18882001-01-01 Jason Rumney <jasonr@gnu.org>
1889
1890 * w32fns.c (x_figure_window_size): Do not allow new_height and
1891 new_width of frame to override specified values.
1892
abb1acc4
KH
18932000-12-30 Kenichi Handa <handa@etl.go.jp>
1894
d279f620
KH
1895 * composite.c (find_composition): Fix a code for searching
1896 backward.
abb1acc4 1897
762a68ec
GM
18982000-12-29 Gerd Moellmann <gerd@gnu.org>
1899
9c8b8382
GM
1900 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New
1901 function.
1902 (update_window) [GLYPH_DEBUG]: Call it.
1903 (scrolling_window): Prevent including current rows which are below
1904 what's displayed in the window.
1905
1906 * xdisp.c (try_window_reusing_current_matrix)
1907 <new start <= old start>: Disable rows in the current matrix
1908 which are below the window after scrolling.
1909
762a68ec
GM
1910 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
1911 is zero. It's not worth the complexity.
1912 (invisible_text_between_p): Put in #if 0 because unused.
1913
2d5912c1
GM
19142000-12-28 Gerd Moellmann <gerd@gnu.org>
1915
46f6a258
GM
1916 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
1917 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
1918
89f93679
GM
1919 * keyboard.c (echo_char): If C is an integer, always call
1920 push_key_description. Former code could signal an invalid
1921 character error.
1922
1923 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
1924 If set, print multibyte text.
1925 (Fsingle_key_description): Call push_key_description with
1926 FORCE_MULTIBYTE set.
1927 (describe_buffer_bindings): Likewise.
1928
1929 * lisp.h (push_key_description): Add prototype.
1930
c06017fb
GM
1931 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
1932 around the call to redisplay_internal.
1933
f1d2ce7f
GM
1934 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
1935
2d5912c1
GM
1936 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
1937
9371f831
KH
19382000-12-28 Kenichi Handa <handa@etl.go.jp>
1939
1940 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
1941 (ccl_driver): New local variable `extra_bytes'.
1942
1943 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
1944
1945 * coding.c (setup_coding_system): Initialize
1946 coding->spec.ccl.eight_bit_carryover.
1947 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
1948
0c80628a
KH
19492000-12-28 Kenichi Handa <handa@etl.go.jp>
1950
1951 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
1952 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
1953 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
1954 (decode_composition_emacs_mule): New function.
1955 (decode_coding_emacs_mule): Decode composition sequence by calling
1956 decode_composition_emacs_mule.
1957 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
1958 (encode_coding_emacs_mule): Changed from macro to function. If
2d5912c1 1959 a text contains compositions, encode them correctly.
0c80628a
KH
1960 (setup_coding_system): Set coding->commong_flags for emacs-mule so
1961 that decoding and encoding are required.
1962
3e32cc27
GM
19632000-12-27 Gerd Moellmann <gerd@gnu.org>
1964
5e25feee
GM
1965 * xfaces.c (PT_PER_INCH): New macro.
1966 (xlfd_point_size): Compute real point size from font's pixel size.
1967 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
1968 instead of 72.
1969
892d8fcd
GM
1970 * .gdbinit: Comment out the line pointing to the Lesstif source
1971 directory.
1972
12c8b416
GM
1973 * window.c (Frecenter): Use displayed_window_lines instead
1974 of window_internal_height.
1975
6061fbf0
GM
1976 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
1977 instead of x-toolkit-scroll-bars-p.
1978 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
1979
1980 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
1981 instead of x-toolkit-scroll-bars-p.
1982 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
1983
3e32cc27
GM
1984 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
1985 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
1986 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]: New
1987 variables.
1988 (add_window_display_history, add_frame_display_history)
1989 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
1990 (build_frame_matrix_from_leaf_window): Remove unused code.
1991 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
1992 redisplay history.
1993 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
1994 (update_window) [GLYPH_DEBUG]: Likewise.
1995 (syms_of_display): Defsubr dump-redisplay-history.
1996
31798cfe
GM
19972000-12-23 Gerd Moellmann <gerd@gnu.org>
1998
f717c2ba
GM
1999 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2000 the end of the prompt. Set echo_after_prompt to the offset
2001 of echoptr in echobuf.
2002
aeb2b8fc
GM
2003 * xdisp.c (init_from_display_pos): Pop until the iterator's
2004 stack is empty; there may be frames for stretch or images
2005 on the stack.
2006
31798cfe
GM
2007 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2008 (save_or_restore_current_matrix): New function for the same
2009 purpose, but more efficient.
2010 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2011
f8156156
EZ
20122000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2013
2014 * xdisp.c (syms_of_xdisp): Fix last change.
2015
bdd6d4e8
GM
20162000-12-23 Gerd Moellmann <gerd@gnu.org>
2017
2018 * xdisp.c (syms_of_xdisp): Doc fix.
2019
2020 * xdisp.c (redisplay_window): Remove label restore_buffers;
2021 use finish_scroll_bars instead to make sure that scroll bars
2022 are redeemed. If we don't do this, flickering can result from
2023 scroll bars being destroyed and recreated.
2024
9436cdf9
JR
20252000-12-22 Jason Rumney <jasonr@gnu.org>
2026
2027 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2028 in the wrong colors when the foreground is not black.
2029 (expose_window): Don't redraw the window that's currently being
2030 updated.
2031
951f9df5
GM
20322000-12-22 Gerd Moellmann <gerd@gnu.org>
2033
856ff7a7
GM
2034 * window.c (size_window): When setting the window's too_small_ok
2035 flag, compare old size with minimum size depending on WIDTH_P,
2036 don't compare with window_min_width.
2037
951f9df5
GM
2038 * window.c (delete_window): Simplify somewhat.
2039 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2040 freeing window matrices. The flag windows_or_buffers_changed is
2041 set, so the next redisplay will consider all windows; this should
2042 suffice.
2043
886bc933
KH
20442000-12-22 Kenichi Handa <handa@etl.go.jp>
2045
2046 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2047
2048 * ccl.h (struct ccl_program): New member cr_consumed.
2049
2050 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2051 (CCL_READ_CHAR): Handle EOL conversion here.
2052 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2053
177f4e88
GM
20542000-12-21 Gerd Moellmann <gerd@gnu.org>
2055
6ba384dc
GM
2056 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg
2057 GLYPHS.
2058
2059 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2060 otherwise tabs of different size compare equal.
2061
2062 * callint.c (Fcall_interactively): Prevent a compiler warning.
2063
2064 * print.c (print_unwind): Return nil.
2065 (PRINTDECLARE): Initialize all local variables.
2066 (print_preprocess): Add a default case.
2067
8e15274f
GM
2068 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2069
2070 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2071
177f4e88
GM
2072 * window.c (delete_window, Fsplit_window)
2073 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2074
2075 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2076
2077 * dispnew.c (ensure_frame_matrix): Removed.
2078 (save_frame_matrix, restore_frame_matrix): New functions.
2079 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2080
2081 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2082 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2083
99012074
AI
20842000-12-21 Andrew Innes <andrewi@gnu.org>
2085
2086 * w32term.c (x_update_begin): Regenerate the palette here, rather
2087 than for each window.
2088
2089 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2090 palette is NULL, since this corrupts memory! Also get
2091 display_info reference from frame.
2092
29ef7d2d
JR
20932000-12-21 Jason Rumney <jasonr@gnu.org>
2094
2095 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2096
2097 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2098 to avoid returning without releasing it.
3e27fa1f 2099
3f9d67a6
KH
21002000-12-21 Kenichi Handa <handa@etl.go.jp>
2101
587fc3f9
KH
2102 * keymap.c (push_key_description): Don't convert eight-bit-control
2103 and eight-bit-graphic to multibyte character.
2104
3f9d67a6
KH
2105 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2106 generic character and CODE1 is nil, return the smallest character
2107 in CHARSET.
2108
774ba8c9
DL
21092000-12-20 Dave Love <fx@gnu.org>
2110
2111 * s/osf5-0.h (NSIG): Don't redefine.
2112
88416888
SM
21132000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2114
2115 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2116 excluding menu-bar and tool-bar.
2117 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2118 (menu_item_p): Remove.
2119 (where_is_internal_1): Don't ignore menu-items.
2120
a6426c6f
GM
21212000-12-20 Gerd Moellmann <gerd@gnu.org>
2122
03ff8aab
GM
2123 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2124 into account.
2125
2126 * window.c (make_window): Initialize window's min_hscroll.
2127 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2128 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2129 to zero.
2130 (struct saved_window): New member min_hscroll.
2131 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2132 (Fset_window_configuration): Set window's min_hscroll.
2133 (save_window_save): Save window's min_hscroll.
2134 (compare_window_configurations): Compare min_hscroll values.
2135
2136 * window.h (struct window): New member min_hscroll.
2137
2138 * keyboard.c (echo_prompt): Prevent a compiler warning.
2139
8de4aaf8
GM
2140 * xdisp.c (try_cursor_movement): Fix last change. The real
2141 condition is that PT is at the end of the row, and should
2142 be displayed at the start of the next row.
2143
3f7e3031
GM
2144 * xdisp.c (try_cursor_movement): If we end on a partially
2145 visible line, end we already decided to scroll, return -1.
2146
a6426c6f
GM
2147 * dispextern.h (ensure_frame_matrix): Add prototype.
2148
2149 * window.c (delete_window, Fsplit_window)
2150 (Fset_window_configuration): Call ensure_frame_matrix.
2151
2152 * dispnew.c (fake_current_matrices, ensure_frame_matrix): New
2153 functions.
2154 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2155 completed, call fake_current_matrices instead of marking frame
2156 garbaged.
2157
57fa2774
JR
21582000-12-20 Jason Rumney <jasonr@gnu.org>
2159
2160 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2161
d925df90
EZ
21622000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2163
2164 * fns.c (Frequire): Doc fix.
2165
7b93a85b
GM
21662000-12-19 Gerd Moellmann <gerd@gnu.org>
2167
71d4497a
GM
2168 * window.c (window_scroll_pixel_based): Don't use
2169 move_it_vertically.
2170
c74e645b
GM
2171 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2172 currently displaying a message.
2173
7b93a85b
GM
2174 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2175 xterm.h.
2176 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2177
90d97e64
AI
21782000-12-18 Andrew Innes <andrewi@gnu.org>
2179
2180 * w32.c (w32_strerror): New function.
2181
2182 * w32.h (w32_strerror): New extern.
2183
2184 * w32fns.c (Fw32_shell_execute): Use it.
2185
91c9e6ce
GM
21862000-12-18 Gerd Moellmann <gerd@gnu.org>
2187
2188 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2189
6f4745e2
EZ
21902000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2191
2192 * msdos.c (IT_set_face): Obey inverse_video.
2193
c9e088ce
KH
21942000-12-18 Kenichi Handa <handa@etl.go.jp>
2195
2196 * dired.c (directory_files_internal): Always return decoded filenames.
2197
c3695f5f
GM
21982000-12-18 Gerd Moellmann <gerd@gnu.org>
2199
52d8e4ff
GM
2200 * xterm.c (x_connection_closed): Prevent being called recursively
2201 because of an error condition in XtCloseDisplay.
2202
62be9979
GM
2203 * xdisp.c (init_iterator): If noninteractive, and the frame's
2204 face cache is null, make one.
2205
5f7a1890
GM
2206 * xfns.c (show_busy_cursor): Check for live frames more
2207 thoroughly.
2208
c3695f5f
GM
2209 * process.c (wait_reading_process_input): Check for pending
2210 input when running timers.
2211
78555fbe
EZ
22122000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2213
2214 * msdos.c (IT_write_glyphs): Compute the glyph face from
2215 str->face_id.
2216
b2b36264
KH
22172000-12-18 Kenichi Handa <handa@etl.go.jp>
2218
2219 * process.c (read_process_output): Don't run a filter if the code
2220 decoder produces nothing but carryover.
2221
9c543fbf
AI
22222000-12-17 Andrew Innes <andrewi@gnu.org>
2223
2224 * w32.c (sys_rename): Only check errno against EEXIST, and not
2225 EACCES, when determining whether rename failed because the target
2226 exists. This was resulting in indefinite looping on Windows 9x if
2227 the source file was locked by another process.
2228
2229 * w32fns.c (Ffile_system_info): New function.
2230 (syms_of_w32fns): Defsubr it.
2231
10c2b5a8
GM
22322000-12-17 Gerd Moellmann <gerd@gnu.org>
2233
b0228ace
GM
2234 * window.c (coordinates_in_window): Fix computation for
2235 position on vertical line between mode lines.
2236
10c2b5a8
GM
2237 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2238 Don't alter tip_frame or tip_window.
2239 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2240 was deleted.
2241
c844a81a
GM
2242 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2243 Don't alter tip_frame or tip_window.
2244 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2245 was deleted.
2246
6c825f8e
EZ
22472000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2248
2249 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2250 be consistent with the doc string. Reported by NAKAJIMA Mikio
2251 <minakaji@osaka.email.ne.jp>.
2252
af4bb4c8
KH
22532000-12-16 Kenichi Handa <handa@etl.go.jp>
2254
2255 * xfaces.c (Vface_ignored_fonts): New variable.
2256 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2257 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2258
8062e53a
GM
22592000-12-15 Gerd Moellmann <gerd@gnu.org>
2260
e87b8809
GM
2261 * dispnew.c (update_window): Detect pending input every nth line
2262 updated, i.e. do it depending on real work done, and not on the
2263 vpos of the line.
2264
2265 * xterm.c (expose_window): Don't redraw the window that's
2266 currently being updated.
2267
a6768cc5
GM
2268 * window.c (Fset_window_point): Remove test for
2269 cursor_in_non_selected_windows.
2270
4ea7fdca
GM
2271 * lread.c (read1): Recognize end of file after `\\'.
2272
8062e53a
GM
2273 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2274 not unwind_create_frame.
2275
bb7959c1
GM
22762000-12-15 Dave Love <fx@gnu.org>
2277
2278 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2279 bcopy & al.
2280
2281 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2282
ced04c42
KH
22832000-12-15 Kenichi Handa <handa@etl.go.jp>
2284
c5443913
KH
2285 * coding.c (setup_coding_system): Clear all members of the struct
2286 coding_system at first.
bc137305
KH
2287 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2288 argument.
2289 (code_convert_region): Don't override coding->src_multibyte and
2290 coding->dst_multibyte.
c5443913 2291
ced04c42
KH
2292 * fns.c (Fmd5): Docstring improved.
2293
c2d7f289
MB
22942000-12-15 Miles Bader <miles@gnu.org>
2295
2296 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2297 are actually marked as mode-lines; otherwise use
2298 estimate_mode_line_height.
2299
9d7d9263
GM
23002000-12-14 Gerd Moellmann <gerd@gnu.org>
2301
2302 * editfns.c (Fformat): Prevent a buffer overrun when the format
2303 specifies a precision.
2304
7cf0153a
EZ
23052000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2306
2307 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2308 argument is outside the range [2..3].
2309
1de0f662
AI
23102000-12-14 Andrew Innes <andrewi@gnu.org>
2311
2312 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2313 nothing to do. Bind inhibit-quit.
2314 (tip_frame): Make it a Lisp_Object.
2315 (x_create_tip_frame): Set tip_frame after it has been added to
2316 Vframe_list.
2317 (Fx_show_tip): Don't set tip_frame here.
2318 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New
2319 variables.
2320 (unwind_create_frame, unwind_create_tip_frame): New functions.
2321 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2322 while a frame is only partially constructed.
2323
2324 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2325 (x_free_frame_resources): New function.
2326 (x_destroy_window): Use it.
2327
02387dcc
GM
23282000-12-14 Gerd Moellmann <gerd@gnu.org>
2329
2330 * xfns.c (Fx_backspace_delete_keys_p): New function.
2331 (syms_of_xfns): Defsubr it.
2332
2333 * config.in (HAVE_XKBGETKEYBOARD): Add.
2334
0544ef49
KH
23352000-12-14 Kenichi Handa <handa@etl.go.jp>
2336
98d62747
KH
2337 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2338 Always store string in multibyte representation in echobuf.
2339 (echo_char): Always store string in multibyte representation in
2340 echobuf.
2341 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2342 (read_key_sequence): Adjusted for the change of echo_prompt.
2343
a20193cd
KH
2344 * fns.c (Fmd5): Docstring improved.
2345
191b83b6
KH
2346 * lisp.h (detect_coding_system): Prototype adjusted.
2347
0544ef49
KH
2348 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2349 (detect_coding_emacs_mule, detect_coding_iso2022,)
2350 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
2351 (detect_coding_utf_16, detect_coding_ccl): Make them static. New
2352 argument MULTIBYTEP. Callers changed.
2353 (detect_coding_mask, detect_coding_system): New argument
2354 MULTIBYTEP. Callers changed.
1da1bb05
KH
2355 (decode_coding_string): Set coding->src_multibyte and
2356 coding->dst_multibyte before calling detect_coding and detect_eol.
2357 Update them after some coding system is detected.
2358
d5b3eb1b
SM
23592000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2360
2361 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2362
2363 * keyboard.c (menu_bar_items, tool_bar_items):
2364 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2365
f7f8bb69
GM
23662000-12-13 Gerd Moellmann <gerd@gnu.org>
2367
19f71add
GM
2368 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
2369 New variables.
2370 (unwind_create_frame, unwind_create_tip_frame): New functions.
2371 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2372 while a frame is only partially constructed.
2373
2374 * xterm.h (x_free_frame_resources): Declare.
2375
2376 * xterm.c (x_free_frame_resources): New function.
2377 (x_destroy_window): Use it.
2378
e10da507
GM
2379 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2380 don't interrupt the update for pending input initially, i.e.
2381 update at least some lines.
2382
2383 * keyboard.c (do_mouse_tracking): Make externally visible.
2384
d5b3eb1b 2385 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2386
2387 * xfns.c (gray_bitmap_bits): Declare `char *'.
2388
90aa2856
GM
23892000-12-12 Gerd Moellmann <gerd@gnu.org>
2390
2391 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2392 lines start with a relief line.
2393
a308c9cd
DL
23942000-12-12 Dave Love <fx@gnu.org>
2395
2396 * window.c (Fdisplay_buffer): Doc fix.
2397 (Fwindow_list): Remove unused var.
2398
2399 * buffer.h (mmap_set_vars): Declare.
2400
2401 * window.h (Fset_window_point): Declare.
2402
d575011f
EZ
24032000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2404
bf6282d2 2405 * msdos.c (fast_find_position): Don't overstep the last window row.
d575011f
EZ
2406 (IT_note_mouse_highlight): Initialize portion to -1. Remove
2407 unused variable `area'. When looking for a row under (X,Y), give
2408 up if some of the previous rows is not enabled.
2409
ecf4d726
GM
24102000-12-12 Gerd Moellmann <gerd@gnu.org>
2411
2ebf6139
GM
2412 * window.c (Fset_window_point): If displaying cursors in windows
2413 other than the selected window, make sure redisplay updates
2414 other windows to show the new value of point in the window.
2415
2416 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2417
bfdb75ee
GM
2418 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2419 the buffer is the sole visible buffer when in the mini-buffer.
2420
4fdbd809
GM
2421 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
2422 Bind `inhibit-read-only' to t.
2423 (unwind_with_echo_area_buffer): Use AREF.
2424
c0006262
GM
2425 * xfns.c (Fx_hide_tip): Simplified.
2426
e9a59cad
GM
2427 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use
2428 GC_MAKE_GCPROS_NOOPS instead of `1'.
2429
ecf4d726
GM
2430 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2431
e5959a9a
GM
24322000-12-11 Gerd Moellmann <gerd@gnu.org>
2433
a3642e49
GM
2434 * xfns.c (Fx_hide_tip): Fix last change.
2435
44b5a125
GM
2436 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2437 nothing to do. Bind inhibit-quit.
2438 (tip_frame): Make it a Lisp_Object.
2439 (x_create_tip_frame): Set tip_frame after it has been added to
2440 Vframe_list.
2441 (Fx_show_tip): Don't set tip_frame here.
2442
2443 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2444
2445 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2446 Lisp_Object.
2447
2448 * dispextern.h: Change external declaration of tip_frame.
2449
d990421f
GM
2450 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2451 return an empty string.
2452
4db87380
GM
2453 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2454 of the window's update_mode_line flag, since the former is set by
2455 force-mode-line-update, not the latter. This makes
2456 column-number-mode slightly faster.
2457
e5959a9a
GM
2458 * xdisp.c (try_window_id) <all changes above window start>:
2459 Set the cursor.
2460
169fe44e
GM
24612000-12-11 Paul Eggert <eggert@twinsun.com>
2462
2463 * config.in (HAVE_FTELLO): Remove.
2464 (HAVE_FSEEKO): Add.
2465 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2466 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2467 HAVE_FTELLO.
2468 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2469 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
2470
59ec59ae
MB
24712000-12-11 Miles Bader <miles@gnu.org>
2472
2473 * window.c (displayed_window_lines): Don't round up when
2474 converting empty space at bottom to lines.
ff904dd6
MB
2475 Handle non-newline-terminated final lines properly.
2476 (Fwindow_text_height): New function (used to be in lisp).
2477 (syms_of_window): Initialize it.
59ec59ae 2478
42ebfa31
SM
24792000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2480
2481 * syntax.c (scan_lists): Check that the right quote char has the
2482 right Sstring syntax when jumping over strings.
2483 (init_syntax_once): Use Smax rather than 13.
2484
5cdb3cf3
MB
24852000-12-09 Miles Bader <miles@gnu.org>
2486
2487 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2488 with PARTIALLY, inverting the sense.
2489 (window_scroll_pixel_based): Scroll partially visible lines into
2490 place if we hit the beginning or end of the buffer.
a12167c5
MB
2491 (displayed_window_lines): Don't include partially visible lines.
2492 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2493
842b2a94
GM
24942000-12-08 Gerd Moellmann <gerd@gnu.org>
2495
2496 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2497
2498 * tparam.c (tparam1): Change the way buffers are reallocated to be
2499 portable and less obfuscated.
2500
2501 * termcap.c (tgetent): Change the way buffers are reallocated to
2502 be portable and less obfuscated.
2503
2504 * macros.c (store_kbd_macro_char): Change the way buffers are
2505 reallocated to be portable and less obfuscated.
2506
2507 * lread.c (read1): Change the way buffers are reallocated to be
2508 portable and less obfuscated.
2509
2510 * doc.c (Fsubstitute_command_keys): Change the way buffers
2511 are reallocated so that it is portable.
2512
137cad7c
EZ
25132000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2514
2515 * dosfns.c (Ffile_system_info): New function.
2516 (syms_of_dosfns): Defsubr it.
2517
5c7f629c
SM
25182000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2519
2520 * alloc.c (gc_sweep): Add comment.
2521
959e647d
GM
25222000-12-07 Gerd Moellmann <gerd@gnu.org>
2523
28fcb7dc
GM
2524 * sound.c (vox_configure): Change order of ioctls. Don't
2525 set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
2526 Ignore errors when changing volume.
2527 (vox_close): Don't reset the device.
2528
926b7e5e
GM
2529 * process.c (read_process_output): Make sure the process marker's
2530 position is valid when the process buffer is changed in
2531 after-change functions. W3 does that.
2532
959e647d
GM
2533 * xfns.c (x_free_gcs): New function.
2534
2535 * xterm.h (x_free_gcs): Add prototype.
2536
2537 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2538 freeing GCs here.
2539
2540 * xterm.c (x_destroy_window): Call x_free_gcs so that
2541 resources of non-toolkit X windows will be freed.
2542
478ea067
AI
25432000-12-07 Andrew Innes <andrewi@gnu.org>
2544
2545 * w32fns.c (xlfd_charset_of_font): Fix last change.
2546
fbee3231
DL
25472000-12-06 Dave Love <fx@gnu.org>
2548
67292061
DL
2549 * md5.h (__P): Don't define -- it comes from config.h.
2550
fbee3231
DL
2551 * strftime.c: Change some #if foo to #ifdef foo.
2552
4ee87dbb
AI
25532000-12-06 Andrew Innes <andrewi@gnu.org>
2554
2555 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2556
2557 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname
2558 argument.
2559 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
2560 (w32_list_fonts): Don't choke if pattern doesn't specify a
2561 codepage.
2562
9765b4a4
GM
25632000-12-06 Gerd Moellmann <gerd@gnu.org>
2564
d285b373
GM
2565 * alloc.c (gc_sweep): Prevent symbols read during loadup
2566 from being freed.
2567
384333ee
GM
2568 * xdisp.c (underlying_face_id): New function.
2569 (handle_face_prop, face_before_or_after_it_pos): Use it
2570 to determine the face ``under'' a string. Let strings inherit
2571 the face of the buffer under them.
2572
2573 * xfaces.c (face_at_string_position): Update function comment.
2574
d4b72d58
GM
2575 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2576 matrix if the window's left position has changed; we need to
2577 redraw it in this case.
2578
2579 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2580
e1d05387
GM
2581 * window.c (coordinates_in_window): Check mouse on mode-line or
2582 header-line first.
2583
eb1b0c74
GM
2584 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2585 advertized by the function documentation.
2586
d94d636f
GM
2587 * window.c (syms_of_window): Doc fix.
2588
3887b449
GM
2589 * sound.c (vox_configure): Set volume for left and right channel.
2590 (sound_cleanup): Return nil.
2591
efc8f57a
GM
2592 * xdisp.c (move_it_by_lines): Fix paren typo.
2593
9765b4a4
GM
2594 * xterm.c (x_load_font): Don't use the font's max_bounds for
2595 computing the height of the font. If max_bounds' ascent or
2596 descent are greater than the font's ascent or descent, this means
2597 glyphs overlap, which should be handled now by redisplay.
2598
6529ed87
GM
2599 * window.c (Veven_window_heights): New variable.
2600 (syms_of_window): DEFVAR_LISP it.
2601 (Fdisplay_buffer): Check Veven_window_heights before evening the
2602 window heights.
2603
0eb2ecde
MB
26042000-12-06 Miles Bader <miles@gnu.org>
2605
2606 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2607 update `default-frame-alist' instead of setting no frame parameters.
2608
03d7a167
KH
26092000-12-06 Kenichi Handa <handa@etl.go.jp>
2610
2611 * composite.c (update_compositions): Fix typo (use the correct
2612 variable).
2613
5f8803c2
JR
26142000-12-05 Jason Rumney <jasonr@gnu.org>
2615
2616 * md5.h: Remove underscores from function declarations.
2617 (__attribute__, __alignof__) [!__GNUC__]: Define.
2618
2619 * md5.c: Delay include of md5.h until after namespace cleaning.
2620
c28a075b
JR
2621 * makefile.w32-in (fns.o): Depend on md5.h
2622 (md5.o): New target.
2623 (sunfns.o): Remove.
2624
2625 * makefile.nt: Likewise.
2626
ff3c7056
JR
26272000-12-05 Jason Rumney <jasonr@altavista.net>
2628
2629 * w32term.c (expose_area): Complete last change.
2630
0c21eeeb
KR
26312000-12-05 Ken Raeburn <raeburn@gnu.org>
2632
2633 * minibuf.c: Include intervals.h.
2634
f201d732
JR
26352000-12-05 Jason Rumney <jasonr@gnu.org>
2636
2637 * w32term.c (x_produce_glyphs): If a font for a component of
2638 a composition is not found, use 1 pixel dot ascent and 0 dot
2639 descent value to avoid displaying terribly tall empty boxes.
2640 (expose_area): Pass x-coordinate relative to the exposed
2641 area to x_draw_glyphs instead of a window-relative coordinate.
2642
21999ab9
GM
26432000-12-05 Gerd Moellmann <gerd@gnu.org>
2644
4d2036e4
GM
2645 * xdisp.c (next_element_from_ellipsis): Save face before selective
2646 display in saved_face_id, and set face_before_selective_p.
2647 (reseat_1): Reset face_before_selective_p.
2648 (append_space, extend_face_to_end_of_line): If iterator's
2649 face_before_selective_p is set, use the face from saved_face_id.
2650 (extend_face_to_end_of_line): For tty frames, make sure to
2651 use the right face id when producing spaces at the end of
2652 the line.
2653
2654 * dispextern.h (struct it): Add face_before_selective_p.
2655
52be17cc
GM
2656 * keyboard.c (record_char): Don't record identical help-echo
2657 events in recent_keys.
2658
8a4f36cc
GM
2659 * xterm.c [USE_X_TOOLKIT]: Close the display.
2660 (xim_close_dpy): Handle case that the display has been closed.
2661
57d6e381
GM
2662 * xterm.c (x_destroy_window): Reset the frame's X window after
2663 destroying it.
2664
21999ab9
GM
2665 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
2666 variable window_width.
2667 (line_draw_cost): Fix code skipping over spaces at the end of the
2668 line when must_write_spaces is not set.
2669 (scrolling_window): Fix code inserting runs in list of all runs.
2670
91372bb7
KH
26712000-12-05 Kenichi Handa <handa@etl.go.jp>
2672
2673 * coding.c (setup_coding_system): Be sure to initialize
2674 coding->category_idx.
2675
6c083b4c
GM
26762000-12-04 Gerd Moellmann <gerd@gnu.org>
2677
0c68ce6f
GM
2678 * xterm.c (PER_CHAR_METRIC): Removed because not used.
2679
6452929e
GM
2680 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
2681 area to x_draw_glyphs instead of a window-relative coordinate.
2682
d7f31e22
GM
2683 * fileio.c (auto_save_error): Add parameter ERROR. Show the
2684 error in the message.
2685
ae18aa3b
GM
2686 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
2687 timer after having read a key. It's not good for code reading
2688 several keys in a loop, like an input method.
2689
caa15ef7
GM
2690 * fileio.c (Finsert_file_contents): When VISIT is t, don't
2691 record undo information for format-decode.
2692
2693 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
2694 current buffer is read-only, not if it isn't.
2695
6c083b4c
GM
2696 * keyboard.c (record_char): Record `help-echo' input events
2697 in recent_keys only if they display some help. Don't record
2698 `help-echo' events as macro char.
2699
caa15ef7
GM
27002000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2701
2702 * editfns.c (save_excursion_restore): Don't move point
2703 in another window if it is showing the wrong buffer.
2704 Avoid the call to Fwindow_live_p, for speed.
2705
5a13529b
KH
27062000-12-04 Kenichi Handa <handa@etl.go.jp>
2707
e225faa7
KH
2708 * xfaces.c (struct font_name): New member registry_priority.
2709 (split_font_name): Initialize the above member to zero.
2710 (concat_font_list): New function.
2711 (font_list): Include fonts of all alternative registries.
2712 (FONT_POINT_SIZE_QUANTUM): New macro.
2713 (better_font_p): Ignore point size difference less than
2714 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
2715
e89648b4
KH
2716 * xterm.c (x_produce_glyphs): If a font for a component of
2717 a composition is not found, use 1 pixel dot ascent and 0 dot
2718 descent value to avoid displaying terribly tall empty boxes.
2719
5a13529b
KH
2720 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
2721
d7935eb6
KR
27222000-12-03 Ken Raeburn <raeburn@gnu.org>
2723
2724 * coding.h (code_convert_string1): Declare.
2725
2726 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
2727
2728 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name):
2729 Declare.
2730
0dd5e255
JR
27312000-12-02 Jason Rumney <jasonr@gnu.org>
2732
2733 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
2734 correctly for single byte character case.
2735 (w32_per_char_metric): Do not try to make any assumptions about
2736 the metrics of BDF fonts.
250cfece
JR
2737 (x_estimate_mode_line_height): If `mode-line' face
2738 hasn't a font, use that of the frame, as drawing glyphs
2739 does.
2740 (note_mouse_highlight): Change the cursor shape on the vertical
2741 border between windows [not enabled].
2742
2743 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
2744
2745 * w32fns.c (Fx_create_frame): Reintroduce the call to
2746 face-set-after-frame-defaults.
2747 (Vx_window_horizontal_drag_shape): New variable.
2748 (syms_of_xfns): DEFVAR_LISP it.
2749 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
2750 enabled].
0dd5e255 2751
b5d8d2ca
GM
27522000-12-02 Simon Josefsson <simon@josefsson.org>
2753
2754 * fns.c (Fmd5): Use a different logic to decide the coding system
2755 to use.
2756
2757 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
2758
fbb87147
EZ
27592000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
2760
2761 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is
2762 NULL.
2763
447e9da0
GM
27642000-12-01 Gerd Moellmann <gerd@gnu.org>
2765
7708ced0
GM
2766 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
2767 height for YNegative.
2768 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
2769 height; also see comment there.
2770
447e9da0
GM
2771 * window.c (coordinates_in_window): Handle computations for
2772 positions on the vertical bar and fringes differently for
2773 window-system frames. Consider some pixels near the vertical bar
2774 as on the bar if the frame doesn't have vertical scroll bars.
2775 Associate positions between mode or header lines with the
2776 right window, the left one.
2777
86d1db20
JR
27782000-12-01 Jason Rumney <jasonr@gnu.org>
2779
2780 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
2781
2782 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
2783 invalid frame.
2784
a1d58e5b
GM
27852000-12-01 Gerd Moellmann <gerd@gnu.org>
2786
2787 * window.c (struct saved_window): Add members orig_top and
2788 orig_height.
2789 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
2790 (save_window_save, Fset_window_configuration): Save/restore
2791 window's orig_top and orig_height.
2792
89c609af
JR
27932000-12-01 Jason Rumney <jasonr@gnu.org>
2794
4d177746 2795 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 2796
89c609af
JR
2797 * w32fns.c (x_set_cursor_color): Fix last change.
2798
eccc05db
GM
27992000-11-30 Gerd Moellmann <gerd@gnu.org>
2800
31b6671b
GM
2801 * xdisp.c (echo_area_display): If cursor is in the echo area, make
2802 sure that the next redisplay displays the minibuffer, so that
2803 the cursor will be replaced with what the minibuffer wants.
2804
eccc05db
GM
2805 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
2806 #ifndef instead of using #if.
2807 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
2808 USE_TOOLKIT_SCROLL_BARS is defined.
2809
162de750
JR
28102000-11-30 Jason Rumney <jasonr@gnu.org>
2811
2812 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
2813 x_display_cursor.
2814
693c4692
GM
28152000-11-30 Gerd Moellmann <gerd@gnu.org>
2816
2817 * fns.c (Fmd5): Doc fix.
2818
b5d8d2ca 28192000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
2820
2821 * fns.c (Fmd5): New function.
2822 (syms_of_fns): Defsubr md5.
2823
2824 * Makefile.in (obj): Add md5.o
2825
b02cd40b
GM
28262000-11-30 Gerd Moellmann <gerd@gnu.org>
2827
edfb795e
GM
2828 * md5.h, md5.c: New files, taken from glibc.
2829
df3aedcf
GM
2830 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
2831
b02cd40b
GM
2832 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
2833 hasn't a font, use that of the frame, as drawing glyphs
2834 does.
2835
8b5176cd
SM
28362000-11-29 Stefan Monnier <monnier@cs.yale.edu>
2837
2838 * eval.c (Frun_hooks): Allow 0 arguments.
2839
346598f1
GM
28402000-11-29 Gerd Moellmann <gerd@gnu.org>
2841
f9396e03
GM
2842 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
2843 is over the menu bar widget, say it's not on the frame.
2844
4a967a9b
GM
2845 * xfns.c (Fx_create_frame): Reintroduce the call to
2846 face-set-after-frame-defaults.
2847
346598f1
GM
2848 * eval.c (Fsignal): Reset handling_signal.
2849
222456a1
JR
28502000-11-28 Jason Rumney <jasonr@gnu.org>
2851
2852 * w32menu.c (add_menu_item): Reset menu item text when changing
2853 type to radio button.
2854
8049ddc0
GM
28552000-11-28 Gerd Moellmann <gerd@gnu.org>
2856
346598f1 2857 * xselect.c: Update copyright.
f4f4ee4d 2858
bebe4a2c
GM
2859 * window.c (coordinates_in_window): If on a mode or header line,
2860 but sufficiently close to its start, return ``on vertical
2861 border''. This gives us a way to drag windows horizontally when
2862 using toolkit scroll bars.
2863
2864 * xterm.c (note_mouse_highlight): Change the cursor shape
2865 on the vertical border between windows.
2866
2867 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
2868
2869 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
2870 (syms_of_xfns): DEFVAR_LISP it.
2871 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
2872
8d2c2642
GM
2873 * textprop.c (text_read_only): New function.
2874 (verify_interval_modification): Use it instead of signaling
2875 `text-read-only'. This makes it easier to catch this error
2876 with a breakpoint.:
2877
8049ddc0
GM
2878 * xdisp.c (forward_to_next_line_start): Check for newlines,
2879 not end of line, which includes CR.
2880
5a2bae6c
KH
28812000-11-28 Kenichi Handa <handa@etl.go.jp>
2882
2883 * coding.c (Ffind_coding_systems_region_internal): Be sure to
2884 include no-conversion.
2885
ae31f84d
JR
28862000-11-27 Jason Rumney <jasonr@gnu.org>
2887
2888 * w32fns.c (w32_load_system_font): Always mark font as double byte
2889 if codepage is unicode.
2890
67f1cf4c
GM
28912000-11-27 Gerd Moellmann <gerd@gnu.org>
2892
4a74d071
GM
2893 * xdisp.c (forward_to_next_line_start): If already on a newline,
2894 just consume it to avoid unintended skipping over invisible text
2895 below.
2896
902ae620
GM
2897 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
2898 `vertical-line', `mode-line' and `header-line' events.
2899
2900 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
2901 of a character, a TAB for instance. This is easier than to set
2902 up the iterator exactly, and it's not a frequent case, so the
2903 additional effort wouldn't really pay off.
2904
c1e279c2
AC
29052000-11-26 Andrew Choi <akochoi@i-cable.com>
2906
67f1cf4c 2907 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
2908 init_window_once.
2909
a609568a
JR
29102000-11-25 Jason Rumney <jasonr@gnu.org>
2911
48b21762
JR
2912 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: Args
2913 to window_from_coordinates should be pixel coordinates.
2914
a609568a
JR
2915 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
2916 redisplay handles them properly.
2917
a658d039
MB
29182000-11-25 Miles Bader <miles@gnu.org>
2919
2920 * indent.c (compute_motion): Keep pos_byte in sync with pos.
2921
d3416cca
JR
29222000-11-24 Jason Rumney <jasonr@gnu.org>
2923
2924 * w32.c (init_environment): Set LANG environment variable based on
2925 locale settings, if not set.
2926
2927 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
2928 making tool bar smaller. When clearing the frame, also
2929 clear current matrices. Clear frame when tool bar disappears.
2930 Don't use more lines for the tool-bar than is available.
2931 (x_change_window_heights): New function.
2932
ba193890
GM
29332000-11-24 Gerd Moellmann <gerd@gnu.org>
2934
2be8f184
GM
2935 * xdisp.c (init_from_display_pos): If POS says we're already after
2936 an overlay string ending at POS, make sure to pop the iterator
2937 because it will be in front of that overlay string. When POS is
2938 ZV, we've thereby also ``processed'' overlay strings at ZV.
2939
ba193890
GM
2940 * xfaces.c (lface_from_face_name): Function comment fix.
2941
1862a24e
MB
29422000-11-24 Miles Bader <miles@gnu.org>
2943
2944 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
2945 apply `mode-line-inverse-video' -- zero means force display using
2946 the default face, non-zero means display using the specialized face.
2947 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
2948
f07fa1b8
KH
29492000-11-23 Kenichi Handa <handa@etl.go.jp>
2950
2951 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
2952 hard coded `4'.
2953
2bcdf662
EZ
29542000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
2955
2956 * coding.c (decode_coding_emacs_mule): Fix the case of
2957 CODING_EOL_LF, which used uninitialized value of c.
2958
ba8299ff
SM
29592000-11-23 Stefan Monnier <monnier@cs.yale.edu>
2960
2961 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
2962
f4117c4d
GM
29632000-11-22 Gerd Moellmann <gerd@gnu.org>
2964
03e757c1
GM
2965 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
2966 buffer object.
2967
f4117c4d
GM
2968 * frame.h (struct frame): Replace desired_tool_bar_items,
2969 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 2970 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
2971
2972 * frame.c (make_frame): Change initialization of tool bar
2973 items accordingly.
2974
2975 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 2976 Change references to members deleted from struct frame to use the
f4117c4d
GM
2977 new ones.
2978
2979 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
cc362d76 2980 references to members deleted from struct frame to use the new
f4117c4d
GM
2981 ones.
2982
2983 * dispnew.c (update_frame): Do nothing with frame's tool bar
2984 items.
2985
2986 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
2987
2988 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 2989 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
2990 from struct frame to use the new ones.
2991
f8e2f3f2
MB
29922000-11-23 Miles Bader <miles@gnu.org>
2993
2994 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
2995 the face's inverse-video attribute, rather than overriding it.
2996
60e8e0a5
GM
29972000-11-22 Gerd Moellmann <gerd@gnu.org>
2998
2999 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3000 making tool bar smaller.
3001
92dd1b29
DL
30022000-11-22 Dave Love <fx@gnu.org>
3003
3004 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3005
e672fdce
MB
30062000-11-22 Miles Bader <miles@gnu.org>
3007
3a17d6cc
MB
3008 * keyboard.c (Vminibuffer_message_timeout): New variable.
3009 (command_loop_1): Use it to determine message timeout.
3010 (syms_of_keyboard): Initialize it.
3011
60e8e0a5 3012 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3013
e9655d81
KH
30142000-11-22 Kenichi Handa <handa@etl.go.jp>
3015
3016 * sysdep.c: Move the code for declaring h_errno after #include
3017 <netdb.h>.
3018
77270fac
GM
30192000-11-21 Gerd Moellmann <gerd@gnu.org>
3020
cd913aae
GM
3021 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3022 the menu bar when the tooltip is unmapped.
3023
77270fac
GM
3024 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3025 sole visible buffer when we're currently in the mini-buffer, and
3026 give up if so.
3027
556635d6
JR
30282000-11-21 Jason Rumney <jasonr@gnu.org>
3029
3030 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3031 put on the clipboard.
3032 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3033 copy of what Emacs last put there. If they are the same, do not
3034 use the clipboard copy to avoid losing data due to coding
3035 conversions.
3036
5b7bde64
MB
30372000-11-22 Miles Bader <miles@gnu.org>
3038
3039 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3040 (syms_of_minibuf): Initialize it.
3041 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3042 to prompt, don't make read-only.
3043
ff23e1dd
GM
30442000-11-21 Gerd Moellmann <gerd@gnu.org>
3045
3c64f287
GM
3046 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: Add
3047 BEFORE/AFTER_POTENTIAL_GC.
3048
7aaf4388
GM
3049 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3050
f5f47add 3051 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3052
ff23e1dd
GM
3053 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3054
37c35586
KH
30552000-11-21 Kenichi Handa <handa@etl.go.jp>
3056
3057 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3058 ... #endif scope.
3059
ff9ab414
GM
30602000-11-20 Gerd Moellmann <gerd@gnu.org>
3061
c51d2b5e
GM
3062 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
3063 screen supports it.
3064
29a01b72
GM
3065 * s/gnu-linux.h: Don't use `#cpu'.
3066
09dfdf85
GM
3067 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3068 not defined in mman.h.
3069
ff9ab414
GM
3070 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New
3071 variables.
3072 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3073 and store an index in the XClientMessageEvent. Storing a
3074 Lisp_Object or pointer can fail on a 64 bit system, since X only
3075 transfers 32 bits.
3076 (x_scroll_bar_to_input_event): Get the window from
3077 scroll_bar_windows.
3078
81459ac9
DL
30792000-11-20 Dave Love <fx@gnu.org>
3080
3081 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3082
56c13ae6
GM
30832000-11-20 Gerd Moellmann <gerd@gnu.org>
3084
3085 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3086
495a6df3
KH
30872000-11-20 Kenichi Handa <handa@etl.go.jp>
3088
2bcf3714
KH
3089 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3090 by WIDTH.
3091
495a6df3
KH
3092 * alloc.c (make_string): Fix previous change. Be sure to make
3093 unibyte string correctly.
3094
6d950f4c
GM
30952000-11-19 Gerd Moellmann <gerd@gnu.org>
3096
39b39373
GM
3097 * window.c (Fwindow_list): Change parameter list to be XEmacs
3098 compatible.
3099 (window_list_1): New function.
3100 (window_loop): Use it instead of Fwindow_list.
3101
b95b34e5
GM
3102 * sysdep.c (emacs_ospeed): New variable.
3103 (toplevel): Don't declare ospeed extern.
3104 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3105
3106 * termcap.c (ospeed): Remove.
3107 (tputs) [!emacs]: Remove unused code.
3108 (tgetent): Avoid a compiler warning.
3109
e83dc917
GM
3110 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3111 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3112 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3113
3114 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3115 removed.
3116 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3117 Take the X display as additional argument.
3118 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3119 `Widget' is a pointer type that's not easily stored in Lisp_Object
3120 form in a portable way.
3121
6d950f4c
GM
3122 * dispnew.c (update_text_area): Fix last change.
3123
e47306e6
GM
31242000-11-18 Gerd Moellmann <gerd@gnu.org>
3125
fb3cd89b
GM
3126 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3127
3128 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3129 clear current matrices.
3130
edaa9aed
GM
3131 * buffer.c (mmap_enlarge): Don't print a message on stderr
3132 if mapping new memory at the end of the existing region fails.
3133
e47306e6
GM
3134 * dispnew.c (update_text_area): Don't skip over equal glyphs
3135 when the last current glyph overlaps the glyph to its right.
3136
509633e3
MB
31372000-11-18 Miles Bader <miles@gnu.org>
3138
3139 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3140 lines that *end* with "..." too (that's the most common case!).
3141
d392e9c5
GM
31422000-11-18 Gerd Moellmann <gerd@gnu.org>
3143
67988445
GM
3144 * xdisp.c (resize_mini_window): Temporarily change to the
3145 mini-window's buffer if necessary.
1bfdbe43 3146
d392e9c5
GM
3147 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3148 the tooltip obscures less text under it.
3149
31502000-11-17 Gerd Moellmann <gerd@gnu.org>
3151
3152 * puresize.h (BASE_PURESIZE): Increase to 700000.
3153
92bb977f
JR
31542000-11-18 Jason Rumney <jasonr@gnu.org>
3155
3156 * w32term.c (w32_draw_bitmap): Use face to set colors.
3157
26fbf20b
DL
31582000-11-17 Dave Love <fx@gnu.org>
3159
3160 * lread.c (Fload): Fix #ifdef for pcc.
3161
100b593b
GM
31622000-11-17 Gerd Moellmann <gerd@gnu.org>
3163
3164 * xdisp.c (pos_visible_p): Compute the default character height
3165 differently.
3166
a288d0d1
GM
31672000-11-16 Gerd Moellmann <gerd@gnu.org>
3168
cac94de6
GM
3169 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
3170 knowing the line's height; use the default font's height in that
3171 case.
3172
a288d0d1
GM
3173 * xfaces.c (weight_table): Add `demi' with the same meaning as
3174 `demibold'.
3175
981fb6f6
KH
31762000-11-16 Kenichi Handa <handa@etl.go.jp>
3177
2cca872d 3178 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3179 (clear_glyph_row): Delete local static variable null_row.
3180
e5fa381b
JR
31812000-11-15 Jason Rumney <jasonr@gnu.org>
3182
3183 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3184 (w32_alloc_lighter_color): Use new brightness calculations from
3185 xterm.c. Scale delta to be in the range expected by W32.
3186 (w32_draw_relief_rect): Use frame relief colors.
3187
8e42f043
GM
31882000-11-15 Gerd Moellmann <gerd@gnu.org>
3189
6d133d1f
GM
3190 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3191 (Qinhibit_default_face_x_resources): New variable.
3192 (syms_of_frame): Initialize it.
3193 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3194
3195 * xdisp.c (pos_visible_p): Improve function comment.
3196
3197 * lisp.h (BINDING_STACK_SIZE): New macro.
3198
8e42f043
GM
3199 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3200 reading the directory if readdir returns null and errno is EAGAIN
3201 or EINTR.
3202
e8c87124
SM
32032000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3204
3205 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3206 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3207 Set amount_to_scroll to max of dx and scroll_step so that
3208 scroll-conservatively doesn't defeat scroll-step>1.
3209 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3210 scroll-conservatively for line-at-a-time scrolling.
3211
5f0c971d
GM
32122000-11-14 Gerd Moellmann <gerd@gnu.org>
3213
3214 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3215 extra argument.
3216
3217 * xdisp.c (current_mode_line_height, current_header_line_height):
3218 New variables.
3219 (init_xdisp): Initialize them.
3220 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3221 and use exact mode line heights if it is set.
3222
3223 * lisp.h (pos_visible_p): Change prototype.
3224
3225 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3226 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3227 and current_header_line_height first.
3228 (current_mode_line_height, current_header_line_height): Declare
3229 extern.
3230
d7361edf
MB
32312000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3232
3233 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3234 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3235 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3236
ee5e440a
MB
32372000-11-14 Miles Bader <miles@gnu.org>
3238
3239 * xterm.c (x_alloc_lighter_color): Include an additive component
3240 too for dark colors, because FACTOR isn't enough.
3241 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3242 New macros.
3243
5ca020fc
GM
32442000-11-13 Gerd Moellmann <gerd@gnu.org>
3245
3246 * keyboard.c (show_help_echo): Call message3_nolog with number of
3247 bytes in the help string as 2nd parameter, instead of the number
3248 of characters.
3249
9d348294
MB
32502000-11-13 Miles Bader <miles@gnu.org>
3251
3252 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3253 (Fload): Use new openp return protocol.
3254 Don't try to use Vload_source_file_function to load .elc files.
3255 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3256 openp return protocol.
3257 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3258
1729bb9a
KH
32592000-11-11 Kenichi Handa <handa@etl.go.jp>
3260
4e677396
KH
3261 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3262
3263 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3264 Defined these macros.
3265 (NLIST_STRUCT): Avoid re-defining it.
3266
1729bb9a
KH
3267 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3268 -I/usr/contrib/X11R6/include.
3269 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3270
a82fe213
JR
32712000-11-10 Jason Rumney <jasonr@gnu.org>
3272
3273 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3274
3275 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3276 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3277
3278 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3279 (Qw32_charset_vietnamese): New symbol.
3280 (xlfd_charset_of_font): New function.
3281 (w32_load_system_font): Use it.
3282 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3283 when Vw32_charset_info_alist is nil to ensure default face always
3284 has font. Use Fcar and Fcdr for safety.
3285 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3286 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3287 pseudo-codepages for special cases.
3288 (w32_to_x_font): New parameter to allow charset portion to be
3289 specified where there is many to one mapping. Callers changed.
3290 (w32_list_fonts): Avoid listing fonts that won't display.
3291
52d89894
GM
32922000-11-10 Gerd Moellmann <gerd@gnu.org>
3293
3294 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3295 (font_list_1): Renamed from font_list.
3296 (font_list): New function, trying alternative registries from
3297 Vface_alternative_font_registry_alist.
3298 (Finternal_set_alternative_font_registry_alist): New function.
3299 (syms_of_xfaces): Initialize and Staticpro
3300 Vface_alternative_font_registry_alist. Defsubr
3301 Finternal_set_alternative_font_registry_alist.
3302
651cd3da
KR
33032000-11-09 Ken Raeburn <raeburn@gnu.org>
3304
3305 * lisp.h (Flooking_at): Declare.
3306
388ac098
GM
33072000-11-09 Gerd Moellmann <gerd@gnu.org>
3308
778fbc46
GM
3309 * dired.c (directory_files_internal): Fix a braino.
3310
388ac098
GM
3311 * dired.c (directory_files_internal): Add missing GCPRO's.
3312 Some cleanup.
3313
ecaedde1
GM
33142000-11-08 Gerd Moellmann <gerd@gnu.org>
3315
f7eb32aa
GM
3316 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3317 (resize_mini_window): Return quickly if Vresize_mini_window is
3318 nil. Don't return if Vmax_mini_window_height is nil.
3319
3320 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3321 (syms_of_xdisp): Initialize them.
3322 (resize_mini_window): Act according to the setting of
3323 Vresize_mini_window.
3324 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3325
ecaedde1
GM
3326 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3327 scroll bar widget after configuring it, so that it will appear at
3328 the right position from the start.
3329 (XTredeem_scroll_bar): Cleaned up.
3330
3747ef2c
KH
33312000-11-08 Kenichi Handa <handa@etl.go.jp>
3332
3333 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3334 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3335 division by two.
3336
3337 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3338
03391420
DL
33392000-11-07 Dave Love <fx@gnu.org>
3340
7758f1c1 3341 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3342
3343 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3344
b5de343d
GM
33452000-11-07 Gerd Moellmann <gerd@gnu.org>
3346
acad3c0b
GM
3347 * window.c (Fset_window_configuration): Don't try to preserve
3348 point in the current buffer, if that buffer is displayed in more
3349 than one window.
3350
b5de343d
GM
3351 * xfaces.c (lookup_named_face): If default face isn't realized,
3352 try to realize it. Return -1 if not successful.
3353 (Fx_list_fonts): Handle case that face cannot be determined.
3354 (Fface_font): Likewise.
3355
cdb1fe49
GM
33562000-11-06 Gerd Moellmann <gerd@gnu.org>
3357
3358 * window.c (displayed_window_lines): Detect partially
3359 visible lines at the bottom correctly.
3360
d3a67486
SM
33612000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3362
3363 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3364 when ensuring we don't do visit in indirect buffer.
3365
ff8dd5d5
KH
33662000-11-06 Kenichi Handa <handa@etl.go.jp>
3367
3368 * composite.h (compose_chars_in_text): Add prototype.
3369
3370 * composite.c (Vcomposition_function_table): New variable.
3371 (Qcomposition_function_table): New variable.
3372 (run_composition_function): Call
3373 Vcompose_chars_after_function with three arguments.
3374 (compose_chars_in_text): New function.
3375 (syms_of_composite): Modified the doc-string of
3376 Vcompose_chars_after_function. Declare composition-function-table
3377 as a lisp variable, and initialize it.
3378
3379 * xfns.c (x_encode_text): Suppress producing escape sequences for
3380 composition.
3381
3382 * xselect.c: Include composite.h.
3383 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3384
d1145f85
AI
33852000-11-05 Andrew Innes <andrewi@gnu.org>
3386
3387 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3388
3389 * sysdep.c (read_input_waiting): Remove extraneous argument to
3390 read_socket_hook.
3391
3392 * w32fns.c (Fx_server_version): Include w32_build_number in the
3393 return list.
3394
3395 * w32heap.c (w32_build_number): New variable.
3396 (cache_system_info): Set it.
3397
3398 * w32heap.h (w32_build_number): Add extern.
3399
3400 * emacs.c (syms_of_emacs): Update docstring for
3401 system-configuration, to reflect the actual usage on MS-Windows.
3402
e85ee976
GM
34032000-10-31 Gerd Moellmann <gerd@gnu.org>
3404
26dcb81b
GM
3405 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3406 process idle timers while waiting for another event.
3407
0a894bad
GM
3408 * dispnew.c (update_frame_line): Handle case where spaces in
3409 the default face are colored.
3410
e85ee976
GM
3411 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3412 window height hasn't changed.
3413
01b220b6
JR
34142000-10-31 Jason Rumney <jasonr@gnu.org>
3415
3416 * w32term.c (x_produce_glyphs): Handle composite characters.
3417 (x_draw_glyph_string_foreground)
3418 (x_draw_composite_glyph_string_foreground): Restore old font.
3419
4e6b7204
MB
34202000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3421
3422 * minibuf.c (read_minibuf): Reset the undo history just before
3423 starting the recursive-edit.
3424
d4358b37
GM
34252000-10-30 Gerd Moellmann <gerd@gnu.org>
3426
563f68f1
GM
3427 * xfaces.c (menu_face_change_count): New variable.
3428 (Finternal_set_lisp_face_attribute): Increment it for changes
3429 of the `menu' face.
3430 (realize_basic_faces): Reflect changes in the `menu' faces
3431 in menu bars.
3432
82e274d1
GM
3433 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3434 dy obtained from the iterator's y-position after moving from
3435 scroll_margin_pos to PT; see comment there.
3436
0dbf9fd2
GM
3437 * xdisp.c (safe_eval_handler): Call add_to_log.
3438
906b3b14
GM
3439 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3440 is not a symbol or string.
3441
d4358b37
GM
3442 * xdisp.c (echo_area_display): Don't perform a display update from
3443 inside redisplay. The update will happen anyway at the end of
3444 redisplay, and it can confuse redisplay (GC messages while
3445 redisplaying, for instance.)
3446
70c825df
SM
34472000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3448
cf9b4b0b
SM
3449 * xrdb.c (x_load_resources): Use the class name in the defaults.
3450
70c825df
SM
3451 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3452 (regex_compile): Catch bogus \(\1\).
3453
a1d34b1e
GM
34542000-10-30 Gerd Moellmann <gerd@gnu.org>
3455
cae71efe
GM
3456 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3457 RGB values.
3458
35efe0a1
GM
3459 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3460 we have a color cache, check that the cached color equals the
3461 allocated color. If not, clear the color cache.
3462
1d3baf74
GM
3463 * window.c (displayed_window_lines): Change buffers if necessary.
3464 Fix computation of displayed lines.
3465
a1d34b1e
GM
3466 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3467 update_menu_bindings to DEFVAR_BOOL.
3468
70737ea9
KH
34692000-10-30 Kenichi Handa <handa@etl.go.jp>
3470
70c825df 3471 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3472
fa0cb51d
KH
3473 * puresize.h (BASE_PURESIZE): Increase to 680000.
3474
70737ea9
KH
3475 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3476
0e4c08e8
JR
34772000-10-29 Jason Rumney <jasonr@gnu.org>
3478
3479 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3480
3481 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3482 (w32_cache_char_metrics): Handle possibility that 'x' does not
3483 exist in a BDF font.
3484 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3485
3486 * w32bdf.h (bdffont): Add nchars.
3487
3488 * w32bdf.c (set_bdf_font_info): Set it.
3489 (w32_BDF_TextOut): Swap byte order of double byte characters.
3490 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3491
45b84006
EZ
34922000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3493
3494 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3495 don't override the colors in frame's param_alist, unless they are
3496 unspecified.
3497
3498 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3499 reverse the effect of the highlight flag.
3500
caf9deee
KR
35012000-10-27 Ken Raeburn <raeburn@gnu.org>
3502
3503 * window.h (Fwindow_live_p): Declare.
3504
ae0b9b46
KR
3505 * undo.c (record_delete): Check that last_undo_buffer is really a
3506 buffer before applying XBUFFER to it.
3507
3508 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3509 Faref.
3510
02067692
SM
35112000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3512
3513 * lisp.h (KEYMAPP): New macro.
3514 (get_keymap): Remove.
3515 (get_keymap_1): Rename get_keymap.
3516
3517 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3518
3519 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3520
3521 * xmenu.c (single_submenu): Use KEYMAPP.
3522 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3523 Use KEYMAPP rather than Fkeymapp.
3524
3525 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3526
3527 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3528 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3529 Use KEYMAPP rather than Fkeymapp.
3530 (single_submenu): Use KEYMAPP.
3531 (w32_menu_show, w32_dialog_show): Use TRUE.
3532
3533 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3534
3535 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3536 (Fkeymapp): Use KEYMAPP.
3537 (get_keymap): Rename from get_keymap_1. Remove old def.
3538 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3539 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3540 (Fminor_mode_key_binding): Don't raise an error if the binding
3541 is not a keymap.
3542 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3543 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3544
3545 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3546 Allow Vspecial_event_map to be autoloaded.
3547 (menu_bar_items): Fetch the keymap rather than using keymapp.
3548 (menu_bar_one_keymap): No need to follow func-indirect any more.
3549 (parse_menu_item): get_keymap_1 -> get_keymap.
3550 (tool_bar_items): Fetch the keymap rather than using keymapp.
3551 (read_key_sequence): Use KEYMAPP.
3552
3553 * intervals.c (get_local_map): Use get_keymap rather than following
3554 function-indirections explicitly.
3555
3556 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3557
f9d80af3
JR
35582000-10-27 Jason Rumney <jasonr@gnu.org>
3559
3560 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3561 point, as Windows has oversized fonts.
3562
3563 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3564
a3ba27da
GM
35652000-10-27 Gerd Moellmann <gerd@gnu.org>
3566
3567 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3568 (freehook, reallochook): Handle null pointer arguments.
3569 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3570
aa3b80cc
SM
35712000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3572
3573 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3574 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3575 Giving in to popular pressure to shut up the compiler with casts.
3576
e24e84cc
GM
35772000-10-27 Gerd Moellmann <gerd@gnu.org>
3578
3579 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3580 signed value, and use a default value computed from the font's
3581 maximum descent.
3582
05ea7ef2
MB
35832000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3584
3585 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3586 that specify a negative underline position can still use underlines.
3587
3588 * window.c (Fpos_visible_in_window_p): Make POS default to
3589 WINDOW's point, not the current buffer's point.
3590
0b95284b
DL
35912000-10-26 Dave Love <fx@gnu.org>
3592
3593 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3594 when it's necessary.
3595
6c5b90af
GM
35962000-10-26 Gerd Moellmann <gerd@gnu.org>
3597
8b6d9dc9
GM
3598 * window.c (size_window): Compute size difference from sum of old
3599 child window sizes instead of from parent's size.
3600
6bc92b2e
GM
3601 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3602 Handle obscured lines at the top of the window.
3603
3604 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3605 down after the last error condition check.
3606
6c5b90af
GM
3607 * frame.c (Fdelete_frame): Run delete-frame-hook.
3608
42f92d4d
KH
36092000-10-26 Kenichi Handa <handa@etl.go.jp>
3610
3611 * coding.c (decode_coding): Fix previous change (check also
3612 CODING_MODE_LAST_BLOCK).
3613
d97151cb
SM
36142000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3615
e7efc503
SM
3616 * regex.c: More `unsigned char' -> `re_char' changes.
3617 Also change several `int' into `re_wchar_t'.
3618 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3619 (PUSH_FAILURE_POINTER): Don't cast any more.
3620 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3621 We want GCC to complain, since this piece of code makes
3622 re_match non-reentrant, which *should* be fixed.
3623 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3624 (EXTEND_BUFFER): Use RETALLOC.
3625 (SET_LIST_BIT): Don't cast.
3626 (re_wchar_t): New type.
3627 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3628 that those two functions will always properly return.
3629 (IMMEDIATE_QUIT_CHECK): Cast to void.
3630 (analyse_first): Use recursion rather than an explicit stack.
3631 (re_compile_fastmap): Can't fail anymore.
3632 (re_search_2): Don't check re_compile_fastmap for failure.
3633 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
3634 Now also sets the new value (passed in a new argument).
3635 (re_match_2_internal): Use it.
3636 Also, use a new var `reg' of type size_t when looping through regs
3637 rather than reuse the inappropriate `mcnt'.
3638
d97151cb
SM
3639 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
3640 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
3641 (where_is_internal): Renamed from Fwhere_is_internal.
3642 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
3643 (Fwhere_is_internal): New function wrapping where_is_internal.
3644 (where_is_internal_1): Handle the case where we're filling the cache.
3645 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
3646
d5789b65
MB
36472000-10-25 Miles Bader <miles@gnu.org>
3648
3649 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
3650
4ecda532
GM
36512000-10-25 Gerd Moellmann <gerd@gnu.org>
3652
3653 * window.c (pos_fully_visible_p): Removed.
3654 (Fpos_visible_in_window_p): Use pos_visible_p to determine
3655 if position is visible and/or fully visible.
3656
3657 * lisp.h (pos_visible_p): Add prototype.
3658
3659 * xdisp.c (pos_visible_p): New function.
3660
68c3a137
KH
36612000-10-25 Kenichi Handa <handa@etl.go.jp>
3662
3663 * process.c (send_process): If OBJECT is t, it means that the data
3664 is from C string, but we should encode it. Before calling
3665 setup_raw_text_coding_system, be sure to flush out data by the
3666 previous coding system.
3667
7ae1c032
MB
36682000-10-25 Miles Bader <miles@lsi.nec.co.jp>
3669
ff4dcd4b
MB
3670 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
3671 assignment of startpos to prev when startpos == pos.
3672
7ae1c032
MB
3673 * editfns.c (find_field): Set the field stickiness correctly from
3674 overlay fields. Use renamed `text_property_stickiness'.
3675 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 3676 Only check text properties, not overlays.
7ae1c032
MB
3677 * textprop.c (get_char_property_and_overlay): New function.
3678 (Fget_char_property): Use it.
3679 * intervals.h (get_char_property_and_overlay): Add declaration.
3680
49801145
SM
36812000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3682
3683 * keymap.c: Use AREF, ASET and ASIZE macros.
3684 (Fmake_sparse_keymap): Docstring fix.
3685 (synkey): Remove.
3686 (shadow_lookup): Move up.
3687 Handle the case where lookup-key returns an integer.
3688 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
3689 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
3690 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
3691 Simplify/rewrite the keymap-finding code.
3692 Add check for command shadowing, using shadow_lookup.
3693
39e776cd
SM
36942000-10-24 Stefan Monnier <monnier@cs.yale.edu>
3695
3696 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
3697 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
3698 a symbol.
3699
2488aba5
AI
37002000-10-24 Andrew Innes <andrewi@gnu.org>
3701
3702 * dired.c (directory_files_internal_unwind): New function.
3703 (directory_files_internal): Use it to ensure closedir is called
3704 even if expand-file-name or file-attributes throw, eg. because of
3705 a user interrupt. Also enable immediate_quit while calling
3706 re_search, so that matching can be interrupted as well.
3707
b94fdf61
AI
37082000-10-24 Andrew Innes <andrewi@gnu.org>
3709
3710 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
3711 NT-Emacs only.
3712 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
3713 so that re_search functions only quit when callers expect them to.
3714
37152000-10-24 Kenichi Handa <handa@etl.go.jp>
3716
3717 * regex.c (regex_compile): Change the way of handling a range from
3718 a char less than 256 to a char not less than 256.
3719
1946f901
GM
37202000-10-24 Gerd Moellmann <gerd@gnu.org>
3721
7ae2f10f
GM
3722 * window.c (size_window): Prevent setting window's width or
3723 height to a negative value (esp. with XSETFASTINT).
3724
5dcab13e
GM
3725 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
3726 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
3727 (protect_malloc_state) [GC_MALLOC_CHECK &&
3728 GC_PROTECT_MALLOC_STATE]: New function.
3729 (PROTECT_MALLOC_STATE): New macro.
3730 (__malloc_initialize, morecore, _malloc_internal)
3731 (_free_internal) _realloc_internal): Use it to make _heapinfo
3732 read-only outside of gmalloc.
3733
63e1b552
GM
3734 * keymap.c: Update copyright.
3735
1946f901
GM
3736 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
3737 a symbol.
3738
4fa09beb
GM
37392000-10-24 Colin Walters <walters@cis.ohio-state.edu>
3740
3741 * filelock.c (unlock_all_files): Use unlock_file to expand each
3742 buffer's file_truename before trying remove its lock file.
3743
23afac01
EZ
37442000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
3745
3746 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
3747 or CRLF, decode EOLs.
3748
04448b95
KH
37492000-10-24 Kenichi Handa <handa@etl.go.jp>
3750
3751 * window.c (Fdisplay_buffer): Fix doc.
3752
3090a5a5
JR
37532000-10-23 Jason Rumney <jasonr@gnu.org>
3754
3755 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
3756 ASCII font of default fontset on Windows.
3757
3758 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
3759 xterm.c comment below).
3760
3761 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
3762
a83fee2c
GM
37632000-10-23 Gerd Moellmann <gerd@gnu.org>
3764
3765 * xterm.c (x_connection_closed): Reset handling_signal.
3766
3767 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
3768 null.
3769
6ffdb539
MB
37702000-10-23 Miles Bader <miles@gnu.org>
3771
3772 * window.c (window_scroll_pixel_based, window_scroll_line_based):
3773 Pass nil for FULLY argument to Fpos_visible_in_window_p to
3774 maintain old behavior.
3775 * minibuf.c (Fminibuffer_complete): Likewise.
3776
7f1c969b
MB
37772000-10-23 Miles Bader <miles@lsi.nec.co.jp>
3778
3779 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
3780 that when a font can't be exactly centered, it errs up rather than
3781 down.
3782
23afac01 37832000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
3784
3785 * fns.c (Fbase64_decode_string): The decoded result should be
3786 unibyte.
3787
1a578e9b
AC
37882000-10-23 Andrew Choi <akochoi@i-cable.com>
3789
3790 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
3791
3792 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 3793 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
3794
3795 * emacs.c (main) [macintosh]: Call syms_of_textprop,
3796 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
3797 syms_of_search, x_term_init, and init_keyboard before calling
3798 init_window_once. Also, call syms_of_xmenu.
3799
3800 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
3801 default fontset to Monaco.
3802
3803 * frame.c [macintosh]: Include macterm.h. Remove declarations of
3804 NewMacWindow and DisposeMacWindow.
3805 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
3806 instead of calling NewMacWindow and setting fields of
3807 f->output_data.mac directly. Call init_frame_faces.
3808 (Fdelete_frame) [macintosh]: Remove unused code.
3809 (Fmodify_frame_parameters) [macintosh]: Call
3810 x_set_frame_parameters instead of mac_set_frame_parameters.
3811
3812 * frame.h [macintosh]: Define menu_bar_lines field in struct
3813 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
3814
3815 * keyboard.c [macintosh]: Include macterm.h.
3816 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
3817 and menu_bar_activate_event type events as for X and NT.
3818 (make_lispy_event) [macintosh]: Construct lisp events of type
3819 MENU_BAR_EVENT as for X and NT.
3820
3821 * sysdep.c [macintosh]: Remove declaration for sys_signal.
3822 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
3823 (sys_subshell) [macintosh]: Remove definition entirely.
3824 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
3825 Vwindow_system_version here. Remove initialization of
3826 Vx_bitmap_file_path.
3827 (read_input_waiting): Correct the number of parameters passed to
3828 read_socket_hook.
3829 Move all Macintosh functions to mac/mac.c.
3830
3831 * term.c [macintosh]: Include macterm.h.
3832
3833 * window.c [macintosh]: Include macterm.h.
3834
3835 * xdisp.c [macintosh]: Include macterm.h. Declare
3836 set_frame_menubar and pending_menu_activation.
3837 (echo_area_display) [macintosh]: Do not return if terminal frame
3838 is the selected frame.
3839 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
3840 Allow only the selected frame to set menu bar.
3841 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
3842 calling FRAME_EXTERNAL_MENU_BAR (f).
3843 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
3844
3845 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
3846 and check_x. Declare XCreateGC. Define x_create_gc and
3847 x_free_gc. Initialize font_sort_order.
3848 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
3849 but call x_list_fonts instead of w32_list_fonts.
3850 (Finternal_face_x_get_resource) [macintosh]: Do not call
3851 display_x_get_resource.
3852 (prepare_face_for_display) [macintosh]: Set xgcv.font.
3853 (realize_x_face) [macintosh]: Load the font if it is specified in
3854 ATTRS.
3855 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
3856 to Qt.
3857
1ffbabe3
SM
38582000-10-22 Stefan Monnier <monnier@cs.yale.edu>
3859
3860 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
3861 is nil: since we go to the end of submap anyway, we'd end up
3862 setting nil to nil.
3863 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
3864 doesn't obey autoload.
3865
bed43f1d
EZ
38662000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3867
1ffbabe3 3868 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 3869
ea4233a7
JR
38702000-10-21 Jason Rumney <jasonr@gnu.org>
3871
3872 * w32term.c (w32_cache_char_metrics): Double check that font is
3873 really fixed pitch before trusting tmPitchAndFamily.
3874
f3d3c491
AI
38752000-10-21 Andrew Innes <andrewi@gnu.org>
3876
3877 * w32gui.h (w32_char_font_type): Move enum from w32term.c
3878
3879 * w32term.h: Extern decl for w32_cache_char_metrics.
3880
3881 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
3882
3883 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
3884 (w32_unload_font): Free per_char array if present.
3885
3886 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
3887 cached information in emulated XFontStruct to handle common cases
3888 quickly. Do not allocate XCharStruct for return.
3889 (w32_native_per_char_metric): New function.
3890 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
3891 allocating one.
3892 (x_produce_glyphs): Don't get an HDC. Change calls to
3893 w32_per_char_metric to match arg change above. Remove calls to
3894 free results.
3895 (w32_get_glyph_overhangs): Ditto.
3896 (w32_cache_char_metrics): New function.
3897
3898 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
3899 ($(BLD)/casefiddle.$(O)): Remove compile command.
3900 ($(BLD)/gmalloc.$(O)): Remove compile command.
3901 ($(BLD)/dispnew.obj):
3902 ($(BLD)/keyboard.obj):
3903 ($(BLD)/w32inevt.obj):
3904 ($(BLD)/w32bdf.obj):
3905 ($(BLD)/alloc.obj):
3906 ($(BLD)/buffer.obj):
3907 ($(BLD)/editfns.obj):
3908 ($(BLD)/emacs.obj):
3909 ($(BLD)/fileio.obj):
3910 ($(BLD)/fns.obj):
3911 ($(BLD)/indent.obj):
3912 ($(BLD)/insdel.obj):
3913 ($(BLD)/intervals.obj):
3914 ($(BLD)/minibuf.obj):
3915 ($(BLD)/print.obj):
3916 ($(BLD)/scroll.obj):
3917 ($(BLD)/sysdep.obj):
3918 ($(BLD)/textprop.obj):
3919 ($(BLD)/widget.obj):
3920 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
3921 ($(BLD)/term.obj): Add dependency on dispextern.h.
3922
3923 * makefile.nt ($(BLD)\dispnew.obj):
3924 ($(BLD)\keyboard.obj):
3925 ($(BLD)\w32inevt.obj):
3926 ($(BLD)\w32bdf.obj):
3927 ($(BLD)\alloc.obj):
3928 ($(BLD)\buffer.obj):
3929 ($(BLD)\editfns.obj):
3930 ($(BLD)\emacs.obj):
3931 ($(BLD)\fileio.obj):
3932 ($(BLD)\fns.obj):
3933 ($(BLD)\indent.obj):
3934 ($(BLD)\insdel.obj):
3935 ($(BLD)\intervals.obj):
3936 ($(BLD)\minibuf.obj):
3937 ($(BLD)\print.obj):
3938 ($(BLD)\scroll.obj):
3939 ($(BLD)\sysdep.obj):
3940 ($(BLD)\textprop.obj):
3941 ($(BLD)\widget.obj):
3942 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
3943 ($(BLD)\term.obj): Add dependency on dispextern.h
3944
18ad4821
EZ
39452000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3946
3947 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
3948 with an additional argument of Qt.
3949
de54681a
MB
39502000-10-21 Miles Bader <miles@gnu.org>
3951
3952 * window.c (pos_fully_visible_in_window_p): New function.
3953 (Fpos_visible_in_window_p): Add FULLY argument.
3954 Use pos_fully_visible_in_window_p.
3955 (window_scroll_pixel_based, window_scroll_line_based): Update
3956 calls to Fpos_visible_in_window_p.
3957 * lisp.h (Fpos_visible_in_window_p): Update prototype
3958
13c844fb
GM
39592000-10-20 Gerd Moellmann <gerd@gnu.org>
3960
3961 * alloc.c (toplevel): Conditionalize compilation of mem_*
3962 functions differently.
3963
d9506268
JR
39642000-10-20 Jason Rumney <jasonr@gnu.org>
3965
3966 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
3967 mem_init where it used to be. mem_z etc not defined otherwise.
3968
8094989b
GM
39692000-10-20 Gerd Moellmann <gerd@gnu.org>
3970
3971 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
3972 GC_MALLOC_CHECK.
3973 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
3974 structure definition and related variabled to the top of the file.
3975 Include this code when GC_MALLOC_CHECK is defined.
3976 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
3977 register/unregister allocated region.
3978 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
3979 which isn't allocated.
3980 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
3981 something which is already in use.
3982 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
3983 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
3984 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
3985 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
3986
3987 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
3988 _malloc_internal instead of malloc.
3989 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
3990 of free.
3991
ea456eb4
AI
39922000-10-20 Andrew Innes <andrewi@gnu.org>
3993
3994 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
3995 Windows.
3996 (my_strftime) <macro>: Don't use macro arg list when redefining as
3997 _strftime_copytm.
3998 (my_strftime) <function>: Supply 0 as ut argument.
3999
e64c3a75
JR
40002000-10-19 Jason Rumney <jasonr@altavista.net>
4001
4002 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4003 including dispextern.h, as it stops faces from working.
4004
4005 * w32fns.c (Fx_create_frame): Don't bother calling
4006 face-set-after-frame-default since the caller does it for us
4007 anyway. Clean up calls to x_get_arg to be consistent with X.
4008
4009 * w32term.c (x_produce_glyphs): Handle
4010 unibyte_display_via_language_environment correctly.
4011 (w32_draw_box_rect): Fix the calculation of width and height.
4012
4013 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4014 as it has stopped working.
4015 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4016 menu-bar.
4017
17401c97
GM
40182000-10-19 Gerd Moellmann <gerd@gnu.org>
4019
4020 * eval.c (skip_debugger): Prevent a compiler warning.
4021 (Fcondition_case): Likewise.
4022 (Fbacktrace_frame): Use a null interactive spec.
4023
773272d8
KH
40242000-10-19 Kenichi Handa <handa@etl.go.jp>
4025
4026 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4027
a42943e9
GM
40282000-10-18 Gerd Moellmann <gerd@gnu.org>
4029
e50517d9
GM
4030 * strftime.c: Sync with glibc, file version 1.78.
4031 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4032 should no longer be used according to ISO 8601.
4033
9035a35a
GM
4034 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4035 no map for meta_prefix_char, don't try to use it as a keymap.
4036 Instead, if T_OK is non-zero, look up a default binding, if any,
4037 otherwise, if T_OK is zero, return nil.
4038
a42943e9
GM
4039 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4040 (x_to_xcolors, png_load): Use x_query_color.
4041
4042 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
4043 functions.
4044 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4045 which can be slow.
4046 (x_copy_color, x_alloc_lighter_color): Likewise.
4047
4048 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4049 (x_query_color, x_query_colors): Add prototype.
4050
4051 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4052 check_string_bytes only if not noninteractive, increase count to 50.
4053
00de2987
MB
40542000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4055
4056 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4057 markers correctly.
4058
54918e2b
GM
40592000-10-17 Gerd Moellmann <gerd@gnu.org>
4060
1f0b3fd2
GM
4061 * alloc.c (pure_bytes_used): Renamed from pureptr.
4062 (ALIGN): New macro.
4063 (pure_alloc): New function.
4064 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4065 Use it.
4066 (Fpurecopy): Use PURE_POINTER_P.
4067
68c5d1db
GM
4068 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4069 PT has moved backward.
4070
9a038881
GM
4071 * xdisp.c (cursor_row_p): Take continued lines into account.
4072
361b097f
GM
4073 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4074 string's size_byte.
4075 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4076 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4077 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4078 string allocated.
4079
54918e2b
GM
4080 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4081 of selective display off while searching for the next line start.
4082
03ed0806
KH
40832000-10-17 Kenichi Handa <handa@etl.go.jp>
4084
4085 * Makefile.in (term.o): Depend on dispextern.h.
4086
7e05cdaf
SM
40872000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4088
4089 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4090
a6801fd1
GM
40912000-10-16 Gerd Moellmann <gerd@gnu.org>
4092
483de32b
GM
4093 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4094 the iterator at the beginning, so that they can be set later on,
4095 for instance in reseat_at_next_visible_line_start, without being
4096 overwritten.
4097
a6801fd1
GM
4098 * xfns.c (pbm_format): Add :foreground and :background keywords.
4099 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 4100 (xbm_load): Recognize foreground and background color
a6801fd1
GM
4101 specifications.
4102
dbf1fcc1
EZ
41032000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4104
4105 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4106
4107 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
4108 declaration.
4109
4110 * msdos.c (IT_set_face): Compare highlighted face with the default
4111 face, and invert colors if these faces' colors are identical.
4112 (Fmsdos_remember_default_colors): Don't swap foreground and
4113 background colors in initial_colors[].
4114 (IT_set_frame_parameters): Don't swap frame's foreground and
4115 background pixels. If ALIST includes "(reverse . t)", swap
4116 foreground-color and background-color properties in frame's
4117 param_alist. If the original frame's param_alist doesn't specify
4118 the colors, store unspecified-fg and unspecified-bg, reversed if
4119 required.
4120
4121 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4122 the colors are unspecified and reversed, reverse fore- and back-
4123 ground in the returned value.
4124 (Fframe_parameter): Ditto.
4125
b41fe2c3
GM
41262000-10-16 Gerd Moellmann <gerd@gnu.org>
4127
3a6b59d9
GM
4128 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4129 get_last_unchanged_at_beg_row.
4130 (find_first_unchanged_at_end_row): Renamed from
4131 get_first_unchanged_at_end_row.
4132 (find_first_unchanged_at_end_row): Convert assertions to
4133 unconditional tests which abort. When looking for a row in
4134 unchanged text, don't go further back than first_text_row.
4135
b41fe2c3
GM
4136 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4137 Don't add in the last line's height when deciding if the new
4138 position is below the scroll margin.
9d1af64f 4139
b41fe2c3 41402000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4141
4142 * editfns.c (Fconstrain_to_field): Check carefully for field
4143 boundaries if either OLD_POS or NEW_POS has a non-nil field
4144 property, even if they're the same.
4145
c412cb7b
KH
41462000-10-16 Kenichi Handa <handa@etl.go.jp>
4147
4148 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4149 height for XFillRectangle.
4150
5586f3eb
SM
41512000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4152
4153 * syntax.c (Fstring_to_syntax): New function extracted from
4154 Fmodify_syntax_entry.
4155 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4156 (skip_chars, Fforward_comment): Remove unused variables.
4157 (syms_of_syntax): Add defsubr for string-to-syntax.
4158 (describe_syntax): Add code for comment and string fences.
4159
db785038
SM
41602000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4161
4162 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4163 Do the meta->esc mapping. Call get_keyelt before returning.
4164 Start scanning from the second element (the first is always `keymap')
4165 to make it easier to detect when we reach a parent map.
4166 Handle the case of inheriting from a symbol whose function is a map.
4167 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4168 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4169 (get_keyelt, Flookup_key): Update call to access_keymap.
4170 Remove the meta->esc mappings.
4171 (define_as_prefix): Delete old disabled code.
4172 (menu_item_p): New function.
4173 (where_is_internal_1): Skip over the few remaining menu items.
4174 * lisp.h (access_keymap): Update prototype.
4175 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4176 Update call to access_keymap.
4177 (follow_key, read_key_sequence): Update calls to access_keymap.
4178 Remove the meta->esc mappings.
4179
cafafe0b
GM
41802000-10-13 Gerd Moellmann <gerd@gnu.org>
4181
a2e2a7f6
GM
4182 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4183 with additional argument.
4184
cafafe0b
GM
4185 * xdisp.c (cursor_row_p): New function.
4186 (try_cursor_movement, display_line): Use it.
4187
4188 * xdisp.c (append_space): Also save/restore iterator's current
4189 character and its length.
4190
4191 * xdisp.c (init_from_display_pos): Add an assertion.
4192 (handle_stop): Don't set iterator's add_overlay_start.
4193 (handle_invisible_prop): Likewise.
4194 (load_overlay_strings): If text under an overlay is invisible,
4195 take both before- and after-strings into account when the iterator
4196 is positioned either at the start or at the end of the overlay.
4197 (forward_to_next_line_start): Rewritten.
4198 (reseat_at_next_visible_line_start): Rewritten.
4199 (set_iterator_to_next): Add parameter RESEAT_P.
4200
4201 * dispextern.h (struct it): Remove member add_overlay_start.
4202 (set_iterator_to_next): Change prototype.
4203
c744452b
KH
42042000-10-13 Kenichi Handa <handa@etl.go.jp>
4205
4206 * coding.c (code_convert_region): Be sure to initialize
4207 coding->category_idx.
e4a3f4e1
KH
4208 (decode_coding_string): Set coding->src_multibyte and
4209 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4210 (encode_coding_string): Set coding->src_multibyte and
4211 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4212
321fd26f
SM
42132000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4214
4215 * xfns.c (Fx_create_frame): Don't bother calling
4216 face-set-after-frame-default since the caller does it for us anyway.
4217
76832439
EZ
42182000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4219
4220 * window.c (coordinates_in_window): Fix detection of vertical line
4221 on character terminals.
4222
2483cf58
GM
42232000-10-12 Gerd Moellmann <gerd@gnu.org>
4224
4225 * editfns.c (save_excursion_save): Additionally record the
4226 selected window.
4227 (save_excursion_restore): If buffer was visible in a window, and a
4228 different window was selected, and the old selected window is
4229 still live, restore point in that window.
4230
eb991b25
KH
42312000-10-12 Kenichi Handa <handa@etl.go.jp>
4232
8a0eba09
KH
4233 * xterm.c (x_produce_glyphs): Handle
4234 unibyte_display_via_language_environment correctly.
4235
20401fcc
KH
4236 * regex.c (regex_compile): Change the way of handling a range from
4237 unibyte char to multibyte char.
4238
4239 * syntax.c (skip_chars): Change the way of handling a range from
4240 unibyte char to multibyte char.
4241
eb991b25
KH
4242 * process.c (read_process_output): Cancel previous change.
4243
365dd325
EZ
42442000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4245
c1b096cb
EZ
4246 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4247
365dd325
EZ
4248 * charset.c (Ffind_charset_string): Doc fix.
4249 (Ffind_charset_region): Doc fix.
4250
eb483c2b
KH
42512000-10-11 Kenichi Handa <handa@mule.m17n.org>
4252
4253 * process.c (read_process_output): Fix previous change. Adjust
4254 multibyteness of text to insert in a buffer by
df3c11b9 4255 string_make_unibyte/multibyte instead of
eb483c2b
KH
4256 Fstring_as_unibyte/multibyte.
4257
b40bfb99
AS
42582000-10-10 Andreas Schwab <schwab@suse.de>
4259
4260 * alloc.c (mark_object): Remove all workarounds installed on
4261 1993-08-08.
4262
caff31d4
KH
42632000-10-10 Kenichi Handa <handa@etl.go.jp>
4264
4265 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
4266 returning.
4267 (base64_encode_1): Make it work for a text of multibyte form.
4268 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4269 case. Don't call str_to_multibyte because base64_decode_1
4270 produces correct multibyte form for eight-bit codes.
4271 (Fbase64_decode_string): Adjusted for the change of
4272 base64_decode_1.
4273 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4274 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4275 codes.
4276
4277 * charset.h (CHAR_STRING): Optimized for single byte characters.
4278
cba026ef
AS
42792000-10-09 Andreas Schwab <schwab@suse.de>
4280
4281 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4282 -1 after socket is closed, to fall through to error processing.
4283
1e21fe48
EZ
42842000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4285
4286 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4287 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4288 background-color, change also the colors of the default face for
4289 this frame.
4290
a640322e
EZ
42912000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4292
4293 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4294 them extern (they are defined on xfaces.c).
4295 (syms_of_msdos): Don't intern and don't staticpro
4296 Qbackground_color and Qforeground_color.
4297
a115794c
EZ
42982000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4299
4300 * frame.c (Fframe_parameter): For non-windowed frames, if
4301 f->param_alist says foreground or background color is unspecified,
4302 call tty_color_name to return the color name computed from the
4303 frame's current colors.
4304
f5533b63
DL
43052000-10-06 Dave Love <fx@gnu.org>
4306
4307 * terminfo.c (ospeed): Don't declare.
4308
4309 * sysdep.c: Don't include string.h.
4310 (h_errno): Declare conditional also on TRY_AGAIN.
4311
4312 * charset.c (Ffind_charset_string): Doc fix.
4313
4314 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
4315 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4316 error messages.
4317
2b06561a
DL
43182000-10-05 Dave Love <fx@gnu.org>
4319
4320 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4321 position like menu-bar.
4322
ca839c85
GM
43232000-10-05 Gerd Moellmann <gerd@gnu.org>
4324
4325 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4326
4327 * xdisp.c (handle_single_display_prop): Use safe_call1.
4328 (safe_call): Renamed from call_function.
4329 (safe_call1): New function.
4330 (handle_fontified_prop): Use safe_call1 instead of call1.
4331 (safe_eval): Renamed from eval_form.
4332 (safe_eval_handler): Renamed from eval_handler.
4333 (handle_single_display_prop, display_mode_element): Use safe_eval
4334 instead of eval_form.
4335
4336 * xfaces.c (merge_face_heights): Use safe_call instead of
4337 call_function.
4338
4339 * keyboard.c (show_help_echo): Use safe_call instead of
4340 call_function; use safe_eval instead of eval_form.
4341
4342 * lisp.h (safe_call): Renamed from call_function.
4343 (safe_eval): Renamed from eval_form.
4344 (safe_call1): Add prototype.
4345
a3489ece
MB
43462000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4347
4348 * xfns.c (image_ascent): Rearrange ascent calculation for the
4349 has-a-font case.
4350
35810b6f
SM
43512000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4352
4353 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4354 (where_is_internal_1): Don't bother ignoring menu-items any more.
4355
3dc78168
GM
43562000-10-04 Gerd Moellmann <gerd@gnu.org>
4357
4358 * keyboard.c (update_menu_bindings): New variable.
4359 (parse_menu_item): Use AREF. If update_menu_bindings
4360 is 0, don't update menu bindings.
4361 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4362
1efc2bb9
EZ
43632000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4364
4365 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4366 to `mark_object'.
4367
3f679f55
SM
43682000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4369
4370 * syntax.c (forw_comment): Match nestedness of ender/starter.
4371 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4372 (prev_char_comstart_first): Remove.
4373 (back_comment): Check two-char comment markers more carefully
4374 to better handle overlapping cases like *//* or /* */* */ ...
4375 Match nestedness of ender/starter.
4376
2021ab61
DL
43772000-10-02 Dave Love <fx@gnu.org>
4378
4379 * config.in (HAVE_GAI_STRERROR): Add undef.
4380
4381 * process.c (Fopen_network_stream): Use it.
4382
4383 * m/alpha.h (NO_REMAP): Don't define.
4384
64e6cc18
GM
43852000-10-02 Gerd Moellmann <gerd@gnu.org>
4386
4387 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4388 return with a string converted to an integer or vice versa when
4389 Vmocklisp_arguments is t.
4390 (Fsignal): Likewise. The function can return for `quit'.
4391 (struct gcpro): Declare member `var' to point to a volatile
4392 Lisp_Object.
4393
4394 * eval.c (error): Prevent compiler warning.
4395
b1904cd9
SM
43962000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4397
4398 * keymap.c (keymap_memberp): New function.
4399 (Fset_keymap_parent): Use it.
4400 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4401 Use keymap_memberp to avoid creating cycles.
4402 (access_keymap): Use KEYMAPP.
4403
71c9ec51
GM
44042000-09-30 Gerd Moellmann <gerd@gnu.org>
4405
4406 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4407 gai_strerror. Make sure xerrno is set if connect fails. Improve
4408 error recovery.
71c9ec51 4409
c70c6b58
JR
44102000-09-29 Jason Rumney <jasonr@gnu.org>
4411
4412 * w32term.c (w32_char_font_type, w32_encode_char)
4413 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4414 (w32_bdf_per_char_metric): New function.
4415 (w32_per_char_metric): Use it.
4416 (x_draw_glyph_string_background): Always draw background for BDF
4417 glyphs.
4418
4419 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4420 GDI object which is a scarce resource.
4421
4422 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4423 (get_quoted_string): Fix limit on memchr search.
4424 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4425 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4426 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4427 (get_cached_font_char, cache_char_offset): Use macro
4428 BDF_CODEPOINT_RANGE_COVER_P.
4429 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4430 (clear_cached_bitmap_slots): New function.
4431 (GET_HEX_VALUE): G-Z, g-z are not hex.
4432 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4433 (get_bitmap_with_cache): Use new cache implementation.
4434 (create_offscreen_bitmap): New function.
4435 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4436
4437 * w32term.c (x_produce_glyphs): If the distance from the current
4438 position to the next tab stop is less than a canonical character
4439 width, use the tab stop after that.
4440 (x_draw_glyphs): Handle case START and END are out of bounds more
4441 carefully.
4442 (x_clear_mouse_face): Block/unblock input.
4443 (x_display_and_set_cursor): Don't show a hollow box cursor for
4444 buffers whose cursor_type is nil.
4445
fe01239f
GM
44462000-09-29 Gerd Moellmann <gerd@gnu.org>
4447
4448 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
4449 disappears.
4450
4451 * dispextern.h (updating_frame): Declare extern.
4452
e7c52f1f
AS
44532000-09-29 Andreas Schwab <schwab@suse.de>
4454
4455 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4456
de6e1f7c
GM
44572000-09-29 Gerd Moellmann <gerd@gnu.org>
4458
25126faa
GM
4459 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4460 use its function definition.
4461 (tool_bar_items): Likewise.
4462
de6e1f7c
GM
4463 * lisp.h (fatal): Declare NO_RETURN.
4464
454ee39b
KH
44652000-09-29 Kenichi Handa <handa@etl.go.jp>
4466
4467 * keymap.c: Remove the line "#undef NULL".
4468
96301c5f
GM
44692000-09-28 Gerd Moellmann <gerd@gnu.org>
4470
4471 * xterm.c (x_make_frame_visible): Try harder to make the frame
4472 visible.
4473
efffeeb4
DL
44742000-09-28 Dave Love <fx@gnu.org>
4475
ecb8b666
DL
4476 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4477
dc3cd20f
DL
4478 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4479
4480 * .gdbinit (xreload): Note its need on GNU/Linux.
4481
efffeeb4
DL
4482 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4483 r_alloc, r_alloc_free.
4484
8610d903
KH
44852000-09-28 Kenichi Handa <handa@etl.go.jp>
4486
4487 * syntax.c (skip_chars): Handle negation correctly.
4488
8901d1ac
GM
44892000-09-27 Gerd Moellmann <gerd@gnu.org>
4490
6f22f1ad
GM
4491 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4492 with non-zero FORCE_P argument.
4493
8901d1ac
GM
4494 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
4495 Add assertions.
4496
4497 * xdisp.c (window_box_height): Add an assertion.
4498
4499 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4500 tool-bar than is available.
4501 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4502
36f1966f
DL
45032000-09-27 Dave Love <fx@gnu.org>
4504
efffeeb4 4505 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4506
31d929e5
GM
45072000-09-26 Gerd Moellmann <gerd@gnu.org>
4508
c98863bf
GM
4509 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4510 instead of BITS_PER_INT.
4511 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4512 EMACS_UINT, respectively.
4513 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4514
4515 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4516
4517 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4518
77072ab1
GM
4519 * window.c (freeze_window_starts): Construct last argument for
4520 foreach_window differently.
4521
4522 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4523
4524 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4525 EMACS_UINT instead of `int' and `unsigned int'.
4526 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4527
4528 * frame.h (struct frame): Make the `nothing' member of union
4529 output_data an EMACS_INT.
4530
31d929e5
GM
4531 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
4532 hunting.
4533 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4534 size in the sdata structure.
4535 (SDATA_NBYTES, SDATA_DATA): New macros.
4536 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4537 differently for the different layout of the sdata structure.
4538 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4539 in sdata.
4540 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4541 Check that size recorded in the string size and size recorded in
4542 the sdata structure agree.
4543
3e60b029
DL
45442000-09-25 Dave Love <fx@gnu.org>
4545
4546 * buffer.c: Include stdio.h.
4547
4548 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
4549
4550 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4551
4552 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
4553 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
4554 size_t.
4555 (__malloc_extra_blocks): Declare as __malloc_size_t.
4556
8ff16b4e
GM
45572000-09-25 Gerd Moellmann <gerd@gnu.org>
4558
755a2ccd
GM
4559 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4560
d8b4516f
GM
4561 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4562 (read_char): If help-echo is showing, preserve the echo area
4563 when redisplaying.
4564
4565 * xdisp.c (help_echo_showing_p): New variable.
4566 (set_message): Reset it to 0.
4567 (init_xdisp): Initialize help_echo_showing_p.
4568
4569 * dispextern.h (help_echo_showing_p): Declare extern.
4570
4571 * config.in: Fix typo in __GNUC_MINOR__.
4572
4573 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4574
b11af2dd
GM
4575 * s/freebsd.h (POSIX_SIGNALS): Define.
4576
8ff16b4e
GM
4577 * xterm.c (x_clear_mouse_face): Block/unblock input.
4578
844eb643
DL
45792000-09-24 Dave Love <fx@gnu.org>
4580
4581 * fns.c (base64_encode_1): Fix last change.
4582
b30ab1b3
GM
45832000-09-22 Gerd Moellmann <gerd@gnu.org>
4584
4585 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4586
4587 * xdisp.c (try_window_reusing_current_matrix): More fixes
4588 for the case window has a header-line.
4589
c6cbe5f0
DL
45902000-09-22 Dave Love <fx@gnu.org>
4591
4c7c1f3f
DL
4592 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4593 a doc string.
4594
4595 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4596
c6cbe5f0
DL
4597 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4598
550a625e
GM
45992000-09-21 Gerd Moellmann <gerd@gnu.org>
4600
4c7c1f3f 4601 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4602 for GCC >= 2.5.
4603
4604 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
4605 NO_RETURN.
4606
80d26f99
GM
4607 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4608 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4609 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4610 warnings.
4611
4612 * marker.c (byte_char_debug_check): Return void.
4613
623a0aae
GM
4614 * xfns.c (Fx_create_frame): Set default frame parameter value
4615 for tool-bar-lines to 1.
4616
4617 * dispnew.c (scrolling_window): Compare y-positions of rows
4618 equal at the start. Some simplification.
4619
4620 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4621 reused rows' y-position in the case window has a header-line, and
4622 new window start is greater than old window start.
4623
42ac0ae5
GM
4624 * process.c (process_sent_to): New variable.
4625 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4626 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4627 Declare more parameters volatile.
4628
550a625e
GM
4629 * lread.c (Vrecursive_load_depth_limit): New variable.
4630 (Fload): Check recursive loads whose recursion depth exceeds
4631 Vrecursive_load_depth_limit.
4632 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4633
8320414c
GM
46342000-09-20 Gerd Moellmann <gerd@gnu.org>
4635
f46c275e
GM
4636 * fileio.c (Fread_file_name): Doc fix.
4637
4638 * editfns.c (Fmessage_or_box): Doc fix.
4639
4640 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4641
b7e11c5b
GM
4642 * xfns.c (xbm_scan): Allow C-style comments.
4643
8320414c
GM
4644 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4645 symbols are specified, add color translations to the cache.
4646 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
4647 functions.
4648 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
4649 xpm_cache_color.
4650 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
4651 structures to xpm_init_color_cache.
4652
da1608d9
GM
46532000-09-19 Gerd Moellmann <gerd@gnu.org>
4654
4655 * dispnew.c (update_window_line): Make sure to always draw
4656 mode-lines.
4657
6badfa25
AI
46582000-09-19 Andrew Innes <andrewi@gnu.org>
4659
4660 * makefile.nt (bootstrap-emacs): Don't change directory.
4661
3a5f42bb
KH
46622000-09-19 Kenichi Handa <handa@etl.go.jp>
4663
1b7649bd
KH
4664 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
4665
3a5f42bb
KH
4666 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
4667 If output buffer is too small, signal an appropriated error.
4668
9f83cf0b
DL
46692000-09-18 Dave Love <fx@gnu.org>
4670
4671 * keyboard.c (menu_bar_items, tool_bar_items)
4672 (current_active_maps): Remove redundant get_local_map call.
4673
28c7826c
GM
46742000-09-18 Gerd Moellmann <gerd@gnu.org>
4675
5cefa566
GM
4676 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
4677 cursor for buffers whose cursor_type is nil.
4678
6fed3546
GM
4679 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
4680 a feature to implement that is already implemented.
4681 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
4682 warnings.
4683
4684 * xfns.c (x_clear_image_1): New function.
4685 (x_clear_image): Use it.
4686 (x_from_xcolors): Use x_clear_image_1; don't free the image's
4687 mask.
4688
05b1f851
GM
4689 * dispnew.c (update_window): Move test for invisible lines
4690 at the top to update_window_line.
4691 (update_window_line): Handle invisible lines here.
4692
f4779de9
GM
4693 * xfns.c (clear_image_cache): Clear current matrices of all
4694 frames sharing an image cache. Block input while freeing
4695 images. Fix timestamp comparison.
4696 (x_clear_image): Also free the mask.
4697
28c7826c
GM
4698 * xfns.c (lookup_image): Block input while loading the image so
4699 that we won't get interrupted in a state where the image isn't yet
4700 set up completely.
4701 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
4702 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
4703 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
4704 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
4705 input.
4706
b7412313
GM
47072000-09-16 Gerd Moellmann <gerd@gnu.org>
4708
4709 * dispnew.c (update_window): Make sure to make desired rows
4710 current even if they are completely invisible at the top
4711 of a window.
4712
47e351a3
GM
47132000-09-15 Gerd Moellmann <gerd@gnu.org>
4714
7f8f1edc
GM
4715 * xfns.c (lookup_image): Build mask before applying an algorithm.
4716 Recognize algorithm `disabled'.
4717 (cross_disabled_images): New variable.
4718 (COLOR_INTENSITY): New macro.
4719 (x_detect_edges): Use COLOR_INTENSITY.
4720 (x_disable_image): New function.
4721 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
4722
4723 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
4724 disabled state, don't apply an image transformation algorithm if
4725 the user specified an image for the disabled state. Use
28c7826c 4726 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
4727 user hasn't specified an image.
4728
ebb8f116
GM
4729 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
4730 allocation functions with the XPM lib.
4731 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
4732 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
4733 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
4734 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
4735 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
4736 functions.
4737 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
4738 functions, if possible, because these handle color allocation
4739 failure more gracefully.
4740 (Fimage_mask_p): New function.
4741
47e351a3
GM
4742 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
4743 (Qedge_detection, Qheuristic): New symbols.
4744 (syms_of_xfns): Initialize new symbols.
4745 (lookup_image): Handle `:mask X', `:algorithm emboss', and
4746 `algorithm (edge-detection ...)'.
4747 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
4748 (tiff_format, gif_format, gs_format): Add `:mask'.
4749 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
4750 (GIF_MASK, GS_MASK): New enumerators.
4751 (x_laplace_read_row, x_laplace_write_row): Functions removed.
4752 (emboss_matrix, laplace_matrix): New variables.
4753 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
4754 (x_edge_detection): New functions.
4755 (x_laplace): Rewritten in terms of x_detect_edges.
4756 (x_build_heuristic_mask): If image has a mask, free it.
4757
fe83b953
AI
47582000-09-14 Andrew Innes <andrewi@gnu.org>
4759
4760 * makefile.w32-in: Revert to Unix line endings.
4761
3021e816
AI
47622000-09-14 Andrew Innes <andrewi@gnu.org>
4763
4764 * makefile.w32-in: Standardize indentation somewhat.
4765 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
4766 cater for differences between shells.
4767
4768 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
4769
2a32b5ea
GM
47702000-09-14 Gerd Moellmann <gerd@gnu.org>
4771
4772 * xterm.c (x_produce_glyphs): If the distance from the current
4773 position to the next tab stop is less than a canonical character
4774 width, use the tab stop after that.
4775
b4331e96
DL
47762000-09-14 Dave Love <fx@gnu.org>
4777
4778 * buffer.c (alloc_buffer_text): Fix xmalloc call.
4779
ef9e4345
GM
47802000-09-14 Gerd Moellmann <gerd@gnu.org>
4781
085536c2
GM
4782 * xdisp.c (handle_fontified_prop): While running fontification
4783 functions, bind `fontification-functions' and
4784 `after-change-functions' to nil.
4785
ef9e4345
GM
4786 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
4787 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
4788
4789 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
4790
4791 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
4792 USE_MMAP_FOR_BUFFERS.
4793
4794 * insdel.c (make_gap): Use enlarge_buffer_text.
4795
4796 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
4797 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
4798 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
4799 from former r_alloc_* functions in ralloc.c.
4800 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
4801 variables.
4802 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
4803 (mmap_init) [REL_ALLOC_MMAP]: New function.
4804 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
4805 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
4806 BUFFER_FREE.
4807
4808 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
4809 (enlarge_buffer_text): Add prototype.
4810
4811 * ralloc.c: Remove everything having to do with the use of mmap.
4812
f8608968
GM
48132000-09-13 Gerd Moellmann <gerd@gnu.org>
4814
2a494b2d
GM
4815 * sound.c (Fplay_sound): Doc fix.
4816
8c907a56
GM
4817 * keyboard.c: Avoid some more compiler warnings.
4818 (parse_tool_bar_item): Ignore cached key bindings.
4819
f8608968
GM
4820 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
4821 and allocation of Lisp data.
4822
6ab70e9a
GM
48232000-09-12 Gerd Moellmann <gerd@gnu.org>
4824
d12d0a9b
GM
4825 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
4826 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
4827 defaults first.
4828
6ab70e9a
GM
4829 * lread.c (Fload): Put code checking for recursive loads in #if 0.
4830
63c36c3c
KH
48312000-09-12 Miyashita Hisashi <himi@meadowy.org>
4832
4833 * ccl.c: Comment fixed.
4834 (MAX_MAP_SET_LEVEL): Increased to 30.
4835 (PUSH_MAPPING_STACK): Enclose with do-while block.
4836 (POP_MAPPING_STACK): Likewise.
4837 (stack_idx_of_map_multiple): New variable.
4838 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
4839 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
4840 call the corresponding CCL program by
4841 CCL_CALL_FOR_MAP_INSTRUCTION.
4842 (ccl_driver) <CCL_MapSingle>: Likewise.
4843 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
4844 with the case where looking up process reaches to the end of
4845 map-set, and call CCL programs as the above change.
4846
7ee3bd7b
GM
48472000-09-11 Gerd Moellmann <gerd@gnu.org>
4848
8ec8a5ec
GM
4849 * xfns.c (png_load, jpeg_load): Declare some variables volatile
4850 that might be clobbered by longjmp.
4851 (check_x_display_info, x_decode_color, create_frame_xic)
4852 (Fx_display_backing_store, Fx_display_visual_class)
4853 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
4854 warnings.
4855
f74b0705
GM
4856 * lread.c (init_lread): Set Vloads_in_progress to nil.
4857 (Fload): Show list of recursively loaded files, when signaling an
4858 error.
4859
7ee3bd7b
GM
4860 * lread.c (Vloads_in_progress): New variable.
4861 (record_load_unwind): New function.
4862 (Fload): Check for recursive loads.
4863 (syms_of_lread): Initialize Vloads_in_progress.
4864 (read_integer, read1): Avoid some compiler warnings.
4865
4866 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
4867 compiler warnings.
4868
974e1e5b
MB
48692000-09-11 Miles Bader <miles@gnu.org>
4870
4871 * editfns.c (Fbuffer_string): Doc fix.
4872
9824c4e3
GM
48732000-09-10 Gerd Moellmann <gerd@gnu.org>
4874
4875 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
4876
6a72fdd1
KR
48772000-09-09 Ken Raeburn <raeburn@gnu.org>
4878
4879 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
4880 whether to include other header files.
4881
28e6fb66
GM
48822000-09-09 Gerd Moellmann <gerd@gnu.org>
4883
4884 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 4885 by Fmemq as a boolean.
28e6fb66 4886
7f8b6551
SM
48872000-09-08 Stefan Monnier <monnier@cs.yale.edu>
4888
4889 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
4890
a8710abf
GM
48912000-09-08 Gerd Moellmann <gerd@gnu.org>
4892
d1a02881
GM
4893 * ralloc.c (mmap_fd): Remove initializer which can make it
4894 read-only in a dumped Emacs.
4895 (mmap_fd_1): New variable.
4896 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
4897 restore it from there.
4898 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
4899 unconditionally so that mmap_fd can be initialized there.
4900 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
4901 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
4902 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
4903
c454aac1
GM
4904 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
4905
4906 * xdisp.c (dump_glyph_row): Fix printf format string.
4907 (display_line, move_it_in_display_line_to): Avoid compiler
4908 warnings.
4909
fc653ef2
GM
4910 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
4911
3015eec0
GM
4912 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
4913 inheritance.
4914
bfe0ee88
GM
4915 * xdisp.c (try_window_id): When trying to locate cursor in
4916 unchanged rows at the top, handle the case that we can't find it.
4917
a8710abf
GM
4918 * xterm.c (x_draw_glyphs): Handle case START and END are out
4919 of bounds more carefully.
4920
6b7d4ae4
DL
49212000-09-08 Dave Love <fx@gnu.org>
4922
423193c5
DL
4923 * s/sol2.h (REL_ALLOC_MMAP): Define.
4924 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
4925
4926 * ralloc.c: Don't include string.h (redundant).
4927 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
4928 [!MAP_ANON]: Include fcntl.h.
4929 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
4930 (r_alloc, r_re_alloc, r_alloc_free)
4931 (mmap_enlarge, mmap_set_vars): Use it.
4932 (r_alloc_init_fd): New function.
4933 (__morecore) [SYSTEM_MALLOC]: Don't declare.
4934 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
4935 malloc type.
4936
4937 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
4938 Remove vm-limit.o.
4939
6b7d4ae4
DL
4940 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
4941 change to __NetBSD__.
4942
44d31981
KH
49432000-09-08 Kenichi Handa <handa@etl.go.jp>
4944
4945 * search.c (compile_pattern): Check the multibyteness of cached
4946 string and PATTERN.
4947
aad40737
MB
49482000-09-08 Miles Bader <miles@gnu.org>
4949
4950 * xfaces.c (default_face_vector): Function removed.
4951 (Finternal_merge_in_global_face): Restore old global/local
4952 attribute override order. Use inline loop instead of calling
4953 default_face_vector.
4954
91a211b5
GM
49552000-09-07 Gerd Moellmann <gerd@gnu.org>
4956
4957 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
4958 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
4959 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
4960 where necessary, in case POINTER_TYPE is `void'.
4961
03419440
EZ
49622000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
4963
4964 * frame.c (make_terminal_frame): Initialize frame foreground and
4965 background colors to unspecified, for the initial instance of an
4966 MSDOS frame.
4967
f46f845b
GM
49682000-09-07 Gerd Moellmann <gerd@gnu.org>
4969
24f76fbf
GM
4970 * ralloc.c (mmap_find): Fix overlap computation.
4971 (mmap_enlarge): Compute nbytes before trying to find an
4972 overlapping region.
4973
f46f845b
GM
4974 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
4975 instead of `!='.
4976
4977 * lread.c (syms_of_lread): Change value of regexp
4978 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
4979
4980 * xmenu.c (xdialog_show): When looking up the selection in
4981 menu_items, take `quote' boundaries into account; this corresponds
4982 to a nil ITEM in x-popup-dialog.
4983
3c014385
KH
49842000-09-07 Kenichi Handa <handa@etl.go.jp>
4985
fd6f711b
KH
4986 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
4987 not 0x81.
4988 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
4989
3c014385 4990 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
4991 encoding, not decoding. Fix the handling of latin-jisx0201.
4992 Check for the charset katakana-jisx0201 too.
3c014385 4993 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 4994 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 4995
0da3ecef
GM
49962000-09-07 Gerd Moellmann <gerd@gnu.org>
4997
ab0ee409
GM
4998 * xfaces.c (Vparam_value_alist): New variable.
4999 (syms_of_xfaces): Initialize it.
5000 (Finternal_set_lisp_face_attribute): Avoid more consing.
5001
5002 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5003 specially.
5004 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5005 (Qbackground_mode): New variable.
5006 (syms_of_frame_1): Initialize Qbackground_mode.
5007
5008 * lisp.h (Qdisplay): Declare extern.
1091dd67 5009
0da3ecef
GM
5010 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5011 change face on all frames, and change the default for new frames.
5012
b14654b9
DL
50132000-09-07 Dave Love <fx@gnu.org>
5014
5015 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5016
d24fd56f
KH
50172000-09-07 Kenichi Handa <handa@etl.go.jp>
5018
794f3670
KH
5019 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5020
0fddd0dc
KH
5021 * charset.c: Include composite.h
5022 (lisp_string_width): New function.
5023 (Fstring_width): Call lisp_string_width instead of strwidth.
5024
5025 * Makefile.in (charset.o): Depends on composite.h.
5026
d24fd56f
KH
5027 * process.c (read_process_output): Before inserting the decoded
5028 text in the buffer, adjust the multibyteness.
5029
fa0b693c
GM
50302000-09-06 Gerd Moellmann <gerd@gnu.org>
5031
73b77ee5
GM
5032 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
5033 buffer's text buffer is null, map new memory.
5034
0a58f946
GM
5035 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5036 POINTER_TYPE and size_t.
5037 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5038 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5039 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5040 [REL_ALLOC_MMAP]: New macros.
5041 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5042 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5043 [REL_ALLOC_MMAP]: New functions.
5044
5045 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5046 before and after unexec.
5047
5048 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5049 text buffers if necessary.
5050
5051 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5052 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5053 in prototypes.
5054
fa0b693c
GM
5055 * config.in (HAVE_MMAP): Add #undef.
5056
877055f6
GM
50572000-09-05 Gerd Moellmann <gerd@gnu.org>
5058
08ba3862
GM
5059 * frame.c (Qdisplay_type): New variable.
5060 (syms_of_frame_1): Initialize it.
5061 (Fframe_parameter): New function that avoids consing.
5062 (syms_of_frame): Defsubr it.
5063
66ffe51c
GM
5064 * buffer.c (Fother_buffer): Consider buffers as invisible when
5065 they are displayed in a window on an invisible frame.
5066
877055f6
GM
5067 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5068 get-largest-window always return nil.
5069
bb970e67
GM
50702000-09-04 Gerd Moellmann <gerd@gnu.org>
5071
5072 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5073 variable; recognize Emacs 19 elc files.
5074
7a3d0e0e
MB
50752000-09-04 Miles Bader <miles@gnu.org>
5076
5077 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5078 before initially popping up the menu, so the menu doesn't flash
5079 when the face settings are significantly different from the
5080 defaults.
5081
14473664
SM
50822000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5083
5084 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5085 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5086 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5087 (BIT_UNIBYTE): Remove.
5088 (re_match_2_internal): Delete corresponding code and streamline the
5089 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5090 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5091 (re_wctype_t): New type.
5092 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5093 (regex_compile): Use them and fix handling of overly long char classes.
5094
c1174479
AI
50952000-09-03 Andrew Innes <andrewi@gnu.org>
5096
f8803e97
AI
5097 * makefile.w32-in: Change to DOS line endings.
5098
c1174479
AI
5099 * s/ms-w32.h (ORDINARY_LINK): New define.
5100
5101 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5102 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5103
5104 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5105 (distclean): Delete them here instead.
5106
44ef7cf6
AI
5107 * w32proc.c (compare_env): Convert to uppercase for comparison,
5108 not lowercase, to match how the native Windows shell works.
5109
49b3bd82
JR
51102000-09-03 Jason Rumney <jasonr@gnu.org>
5111
5112 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5113 CVS changes the line-ends when checking in/out on DOS/Windows.
5114
5115 * makefile.nt (emacs): Do not change directory to run temacs, as
5116 the load-path is set relative to current directory.
5117
a3d35a39
MB
51182000-09-03 Miles Bader <miles@gnu.org>
5119
5120 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5121
d276b0cf
GM
51222000-09-02 Gerd Moellmann <gerd@gnu.org>
5123
715e84c9
GM
5124 * xdisp.c (redisplay_mode_lines): New function.
5125 (display_mode_lines): Return number of mode lines displayed.
5126 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5127 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5128
8892f40b
GM
5129 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5130 string.h and strings.h.
5131 (index) [HAVE_INDEX]: Add prototype.
5132
d276b0cf
GM
5133 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5134 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5135
5136 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5137 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5138
38404229
GM
51392000-09-01 Gerd Moellmann <gerd@gnu.org>
5140
5141 * lread.c (read1): Accept `?' as symbol constituent, for
5142 compatiblity with XEmacs.
5143
c0f9ea08
SM
51442000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5145
5146 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5147 (struct re_pattern_buffer): Remove newline_anchor.
5148 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5149 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5150 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5151 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5152 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5153 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5154 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5155 Get rid of references to newline_anchor.
5156 (regcomp): Allocate and precompute a fastmap.
5157
8c0f83fe
GM
51582000-08-31 Gerd Moellmann <gerd@gnu.org>
5159
5160 * lread.c (openp): GCPRO local variable `filename'.
5161
4bb91c68
SM
51622000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5163
5164 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5165
5166 * regex.c: Merge some changes from GNU libc. Add prototypes.
5167 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5168 Use memcmp and memcpy instead of bcopy and bcmp.
5169 (init_syntax_once): Use ISALNUM.
5170 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5171 (REG_UNSET_VALUE): Remove. Use NULL instead.
5172 (REG_UNSET, re_match_2_internal): Use NULL.
5173 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5174 New macros.
5175 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5176 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5177 (regex_compile): In handle_interval, return an error rather than try to
5178 unfetch the interval if we can't find the closing brace.
5179 Obey the RE_NO_GNU_OPS syntax bit.
5180 (TOLOWER): New macro.
5181 (regcomp): Use it.
5182 (regexec): Allocate regs.start and regs.end as one block.
5183
5226a931
GM
51842000-08-30 Gerd Moellmann <gerd@gnu.org>
5185
868dd24b
GM
5186 * xdisp.c (echo_area_display): Check display_completed instead
5187 of calling detect_input_pending.
5188
5189 * dispnew.c (update_frame): Only set display_completed here; move
5190 the update_begin and update_end calls here from update_frame_1.
5191 (update_frame_1): Don't set display_completed here, don't call
5192 update_begin/update_end.
5193
5226a931
GM
5194 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5195 instead of store_frame_param.
5196
2a8bd25f
GM
51972000-08-29 Gerd Moellmann <gerd@gnu.org>
5198
5199 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5200 desired window matrix hasn't been displayed, use the current row
5201 instead. Make sure that only those frame rows are updated for
5202 which there exists a corresponding enabled desired row.
5203
ba3478d9
MB
52042000-08-29 Miles Bader <miles@gnu.org>
5205
5206 * xfaces.c (default_face_vector): New function.
5207 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5208
87d0f685
GM
52092000-08-29 Gerd Moellmann <gerd@gnu.org>
5210
5211 * lread.c (openp): Prevent temporary string passed to
5212 Ffile_readable_p from being garbage collected.
5213
6fa86045
DL
52142000-08-28 Dave Love <fx@gnu.org>
5215
5216 * keymap.c (store_in_keymap): Add `static' to declaration.
5217
bb17930d
GM
52182000-08-28 Gerd Moellmann <gerd@gnu.org>
5219
5220 * emacs.c, callint.c, doc.c, editfns.c
5221 (toplevel) [HAVE_STRING_H]: Include string.h.
5222 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5223 (index): Remove prototypes which might conflict with non-standard
5224 definitions of index/strchr.
5225
5226 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5227 (rindex): Define only if !HAVE_RINDEX.
5228
5229 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5230
5231 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5232
87188200
MB
52332000-08-28 Miles Bader <miles@gnu.org>
5234
5235 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5236 made inconsistent by a font-related attribute in FROM.
5237 (merge_face_inheritance): Add function comment.
5238
41a68aef
KH
52392000-08-28 Kenichi Handa <handa@etl.go.jp>
5240
5241 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5242 the 4th arg (PREV_EVENT) Qt to suppress input method.
5243
f7c436c1
SM
52442000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5245
0b32bf0e
SM
5246 * regex.c: Indent cpp directives and remove parens after `defined'.
5247 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5248 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5249 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5250 (re_compile_pattern): Use size_t for length.
5251 (init_syntax_once): Move to a better place.
5252 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5253 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5254
f7c436c1
SM
5255 * syntax.c (back_comment): Detect cases where a comment-starter is
5256 actually inside another comment as in: /* a // b */ c // d \n.
5257 Make it clear that `comstart_pos' is unused for nested comments.
5258
5259 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5260 (KEYMAPP): New macro.
5261 (Fkeymap_parent, Fset_keymap_parent): Use it.
5262 (fix_submap_inheritance): Mark it static.
5263 (define_as_prefix, describe_buffer_bindings, describe_command)
5264 (describe_translation, describe_map): Complete prototypes.
5265
5266 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5267
5268 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5269 to better match the key-lookup behavior.
5270
6288c62f
GM
52712000-08-27 Gerd Moellmann <gerd@gnu.org>
5272
5273 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5274 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5275
e931344e
EZ
52762000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5277
5278 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5279 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5280 (xterm.o): Depend on coding.h
5281
d10dfeef
KH
52822000-08-26 Kenichi Handa <handa@etl.go.jp>
5283
5284 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5285 the corresponding '#endif'.
5286
2d73e8d3
MB
52872000-08-26 Miles Bader <miles@gnu.org>
5288
5289 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5290 * xfaces.c (QCinherit): New variable.
5291 (syms_of_xfaces): Initialize it.
5292 (LFACE_INHERIT): New macro.
5293 (Finternal_get_lisp_face_attribute)
5294 (merge_face_vector_with_property)
5295 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5296 (check_lface_attrs): Allow new types of face height. Check
5297 inherit attribute.
5298 (CYCLE_CHECK): New macro.
5299 (merge_face_inheritance): New function.
5300 (merge_face_vectors): Merge inherited faces too. Add F and
5301 CYCLE_CHECK arguments.
5302 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5303 (lookup_named_face, lookup_derived_face, realize_named_face)
5304 (face_at_string_position, face_at_buffer_position): Supply
5305 new F and CYCLE_CHECK arguments to merge_face_vectors.
5306 (merge_face_heights): New function.
5307 (merge_face_vectors, merge_face_vector_with_property)
5308 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5309 handle relative face heights.
5310 (lface_same_font_attributes_p): Compare heights using EQ.
5311
6ce974d4
KH
53122000-08-26 Kenichi Handa <handa@etl.go.jp>
5313
5314 * charset.c (char_to_string): Check the character validity.
5315 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
5316 0.
5317
dc1e502d
SM
53182000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5319
5320 * regex.c (PUSH_FAILURE_COUNT): New macro.
5321 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5322 Handle popping of a register's or a counter's data.
5323 (POP_FAILURE_POINT): Use the new name.
5324 (re_match_2_internal): Push counter data on the stack for succeed_n,
5325 jump_n and set_number_at and remove misleading dead code in succeed_n.
5326
bd9d0f3f
GM
53272000-08-25 Gerd Moellmann <gerd@gnu.org>
5328
5329 * xdisp.c (redisplay_internal): If considering all windows on all
5330 frames, update the display for each frame as soon as possible,
5331 instead of first building all desired matrices for all frames, and
5332 then updating them all.
5333 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5334
aa5b8e15
GM
53352000-08-24 Gerd Moellmann <gerd@gnu.org>
5336
17494071
GM
5337 * bytecode.c (mark_byte_stack): Add a comment.
5338
aa5b8e15
GM
5339 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5340 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
5341 a graphical frame.
5342
c543db81
KH
53432000-08-24 Kenichi Handa <handa@etl.go.jp>
5344
d246d5f5
KH
5345 * minibuf.c (do_completion): Always use compare-string, not
5346 string-equal because the latter doesn't pay attention to
5347 multibyteness of strings.
5348
c543db81
KH
5349 * process.c (create_process): Don't setup raw-text coding here.
5350 (Fopen_network_stream): Don't set coding->src_multibyte and
5351 coding->dst_multibyte here.
5352 (read_process_output): For process filter, return unibyte string
5353 if default-enable-multibyte-characters is nil.
5354 (send_process): If OBJECT is multibyte text, be sure to encoded it
5355 by the specified coding system for the process. Otherwise, setup
5356 raw-text coding.
5357 (init_process): Don't initialize default-process-coding-system
5358 here.
5359
9b47cfe0
EZ
53602000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5361
5362 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5363 <scroll-down-aggressively>: Likewise.
5364
f5a36960
KH
53652000-08-23 Kenichi Handa <handa@etl.go.jp>
5366
5367 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5368 zero. Set coding->produced_char correctly.
5369
69a7ffa7
AI
53702000-08-22 Andrew Innes <andrewi@gnu.org>
5371
5372 * makefile.w32-in: New file.
5373
5374 * unexw32.c (unexec): Ignore old_name, and use the actual location
5375 of the current executable instead. Base new_name on this.
5376
5377 * w32proc.c (create_child): Remove reference to security
5378 descriptor, which isn't needed and doesn't compile with mingw32.
5379
5380 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5381 up dllimport attributes.
5382 (x_update_window_end): Update prototype.
5383
5384 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5385 extern, which screws up dllimport attributes.
5386
5387 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5388 up dllimport attributes.
5389
5390 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5391 screws up dllimport attributes.
5392
5393 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5394 up dllimport attributes.
5395 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5396 screws up dllimport attributes.
5397
5398 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5399 up dllimport attributes.
5400
5401 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5402 screws up dllimport attributes.
5403
5404 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5405 screws up dllimport attributes.
5406
5407 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5408 up dllimport attributes.
5409
5410 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5411 unnecessary extern, which screws up dllimport attributes.
5412 (main): Ditto.
5413
5414 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5415 up dllimport attributes.
5416
5417 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5418 unnecessary extern, which screws up dllimport attributes.
5419
5420 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5421 screws up dllimport attributes.
5422
5423 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5424 up dllimport attributes.
5425
5426 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5427
5428 * w32bdf.c (search_file_line):
5429 (set_bdf_font_info):
5430 (seek_char):
5431 (w32_get_bdf_glyph):
5432 (w32_BDF_to_x_font): Fix compile warnings.
5433
5434 * w32menu.c: Include keyboard.h before frame.h. Fix compile
5435 warnings.
5436
5437 * w32select.c: Include keyboard.h before frame.h.
5438
5439 * w32fns.c (max): Define macro.
5440 (JOHAB_CHARSET): Define if not known.
5441 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5442 (Fx_show_tip): Synch with X version.
5443
5444 * w32xfns.c: Include keyboard.h before frame.h.
5445
5446 * w32fns.c: Include keyboard.h before frame.h.
5447
5448 * w32term.c: Include keyboard.h before frame.h.
5449
5450 * fontset.c: Include keyboard.h before frame.h.
5451
5452 * w32inevt.c: Include keyboard.h before frame.h.
5453 (MOUSE_MOVED): Define if not known.
5454
5455 * minibuf.c: Include keyboard.h before frame.h.
5456
5457 * keyboard.c: Include keyboard.h before frame.h.
5458
5459 * indent.c: Include keyboard.h before frame.h.
5460
5461 * dispnew.c: Include keyboard.h before frame.h.
5462
5463 * buffer.c: Include keyboard.h before frame.h.
5464
5465 * alloc.c: Include keyboard.h before frame.h.
5466
5467 * print.c: Include keyboard.h before frame.h.
5468
5469 * process.c: Include keyboard.h before frame.h.
5470
5471 * scroll.c: Include keyboard.h before frame.h.
5472
5473 * sysdep.c: Include keyboard.h before frame.h.
5474
5475 * term.c: Include keyboard.h before frame.h.
5476
5477 * window.c: Include keyboard.h before frame.h.
5478
5479 * xdisp.c: Include keyboard.h before frame.h.
5480 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5481
5482 * frame.c: Include keyboard.h before frame.h.
5483
5484 * w32heap.h: Undefine min, max.
5485
5486 * w32gui.h: Undefine min, max.
5487
5488 * unexw32.c: Change PUCHAR to PCHAR.
5489 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
5490 (relocate_offset):
5491 (get_section_info):
5492 (copy_executable_and_dump_data): Remove unnecessary static defs.
5493 (copy_executable_and_dump_data): Fix compile warnings.
5494
5495 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5496
5497 * w32console.c (min): Define macro.
5498 (clear_frame, write_glyphs): Fix compile warning.
5499
5500 * w32proc.c (compare_env):
5501 (find_child_console): Fix compile warning.
5502
5503 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5504 sys_errlist instead of _sys_errlist.
5505 (get_emacs_configuration_options): New function.
5506
5507 * s/ms-w32.h (sys_nerr): Provide default definition.
5508 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5509 name with _ prepended.
5510 (NSIG): Define if not known.
5511 (get_emacs_configuration): Provide extern declaration.
5512 (get_emacs_configuration_options): Provide extern declaration.
5513 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5514
5515 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
5516 (map_w32_filename):
5517 (read_unc_volume): Fix compile warning.
5518
5519 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5520 definitions from being used.
5521
5522 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5523
5524 * w32.c (unc_volume_file_attributes):
5525 (open_unc_volume): Make arg const.
5526
5527 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5528 (read_input_waiting): Remove excess parameter.
5529
5530 * w32.c (init_environment): Call _access.
5531 (check_windows_init_file): Call _close.
5532 (init_user_info): Call _putenv.
5533 (init_environment): Call _putenv and _strdup.
5534 (init_ntproc): Reset volume info cache on startup.
5535
5536 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5537 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5538 cannot override the CRT malloc.
5539
5540 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5541 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5542
5543 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5544 unless we are linking with a static CRT.
5545 (RVA_TO_PTR): Cast result to unsigned char*.
5546
5547 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5548 (add_volume_info): Use xstrdup.
5549
25060080
SM
55502000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5551
5552 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5553 (do_completion, Fminibuffer_complete_word): Use it.
5554 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5555 var so it can take non-boolean values.
5556
6917e6bb
GM
55572000-08-21 Gerd Moellmann <gerd@gnu.org>
5558
acb7cc89
GM
5559 * editfns.c (find_field): Formatting changes.
5560 (toplevel): Some old-style function forward declarations
5561 changed to prototypes, some new protypes added, some functions
5562 made static.
5563
5564 * lisp.h (set_time_zone_rule): Add prototype.
5565 (use_dialog_box): External declaration.
5566
0bbfdc25
GM
5567 * keyboard.c (gen_help_event): Add parameter SIZE.
5568 (kbd_buffer_events_waiting): Slightly rewritten.
5569 (clear_event): New function.
5570 (kbd_buffer_get_event): Use it, and clear the input_events of
5571 HELP_EVENTs.
5572 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5573 don't fill the newly created array with nils.
5574 (toplevel): Convert some old-style function forward declarations
5575 to prototypes.
5576
5577 * keyboard.h (gen_help_event): Change prototype.
5578
5579 * xterm.c (XTread_socket): Change calls to gen_help_event.
5580
5581 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5582
6917e6bb
GM
5583 * eval.c (Fmacroexpand): Doc fix.
5584
e5cd3d11
JR
55852000-08-20 Jason Rumney <jasonr@gnu.org>
5586
5587 * w32term.h (x_display_info_for_display): Remove as this function
5588 does not exist on W32.
5589
5590 * w32term.c (help_echo_window): New variable.
5591 (syms_of_w32term): staticpro it.
5592 (note_mode_line_highlight): Set it.
5593 (XTextExtents16): Removed as there is no equivalent on W32.
5594 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5595 the X way of doing this will not work for W32.
5596 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5597 (x_draw_image_foreground): Avoid drawing outside of the clip area
5598 when image doesn't have a mask.
5599 (note_mouse_highlight): Process overlays in the right order of
5600 priority. Set help_echo_window.
5601 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5602 because that's more visible for large images.
5603
5604 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5605 name to single_keymap_panes.
5606 (w32_menu_show): Set wv->title when dealing with titles.
5607 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5608
6e69ab8c
MB
56092000-08-21 Miles Bader <miles@gnu.org>
5610
5611 * minibuf.c (do_completion): Try again if we rewrite the input
5612 string, but no completion was done, so that any completion message
5613 will be correct.
5614
511bd4eb
GM
56152000-08-20 Gerd Moellmann <gerd@gnu.org>
5616
5617 * xfaces.c (lface_equal_p): Compare strings differently.
5618 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5619 (realize_tty_face): Use them.
5620 (syms_of_xfaces): Initialize new variables.
5621 (map_tty_color): New function, extracted from realize_tty_face.
5622 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5623 foreground or background color, store the new color name in the
5624 realized face; previous code trying to do this had no effect.
5625 (realize_tty_face): Use map_tty_color.
5626 (Fclear_face_cache): Set face_change_count and ensure thorough
5627 redisplay.
5628
1433385f
GM
56292000-08-19 Gerd Moellmann <gerd@gnu.org>
5630
511bd4eb
GM
5631 * undo.c (record_first_change, record_marker_adjustment): Don't
5632 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5633
419ac0a2
KH
56342000-08-18 Kenichi Handa <handa@etl.go.jp>
5635
5636 * coding.c (decode_coding_string): Set members consumed,
5637 consumed_char, produced, produced_char of *coding correctly. If
5638 decode_coding doesn't consume any byte, don't try anymore.
5639 (encode_coding_string): Likewise.
5640
7eb9e30d
GM
56412000-08-18 Gerd Moellmann <gerd@gnu.org>
5642
511bd4eb
GM
5643 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5644 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5645
5646 * xdisp.c (redisplay_internal): Compare windows for equality with
5647 EQ, instead of applying XWINDOW to something that might not
5648 be a window.
5649
dd34a735
KH
56502000-08-18 Kenichi Handa <handa@etl.go.jp>
5651
5652 * fontset.c (Finternal_char_font): Search only the selected frame
5653 for a window of the current buffer.
5654
385ff9e3
GM
56552000-08-18 Gerd Moellmann <gerd@gnu.org>
5656
511bd4eb 5657 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5658 Lisp_Objects.
5659
385ff9e3
GM
5660 * keyboard.c (kbd_buffer_get_event): Handle the case that the
5661 second half of a HELP_EVENT is found at the start of kbd_buffer.
5662
d6abb4c7
MB
56632000-08-18 Miles Bader <miles@gnu.org>
5664
4618074a
MB
5665 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
5666
d6abb4c7
MB
5667 * editfns.c (save_restriction_save): Rewrite to use markers.
5668 (save_restriction_restore): Rewrite to understand new form of data
5669 saved by save_restriction_save.
5670 (Fsave_restriction): Remove cautionary note in doc-string.
5671
a7b28523
GM
56722000-08-17 Gerd Moellmann <gerd@gnu.org>
5673
5674 * fileio.c (build_annotations): Add a comment explaining the
5675 return value of format-annotate-function. Replace a spurious call
5676 to Flength with a CONSP test. Call format-annotate-function with
5677 a fifth arg specifying how many times the function is been called
5678 in a row, to let it choose temporary buffers appropriately.
5679
03c9ed77
DL
56802000-08-17 Dave Love <fx@gnu.org>
5681
5682 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
5683 declare make_temp_name twice.
5684
5685 * lread.c: Prototype readevalloop, load_unwind,
5686 load_descriptor_unwind.
5687 (unreadpure): Give it an arg.
5688
5689 * unexalpha.c: Prototype fatal_unexec, mark_x,
5690 update_dynamic_symbols. Declare unexec as void.
5691
5692 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
5693 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
5694
5695 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
5696 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
5697 DOUG_LEA_MALLOC.
5698
5699 * alloca.c: Use #error.
5700 [POINTER_TYPE]: Use it.
5701
5702 * eval.c (Fdefvar): Doc fix.
5703
5704 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
5705 INITIALIZE_INTERVAL.
5706
5707 * buffer.h: Avoid DECLARE_INTERVALS.
5708
5709 * config.in: Add size_t.
5710
aae41d97
EZ
57112000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
5712
5713 * w16select.c (set_clipboard_data): If there's not enough memory
5714 to put text into clipboard, return 1, as Fw16_set_clipboard_data
5715 expects. In case of other failures, return 3.
5716 (system_error_msg): New error message.
5717 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
5718 system_error_msg.
5719
65aa5e85
GM
57202000-08-16 Gerd Moellmann <gerd@gnu.org>
5721
5722 * term.c (write_glyphs): Also turn off inverse video after turning
5723 off other appearances in case TS_exit_attribute_mode is not equal
5724 to TS_end_standout_mode.
5725 (insert_glyphs): Turn inverse video on/off for each run of glyphs
5726 with the same face.
5727 (turn_off_face): Reset standout_mode only if
5728 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
5729 is equal to TS_end_standout_mode.
5730
ece23901
KH
57312000-08-16 Kenichi Handa <handa@etl.go.jp>
5732
9d7bcb2e
KH
5733 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
5734 sequence at the end of the source block.
5735
ece23901
KH
5736 * ccl.c (Fccl_program_p): Docstring modified.
5737 (Fccl_execute): Likewise.
5738 (Fccl_execute_on_string): Likewise.
5739
5e30eaa2
EZ
57402000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
5741
5742 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
5743
290602fd
KH
57442000-08-16 Kenichi Handa <handa@etl.go.jp>
5745
5746 The following changes are mainly to fix bugs of
5747 encode/decode-coding-string failing if encoding/decoding return
5748 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
5749 variable conversion_buffer.
5750
5751 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
5752 decrement dst_end to avoid buffer overflow in the later call of
5753 string_as_multibyte
5754
5755 * coding.h (conversion_buffer_size, conversion_buffer)
5756 (get_conversion_buffer): Extern deleted.
5757
5758 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
5759 (conversion_buffer, conversion_buffer_size): Variables deleted.
5760 (get_conversion_buffer): Function deleted.
5761 (struct conversion_buffer): New structure.
5762 (MAX_ALLOCA): New macro.
5763 (allocate_conversion_buffer): New macro.
5764 (extend_conversion_buffer, free_conversion_buffer): New functions.
5765 (ccl_coding_driver): Set coding->result.
5766 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
5767 this is the last block of source.
5768 (encode_coding): Likewise. Handle the source block as the last
5769 one only when the whole source text is consumed.
5770 (decode_coding_string): Handle the case that the output buffer is
5771 too small to decode the whole source text. Use
5772 allocate_conversion_buffer, extend_conversion_buffer and
5773 free_conversion_buffer, not get_conversion_buffer.
5774 (encode_coding_string): Likewise.
5775 (init_coding): Function deleted.
5776 (init_coding_once): Delete code to initialize
5777 conversion_buffer_size.
5778
5779 * emacs.c (main): Don't call init_coding.
5780
5781 * msdos.c (IT_write_glyphs): Use a locally declared
5782 conversion_buffer.
5783
5784 * term.c (write_glyphs): Use a locally declared conversion_buffer.
5785 (insert_glyphs): Likewise.
5786
5787 * w32console.c (write_glyphs): Use a locally declared
5788 conversion_buffer.
5789
b9f80d41
EZ
57902000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
5791
5792 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
5793 member of display_info is NULL.
5794
32dc52f7
GM
57952000-08-15 Gerd Moellmann <gerd@gnu.org>
5796
58ed0d3b
GM
5797 * alloc.c (compact_small_strings): Use safe_bcopy, add an
5798 assertion.
5799
32dc52f7 5800 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 5801 appearances with capability `me'.
32dc52f7
GM
5802 (write_glyphs): Switch on inverse video before each face change.
5803
4eb22d33
DL
58042000-08-14 Dave Love <fx@gnu.org>
5805
5806 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
5807 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
5808 (lisp_free): Declare and make static.
5809
5810 * window.c: Fix embedded comment.
5811 (syms_of_window): Fix doc string.
5812
90cbf47e
GM
58132000-08-14 Gerd Moellmann <gerd@gnu.org>
5814
5815 * keymap.c (push_key_description): If C without modifiers is < 32,
5816 make sure to print `C-' before `M-', like in the manual.
5817
440fc135
GM
58182000-08-11 Gerd Moellmann <gerd@gnu.org>
5819
5820 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
5821 since they aren't relocated anymore.
5822 (sxhash_string): Make sure returned hash code fits in a Lisp
5823 integer.
5824
5825 * xdisp.c (try_cursor_movement): Fix handling of cursor in
5826 partially visible line which is smaller than the window's
5827 height.
5828
6e264fad
KH
58292000-08-11 Kenichi Handa <handa@etl.go.jp>
5830
5831 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
5832 the multibyte form of eight-bit-control characters.
5833 (Fccl_execute_on_string): Initialize ccl->multibyte.
5834
5835 * ccl.h (struct ccl_program): New member multibyte.
5836
5837 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
5838
c371f69a
KH
58392000-08-11 Kenichi Handa <handa@etl.go.jp>
5840
5841 * regex.c (regex_compile) <normal_char>: Pay attention to
5842 multibyteness.
5843 (analyse_first) <exactn>: Setup fastmap correctly for
5844 eight-bit-control characters.
5845
58462000-08-11 Kenichi Handa <handa@etl.go.jp>
5847
5848 * termhooks.h (enum event_kind): New member
5849 multibyte_char_keystroke.
5850
5851 * keyboard.c (make_lispy_event): Handle the new event type
5852 multibyte_char_keystroke.
5853
5854 * xterm.c: Include coding.h.
5855 (XTread_socket): Work around a bug of XmbLookupString. If the
5856 input is from XIM, decode it according to the current locale. In
5857 that case, generate multibyte_char_keystroke events.
5858
b8ddbe71
KH
58592000-08-11 Kenichi Handa <handa@etl.go.jp>
5860
5861 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
5862 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
5863
47589c8c
GM
58642000-08-10 Gerd Moellmann <gerd@gnu.org>
5865
5866 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
5867 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
5868 (move_it_in_display_line_to): Record iterator's ascent and descent
5869 before producing glyphs, and restore them when we know the glyph
5870 doesn't fit on the line.
5871 (move_it_to): Restructured so that it's easier to debug. If
5872 moving to a vpos, and not moving to an x or character position,
5873 stop as soon as the specified vpos is reached; don't move further
5874 into that line because that might change the computed line height.
5875 (try_cursor_movement): New function, extracted from the cursor
5876 movement branch of redisplay_window. If ending on a partially
5877 visible line, don't try to scroll if the cursor line is taller
5878 than the window.
5879 (redisplay_window): Use try_cursor_movement.
5880
5881 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
5882 because that function doesn't cope with variable-height lines.
5883
5884 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
5885 box cursor because that's better visible for large images.
5886
c51bacd6
MB
58872000-08-10 Miles Bader <miles@gnu.org>
5888
5889 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
5890
bea56df7
GM
58912000-08-10 Gerd Moellmann <gerd@gnu.org>
5892
5893 * xdisp.c (Vmessages_buffer_name): New variable.
5894 (message_dolog): Use it.
5895 (syms_of_xdisp): Initialize it.
5896
99cd7364
EZ
58972000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
5898
5899 * msdos.c (IT_note_mouse_highlight): Update the calls to
5900 overlays_at.
5901 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
5902 redundant now that keyboard.h is included.
5903
7d093d56
EZ
59042000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
5905
5906 * keyboard.c (kbd_buffer_events_waiting): New function.
5907
5908 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
5909
5910 * msdos.c: Include keyboard.h.
5911 (XMenuActivate): Empty no_event events from the event buffer. If
5912 no events are left after that, call clear_input_pending.
5913 (mouse_clear_clicks): New function, code moved from mouse_init.
5914 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
5915 mouse driver to ``forget'' any past clicks.
5916
5917 * Makefile.in (msdos.o): Depend on keyboard.h.
5918
41e757a6
GM
59192000-08-09 Gerd Moellmann <gerd@gnu.org>
5920
8e7bd231
GM
5921 * lisp.h (input_pending): External declaration.
5922
5923 * dispextern.h (Qredisplay_dont_pause): Declare extern.
5924
5925 * xdisp.c (echo_area_display): Display thoroughly if input is
5926 pending. Bind redisplay-dont-pause to t during the redisplay.
5927 in case input is pending.
5928
5929 * dispnew.c (Qredisplay_dont_pause): New variable.
5930 (syms_of_display): Initialize and staticpro it.
5931 (update_frame_1): Don't interrupt the display for pending input if
5932 redisplay_dont_pause is set.
5933
43028b7e
GM
5934 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
5935
41e757a6
GM
5936 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
5937
2f2174fa
KH
59382000-08-09 Miles Bader <miles@lsi.nec.co.jp>
5939
5940 * callproc.c (Fcall_process): Terminate the unwind-protect around
5941 the post-read-conversion of coding system.
5942
0a6fd67e
MB
5943 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
5944 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
5945 * buffer.h (overlays_at): Update prototype.
5946 * xdisp.c (next_overlay_change): Update call to overlays_at.
5947 * xfaces.c (face_at_buffer_position): Likewise.
5948 * textprop.c (Fget_char_property): Likewise.
5949 * xterm.c (note_mouse_highlight): Likewise.
5950
0c80756e
MB
5951 * minibuf.c (do_completion): Don't consider a simple change of
5952 case as `completion'.
5953
975f250a
KR
59542000-08-08 Ken Raeburn <raeburn@gnu.org>
5955
b347b3fd
KR
5956 * keyboard.c (syms_of_keyboard): Initialize
5957 last_point_position_buffer.
5958 * undo.c (record_delete): Make sure last_point_position_buffer is
5959 a buffer before comparing pointers.
5960
5961 * coding.h (decode_coding_string): Declare.
5962
5963 * intervals.h (Fprevious_single_char_property_change): Declare.
5964
5965 * textprop.c (Fprevious_single_char_property_change): Don't do
5966 arithmetic directly on lisp objects.
5967
25ad1371 5968 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
5969 objects.
5970
5971 * keyboard.h (menu_item_eval_property): Declare.
5972
5973 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
5974 reuse as buffer name, instead of recreating (and discarding) every
5975 time a message is logged.
5976 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
5977 (current_message_1, truncate_message_1, set_message_1)
5978 (display_echo_area_1, resize_mini_window_1): Signatures changed.
5979 (current_message, truncate_echo_area, display_echo_area)
5980 (resize_echo_area_axactly): Changed calls.
b347b3fd 5981
975f250a 5982 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 5983 Lisp object.
975f250a 5984 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 5985 must be an integer, not a Lisp object.
975f250a 5986
46dc9912
KH
59872000-08-08 Kenichi Handa <handa@etl.go.jp>
5988
5989 * charset.c (Fchar_width): Doc fix.
5990
9f6d1a6c
GM
59912000-08-08 Gerd Moellmann <gerd@gnu.org>
5992
5993 * charset.c (Fstring_width): Doc fix.
5994
ff3d9573
GM
59952000-08-07 Gerd Moellmann <gerd@gnu.org>
5996
41e757a6 5997 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
5998 line, clear ascent and descent members of the iterator structure;
5999 the height of the continued line does not affect the height of the
6000 continuation line.
6001 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6002 line taller than the window.
6003 (redisplay_window) <forced window start>: Handle case that the
6004 middle of the window is not found in any row.
6005 (dump_glyph_row): Show more information.
6006 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6007 first text line in a glyph matrix.
6008
6009 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6010 of the clip area when image doesn't have a mask.
6011
70fc58b3
GM
6012 * fns.c (sweep_weak_table): Fix survival conditions for
6013 key-or-value and key-and-value weakness.
6014
6015 * .gdbinit (xhashtable): New command.
6016
ac0e96ee
GM
6017 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6018 tables out of the list of all weak hash tables.
6019
ff3d9573
GM
6020 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6021 a new buffer is created, make sure echo_area_buffer[] references
6022 the new buffer.
6023
e0d8827b
EZ
60242000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6025
6026 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6027 the doc string.
6028
c6f35378
KH
60292000-08-07 Kenichi Handa <handa@etl.go.jp>
6030
6031 * syntax.c (skip_chars): Fix previous change. Make the handling
6032 of unibyte string consistent with that of regex search.
6033
1fd4c450
GM
60342000-08-05 Gerd Moellmann <gerd@gnu.org>
6035
e49aa397
GM
6036 * xmenu.c (popup_get_selection): Use xfree instead of free.
6037
6038 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6039
6040 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6041
6042 * callproc.c (child_setup): Use xfree instead of free.
6043
6044 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6045 instead of malloc.
6046 (run_mac_command, closedir): Use `xfree' instead of `free'.
6047
6048 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6049
6050 * eval.c (error): Use xfree instead of free.
6051
1fd4c450
GM
6052 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6053
6054 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6055 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6056
82d497fc
KH
60572000-08-05 Kenichi Handa <handa@etl.go.jp>
6058
6059 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6060 conversion.
6061
59f953a2
NF
60622000-08-04 Noah Friedman <friedman@splode.com>
6063
6064 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6065 docstring.
6066
688351f2
GM
60672000-08-04 Gerd Moellmann <gerd@gnu.org>
6068
6069 * syntax.c (skip_chars): Fix typo in error message.
6070
2dad51cc
AS
60712000-08-04 Andreas Schwab <schwab@suse.de>
6072
6073 * m/ia64.h: Moved from s/ia64.h.
6074
99bb2c60
KH
60752000-08-04 Kenichi Handa <handa@etl.go.jp>
6076
082a1df2
KH
6077 * process.c (read_process_output): Big simplification. Handle
6078 composition and post-read-conversion of coding system correctly.
6079 (send_process): Handle composition correctly.
6080
6081 * callproc.c (Fcall_process): Handle post-read-conversion of
6082 coding system if any.
6083
99bb2c60
KH
6084 * coding.c (decode_coding_iso2022): More strict check for handling
6085 single shifting.
082a1df2
KH
6086 (coding_restore_composition): Pay attention to the case that
6087 cmp_data is not set properly (because of invalid code in the
6088 source text).
6089 (run_pre_post_conversion_on_str): Include text properties in the
6090 resulting string.
6091 (decode_coding_string): Set members of coding correctly.
99bb2c60 6092
f4988be7
GM
60932000-08-03 Gerd Moellmann <gerd@gnu.org>
6094
6095 * s/ia64.h: New file.
6096
6097 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6098 Use NULL instead of 0 at the end of variable argument list of
6099 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6100 sizeof (int) < sizeof (void *).
6101
6102 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6103 of variable argument lists of XtVaGetValues and XtVaSetValues.
6104
6105 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6106 variable argument lists of XtVaGetValues and XtVaSetValues.
6107
ead53494
GM
61082000-08-02 Gerd Moellmann <gerd@gnu.org>
6109
6110 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6111 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6112
6113 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6114 prototype.
6115
6116 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6117 in call to Fsingle_key_description.
6118
6119 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6120 Callers changed.
6121
61222000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6123
6124 * window.c (display_buffer_reuse_frames): New variable.
6125 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6126 frames displaying BUFFER.
6127 (syms_of_window): Define Lisp variable
6128 display-buffer-reuse-frames.
6129
10b0f752
MB
61302000-08-01 Miles Bader <miles@gnu.org>
6131
6132 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6133 when to constrain NEW_POS (they were pretty screwed up before).
6134
16425c4a
EZ
61352000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6136
6137 * msdos.c (run_msdos_command): Save and restore the master
6138 environment, for the case that child_setup signals an error.
6139 When mirroring slashes in DOS shell commands, don't fail when
6140 argv[2] has embedded blanks.
da288c14
EZ
6141 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6142 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6143 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6144
6145 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6146 using alloca; free it after run_msdos_command returns.
6147
27f73852
DL
61482000-07-27 Dave Love <fx@gnu.org>
6149
6150 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
6151 define.
6152 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
6153 working.
6154
6155 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6156
c0261b5e
EZ
61572000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6158
6159 * editfns.c (lisp_time_argument): Fix last change.
6160
b548072f
GM
61612000-07-27 Gerd Moellmann <gerd@gnu.org>
6162
3ab82477
GM
6163 * fns.c (Fdelete): Make it work on vectors and strings in addition
6164 to lists.
6165
b548072f
GM
6166 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6167 (syms_of_fns): Initialize new variables.
6168 (sweep_weak_table): Handle weakness `key-or-value' and
6169 `key-and-value'.
6170 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6171 weakness, with t meaning the same as `key-and-value'.
6172
91ae8751
KH
61732000-07-27 Kenichi Handa <handa@etl.go.jp>
6174
6175 * coding.h (struct coding_system): Member safe_charset deleted.
6176
6177 * coding.c (Qsafe_charsets): This variable deleted.
6178 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
6179 variables.
6180 (coding_safe_chars): New function.
6181 (CODING_SAFE_CHAR_P): New macro.
6182 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
6183 checking safe_charsets member of the coding system. Caller
6184 changed.
6185 (detect_coding_iso2022): New local variable safe_chars.
6186 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6187 safe_charsets member of the coding system.
6188 (decode_coding_iso2022): New local variable safe_chars.
6189 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6190 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6191 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6192 (ENCODE_UNSAFE_CHARACTER): New macro.
6193 (encode_coding_iso2022): New local variable safe_chars. Check
6194 unsafe chars.
6195 (setup_coding_system): Delete the code to initialize
6196 coding->safe_charses
6197 (intersection, find_safe_codings): New functions.
6198 (Ffind_coding_systems_region_internal): New function.
6199 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6200 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6201 variable and initialize it.
6202
6203 * fns.c (char_table_ref_and_index): New function.
6204
6205 * lisp.h (char_table_ref_and_index): Add prototype.
6206
34a7a267
SS
62072000-07-26 Sam Steingold <sds@gnu.org>
6208
6209 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6210 (Ffloat_time): New built-in Lisp function.
34a7a267 6211
a95cb10a
GM
62122000-07-26 Gerd Moellmann <gerd@gnu.org>
6213
3353ef5a
GM
6214 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6215 for the character code.
6216
6217 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6218 GNU/Linux.
6219
a95cb10a
GM
6220 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6221 if called for a popup menu.
6222 (xmenu_show): Store help string in widget values.
6223
b4a12321
DL
62242000-07-26 Dave Love <fx@gnu.org>
6225
6226 * syswait.h: Move some definitions.
6227 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6228 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6229 perspicuous definitions.
6230 (WTERMSIG): Fix bit pattern used.
6231
13f5ad37
KH
62322000-07-26 Kenichi Handa <handa@etl.go.jp>
6233
6234 * print.c (print_object): If vector printing is truncated, print
6235 "..." to indicate it as well as the case of list printing.
6236
070fe99c
GM
62372000-07-25 Gerd Moellmann <gerd@gnu.org>
6238
969065c3
GM
6239 * xdisp.c (next_element_from_display_vector): Improve comments.
6240
6241 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6242 for the character code, and the rest for the face id as in 20.x.
6243 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6244
6245 * window.c (window_display_table): Cleaned up.
6246
070fe99c
GM
6247 * syntax.c (Fforward_word): Add last arg nil in call of
6248 Fconstrain_to_field.
6249
bad77ef7
EZ
62502000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6251
969065c3 6252 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
6253 identical but for the letter-case, don't call
6254 barf_or_query_if_file_exists.
6255
c28da489
MB
62562000-07-25 Miles Bader <miles@gnu.org>
6257
6258 * editfns.c (find_field): Honor special `boundary' fields.
6259 (Qboundary): New variables.
6260 (syms_of_editfns): Initialize Qboundary.
6261 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6262 Use scan_buffer instead of find_before_next_newline, because it
6263 allows us to detect the boundary case where there's a newline at
6264 the search limit.
6265 * lisp.h (Fconstrain_to_field): Update external declaration.
6266
e3c31fd5
GM
62672000-07-24 Gerd Moellmann <gerd@gnu.org>
6268
6269 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6270 if that is nil.
c28da489 6271
c66c29a2
DL
62722000-07-24 Dave Love <fx@gnu.org>
6273
6274 * s/sunos4-0.h, s/sol2.h:
6275 (LIBS_TERMCAP): Move from m/sparc.h.
6276
6277 * m/sparc.h (TERMINFO): Moved to system files (probably only
6278 relevant for sunos4 judging by its vintage).
6279 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6280 __arch64__.
6281
fbe0a958
EZ
62822000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6283
6284 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6285 name to single_keymap_panes.
6286
7d88e5c9
AS
62872000-07-24 Andreas Schwab <schwab@suse.de>
6288
6289 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6290
e024b101
GM
62912000-07-24 Gerd Moellmann <gerd@gnu.org>
6292
6293 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6294 parameters instead of using int parameters. Expect FN to accept
6295 EMACS_INT parameters.
6296 (display_echo_area, resize_echo_area_axactly, current_message)
6297 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6298 with new argument list.
6299 (resize_mini_window_1): New callback function.
6300 (current_message_1, truncate_message_1, set_message_1): Change
6301 parameter lists to the new format expected by
6302 with_echo_area_buffer.
6303
25c1a9ce
KH
63042000-07-24 Kenichi Handa <handa@etl.go.jp>
6305
6306 * fontset.c (fontset_ref): Remove INLINE declaration.
6307 (fontset_ref_via_base): Likewise.
6308 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6309 to downcase.
6310
7f987ac0
EZ
63112000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6312
6313 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6314 correct order of priority. If help echo was found in an overlay,
6315 use that overlay as the object in which the help echo was found.
6316
e2db3069
MB
63172000-07-22 Miles Bader <miles@gnu.org>
6318
6319 * textprop.c (Fprevious_single_char_property_change): The initial
6320 property value should be from the position preceding POSITION, not
6321 following it.
6322
5e3203e4
EZ
63232000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6324
6325 * coding.c (syms_of_coding): Doc fix for
6326 inhibit-iso-escape-detection.
6327
62145073
GM
63282000-07-21 Gerd Moellmann <gerd@gnu.org>
6329
c20aeb83
GM
6330 * xterm.c (note_mouse_highlight): Process overlays in the right
6331 order of priority.
34a7a267 6332
743934db
GM
6333 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6334
6335 * xterm.c (note_mouse_highlight): If help-echo was found in an
6336 overlay, use that overlay as the object in which the help was
6337 found.
6338
d1dc7e43 6339 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6340
62145073
GM
6341 * window.c (foreach_window): Instead of a fake variable argument
6342 list, take one USER_DATA argument.
6343 (foreach_window_1): Likewise, and call callback functions with two
6344 args, the window and USER_DATA.
6345 (struct check_window_data): New struct.
6346 (check_window_containing): Use it.
6347 (window_from_coordinates): Set up a struct check_window_data for
6348 foreach_window.
6349 (add_window_to_list, freeze_window_start): Change parameters
6350 according to new calling convention.
6351
6352 * window.h (foreach_window): Change prototype.
6353
6354 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6355
63562000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6357
6358 * xmenu.c (menu_help_callback): Call show_help_echo with
6359 additional arguments OBJECT and POS.
6360
11270583
KH
63612000-07-21 Kenichi Handa <handa@etl.go.jp>
6362
07b14857
KH
6363 * data.c (Faset): Allow storing any multibyte character in a
6364 string. Convert unibyte string to multibyte if necessary.
6365
11270583
KH
6366 * xfns.c (x_encode_text): New function.
6367 (x_set_name): Use x_encode_text.
6368 (x_set_title): Likewise.
6369
6370 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6371
6372 * xterm.h (x_encode_text): Add prototype.
6373
bc75b4fd
DL
63742000-07-20 Dave Love <fx@gnu.org>
6375
6376 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6377 xfree, not free.
6378
48c14970
EZ
63792000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6380
6381 * msdos.c (help_echo_window): New variable.
6382 (syms_of_msdos): Initialize and staticpro it.
6383 (IT_note_mode_line_highlight): Set help_echo_window.
6384 (IT_note_mouse_highlight): Ditto.
6385 (dos_rawgetc): Store help_echo_window in the second event produced
6386 for HELP_EVENTs.
6387
6388 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6389 Record the object that generated the help echo and the position of
6390 that object in help_echo_object and help_echo_pos. Record that
6391 some glyphs in a row are displayed in mouse-face.
6392 (IT_update_begin): Don't clear mouse highlight unless one of the
6393 enabled glyph rows is marked as being displayed in mouse-face.
6394 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6395 and position recorded in help_echo_object and help_echo_pos to the
6396 event queue.
6397 (IT_menu_display): Accept a new argument PN: the pane number of
6398 the current menu pane. Record the pane number and the item
6399 number of the item which has associated help string.
6400 (XMenuActivate): Update the prototype for help_callback in
6401 function declaration. Call IT_menu_display with the current menu
6402 pane number as an additional argument. Call help_callback with
6403 two additional arguments: the pane number and the item number of
6404 the menu item associated with the help text.
6405 (help_echo_object, help_echo_pos): New variables.
6406 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6407
6408 * msdos.h (XMenuActivate): Update prototype.
6409
4279296d
GM
64102000-07-19 Gerd Moellmann <gerd@gnu.org>
6411
47db06aa
GM
6412 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6413 Add some more prototypes.
6414
6415 * xterm.c, xterm.h: Add some more prototypes.
6416
6417 * lisp.h (Fnext_single_char_property_change): Add prototype.
6418
6419 * dispnew.c (direct_output_for_insert): Remove confusing
6420 outer local variable mouse_face_overwritten_p.
6421 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6422
4279296d
GM
6423 * alloc.c (allocate_string_data): Don't copy old string contents.
6424
670acd62
KH
64252000-07-19 Kenichi Handa <handa@etl.go.jp>
6426
6427 * coding.c (code_convert_region): Delete text properties before
6428 shrinking the conversion region.
6429
7cea38bc
GM
64302000-07-18 Gerd Moellmann <gerd@gnu.org>
6431
dc1cac59
GM
6432 * dispnew.c (update_text_area): Write the whole row if it
6433 has mouse-face in it.
6434
85a8aca9
GM
6435 * xfaces.c (face-alternative-font-family-alist): Remove
6436 DEFVAR_LISP; staticpro instead.
6437
34a7a267 6438 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6439 new arguments.
6440
6441 * keyboard.c (show_help_echo): Add parameter WINDOW.
6442 (read_char): Call show_help_echo with window extracted from Lisp
6443 help event.
6444 (gen_help_event): Add parameter WINDOW.
6445
6446 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6447
6448 * xterm.c (help_echo_window): New variable.
6449 (note_mouse_highlight, note_tool_bar_highlight): Set
6450 help_echo_window.
6451 (XTread_socket): Pass help_echo_window to gen_help_event.
6452 (syms_of_xterm): Initialize and staticpro help_echo_window.
6453
f8276b77
DL
64542000-07-18 Dave Love <fx@gnu.org>
6455
6456 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
6457 systime.h.
6458
088831a6
GM
64592000-07-18 Gerd Moellmann <gerd@gnu.org>
6460
3d6cd763
GM
6461 * alloc.c (allocate_string_data): If string had already data
6462 assigned, copy old contents to new string data.
6463
6464 * coding.c (syms_of_coding): Fix typo in spelling of variable
6465 `inhibit-iso-escape-detection'.
6466
088831a6
GM
6467 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6468
6469 * Makefile.in: Add dependencies on dispextern.h.
6470 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6471 `free'; both can conflict with system header files.
6472
bc8a8d55
KH
64732000-07-18 Kenichi Handa <handa@etl.go.jp>
6474
6475 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6476 undefined.
6477
069f5950
DL
64782000-07-18 Dave Love <fx@gnu.org>
6479
6480 * window.c (Fwindow_list): Declare arg `window'.
6481
aa96c820
KH
64822000-07-18 Kenichi Handa <handa@etl.go.jp>
6483
6484 * coding.c (setup_coding_system): Don't override the explicitly
6485 specified designations.
6486
06be8d32
MB
64872000-07-15 Miles Bader <miles@gnu.org>
6488
6489 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6490 from `text_property_eq' and `text_property_stickiness', respectively.
6491 (find_field, Fconstrain_to_field, char_property_eq)
6492 (char_property_stickiness): Changed to call char-property functions
6493 instead of text-property-only ones.
6494
6495 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6496 `next_single_char_property_change'). Do more error checking, and
6497 cleanup limit behavior.
6498 (Fprevious_single_char_property_change): New function.
6499 (syms_of_textprop): Initialize new subrs.
6500
6501 * xdisp.c (display_prop_end, invisible_text_between_p):
6502 Call Fnext_single_char_property_change instead of
6503 next_single_char_property_change.
6504
3fddcdc3
JR
65052000-07-15 Jason Rumney <jasonr@gnu.org>
6506
6507 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6508 after menu is finished with.
6509 (add_menu_item): Only consider wv->title as a menu title.
6510 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6511
6512 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6513 null title.
6514 (FONT_REGEXP): Remove unused macro, and its sub-components.
6515 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6516
6517 * w32term.c (help_echo_object, help_echo_pos): New variables.
6518 (note_mode_line_highlight): Store additional information about the
6519 help-echo in help_echo_object and help_echo_pos. Check both
6520 `local-map' and `keymap' properties for changing the cursor
6521 (note_mouse_highlight): Store additional information about the
6522 help-echo in help_echo_object and help_echo_pos.
6523 (note_tool_bar_highlight): Set help_echo_object to nil and
6524 help_echo_pos to -1.
6525 (w32_read_socket): Use gen_help_event instead of filling
6526 input_events manually.
6527 (syms_of_w32term): Staticpro help_echo_object.
6528 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
6529 set, arrange for a mouse-highlight redisplay in
6530 XTframe_up_to_date.
6531 (x_clear_mouse_face): New function.
6532 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6533 (x_update_window_begin): No need to turn off the mouse
6534 highlight here.
6535 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6536 depending on whether they contain glyphs highlighted in
6537 mouse-face.
6538 (x_fill_stretch_glyph_string): Consume runs of stretch
6539 glyphs instead of a single one.
6540 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6541 with new argument list.
6542 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6543 (x_append_glyph, x_append_composite_glyph)
6544 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6545 changes in struct glyph starting 1999-12-27. See comments for
6546 xterm.c on 2000-07-05.
6547
178c5d9c
SS
65482000-07-14 Sam Steingold <sds@gnu.org>
6549
6550 * xfaces.c (realize_x_face): Fix the last patch:
6551 check `default_face' before dereferencing.
6552
6fe533f6
DL
65532000-07-14 Dave Love <fx@gnu.org>
6554
069f5950 6555 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6556
dd7b81cf
KH
65572000-07-14 Kenichi Handa <handa@etl.go.jp>
6558
0693904a 6559 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6560 default_face's fontset, not using the default fontset.
0693904a 6561
dd7b81cf
KH
6562 * coding.c (inhibit_iso_escape_detection): New variable.
6563 (syms_of_coding): Make it a Lisp variable.
6564 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6565 nonzero, ignore ISO2022's escape sequence.
6566
d5aa31d8
GM
65672000-07-14 Gerd Moellmann <gerd@gnu.org>
6568
e5acf0ca
GM
6569 * alloca.c (malloc) [emacs]: Define as xmalloc.
6570
bd23a692
GM
6571 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6572 use that instead of the mouse position. Add parameters DX and DY.
6573
6574 * dispextern.h (Fx_show_tip): Adjust number of parameters
6575 in prototype.
6576
9662da0b
GM
6577 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6578 if HELP is a function, call it with OBJECT and POS as parameters
6579 to get the help to display.
6580 (gen_help_event, kbd_buffer_store_help_event): New functions.
6581 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6582 (read_char): Call show_help_echo with new parameters.
6583
178c5d9c 6584 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6585 Add prototypes.
6586
6587 * xterm.c (help_echo_object, help_echo_pos): New variables.
6588 (note_mode_line_highlight): Store additional information about the
6589 help-echo in help_echo_object and help_echo_pos. Check both
6590 `local-map' and `keymap' properties for changing the cursor
6591 (note_mouse_highlight): Store additional information about the
6592 help-echo in help_echo_object and help_echo_pos.
6593 (note_tool_bar_highlight): Set help_echo_object to nil and
6594 help_echo_pos to -1.
6595 (XTread_socket): Use gen_help_event instead of filling
6596 input_events manually.
6597 (syms_of_xterm): Staticpro help_echo_object.
6598
6599 * xmenu.c (menu_highlight_callback): Use
6600 kbd_buffer_store_help_event instead of setting up and input_event
6601 structure manually.
6602
6603 * xdisp.c (eval_form): GCPRO argument sexpr.
6604 (call_function): New function.
6605 (handle_single_display_prop): Use call_function and FUNCTIONP
6606 instead of checking whether if font_height is a symbol and
6607 using eval_form.
6608
6609 * eval.c (internal_condition_case_2): New function.
6610
6611 * lisp.h (FUNCTIONP): New macro.
6612 (internal_condition_case_2, call_function): Add prototypes.
6613
d5aa31d8
GM
6614 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6615 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6616 Always set `arg' member of input_events.
6617 (construct_menu_click): Unused function removed.
6618
6619 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6620
6621 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6622 (construct_drag_n_drop, x_scroll_bar_handle_click)
6623 (w32_read_socket): Always set `arg' member of input_events.
6624
6625 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6626
6627 * lisp.h (eval_form): Add prototype.
6628
6629 * xdisp.c (eval_form): Make it externally visible.
6630
0f1a9b23
GM
66312000-07-13 Gerd Moellmann <gerd@gnu.org>
6632
6633 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6634 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6635 consing. For prefix events, store the frame in the `arg' slot of
6636 the event, otherwise store the key there.
6637 (XTread_socket): Instead of consing, use the frame_or_window slot
6638 of HELP_EVENTs for the frame, and the `arg' slot for the help
6639 string.
6640
6641 * xmenu.c (menu_highlight_callback): Store help string in the
6642 `arg' member of the input event; don't cons.
6643 (menubar_selection_callback): Use the `arg' slot of input events
6644 to queue additional information, instead of consing.
6645
6646 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6647
6648 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6649 TOOL_BAR_EVENTs.
6650 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6651
6652 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6653 input events to queue additional information, instead of consing.
6654
6655 * keyboard.c (kbd_buffer_gcpro): Renamed from
6656 kbd_buffer_frame_or_window. Now used for all Lisp objects
6657 referenced from the input queue.
6658 (kbd_buffer_store_event): Always use structure assignment for
6659 copying input events. Record all Lisp objects referenced from
6660 events in kbd_buffer_gcpro.
6661 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6662 differently from input events. Test for prefix menu_bar_events
6663 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6664 event in kbd_buffer_gcpro to nil.
6665 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6666 frame_or_window is equal to its arg member as prefix events.
6667 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6668 used by an input event to nil.
6669 (init_keyboard): Use two times the size of the input queue
6670 for kbd_buffer_gcpro.
6671 (syms_of_keyboard): Likewise.
6672
6673 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
6674 USER_SIGNAL_EVENT.
6675
6676 * termhooks.h (struct input_event): Add member `arg'.
6677 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6678 (USER_SIGNAL_EVENT): Renamed from user_signal.
6679
6680 * xfaces.c (ASET): Remove definition.
6681
6682 * lisp.h (AREF, ASET, ASIZE): New macros.
6683
6684 * fontset.c (AREF, ASIZE): Remove definitions.
6685
6686 * fns.c (AREF): Remove definition.
178c5d9c 6687
0f1a9b23
GM
6688 * composite.c (AREF): Remove definition.
6689
712eaef2
GM
66902000-07-12 Gerd Moellmann <gerd@gnu.org>
6691
d8ee7803
GM
6692 * dispnew.c (redraw_overlapped_rows): Add missing local.
6693 (scrolling_window): Remove debug code.
6694
712eaef2
GM
6695 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
6696 Before scrolling, turn off a mouse-highlight in the window
6697 being scrolled.
6698
6699 * xterm.c (x_update_window_end): Add parameter
6700 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
6701 redisplay in XTframe_up_to_date.
6702 (x_clear_mouse_face): New function.
6703 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
6704
6705 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
6706 current glyph row.
6707 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
6708 it when any row is written to that contains glyphs highlighted in
6709 mouse-face.
6710 (update_window): Call the window update end hook with new
6711 parameter MOUSE_FACE_OVERWRITTEN_P.
6712 (direct_output_for_insert): Give up if row contains mouse-face.
6713
6714 * dispextern.h (struct redisplay_interface): Add parameter
6715 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
6716 (clear_mouse_face): New function pointer member.
6717
02010917
SM
67182000-07-11 Stefan Monnier <monnier@cs.yale.edu>
6719
6720 * syntax.c (back_comment): Use one switch rather than a few `if's.
6721 Obey open_paren_in_column_0_is_defun_start.
6722 When reverting to the `slow' method, try to nicely handle the case
6723 of nested comments by checking that the comment-starter we found
6724 does indeed match the comment-ender.
6725 (scan_sexps_forward, scan_sexps_forward):
6726 Ignore excessive opening parenthesis rather than throwing an error.
6727
d76c03ea
GM
67282000-07-11 Gerd Moellmann <gerd@gnu.org>
6729
6730 * doc.c (Fsubstitute_command_keys): Handle case that a GC
6731 in Fwhere_is_internal or get_keymap_1 relocates string contents.
6732
6733 * dispnew.c (direct_output_forward_char): Give up if currently
6734 displaying a message instead of the minibuffer contents.
6735
6736 * xterm.c (x_update_window_begin): No need to turn off the mouse
6737 highlight here.
6738 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6739 depending on whether they contain glyphs highlighted in
6740 mouse-face.
6741
6742 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
6743 compare the mouse_face_p flags of both rows.
6744
6745 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
6746
d55ead18
EZ
67472000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
6748
6749 * keyboard.c (show_help_echo): Accept additional parameter
6750 ok_to_overwrite_keystroke_echo.
6751 (read_char): Call show_help_echo with a zero
6752 ok_to_overwrite_keystroke_echo argument.
6753 * keyboard.h (show_help_echo): Update prototype of
6754 show_help_echo.
6755 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
6756 ok_to_overwrite_keystroke_echo argument.
6757 * w32menu.c (w32_menu_display_help): Call show_help_echo with
6758 non-zero ok_to_overwrite_keystroke_echo argument.
6759
df75b1a3
GM
67602000-07-10 Gerd Moellmann <gerd@gnu.org>
6761
4b92c49a
GM
6762 * xdisp.c (try_window_id): If changes are all below what is
6763 displayed in the window, and point is in the window, we still
6764 might have to find point on the display.
6765
6766 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
6767 glyphs instead of a single one.
6768 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6769 with new argument list.
6770 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6771
df75b1a3
GM
6772 * keymap.c (get_keymap_1): Add comment that this function can GC.
6773 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
6774 comment that functions can GC.
6775 (Fset_keymap_parent): GCPRO arg KEYMAP.
6776
4314cf3e
EZ
67772000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
6778
6779 * msdos.c (XMenuActivate): After exiting the menu, restore the
6780 echo area message and erase it.
6781
ab49ce15
KH
67822000-07-10 Kenichi Handa <handa@etl.go.jp>
6783
6784 * fontset.c (Ffontset_info): Make the return value more compatible
6785 with that of Emacs 20.
6786
090a072f
GM
67872000-07-07 Gerd Moellmann <gerd@gnu.org>
6788
6789 * eval.c (Fsignal): Handle case that backtrace_list is null.
6790
f92de4a6
KH
67912000-07-07 Kenichi Handa <handa@etl.go.jp>
6792
6793 * ccl.c (Fccl_execute): Typo fixed.
6794
dd8888a1
GM
67952000-07-06 Gerd Moellmann <gerd@gnu.org>
6796
e5c81191 6797 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 6798
dd8888a1
GM
6799 * window.c (Fwindow_list): Reverse list at the end.
6800 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
6801 means allow windows on OWINDOW's frame, only.
6802 (window_loop): Simplified; use Fwindow_list.
6803
6804 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
6805
485266d0
GM
68062000-07-05 Gerd Moellmann <gerd@gnu.org>
6807
6808 * xterm.c (XTread_socket): Increment handling_signal at the start,
6809 decrement it at the end.
6810
6811 * eval.c (handling_signal): New variable.
6812 (Fsignal): Abort if handling_signal is non-zero.
6813
6814 * lisp.h (handling_signal): External declaration.
178c5d9c 6815
485266d0
GM
6816 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
6817
80fcd514
KR
68182000-07-05 Ken Raeburn <raeburn@gnu.org>
6819
6820 Sound support for NetBSD through "Linux emulation" support:
6821 * config.in (HAVE_SOUNDCARD_H): Undef.
6822 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
6823 * Makefile.in (LIBSOUND): New variable.
6824 (LIBES): Include it.
6825 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
6826 <soundcard.h>.
6827 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
6828 elsewhere.
6829 (vox_open): Use DEFAULT_SOUND_DEVICE.
6830 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
6831
d5c5cddd
GM
68322000-07-05 Gerd Moellmann <gerd@gnu.org>
6833
6834 * print.c (print_error_message): If Vsignaling_function is set,
6835 show it in *Messages*.
6836
6837 * lisp.h (Vsignaling_function): External declaration.
6838
6839 * eval.c (Vsignaling_function): New variable.
6840 (Fsignal): Compute it.
6841 (syms_of_eval): Staticpro it.
6842
65171e3a
DL
68432000-07-05 Dave Love <fx@gnu.org>
6844
6845 * syswait.h: Use the autoconf recommended approach. Old code
6846 #if'd out in case we need to revert.
6847
178c5d9c 6848 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 6849
e2c46326
AI
68502000-07-05 Andrew Innes <andrewi@gnu.org>
6851
6852 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
6853 when non-NULL instead of __morecore, to take account of buffer
6854 memory. This also solves a problem with spurious memory warnings
6855 on Windows.
6856
6857 * ralloc.c: Make real_morecore non-static.
6858
6859 * eval.c (internal_condition_case): Comment out abort if
6860 interrupt_input_blocked is not zero.
6861
6862 * makefile.nt: Add support for `bootstrap' and related targets.
6863 Include minimal debug info in emacs.exe in release build.
6864 Remove all dependencies on lisp.h, and fixup some others.
6865
6866 * w32.c (init_environment): Install code from 20.7 for providing
6867 default values for environment variables, based on the
6868 executable's own location.
6869 (map_w32_filename): Handle filenames that are longer than
6870 MAX_PATH.
6871 (sys_socket): Install socket inheritance bug fix from 20.7.
6872
6873 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
6874 here via blockinput.h).
6875
a027a91b
SM
68762000-07-05 Stefan Monnier <monnier@cs.yale.edu>
6877
e4b31601
SM
6878 * w32menu.c (w32_menu_display_help):
6879 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
6880
6881 * keyboard.h (show_help_echo): Declare.
6882
6883 * keyboard.c (show_help_echo): New function, extracted from read_char.
6884 Feval its `msg' argument if it's a cons cell.
6885 (read_char): Use it.
4cf8d9d5 6886 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 6887
178c5d9c 6888 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 6889 (note_tool_bar_highlight, XTread_socket):
178c5d9c 6890 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
6891 (dos_rawgetc):
6892 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
6893 (note_tool_bar_highlight, w32_read_socket):
6894 Do not gratuitously ignore non-string `help-echo' properties.
6895
88d75730
GM
68962000-07-05 Gerd Moellmann <gerd@gnu.org>
6897
969f7e79
GM
6898 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
6899
71201b00
GM
6900 * window.c (delete_all_subwindows): Reset Vwindow_list.
6901
88d75730
GM
6902 * xterm.c (x_append_glyph, x_append_composite_glyph)
6903 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6904 changes in struct glyph starting 1999-12-27. Some bit-fields of
6905 struct glyph were not set, which made glyphs unequal when compared
6906 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
6907 effects were the result. This also depended on the contents of
6908 memory returned by xmalloc. If flickering happens again, activate
6909 the code in clear_glyph_row that's in #if 0. If the flickering is
6910 gone with that, chances are that it is caused by something
6911 similar.
6912
6913 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 6914
88d75730
GM
6915 * dispextern.h: Add some comments.
6916
6917 * window.c (add_window_to_list): Add parameter LIST.
6918 (window_list): Order list so that, for each frame, windows are
6919 in canonical order, and so that frames appear in the list in
6920 the order given by Vframe_list.
6921 (next_window): Reverse the handling of NEXT_P.
6922
53654733
GM
69232000-07-04 Gerd Moellmann <gerd@gnu.org>
6924
87efd256
GM
6925 * window.c (Vwindow_list): New variable.
6926 (make_window, delete_window): Set Vwindow_list to nil.
6927 (check_window_containing): New function.
6928 (window_from_coordinates): Rewritten.
6929 (add_window_to_list, window_list, candidate_window_p)
6930 (decode_next_window_args, next_window): New functions.
6931 (Fnext_window, Fprevious_window): Rewritten in terms of
6932 next_window.
6933 (Fwindow_list): New function.
6934 (Fother_window): Cleaned up.
6935 (foreach_window): Add a longer "variable argument list". Let
6936 callback function return 0 to indicate that cycling over windows
6937 should stop.
6938 (foreach_window_1): Likewise.
6939 (freeze_window_start): Return int.
6940 (init_window): New function.
6941 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
6942
6943 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
6944 input_event with bzero.
6945 (main): Call init_window.
6946
53654733
GM
6947 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
6948 a menu filter.
6949
4a8c194f
KH
69502000-07-04 Kenichi Handa <handa@etl.go.jp>
6951
6952 * composite.h (make_composition_value_copy): Extern it.
6953
6954 * composite.c (make_composition_value_copy): New function.
6955
6956 * editfns.c (Fformat): While copying text properties, make each
6957 composition property value a copy.
6958
6959 * fns.c (concat): While copying text properties, make each
6960 composition property value a copy.
6961
831a6cb0
GM
69622000-07-03 Gerd Moellmann <gerd@gnu.org>
6963
2f516940
GM
6964 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
6965
178c5d9c 6966 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
6967 marked already.
6968
831a6cb0
GM
6969 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
6970 include those frames as candidates which have their focus
6971 redirected to the minibuffer frame.
6972
d9c4f922
SM
69732000-07-03 Stefan Monnier <monnier@cs.yale.edu>
6974
6975 * fns.c (Fputhash): Return `value' rather than nil.
6976
3780bc22
GM
69772000-06-30 Gerd Moellmann <gerd@gnu.org>
6978
97d176db
GM
6979 * frame.c (next_frame): Don't check focus redirection in case
6980 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
6981 unless their focus is redirected, which contradicts the
6982 specification of next-frame, and leads to infinite loops in
6983 certain situations when cycling through windows with next-window.
6984
dca9961d
KH
69852000-06-30 Kenichi Handa <handa@etl.go.jp>
6986
6987 * coding.c (code_convert_region): Even if the length of text is
6988 zero, try to convert it if coding->type is coding_type_ccl.
6989 (decode_coding_string, encode_coding_string): Likewise.
6990
d5483ab1
GM
69912000-06-28 Gerd Moellmann <gerd@gnu.org>
6992
af5c25e1 6993 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 6994 the display if windows_or_buffers_changed.
af5c25e1
GM
6995
6996 * dispnew.c (struct row_entry): New structure.
6997 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
6998 (row_table_size, old_lines, new_lines, old_lines_size)
6999 (new_lines_size, run_pool, runs_size, runs): New variables.
7000 (add_row_entry): New function.
7001 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7002 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7003 holding them in local variables. Use a larger hash table whose
7004 size depends on glyph matrix sizes. Don't use bzero to clear the
7005 hash table; instead, clear used slots only.
7006
7007 * fns.c (next_almost_prime): Make it externally visible.
7008
7009 * lisp.h (next_almost_prime): Add prototype.
7010
d5483ab1
GM
7011 * s/isc4-0.h (sigunblock): Define.
7012
7013 * s/sco5.h (sigunblock): Define.
7014
93e40f40
DL
70152000-06-27 Dave Love <fx@gnu.org>
7016
7017 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7018 (moved to osf5-0.h).
7019 [!NOT_C_CODE]: Protect string.h stuff.
7020
7021 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7022 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7023
3c4b7685
GM
70242000-06-27 Gerd Moellmann <gerd@gnu.org>
7025
97d176db 7026 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7027 below the last line from the needed window height.
7028
32cad0aa
SM
70292000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7030
7031 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7032 (Fwidget_get): Use it.
7033 (syms_of_fns): Defsubr it.
7034
2c69ced2
GM
70352000-06-26 Gerd Moellmann <gerd@gnu.org>
7036
178c5d9c 7037 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7038 display info for XIM.
7039 (xim_open_dpy): Likewise.
7040 (xim_close_dpy): Don't free the display info's XIM.
7041
7042 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7043
7044 * config.in (USE_XIM): New define.
7045
3fc720e4
GM
7046 * keymap.c (get_keyelt): For menu-items containing a `:filter
7047 FILTER', apply FILTER to the menu-item's definition to get the
7048 real definition to use.
7049
7050 * lisp.h (QCfilter): External declaration.
7051
2c69ced2
GM
7052 * xfns.c (Fimage_size): New function.
7053 (syms_of_xfns): Defsubr it.
7054
f978b2a2
AS
70552000-06-26 Andreas Schwab <schwab@suse.de>
7056
7057 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7058 Fstring_as_unibyte.
7059
94cc7892
DL
70602000-06-25 Dave Love <fx@gnu.org>
7061
7062 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
7063 tgetnum.
7064
7065 * Makefile.in (blockinput.h): Depend on atimer.h.
7066 (atimer.h): Depend on systime.h.
7067
7068 * blockinput.h: Protect against multiple inclusion. Include
7069 atimer.h.
7070
7071 * atimer.h: Protect against multiple inclusion. Include
7072 systime.h.
7073
7074 * lisp.h (swap_in_global_binding): Declare.
7075
b8c24556
KR
70762000-06-24 Ken Raeburn <raeburn@gnu.org>
7077
7078 * process.c (Fopen_network_stream): Turn off atimers for duration
7079 of call to connect. (Patch from Gerd.)
7080
8cf8560b
DL
70812000-06-23 Dave Love <fx@gnu.org>
7082
511c7541
DL
7083 * ralloc.c: Maybe include unistd.h
7084
8cf8560b
DL
7085 * emacs.c (setgrp): Undefine before defining.
7086 (malloc_warning, set_time_zone_rule, index): Prototype.
7087
7088 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7089 HAVE_STRUCT_TIMEZONE.
7090
7091 * s/osf1.h: Move string.h hack here from alpha.h and make it
7092 conditional.
7093 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7094 _XOPEN_SOURCE.
7095 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7096 (SOCKLEN_TYPE): Don't define.
7097
7098 * m/alpha.h: Remove string.h hack.
7099
7100 * s/osf5-0.h: New file.
7101
7102 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7103 include time.h, done by systime.h.
7104 [__FreeBSD__]: Remove redundant includes.
7105
3fc720e4 7106 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7107 (delete_temp_file): Return Qnil to avoid warning.
7108
7109 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7110
7111 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7112 HAVE_X_WINDOWS.
7113
7114 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7115
7116 * composite.h (compose_text): Declare.
7117
7118 * xterm.c: Don't include sys/types.h unconditionally. Don't
7119 protect its inclusion with !USG (following xmenu.c).
7120
ea055732
GM
71212000-06-23 Gerd Moellmann <gerd@gnu.org>
7122
7123 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7124 in x_create_frame.
7125
74b01b80
EZ
71262000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7127
7128 * coding.c (decode_eol_post_ccl): Special handling for undecided
7129 and inconsistent EOL types.
7130
64f3a166
GM
71312000-06-22 Gerd Moellmann <gerd@gnu.org>
7132
16cf31f7
GM
7133 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7134 trough color and main window's background color.
7135
178c5d9c 7136 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
7137 differently.
7138
7139 * xterm.h (Xt_app_con): External declaration.
7140
7141 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7142
486a103d
GM
7143 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7144
64f3a166
GM
7145 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7146 (handle_invisible_prop): Record the start of invisible text in
7147 it->add_overlay_start.
7148 (struct overlay_entry): Add member `overlay'.
7149 (handle_overlay_change): Simplify.
7150 (next_overlay_string): After having processed overlay strings at the
7151 end of the buffer, record that fact in
7152 it->overlay_strings_at_end_processed_p.
7153 (compare_overlay_entries): If before- and after-strings come
7154 from the same overlay, let before-strings come first.
7155 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7156 (load_overlay_strings): Take it->add_overlay_start into account
7157 when adding overlay strings.
7158
7159 * dispextern.h (struct it): Add member add_overlay_start.
7160
bb746ea6
DL
71612000-06-22 Dave Love <fx@gnu.org>
7162
7163 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7164
7165 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7166
a8f573f3
KH
71672000-06-22 Kenichi Handa <handa@etl.go.jp>
7168
7169 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7170 is greater than 0.
7171
9f2bbc92
DL
71722000-06-21 Dave Love <fx@gnu.org>
7173
178c5d9c 7174 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7175
3ee5041c
SM
71762000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7177
7178 * syntax.c (back_comment): Simplify string-parity counting (with
7179 the added benefit of handling multiple string-styles as long as
7180 they are not intertwined).
7181 Jump to the slow code as soon as a comment starter is found in
7182 a "string_lossage" position. Fixes the case: " /* " /* " */.
7183
4c343001
DL
71842000-06-21 Dave Love <fx@gnu.org>
7185
7186 * Makefile.in: Use GETLOADAVG_LIBS.
7187
7188 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7189 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7190
e6365855
SM
71912000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7192
7193 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7194 (Fforward_comment, scan_lists):
7195 Check the comstyle of single-char comment-starters.
7196 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7197 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7198 Check the comstyle of single-char comment-starters.
7199 Clarify control-flow around the Scomment case.
e6365855 7200
5700d2cc
DL
72012000-06-20 Dave Love <fx@gnu.org>
7202
d355bd8a
SM
7203 * fns.c (make_hash_table, maybe_resize_hash_table):
7204 Cast arg of next_almost_prime.
5700d2cc 7205
178c5d9c 7206 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7207
7208 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7209 and unistd.h.
7210
4a27bdfb
GM
72112000-06-20 Gerd Moellmann <gerd@gnu.org>
7212
a61d762c
GM
7213 * keyboard.c (adjust_point_for_property): Check if display
7214 property should be treated as intangible by looking at its
7215 value.
7216
178c5d9c 7217 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7218 (display_prop_intangible_p): New functions.
7219
7220 * dispextern.h (display_prop_intangible_p): Add prototype.
7221
7222 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7223
4a27bdfb
GM
7224 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7225 argument to sigprocmask.
7226
7227 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7228 argument to sigprocmask.
7229
7230 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7231 sigprocmask_set, and pass a pointer to it to sigprocmask.
7232
7233 * sysdep.c (sigprocmask_set): New variable.
7234
7235 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7236 report_file_error.
7237
427ec082
SS
72382000-06-20 Sam Steingold <sds@gnu.org>
7239
7240 * xrdb.c: Don't declare xmalloc, xrealloc.
7241
8972fe79 72422000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7243
7244 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7245 (re_comp): Cast gettext return value to avoid complaints when
7246 !HAVE_LIBINTL.
7247
074b6efe
DL
72482000-06-20 Dave Love <fx@gnu.org>
7249
f85c008a
DL
7250 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
7251 HAVE_GETTIMEOFDAY.
7252
5700d2cc 7253 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7254
d355bd8a 7255 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7256
7257 * m/alpha.h: Don't declare xmalloc, xrealloc.
7258
0af4f205
DL
7259 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7260
7261 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7262
7263 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7264
7265 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7266 HAVE_GETWD.
7267
074b6efe
DL
7268 * keyboard.h (poll_for_input_1): Declare.
7269
7270 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7271
7272 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7273
7274 * doprnt.c: Don't declare xmalloc, xrealloc.
7275
7276 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7277 (getenv, ctime, getwd): Removed.
7278 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7279
7280 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7281 x_set_tool_bar_lines.
7282
7283 * config.in: Add HAVE_GETWD. Move some definitions above
7284 machine/system includes.
7285
68a5e97b
KH
72862000-06-20 Kenichi Handa <handa@etl.go.jp>
7287
95417e1e
KH
7288 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7289
68a5e97b
KH
7290 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7291 contain information about ENCODING.
7292
7293 * fontset.c (FONTSET_ASCII): Use the first element of char table
7294 for an ASCII font, not defalt slot.
7295 (fontset_ref_via_base): If FONTSET doesn't contain information for
7296 C, try the default fontset.
7297 (make_fontset): Don't copy the default fontset.
7298 (fontset_font_pattern): Likewise.
7299 (accumulate_font_info): If ELT is nil, use the corresponding
7300 element in the default fontset.
7301
3b4fa1b2
DL
73022000-06-19 Dave Love <fx@gnu.org>
7303
943e731c
DL
7304 * syntax.c (Fparse_partial_sexp): Doc fix.
7305
7306 * regex.h: Test PROTOTYPES as well as __STDC__.
7307
3b4fa1b2
DL
7308 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7309 errno, strerror. Put text after #endif in comment.
7310
7311 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
7312 pcc).
7313
7314 * xterm.c (x_frame_of_widget): Likewise.
7315
cdf0357b
GM
73162000-06-19 Gerd Moellmann <gerd@gnu.org>
7317
7318 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7319 to Vfundamental_mode_abbrev_table.
7320
7321 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7322 bogus objects are marked. This slows down GC by ~80 percent, but
7323 it might be worth trying when debugging GC-related problems.
7324 This feature requires conservative stack marking to be enabled.
7325
7326 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7327 returns XLookupChars, reset `modifiers' to zero.
7328
998e9f8c
DL
73292000-06-19 Dave Love <fx@gnu.org>
7330
7331 * mktime.c: Unprotoized.
7332
18e21ce8 73332000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7334
7335 * data.c (set_internal): If variable is frame-local,
7336 store the new value immediately into the frame parameter alist.
7337
140c4ac6
KR
73382000-06-19 Ken Raeburn <raeburn@gnu.org>
7339
14358466
KR
7340 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7341 in the custom handler pointer.
7342
140c4ac6
KR
7343 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7344 value, or checks for CHAR_META can fail when Lisp_Object is a
7345 union type.
7346 * keymap.c (get_keyelt): Likewise.
7347
10d7bf84
KH
73482000-06-19 Kenichi Handa <handa@etl.go.jp>
7349
7350 * ccl.h (struct ccl_program): New member eol_type.
7351 (struct ccl_spec): New member cr_carryover.
7352
7353 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7354 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7355
7356 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7357 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7358 (decode_eol_post_ccl): New function.
7359 (decode_coding): Don't detect EOL format here for CCL based coding
7360 systems.
7361 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7362 decode_eol_post_ccl after running the CCL program.
7363 (code_convert_region): Don't detect EOL format here for CCL based
7364 coding systems.
7365 (decode_coding_string): Likewise.
7366
52e386c2
KR
73672000-06-18 Ken Raeburn <raeburn@gnu.org>
7368
7369 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7370 when treating it as an integer.
7371
7372 * coding.h (encode_coding_string): Declare.
7373
7374 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7375 it as an integer.
7376
7377 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7378 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7379 to be passed to get_local_map.
7380
7381 * sound.c (Fplay_sound): Don't call make_number on
7382 Frun_hook_with_args count argument.
7383
7384 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7385 for lisp objects in X event structure data field, when lisp
7386 objects are represented with unions.
7387 (x_scroll_bar_to_input_event): Ditto.
7388
b357b9d4
KR
73892000-06-16 Ken Raeburn <raeburn@gnu.org>
7390
7391 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7392 termination of string. Fix sense of test whether
7393 Vline_number_display_limit is an integer.
b357b9d4 7394
a871441d
GM
73952000-06-16 Gerd Moellmann <gerd@gnu.org>
7396
a9021acd
GM
7397 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7398 only if HAVE_X_WINDOWS.
7399
6344985d
GM
7400 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7401 of titles.
7402
427ec082 7403 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7404 out of bounds.
7405
228b083e
EZ
74062000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7407
7408 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7409 of its headers.
7410
c25b53a2
KH
74112000-06-15 Kenichi Handa <handa@etl.go.jp>
7412
7413 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7414 start of the while loop.
7415
a6981b11
GM
74162000-06-15 Gerd Moellmann <gerd@gnu.org>
7417
e9924e52
GM
7418 * atimer.c (alarm_signal_handler): Add forward declaration.
7419
a6981b11
GM
7420 * data.c (set_internal): Remove debug code.
7421
25fa6deb
GM
74222000-06-14 Gerd Moellmann <gerd@gnu.org>
7423
dce6b995
GM
7424 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7425
9f817ea4
GM
7426 * unexec.c (toplevel) [COFF]: Include coff.h.
7427
7428 * s/lynxos.h: New file.
7429
7430 * keymap.c (Fsingle_key_description): Enclose function key and
7431 event symbol names in angle brackets.
7432
8a4e3c0c
GM
7433 * xdisp.c (setup_echo_area_for_printing): Call
7434 message_log_maybe_newline if message_buf_print is not set.
7435
7436 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7437 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7438 function does something useful even when message_buf_print is
7439 already set.
7440
25fa6deb
GM
7441 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
7442 variables.
7443 (ensure_echo_area_buffers): Initialize echo buffer's
7444 truncate lines setting to nil.
7445 (with_echo_area_buffer): Don't set the echo buffer's truncate
7446 lines setting here.
8a4e3c0c 7447 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7448 of message_truncate_lines.
7449 (resize_mini_window): Handle case that lines are truncated.
7450 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
7451 message-truncate-lines.
7452
7453 * keyboard.c (read_char): Bind message-truncate-lines to t
7454 while displaying a help-echo.
7455
7456 * lisp.h (Qmessage_truncate_lines): External declaration.
7457
163dcff3
GM
74582000-06-13 Gerd Moellmann <gerd@gnu.org>
7459
1681ead6
GM
7460 * xdisp.c (Vline_number_display_limit): Renamed from
7461 line_number_display_limit.
7462 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7463 Extend documentation string. Initialize
7464 Vline_number_display_limit to nil meaning no limit.
7465 (decode_mode_spec): Use Vline_number_display_limit with its new
7466 meaning.
7467
163dcff3
GM
7468 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7469
18e21ce8 74702000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7471
7472 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7473
163dcff3
GM
7474 * xfns.c (x_set_frame_parameters): Comment fix.
7475
7476 * frame.c (store_frame_param): Call swap_in_global_binding if the
7477 variable's current binding was chosen based on this frame.
7478
7479 * data.c (swap_in_global_binding): New function.
7480
a704139d
EZ
74812000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7482
7483 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7484 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7485
9b6610db
EZ
74862000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7487
7488 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7489
c68833d2
JR
74902000-06-12 Jason Rumney <jasonr@gnu.org>
7491
7492 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7493
7494 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7495
7496 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7497
7498 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7499
ed1056b3
GM
75002000-06-12 Gerd Moellmann <gerd@gnu.org>
7501
7502 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7503 (syms_of_xfaces): Defsubr Sdump_colors.
7504 (x_free_colors): Don't treat b&w specially on default visual.
7505 (x_free_dpy_colors): New function.
7506 (free_face_colors): Don't check visual class; it's done
7507 in x_free_colors.
7508
7509 * xterm.c (x_frame_of_widget): New function.
7510 (x_alloc_nearest_color_for_widget): Use it.
7511 (x_copy_dpy_color): New function.
7512 (x_destroy_window): Free various colors.
7513
5050a2ef
KH
75142000-06-12 Kenichi Handa <handa@etl.go.jp>
7515
7516 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7517
7518 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7519
7520 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7521
7522 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7523
7524 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7525
fb1b041d
DL
75262000-06-11 Dave Love <fx@gnu.org>
7527
7528 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7529
ff96b5f4
EZ
75302000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7531
7532 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7533
db8eeecd
GM
75342000-06-11 Gerd Moellmann <gerd@gnu.org>
7535
ed1056b3 7536 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7537 to `XEvent *'.
7538
49b71c5f
KH
75392000-06-10 Kenichi Handa <handa@etl.go.jp>
7540
c479bd55
KH
7541 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7542 (regex_compile): Fix the code for handling the case of single byte
7543 char and multibyte char being mixed in a range within [...].
7544
ff6a65c2
KH
7545 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7546 and dst_multibyte members of coding.
7547
49b71c5f
KH
7548 * charset.c (update_charset_table): Update the table
7549 bytes_by_char_head.
7550 (init_charset_once): Initialize elements of bytes_by_char_head to
7551 1 except for leading codes for private charases.
7552
7553 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
7554 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
7555 sequence.
7556
9e80b57d
KR
75572000-06-09 Ken Raeburn <raeburn@gnu.org>
7558
7559 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7560 access the data it doesn't point to.
7561
f83fe4b4
GM
75622000-06-08 Gerd Moellmann <gerd@gnu.org>
7563
7564 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7565 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7566 event queue. This is necessary because Emacs otherwise won't
7567 perform a switch-frame to a new frame until some other event, for
7568 example a keystroke event, forces it to do so. This has various
7569 effects, one visible being that the cursor of a frame created with
7570 C-x 5 2 or switched to with a window manager key binding like
7571 A-TAB stays hollow because selected_window isn't on the newly
7572 focused frame until the switch-frame is performed.
7573
7574 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7575 generating a switch-frame event if necessary.
7576
7577 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7578
7579 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7580 it's an integer.
7581
0890801b
KH
75822000-06-08 Kenichi Handa <handa@etl.go.jp>
7583
7584 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
7585 charset.
7586
173cbca8
GM
75872000-06-07 Gerd Moellmann <gerd@gnu.org>
7588
3091c2a6
GM
7589 * window.c (displayed_window_lines): Take empty lines at
7590 the bottom of a window into account.
427ec082 7591
f38952fe
GM
7592 * window.c (displayed_window_lines): New function.
7593 (Fmove_to_window_line): Use displayed_window_lines to determine
7594 the number of lines to move, instead of using the window's height.
7595
7596 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7597 to stop reading, even if the form read sets point to a different
7598 value when evaluated.
7599
427ec082 7600 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7601 put the cursor.
7602
6ba6c818
KH
76032000-06-07 Kenichi Handa <handa@etl.go.jp>
7604
7605 * fileio.c (e_write): Free composition data if stored in
7606 coding->cmp_data.
7607
5f1aea9a
GM
76082000-06-06 Gerd Moellmann <gerd@gnu.org>
7609
666852af
GM
7610 * xdisp.c (display_line): Set row's and iterator's
7611 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7612 Set cursor even if row ends in the middle of a character.
7613 (dump_glyph_row): Print values of new flags.
7614 (redisplay_window) <cursor movement in unchanged window>: When
7615 point has been moved forward, and PT is at the end of the cursor
7616 row, don't place the cursor in the next row if the cursor row ends
7617 in the middle of a character or at ZV.
7618
7619 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7620 (struct glyph_row): Add starts_in_middle_of_char_p and
7621 ends_in_middle_of_char_p.
7622 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7623 ends_in_middle_of_char_p flag.
7624 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7625
d13f3e2e
GM
7626 * term.c (append_glyph): Revert change of 2000-06-06.
7627
7628 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7629 padding glyph not fitting on line as whole character not
7630 fitting on line.
7631
5f1aea9a
GM
7632 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7633 this isn't true for images with `:ascent 100'.
7634
10cda9b0
KH
76352000-06-06 Kenichi Handa <handa@etl.go.jp>
7636
ed00559d
KH
7637 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7638 as modified if it is originally unmodified.
7639
10cda9b0
KH
7640 * term.c (encode_terminal_code): Change the way to check if
7641 terminal coding does any conversion.
7642 (append_glyph): Set glyph->pixel_width correctly.
7643
7644 * xdisp.c (display_line): While checking line continuation, pay
7645 attention to a padding glyph.
7646
1969fae2
GM
76472000-06-05 Gerd Moellmann <gerd@gnu.org>
7648
7649 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7650
162ccef4
DL
76512000-06-05 Dave Love <fx@gnu.org>
7652
f19f32dd
DL
7653 * xdisp.c: Include fontset.h.
7654
7655 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7656
7657 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7658
7659 * dispnew.c: Conditionally include term.h.
7660
7661 * coding.h: Declare code_convert_string_norecord.
7662
7663 * frame.h (struct frame): Use volatile unconditionally.
7664
7665 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7666
7667 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7668
7669 * systime.h: Protect against multiple inclusion.
7670 (timezone) [USG5_4]: Define as time_t.
7671
7672 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7673 (Foptimize_char_table, make_temp_name): Declare.
7674
7675 * Makefile.in (xdisp.o): Depend on fontset.h.
7676
7677 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7678
7679 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7680 (Foptimize_char_table, make_temp_name): Declare.
7681
427ec082 7682 * s/irix4-0.h:
162ccef4
DL
7683 * s/irix5-0.h:
7684 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7685
2082fe81
DL
76862000-06-02 Dave Love <fx@gnu.org>
7687
7688 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7689
dcf671d2
GM
76902000-06-02 Gerd Moellmann <gerd@gnu.org>
7691
7692 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7693 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7694 be freed.
7695
7696 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7697 glyph, use the ASCII NUL character to determine the face.
7698
d42122a3
DL
76992000-06-02 Dave Love <fx@gnu.org>
7700
7701 * sysdep.c: Conditionally include stdlib.h, unistd.h.
7702 (VFORK_RETURN_TYPE): Remove.
427ec082 7703
d42122a3
DL
7704 * config.in: Add NO_MATHERR.
7705
dd432f16
DL
77062000-06-01 Dave Love <fx@gnu.org>
7707
90aa4ea8
DL
7708 * cmds.c (internal_self_insert): Don't check
7709 Vbefore_change_function, Vafter_change_function.
7710
7711 * insdel.c (signal_before_change, signal_after_change): Likewise.
7712
7713 * buffer.c (Vbefore_change_function, Vafter_change_function):
7714 Variables and their initializations deleted.
7715
2330c9d4
DL
7716 * callint.c (Fcall_interactively): Doc fix.
7717
dd432f16
DL
7718 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
7719
bf9e8804
DL
77202000-05-31 Dave Love <fx@gnu.org>
7721
7722 * textprop.c: Revert last change -- duplicated.
7723
3694b4ab
GM
77242000-05-31 Gerd Moellmann <gerd@gnu.org>
7725
7726 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
7727 in #if 0.
7728
7729 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
7730
f14156cd
JR
77312000-05-31 Jason Rumney <jasonr@gnu.org>
7732
8119aab8
JR
7733 * search.c (Fre_search_forward, Fre_search_backward)
7734 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
7735
f14156cd
JR
7736 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
7737
4aab9be3
JR
77382000-05-30 Jason Rumney <jasonr@gnu.org>
7739
7740 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
7741 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
7742
7743 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
7744 member.
7745
7746 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
7747 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
7748 expand a nil default_filename.
7749
7750 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
7751 pointer to glyph_to_pixel_coords, not a frame.
7752
7753 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
7754 coding.h to dependencies.
7755
7756 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
7757
7758 * w32console.c (glyph_to_pixel_coords): Change first parameter to
7759 window pointer to be consistent with w32term.c and xterm.c.
7760
7761 * w32fns.c: Format and doc changes to bring closer to xfns.c.
7762 (VIETNAMESE_CHARSET): Define if not defined in system headers.
7763 (Qline_spacing, Qcenter): New variables.
7764 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
7765 (x_set_line_spacing): New function.
7766 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
7767 macros.
7768 (x_specified_cursor_type): New function.
7769 (x_set_cursor_type): Use it.
7770 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
7771 and icon strings.
7772 (validate_x_resource_name, x_get_resource_string): Measure lengths
7773 of external strings in bytes.
7774 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
7775 GetTextExtentPoint32 with NULL title.
7776 (Fx_create_frame): Initialize Qline_spacing.
7777 (w32_load_system_font): Initialize font->double_byte_p.
7778 (x_to_w32_charset): Use Vw32_charset_info_alist.
7779 (Image, busy cursor, tooltip functions): Merged changes from
7780 xfns.c. Not yet functional on Windows.
7781
7782 * w32gui.h (W32FontStruct): Add double_byte_p member.
7783
7784 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
7785 (emacs_button_translation): Use it.
7786 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
7787 in `mask' to be set.
7788
7789 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
7790 menu strings.
7791
7792 * w32term.c: Format and doc changes to bring closer to xterm.c.
7793 (w32_char_font_type): New enum.
7794 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
7795 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
7796 (w32_encode_char): New function.
7797 (x_encode_char): Removed.
7798 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
7799 x_encode_char and w32_font_is_double_byte.
7800 (x_produce_image_glyph): Use image_ascent.
7801 (x_produce_glyphs): Use new version of w32_per_char_metric and
7802 handle NULL return value. Allow extra line spacing.
7803 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
7804 (w32_get_glyph_overhangs): Remove unicode_p param. Use
7805 w32_font_type member of glyph instead.
7806 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
7807 (fast_find_position): Make sure not to consider rows not visible
7808 in the window.
7809 (w32_read_socket) [WM_MENUSELECT]: Cannot call
7810 w32_menu_display_help with input blocked, as it can abort.
7811 (x_display_and_set_cursor): Choose cursor depending
7812 on buffer-local value of cursor_type.
7813 (x_draw_bar_cursor): Add parameter WIDTH.
7814
7815 * w32term.h (CP_DEFAULT): Define.
7816 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
7817
10fc3187
GM
78182000-05-30 Gerd Moellmann <gerd@gnu.org>
7819
7820 * search.c (Fre_search_forward, Fre_search_backward)
7821 (Fposix_search_backward, Fposix_search_forward): Doc fix.
7822
d0555360
KH
78232000-05-30 Kenichi Handa <handa@etl.go.jp>
7824
7825 * coding.c (detect_coding_iso2022): Fix code for checking
7826 CODING_CATEGORY_MASK_ISO_8_2.
7827
f1ad044f
SM
78282000-05-29 Stefan Monnier <monnier@cs.yale.edu>
7829
7830 * regex.c (PREFETCH_NOLIMIT): New function.
7831 (re_match_2_internal): Use it and adjust the end_match_2 logic.
7832
84ec3b4b
GM
78332000-05-29 Gerd Moellmann <gerd@gnu.org>
7834
66254a13
GM
7835 * syntax.c (find_defun_start): Move test for
7836 open_paren_in_column_0_is_defun_start outside of the loop.
7837
49e70dec
GM
7838 * xdisp.c (redisplay_window): Really switch buffers when
7839 displaying mode lines, and temporarily set selected_frame to the
7840 frame of the window that's redisplayed.
7841
84ec3b4b
GM
7842 * xfaces.c (free_realized_faces): Block/unblock input.
7843 (free_realized_multibyte_face): Ditto.
7844
869a3a14
DL
78452000-05-29 Dave Love <fx@gnu.org>
7846
7847 * textprop.c (Qkeymap): New variable.
7848 (syms_of_textprop): Intern it.
7849
7850 * keymap.c: Include intervals.h.
7851 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
7852
7853 * Makefile.in (keymap.o): Depend on intervals.h.
7854
7855 * keyboard.c (menu_bar_items, tool_bar_items)
7856 (Fexecute_extended_command): Deal with `keymap' property.
7857 (read_key_sequence): Track map from `keymap' property as well as
7858 `local_map'.
7859
7860 * intervals.c (get_local_map): Extra arg to allow looking for
7861 `keymap' too.
7862
7863 * intervals.h (map_property): New enum.
7864 (get_local_map): Extra arg using it.
7865 (Qkeymap): Declare.
7866
84ec3b4b 7867 * lisp.h (get_local_map): Don't declare here.
869a3a14 7868
89d0c844
KH
78692000-05-29 Kenichi Handa <handa@etl.go.jp>
7870
7871 * Makefile.in (callproc.o): Depend on composite.h.
7872
7873 * callproc.c: Include composite.h.
7874 (Fcall_process): Handle composition correctly.
7875
7876 * coding.h (coding_allocate_composition_data): Extern it.
7877 (coding_restore_composition): Likewise.
7878
7879 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
7880 yet allocated, finish decoding with result
7881 CODING_FINISH_INSUFFICIENT_CMP.
7882 (coding_allocate_composition_data): Make it non-static.
7883 (coding_restore_composition): Likewise.
7884
797a084a
EZ
78852000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
7886
7887 * charset.c (syms_of_charset): Revert last change.
7888
cf872af5
EZ
78892000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
7890
7891 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
7892 charsets as unibyte, with 1-column screen width. Sent by Kenichi
7893 Handa.
cf872af5 7894
5b1ae051
EZ
78952000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
7896
7897 * charset.c (syms_of_charset): Set width of character sets
7898 eight-bit-control and eight-bit-graphic to 1 column.
7899
34ec9ebe
GM
79002000-05-26 Gerd Moellmann <gerd@gnu.org>
7901
7902 * config.in (HAVE_SPEED_T): New define.
7903
7904 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
7905 `extern speed_t'.
7906
dd854dc2
DL
79072000-05-26 Dave Love <fx@gnu.org>
7908
7909 * coding.c (shrink_decoding_region): Initialize eol_conversion.
7910
7911 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
7912 (Fsubr_arity): New function.
7913 (syms_of_data): Install them.
7914
ba9f8f95
KH
79152000-05-26 Kenichi Handa <handa@etl.go.jp>
7916
0f3e0672
KH
7917 * charset.c (init_charset_once): Set the table bytes_by_char_head
7918 correctly.
7919
cebefb44
KH
7920 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
7921 the default fontset to what Emacs uses by default.
0f3e0672
KH
7922 (check_registry_encoding): This function deleted.
7923 (Fset_fontset_font): Remove the adhoc condition for the default
7924 fontset. Allow cons in FONTNAME.
cebefb44 7925
0f3e0672
KH
7926 * fns.c (map_char_table): Ignore char-table entries for
7927 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 7928
7a18af49
KR
79292000-05-25 Ken Raeburn <raeburn@gnu.org>
7930
7931 * emacs.c (main): Initialize keyboard syms before initializing
7932 window code, so face names are available.
7933
d2af47df
SM
79342000-05-25 Stefan Monnier <monnier@cs.yale.edu>
7935
7936 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
7937 of an anchor at the beginning of a shy-group.
7938
fc6a6a4e
GM
79392000-05-25 Gerd Moellmann <gerd@gnu.org>
7940
7941 * xdisp.c (handle_invisible_prop): Don't try to skip over
7942 invisible text if end of text is already reached.
7943
005f0d35
DL
79442000-05-25 Dave Love <fx@gnu.org>
7945
02513cdd
DL
7946 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
7947
005f0d35
DL
7948 * coding.c (encode_eol): Add null statement after label.
7949
89f6ca4e
EZ
79502000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
7951
7952 * w16select.c (Fw16_set_clipboard_data): Fix the change from
7953 2000-05-20.
7954
a4e1759e
KH
79552000-05-25 Kenichi Handa <handa@etl.go.jp>
7956
7957 * ccl.c (ccl_driver): Fix previous change.
7958
eacfd7fe
KH
79592000-05-25 Kenichi Handa <handa@etl.go.jp>
7960
46ab33a9
KH
7961 * coding.c (run_pre_post_conversion_on_str): Set point to the
7962 beginning of buffer before calling coding->post_read_conversion.
7963 (decode_coding_string): Give correct args to
7964 run_pre_post_conversion_on_str.
7965 (encode_coding_string): Likewise.
7966
eacfd7fe
KH
7967 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
7968 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
7969 eight-bit-graphic correctly.
7970
f8569325
DL
79712000-05-24 Kenichi HANDA <handa@etl.go.jp>
7972
7973 * fileio.c (Finsert_file_contents): Even if a file is not found,
7974 execute codes for setting up coding system. Call
7975 after-insert-file-functions unconditionally.
7976
04545643
GM
79772000-05-24 Gerd Moellmann <gerd@gnu.org>
7978
7979 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
7980 BSD_PGRPS are not defined.
7981
747d90ea
KH
79822000-05-24 Kenichi Handa <handa@etl.go.jp>
7983
7984 * charset.c (update_charset_table): Accept nil in LONG_NAME and
7985 DESCRIPTION.
7986 (syms_of_charset): Avoid building same strings.
7987
716e3b88
GM
79882000-05-23 Gerd Moellmann <gerd@gnu.org>
7989
7990 * lread.c (Fload): Add a comment about the meaning of
7991 Vuser_init_file being t.
7992
7993 * puresize.h (BASE_PURESIZE): Increase to 675000.
7994
7995 * s/gnu-linux.h (setpgrp): Don't define it here because this
7996 prevents compilation on GNU/Linux systems with glib 2.2.
7997
7998 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
7999 as setpgid.
427ec082 8000
9aeb39fa
EZ
80012000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8002
8003 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8004 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8005 version.
8006 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8007
29ced61b
KH
80082000-05-23 Kenichi Handa <handa@etl.go.jp>
8009
0574a2ed
KH
8010 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
8011 unconditionally.
8012
3d80f24d
KH
8013 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8014
8015 * term.c (encode_terminal_code): Set coding->src_multibyte
8016 properly.
8017
29ced61b
KH
8018 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8019
d7e00792
KH
80202000-05-22 Kenichi Handa <handa@etl.go.jp>
8021
c9d80d38
KH
8022 * keyboard.c (read_char): Allow character codes 128..255 to be
8023 handled by input-method-function.
8024
d7e00792
KH
8025 * insdel.c (adjust_markers_for_replace): Fix previous change.
8026 (adjust_after_replace): If PREV_TEXT is nil, call
8027 adjust_markers_for_insert, not adjust_markers_for_replace.
8028
087121cc 80292000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8030
087121cc
GM
8031 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8032 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8033 [HAVE_GRANDPT]: Define.
8034 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8035
8036 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8037 like SYSV_PTYS.
8038
8039 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8040
8041 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8042
c9671f81
KH
80432000-05-20 Kenichi Handa <handa@etl.go.jp>
8044
8045 The following changes are to handle 8-bit characters in a
8046 multibyte buffer/string without facing with byte combining
8047 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8048 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8049
8050 * Makefile.in (fns.o): Depend on charset.h.
8051
8052 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8053 convert it to unibyte.
8054 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8055
8056 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8057 apparent char boundary.
8058 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8059 0x80..0x9F to/from multibyte form.
8060
8061 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8062 to unibyte.
8063
8064 * callproc.c (Fcall_process): Always encode an argument string if
8065 it is multibyte. Setup src_multibyte and dst_multibyte members of
8066 process_coding properly.
ce75fd23 8067
c9671f81
KH
8068 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8069 SPLIT_NON_ASCII_CHAR.
8070
8071 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8072 as is.
8073 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8074
8075 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
8076 variables.
8077 (SPLIT_CHARACTER_SEQ): This macro deleted.
8078 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
8079 valid.
8080 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8081 and eight-bit-graphic.
8082 (char_to_string): Likewise. Signal an error for too large
8083 character code.
8084 (char_printable_p): Return 0 for 8-bit characters.
8085 (update_charset_table): Update iso_charset_table only when a final
8086 character is non-negative.
8087 (find_charset_in_text): Renamed from find_charset_in_str.
8088 Arguments and return value changed. Callers changed.
8089 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8090 be -1 if CHARSET is used only internally.
8091 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8092 eight-bit-graphic.
8093 (Fcharset_after): Simplified.
8094 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8095 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8096 (multibyte_chars_in_text): Simplified by assuming there's no
8097 invalid multibyte sequence.
8098 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
8099 str_as_unibyte): New functions.
8100 (Fstring): Simpified by assuming that byte combining never
8101 happens.
8102 (init_charset_once): Initialization for
8103 LEADING_CODE_8_BIT_CONTROL.
8104 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8105 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8106 eight-bit-control and eight-bit-graphic.
8107
8108 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
8109 CHARSET_8_BIT_GRAPHIC): New macros.
8110 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8111 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8112 (CHARSET_REVERSE_CHARSET): Likewise.
8113 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8114 eight-bit-graphic.
8115 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8116 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8117 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8118 encounter an invalid multibyte sequence.
8119 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8120 sequence is always valid.
8121 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
8122 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
8123 macros.
8124 (CHAR_STRING): For 8-bit characters, call char_to_string.
8125 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8126 multibyte sequence is always valid.
8127 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
8128 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
8129 str_as_unibyte): Extern them.
8130 (BCOPY_SHORT): Fix a bug.
8131 (CHAR_LEN): This macro deleted. Callers changed to use
8132 CHAR_BYTES.
8133 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8134 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8135 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8136
bd4bde7f 8137 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
8138 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
8139 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
8140 EMIT_BYTES): New macros.
8141 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
8142 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
8143 macros deleted.
8144 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8145 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8146 check the validity of multibyte sequence.
8147 (decode_coding_emacs_mule): New function.
8148 (encode_coding_emacs_mule): New macro.
8149 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8150 the source.
8151 (DECODE_ISO_CHARACTER): Just return a character code.
8152 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8153 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8154 EMIT_CHAR to produced decoded characters. Exit the loop only by
8155 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8156 block here.
8157 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8158 only position codes for an invalid character.
8159 (encode_designation_at_bol): Return new destination pointer. 5th
8160 arg DSTP is changed to DST.
8161 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8162 from the source by ONE_MORE_CHAR. Don't handle the case of last
8163 block here.
8164 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8165 macros deleted.
8166 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
8167 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
8168 TWO_MORE_BYTES to fetch a byte from the source.
8169 (encode_eol): Pay attention to coding->src_multibyte.
8170 (detect_coding, detect_eol): Preserve members src_multibyte and
8171 dst_multibyte.
8172 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8173 (encoding_buffer_size): Set magnification to 3 for all coding
8174 systems that require encoding.
8175 (ccl_coding_driver): For decoding, be sure that the result is
8176 valid multibyte sequence.
8177 (decode_coding): Initialize coding->errors and coding->result.
8178 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8179 and raw-text, always call decode_eol. Handle the case of last
8180 block here. If not coding->dst_multibyte, convert the resulting
8181 sequence to unibyte.
8182 (encode_coding): Initialize coding->errors and coding->result.
8183 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8184 and raw-text, always call encode_eol. Handle the case of last
8185 block here.
8186 (shrink_decoding_region, shrink_encoding_region): Detect cases
8187 that we can't skip data more rigidly.
8188 (code_convert_region): Setup src_multibyte and dst_multibyte
8189 members of coding. For decoding, if the buffer is multibyte,
8190 convert the source sequence to unibyte in advance. For encoding,
8191 if the buffer is multibyte, convert the resulting sequence to
8192 multibyte afterward.
8193 (run_pre_post_conversion_on_str): New function.
8194 (code_convert_string): Deleted and divided into the following two.
8195 (decode_coding_string, encode_coding_string): New functions.
8196 (code_convert_string1, code_convert_string_norecord): Call one of
8197 above.
8198 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8199 MAKE_NON_ASCII_CHAR.
8200 (Fset_terminal_coding_system_internal,
8201 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
8202 and dst_multibyte members.
8203 (init_coding_once): Initialize iso_code_class with new enum
8204 ISO_control_0 and ISO_control_1.
8205
8206 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8207 devided into ISO_control_0 and ISO_control_1.
8208 (struct coding_system): New members src_multibyte, dst_multibyte,
8209 errors, and result. Delete member fake_multibyte.
8210 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8211 nonzero.
8212 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8213 nonzero.
8214
8215 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8216 (Faset): Likewise.
8217
8218 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8219 multibyte form.
8220 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8221 combining occurs.
8222 (Ftranspose_region): Delete codes for handling byte combining.
8223
8224 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8225 dst_multibyte members of coding. On handling REPLACE on unibyte
8226 buffer, convert the result of decode_coding to unibyte. On
8227 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8228 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8229 multibyteness of the source (buffer or string).
8230
8231 * fns.c (concat): Handle 8-bit characters correctly.
8232 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8233 unibyte in the result.
8234 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8235 valid multibyte form in the result.
8236 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8237 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8238 return -1, signal an error.
8239 (base64_encode_1): New arg MULTIBYTE. Get each character by
8240 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8241 character is found, return -1.
8242 (Fbase64_decode_region): Delete codes for handling byte-combining.
8243 Treat each decoded byte as a unibyte character.
8244 (Fbase64_decode_string): Return unibyte string.
8245 (Fcompare_strings, concat, string_byte_to_char): Use
8246 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8247 FETCH_STRING_CHAR_ADVANCE.
8248 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8249 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8250
8251 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8252 SPLIT_NON_ASCII_CHAR.
8253 (fontset_ref_via_base, fontset_set): Likewise
8254
8255 * insdel.c (adjust_markers_for_record_delete): Deleted.
8256 (adjust_markers_for_insert): Argument changed. Caller changed.
8257 (adjust_markers_for_replace): Likewise.
8258 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
8259 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
8260 (copy_text): Delete unused local varialbe c_save. For converting
8261 to multibyte, be sure to make all 8-bit characters in valid
8262 multibyte form.
8263 (count_size_as_multibyte): Handle 8-bit characters correctly.
8264 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
8265 adjust_after_replace, replace_range, del_range_2)
8266 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
8267 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
8268 adjust_after_replace, replace_range, del_range_2) Delete codes for
8269 handling byte combining.
8270 (adjust_before_replace): Deleted.
427ec082 8271
c9671f81
KH
8272 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8273 SPLIT_NON_ASCII_CHAR.
8274 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8275 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
8276 unconditionally.
8277 (Fkey_description): Likewise.
8278
8279 * lread.c (read1): On reading multibyte string, be sure to make
8280 all 8-bit chararacters in valid multibyte form.
8281 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8282
8283 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8284 unconditionally.
8285
8286 * process.c (Fstart_process): GCPRO current_dir before calling
8287 Ffind_operation_coding_system. Encode arguments here.
8288 (create_process): Don't encode arguments here. Setup
8289 src_multibyte and dst_multibyte members of struct coding.
8290 (read_process_output): Setup src_multibyte and dst_multibyte
8291 members of struct coding. If the output is to multibyte buffer,
8292 always decode the output of the process. Adjust the
8293 representation of 8-bit characters to the multibyteness of the
8294 output.
8295 (send_process): Setup coding->src_multibyte according to the
8296 multibyteness of the source.
8297
8298 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
8299 unconditionally.
8300 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8301 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8302
8303 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
8304 CHAR_LEN.
8305
8306 * w16select.c (Fw16_set_clipboard_data): Setup members
8307 src_multibyte and dst_multibyte of coding. Adjusted for the
8308 change for find_charset_in_str.
8309 (Fw16_get_clipboard_data): Likewise.
8310
8311 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8312 dst_multibyte of coding.
8313 (x_to_w32_font): Likewise.
8314
8315 * w32select.c (Fw32_set_clipboard_data): Setup members
8316 src_multibyte and dst_multibyte of coding. Adjusted for the
8317 change for find_charset_in_str.
8318 (Fw32_get_clipboard_data): Likewise.
8319
8320 * xdisp.c (get_next_display_element): Handle 8-bit characters
8321 correctly.
8322 (next_element_from_display_vector): Use CHAR_BYTES instead of
8323 CHAR_LEN.
8324 (disp_char_vector): Use SPLIT_CHAR instead of
8325 SPLIT_NON_ASCII_CHAR.
8326
8327 * xselect.c (selection_data_to_lisp_data): Setup members
8328 src_multibyte and dst_multibyte of coding. Adjusted for the
8329 change for find_charset_in_str.
8330 (lisp_data_to_selection_data): Likewise.
8331
5f64c9e0
GM
83322000-05-19 Gerd Moellmann <gerd@gnu.org>
8333
2b63d473
GM
8334 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
8335 buffer.
8336
5f64c9e0
GM
8337 * dispextern.h (Vimage_types): Add extern declaration.
8338
8339 * xdisp.c (Vimage_types): Moved here from xfns.c.
8340 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8341
8342 * xfns.c (Vimages_types): Moved to xdisp.c.
8343 (syms_of_xfns): Move `image-types' to xdisp.c.
8344
8345 * w32fns.c (Vimage_types): Removed.
8346 (syms_of_w32fns): Remove `image-types'.
8347
813086ea
KH
83482000-05-18 Kenichi Handa <handa@etl.go.jp>
8349
8350 * fns.c (map_char_table): Pay attention to character number of
8351 charset. Check the validity of charset at the first level. For
8352 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8353 the default value.
8354
8355 * fontset.c: Include "buffer.h".
8356 (fs_load_font): If the face has fontset, record the face ID in
8357 that fontset.
8358 (Finternal_char_font): New function.
8359 (accumulate_font_info): New function.
8360 (Ffontset_info): Rewritten for the new fontset implementation.
8361 (syms_of_fontset): Register Vdefault_fontset in the first element
8362 of Vfontset_table. Include Vdefault_fontset in
8363 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8364 function.
8365
bdaebbf0
DL
83662000-05-16 Dave Love <fx@gnu.org>
8367
8368 * m/iris5d.h: Deleted -- unused.
8369
cb613bb8
GM
83702000-05-16 Gerd Moellmann <gerd@gnu.org>
8371
b15f3b77
GM
8372 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8373 `invalid' instead of `illegal'.
8374
8375 * indent.c (Fmove_to_column): When ending within a tab, insert
8376 spaces first so that markers at the end of the tab get adjusted.
8377
835c1b36
GM
8378 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8379 buffer list that wasn't selected in that frame.
8380
cb613bb8
GM
8381 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8382 is needed on mescaline, use a 2 char prefix, and call
8383 make_temp_name with second arg non-zero.
8384
8385 * fileio.c (make_temp_name): New function, extracted from
8386 Fmake_temp_name.
8387 (Fmake_temp_name): Use it.
8388
f685bea9
EZ
83892000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8390
8391 * window.c (coordinates_in_window): Subtract 1 when computing
8392 right_x.
8393
a1b8d58b
GM
83942000-05-15 Gerd Moellmann <gerd@gnu.org>
8395
8396 * Makefile.in (lisp): Add env.elc.
8397
8398 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8399
a265079f
GM
84002000-05-12 Gerd Moellmann <gerd@gnu.org>
8401
8402 * search.c (Freplace_match): Handle case of `\N' in the
8403 replacement when there's no group N.
8404
da4496b6
GM
84052000-05-11 Gerd Moellmann <gerd@gnu.org>
8406
0ace421a
GM
8407 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8408 of the message to message_dolog.
8409
1172eb8d
GM
8410 * keyboard.c (read_char): Don't clear current message for help
8411 events; let the code handling help events handle this. Change
8412 code detecting help events that should be ignored.
8413
da4496b6
GM
8414 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8415 we're interating over a string.
8416
0623e40f
DL
84172000-05-09 Dave Love <fx@gnu.org>
8418
8419 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8420 that offset before writing. Move gcpro region past call of
8421 Ffile_regular_p.
8422
bae2503b
DL
84232000-05-04 Dave Love <fx@gnu.org>
8424
8425 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8426
ec82fb2f
GM
84272000-05-04 Gerd Moellmann <gerd@gnu.org>
8428
8429 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8430 of inserted characters when BUF equals the current buffer, and PT
8431 is in front of or equal to FROM.
8432
cbf18892
GM
84332000-05-03 Gerd Moellmann <gerd@gnu.org>
8434
4ff40dd0
GM
8435 * xdisp.c (handle_single_display_prop): If display property value
8436 is invalid, or something not supported on the frame, restore
8437 iterator's position to what it was initially. Make sure to return
8438 0 for invalid and unsupported property values.
8439
cbf18892
GM
8440 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8441 that x_per_char_metric returns null.
8442
1b0672c3
GM
84432000-05-02 Gerd Moellmann <gerd@gnu.org>
8444
576da55d
GM
8445 * xterm.h (struct face): Add forward declaration.
8446 (struct image): Ditto.
8447 (image_ascent): Add prototype.
8448
8449 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8450 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8451 image_ascent instead of using IMAGE_ASCENT.
8452
8453 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8454 (IMAGE_ASCENT): Removed.
8455
8456 * xfns.c (Qcenter): New variable.
8457 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8458 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8459 (image_ascent): New function.
8460 (lookup_image): Recognize `:ascent center'.
8461 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8462 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8463 (xbm_load): Don't set image's ascent here.
8464 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8465 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8466 check ascent values here.
8467 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8468 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8469 (syms_of_xfns): Initialize Qcenter.
8470
1b0672c3
GM
8471 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8472 to the limits, increase the limits.
8473
0d7811ed
KH
84742000-05-01 Kenichi Handa <handa@etl.go.jp>
8475
8476 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
8477 Check Vfont_encoding_alist against the full name of the opened
8478 font.
8479
a943a5ca
GM
84802000-04-28 Gerd Moellmann <gerd@gnu.org>
8481
8482 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8483 taller than the window.
8484
5dba1e29
KH
84852000-04-28 Kenichi Handa <handa@etl.go.jp>
8486
8487 * xfaces.c (realize_x_face): Fix the argument of the second
8488 xassert. BASE_FACE may not be a face for ASCII.
8489
353964e3
GM
84902000-04-27 Gerd Moellmann <gerd@gnu.org>
8491
c76e04a8
GM
8492 * print.c (print_object): Treat print-length < 0 as nil.
8493
8494 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8495
8496 * s/freebsd.h (TERMCAP_OBJ): Removed.
8497 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8498
8499 * lread.c (read1): Don't treat period followed by certain
8500 characters as symbol start.
8501
8502 * xfns.c (slurp_file): New function.
8503 (xbm_image_p): Handle case of in-memory XBM files.
8504 (xbm_scan): Rewritten to work on memory buffers instead of files.
8505 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8506 Work on memory buffers instead of files. If DATA is null test
8507 if buffer looks like an in-memory XBM file.
8508 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8509 memory buffers instead of files.
8510 (xbm_file_p): New function.
8511 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8512
353964e3
GM
8513 * lread.c (end_of_file_error): New function.
8514 (read1): Call it instead of signaling `end-of-file' directly.
8515
427ec082 8516 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8517 with Fprinc instead of Fprin1.
8518
24d744ac
KR
85192000-04-26 Ken Raeburn <raeburn@gnu.org>
8520
8521 * window.c (freeze_window_start): Check that minibuffer scroll
8522 window isn't nil before extracting the window structure pointer
8523 from it.
8524
8525 * undo.c (record_delete): If we hit the end of the undo list, stop
8526 picking elements apart.
8527
7464346d
GM
85282000-04-26 Gerd Moellmann <gerd@gnu.org>
8529
8530 * xdisp.c (display_line): If lines are continued, restore
8531 iterator's ascent/descent information to the values before the
8532 first glyph not fitting on the line.
8533
612839b6
GM
85342000-04-25 Gerd Moellmann <gerd@gnu.org>
8535
8536 * xdisp.c (try_window_id) <all changes above window start>: Adjust
8537 positions in glyph matrix. Don't compute new window end
8538 positions.
8539
8540 * dispnew.c (increment_matrix_positions): Renamed from
8541 increment_glyph_matrix_buffer_positions.
8542 (increment_row_positions): Renamed from
8543 increment_glyph_row_buffer_positions.
8544
8545 * dispextern.h: Change names of renamed functions from dispnew.c
8546 in prototypes.
8547
cc181e95
GM
85482000-04-24 Gerd Moellmann <gerd@gnu.org>
8549
abfcc168
GM
8550 * fileio.c (Fdo_auto_save): Create directories for auto-save
8551 list file if necessary.
8552
cc181e95
GM
8553 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8554 from buffer or frame.
8555 (automatic_hscrolling_p): New variable.
8556 (hscroll_windows): Scroll windows horizontally only if automatic
8557 hscrolling is allowed.
8558 (syms_of_xdisp): New variable `automatic-hscrolling'.
8559
8560 * frame.h (struct frame): Add member extra_line_spacing.
8561
8562 * xfns.c (x_set_line_spacing): New function.
8563 (Fx_create_frame): Set line spacing from resources.
8564 (Qline_spacing): New variable.
8565 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8566
cc181e95
GM
8567 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8568
8569 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8570 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8571 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8572 extra_line_spacing from default value.
8573 (init_buffer_once): Initialize default value of extra_line_spacing.
8574
8575 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8576 and extra3.
8577
8578 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8579 prompt_width. Add extra line spacing.
8580
8581 * term.c (produce_glyphs): Remove reference to struct it's
8582 prompt_width.
8583
8584 * dispextern.h (struct it): Remove member prompt_width, add
8585 extra_line_spacing.
8586
58827478
GM
85872000-04-22 Gerd Moellmann <gerd@gnu.org>
8588
8589 * dispnew.c (update_frame_line): When writing a whole line, make
8590 sure cursor is in the right row afterwards, otherwise a use of
8591 capability `ch' in cmgoto might leave the cursor in the row below.
8592
25a87f42
GM
85932000-04-21 Gerd Moellmann <gerd@gnu.org>
8594
8595 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8596
8597 * keyboard.c (timer_check): Fix typo in comment.
8598
54edf5c2
KH
85992000-04-21 Kenichi Handa <handa@etl.go.jp>
8600
8601 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8602 name change: ch -> character.
8603
3a64eef5
GM
86042000-04-20 Gerd Moellmann <gerd@gnu.org>
8605
8606 * keyboard.c (echo_message_buffer): New variable.
8607 (echo_now): Set echo_message_buffer to the echo area buffer used
8608 to display the echo.
8609 (cancel_echoing): Reset echo_message_buffer to nil.
8610 (read_char): Code rewritten that handles canceling an echo or
8611 echoing a dash, respectively.
8612
8613 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8614 directory doesn't exist.
8615
6142fdcb
DL
86162000-04-19 Dave Love <fx@gnu.org>
8617
8618 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8619 (concat): Don't allow numeric args.
8620 (Fconcat): Doc change.
6142fdcb 8621
ac6b5352
SM
86222000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8623
8624 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8625 instead define end_match(1|2) more carefully.
8626 Use GET_CHAR_BEFORE_2 for `begline'.
8627
cb9215e4
GM
86282000-04-19 Gerd Moellmann <gerd@gnu.org>
8629
5e3dac3f
GM
8630 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8631 on 64-bit systems where NULL is defined as `0'.
8632
8633 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8634 the `variable argument list' to make it work on Alpha.
8635
cb9215e4
GM
8636 * m/alpha.h (_LP64) [!_LP64]: Define.
8637 (ORDINARY_LINK): Define for NetBSD.
8638
8639 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8640
f532dca0
DL
86412000-04-19 Dave Love <fx@gnu.org>
8642
c750667e
DL
8643 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8644 change.
8645
8646 * Makefile.in (LIBS): Don't use.
8647 (GETLOADAVG_OBJ): Define again.
8648 (otherobj): Add GETLOADAVG_OBJ.
8649
f532dca0
DL
8650 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8651
1c7e22fd
GM
86522000-04-18 Gerd Moellmann <gerd@gnu.org>
8653
f6d3257b
GM
8654 * lread.c (read_filtered_event): Cancel and start busy cursor.
8655
427ec082 8656 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8657 that the per-character metrics may be null.
8658
e10f64e7
GM
86592000-04-17 Gerd Moellmann <gerd@gnu.org>
8660
0daee095
GM
8661 * buffer.c (clone_per_buffer_values): New function.
8662 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8663 clone_per_buffer_values if CLONE is not nil.
8664
e10f64e7
GM
8665 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8666
38687d43
DL
86672000-04-16 Dave Love <fx@gnu.org>
8668
8669 * Makefile.in: Remove obsolete localcpp stuff.
8670 (GETLOADAVG_OBJ): Don't define.
8671 (obj): Move LIBOBJS...
8672 (otherobj): ... to here.
8673 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8674 whitespace-only lines after the continuation (Irix).
8675
c21c7262
GM
86762000-04-14 Gerd Moellmann <gerd@gnu.org>
8677
8678 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8679
8680 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8681
314767c0
DL
86822000-04-14 Dave Love <fx@gnu.org>
8683
8684 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8685 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8686 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8687 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8688 NLIST_STRUCT.
8689
8690 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8691 autoconfiscated HAVE_GETLOADAVG.
8692
8693 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8694 BROKEN_MKTIME.
8695
a2522dca
GM
86962000-04-14 Gerd Moellmann <gerd@gnu.org>
8697
8698 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
8699 (fill_in_lock_file_name): Avoid existing files that aren't
8700 links.
8701
33744b5d
DL
87022000-04-14 Dave Love <fx@gnu.org>
8703
c21c7262 8704 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8705 (INTERVAL_SRC): Convert to make variable.
8706 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8707 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8708 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8709 add LIBOBJS.
8710 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8711 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8712 (shortlisp): Add facemenu, float-sup, frame.
8713 (SOME_MACHINE_LISP): Remove them from here.
8714 (LIBES): Change unused LDLIBS to autoconf LIBS.
8715
8716 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8717
9d3d5916
KH
87182000-04-14 Kenichi Handa <handa@etl.go.jp>
8719
8720 * composite.c (update_compositions): If FROM and TO are not in a
8721 valid range, do nothing.
8722
198e3c7a
GM
87232000-04-13 Gerd Moellmann <gerd@gnu.org>
8724
8725 * tparam.c (tparam1): Abort when encountering an unknown
8726 `%'-specifier.
8727
8728 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
8729 terminfo.o.
8730
8731 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
8732 as TERMCAP_OBJ.
8733
055a28c9
EZ
87342000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
8735
8736 * fileio.c (a_write): Remove redundant semi-colons.
8737 (e_write): Return -1 if failed to write all the data.
8738 This fixes the changes made at 1999-12-15.
8739
f5c75033
DL
87402000-04-12 Dave Love <fx@gnu.org>
8741
8742 * fns.c (mapcar1): Test for null vals to support mapc.
8743 (Fmapc): New function.
8744
0c3cfc51
EZ
87452000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
8746
8747 * msdos.c (NUM_MOUSE_BUTTONS): Define.
8748 (IT_frame_up_to_date): Support the buffer local value of
8749 cursor-type, if defined.
8750
33465a31
DL
87512000-04-10 Dave Love <fx@gnu.org>
8752
8753 * editfns.c (preceding-char, following-char): Doc fix.
8754
6ed56568
KR
87552000-04-10 Ken Raeburn <raeburn@gnu.org>
8756
8757 * Makefile.in (temacs): Revert 2000-03-12 change.
8758
7cf80d4e
JR
87592000-04-10 Jason Rumney <jasonr@gnu.org>
8760
8761 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
8762
34f3f342
GM
87632000-04-10 Gerd Moellmann <gerd@gnu.org>
8764
1a1b1895
GM
8765 * xdisp.c (setup_echo_area_for_printing): Choose an echo
8766 area buffer, if it's not set up yet.
8767
34f3f342
GM
8768 * indent.c (compute_motion): Set immediate_quit.
8769
be0dbdab
GM
87702000-04-09 Gerd Moellmann <gerd@gnu.org>
8771
c45be9ac
GM
8772 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
8773 variable.
8774 (realize_tty_face): Suppress boldness if colors are the inverse of
8775 the default colors, and tty_suppress_bold_inverse_default_colors_p
8776 is set.
8777 (Ftty_suppress_bold_inverse_default_colors): New function.
8778 (syms_of_xfaces): Defsubr it.
8779
be0dbdab
GM
8780 * buffer.c (Frestore_buffer_modified_p): New function.
8781 (syms_of_buffer): Defsubr it.
8782
e8413c3b
KR
87832000-04-08 Ken Raeburn <raeburn@gnu.org>
8784
87f67317
KR
8785 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
8786 charset id (int) argument, not a charset (Lisp_Object).
8787
e8413c3b
KR
8788 * coding.h (code_convert_string): Declare.
8789 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
8790 object, as the fourth argument to code_convert_string.
8791
8792 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
8793 value.
8794 (Fset_fontset_font): Use EQ to compare lisp objects.
8795
7c752c80
KR
87962000-04-05 Ken Raeburn <raeburn@gnu.org>
8797
c0333abc
KR
8798 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
8799 a pointer that looks like a lisp object.
8800 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
8801 zero, instead see whether it's an integer object, since they can't
8802 have intervals.
8803 (GET_INTERVAL_OBJECT): Simply assign to the destination.
8804
7c752c80
KR
8805 * dispnew.c (allocate_matrices_for_frame_redisplay,
8806 direct_output_forward_char): Use X(U)INT and make_number as needed
8807 to convert between (unsigned) int values and lisp integers.
8808 * keyboard.c (read_key_sequence): Likewise.
8809 * lread.c (substitute_object_recurse): Likewise.
8810 * fns.c (concat, hash_lookup, hash_remove): Likewise.
8811 * minibuf.c (do_completion, Fminibuffer_complete_word,
8812 Fminibuffer_completion_help): Likewise.
8813 * term.c (produce_special_glyphs): Likewise.
8814
8815 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
8816 * print.c (print_preprocess, print_object): Likewise.
8817
8818 * search.c (compile_pattern): Use NILP when checking for nil.
8819
74e49b38
KR
8820 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
8821 __OPTIMIZE__]: Provide a GNU C macro version that handles
8822 lisp-object unions.
8823 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
8824 field, to better cope with ENABLE_CHECKING and calls that modify a
8825 Lisp_Object using its old value.
8826
685e5ed2
GM
88272000-04-04 Gerd Moellmann <gerd@gnu.org>
8828
c407c570
GM
8829 * window.c (compare_window_configurations): Signal an error
8830 if parameters C1 or C2 aren't window configurations.
8831
685e5ed2
GM
8832 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
8833 AFTER_POTENTIAL_GC calls around calls to functions that can
8834 signal an error and thus invoke the debugger.
8835
587a49ab
GM
88362000-04-03 Gerd Moellmann <gerd@gnu.org>
8837
62f20204
GM
8838 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
8839 an error if decoding fails.
8840
587a49ab
GM
8841 * keyboard.c (lispy_mouse_names): Variable removed.
8842 (Vlispy_mouse_stem): New variable.
8843 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
8844 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
8845 for any mouse button number. Increase size of mouse_syms and
8846 button_down_location as needed. Call modify_event_symbol with
8847 different arguments.
8848 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
8849 Call modify_event_symbol with different arguments.
8850 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
8851 for any button number. Call modify_event_symbol with different
8852 arguments.
8853 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
8854 Accept a string for NAME_ALIST_OR_STEM.
8855
8856 * lisp.h (larger_vector): Add prototype.
8857
8858 * fns.c (larger_vector): Make externally visible.
8859
8860 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
8861
2d1675e4
SM
88622000-04-02 Stefan Monnier <monnier@cs.yale.edu>
8863
8864 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
8865 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
8866 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
8867 we are between str1 and str2.
8868 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
8869 (PATFETCH): Use `TRANSLATE'.
8870 (PATFETCH_RAW): Fetch multibyte char if applicable.
8871 (PATUNFETCH): Remove.
8872 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
8873 When writing a char, write it directly into the pattern buffer rather
8874 than going needlessly through a temp char-array.
8875 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
8876 multibyte magic and remove the useless `#ifdef emacs'.
8877 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
8878 buffer.
8879
8880 * regex.h (struct re_pattern_buffer): Make field `multibyte'
8881 conditional on `emacs'.
8882
8883 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
8884
cc2d8c6b
KR
88852000-04-01 Ken Raeburn <raeburn@gnu.org>
8886
8887 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
8888 non-union-type versions of XMARK and friends here, because XMARK
8889 and friends won't work on an integer field if NO_UNION_TYPE is not
8890 defined.
8891 (make_number): Define as a function if it's not defined as a
8892 macro.
8893
09654086
KR
8894 * composite.c (run_composite_function): Use NILP when checking for
8895 nil.
8896 (syms_of_composite): Delete local var NARGS, pass an int as first
8897 argument to Fmake_hash_table.
8898
2387b382
KR
8899 * editfns.c (text_property_stickiness): Use NILP to test
8900 Lisp_Object boolean value.
8901 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
8902 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
8903 problems reading from and changing the same lisp value in an
8904 XSETSTRING call.
8905
27660e89
GM
89062000-04-01 Gerd Moellmann <gerd@gnu.org>
8907
8908 * term.c (TN_no_color_video): New variable.
8909 (term_init): Intitialize TN_no_color_video.
8910 (enum no_color_bit): New enumeration.
8911 (MAY_USE_WITH_COLORS_P): New macro.
8912 (turn_on_face): Use it to determine if attributes may be used
8913 combined with colors.
8914
3578db3c
KR
89152000-04-01 Ken Raeburn <raeburn@gnu.org>
8916
8917 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
8918 with int lvalues via casts; instead, just yield lisp object
8919 lvalues.
8920 (enlarge_window): Variable sizep now points to Lisp_Object. Use
8921 proper accessor macros.
8922 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
8923 (grow_mini_window): Fix typo getting int value of root->height.
8924
6fc556fd
KR
8925 * xdisp.c (compute_string_pos): Fix order of arguments to
8926 string_pos_nchars_ahead.
8927 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
8928 count arg to variable-arg routines like Frun_hook_with_args and
8929 Fformat.
587a49ab
GM
8930 (back_to_previous_visible_line_start)
8931 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
8932 fixed-arg routines like Fget_char_property and Fmake_string.
8933 (reconsider_clip_changes): Use XINT when comparing integer lisp
8934 objects, or passing them as int arguments.
587a49ab
GM
8935 (mark_window_display_accurate, insert_left_trunc_glyphs)
8936 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
8937 storing or passing integer values as lisp objects.
8938 (set_cursor_from_row, highlight_trailing_whitespace): Use
8939 INTEGERP, not implicit test against zero, for glyph object.
8940 (try_window_id): Don't use make_number when we want an int value.
8941
8942 * xfaces.c (xlfd_symbolic_value): Make last argument a
8943 Lisp_Object, to be consistent with callers.
8944 (Fbitmap_spec_p): Use XINT to get numeric value of height.
8945 (lface_hash): Apply XFASTINT to lisp values before folding in.
8946
8947 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
8948 fill in window width and height. Pass an int, not a lisp object,
8949 as first arg to Finsert.
8950
6e7b2457
GM
89512000-04-01 Gerd Moellmann <gerd@gnu.org>
8952
610d841e
GM
8953 * xfaces.c (realize_basic_faces): Block input while realizing
8954 the faces.
8955
6e7b2457
GM
8956 * keyboard.c (lispy_mouse_names): Add additional mouse names.
8957
8958 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
8959
aa110c0c
GM
89602000-03-31 Gerd Moellmann <gerd@gnu.org>
8961
8962 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 8963 or ASCII, handle case that per-char metric is null.
aa110c0c 8964
8801a864
KR
89652000-03-30 Ken Raeburn <raeburn@gnu.org>
8966
c6129d7e
KR
8967 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
8968
8801a864
KR
8969 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
8970 XSUBR, XBUFFER): Verify correct object type before returning
8971 pointer, using eassert.
8972 * frame.h (XFRAME): Likewise.
8973
8974 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
8975 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
8976 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
8977 type.
8978 * data.c (set_internal): Likewise.
8979 * dispextern.h (WINDOW_WANTS_MODELINE_P,
8980 WINDOW_WANTS_HEADER_LINE_P): Likewise.
8981 * fileio.c (auto_save_1): Likewise.
8982 * insdel.c (check_markers): Likewise.
8983 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
8984 * undo.c (record_insert): Likewise.
8985 * vmsproc.c (child_sig): Likewise.
8986 * window.c (unshow_buffer, window_loop): Likewise.
8987 * xterm.c (x_erase_phys_cursor): Likewise.
8988
8e7af858
GM
89892000-03-30 Gerd Moellmann <gerd@gnu.org>
8990
8991 * xfns.c (free_image_cache): Free the cache structure itself
8992 last, after all its members have been freed.
8993
8994 * lisp.h (xstrdup): Add prototype.
8995
8996 * alloc.c (xstrdup): Moved here from xfaces.c.
8997 (allocating_for_lisp): Variable removed.
8998 (lisp_malloc): Block input around the calls to malloc and
8999 mem_insert.
9000
9001 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9002 of Fsymbol_value.
9003 (xstrdup): Moved to alloc.c.
9004
e0b8c689
KR
90052000-03-29 Ken Raeburn <raeburn@gnu.org>
9006
b96f9fb7
KR
9007 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9008
9009 * emacs.c (main): Fix sense of no-loadup test.
9010
e0b8c689
KR
9011 * config.in (ENABLE_CHECKING): Undef.
9012
9013 * lisp.h (struct interval): Replace "parent" field with a union of
9014 interval pointer and Lisp_Object; add new bitfield to use as
9015 discriminant. Change other flag fields to bitfields.
9016 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
9017 is defined and the supplied test fails, print a message and
9018 abort.
9019 (eassert): New macro. Use CHECK to provide an assert-like
9020 facility.
9021
9022 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9023 pointers; abort if the value looks like a lisp object.
9024 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
9025 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
9026 Modify for new interval parent definition.
9027
9028 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
9029 UNMARK_BALANCE_INTERVALS): Update references that need an
9030 addressable lisp object in the interval structure.
9031 (die): New function.
9032 (suppress_checking): New variable.
9033
9034 * intervals.c (interval_start_pos): Just return 0 if there's no
9035 parent object.
9036
f83c5440
GM
90372000-03-29 Gerd Moellmann <gerd@gnu.org>
9038
9039 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9040 and earlier Emacs versions.
9041
9042 * keyboard.c (Ftop_level): Cancel busy-cursor.
9043
9044 * eval.c (call_debugger): Cancel busy-cursor.
9045
fdce64ff
KH
90462000-03-29 Kenichi Handa <handa@etl.go.jp>
9047
9048 * search.c (Freplace_match): Adjust multibyteness of the current
9049 buffer and NEWTEXT. Free allocated memory before signaling an
9050 error.
9051
f6a3f532
SM
90522000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9053
9054 * regex.c (analyse_first): New function obtained by ripping out most
9055 of re_compile_fastmap and generalizing it a little bit so that it
9056 can also just return whether a given (sub)pattern can match the empty
9057 string or not.
9058 (regex_compile): Use `analyse_first' to decide whether the loop-check
9059 needs to be done or not for *, +, *? and +? (the loop check is costly
9060 for non-greedy repetition).
9061 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9062
e9b309ac
DL
90632000-03-28 Dave Love <fx@gnu.org>
9064
bb15bd9a
DL
9065 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
9066 alpha.
9067
e9b309ac
DL
9068 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9069
ed0767d8
SM
90702000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9071
9072 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9073 an expression.
9074 (enum re_opcode_t): Update description of succeed_n.
9075 (PATFETCH): Always define.
9076 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9077 operators, char classes, shy-groups and intervals).
9078 Optimize special cases of intervals so as to only use succeed_n and
9079 jump_n when really needed.
9080 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9081 that we don't have to handle the special cases any more.
9082 Simplify on_failure_jump handling as well.
9083
e11e7e46
JR
90842000-03-28 Jason Rumney <jasonr@gnu.org>
9085
9086 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9087
88faab89
GM
90882000-03-27 Gerd Moellmann <gerd@gnu.org>
9089
182ff242
GM
9090 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9091
9092 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9093
182ff242
GM
9094 * alloc.c (mark_maybe_object): New function.
9095 (mark_memory): Use it.
9096 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9097 (setjmp_tested_p, longjmp_done): New variables.
9098 (test_setjmp): New function.
9099 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9100 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9101
c1005d06
GM
9102 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9103 to DEC_TEXT_POS and INC_TEXT_POS.
9104
9105 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9106 with parameter MULTIBYTE_P.
9107
427ec082 9108 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
9109 MULTIBYTE_P.
9110
7439e5b9 9111 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9112 buffers because it looks for multibyte character byte sequences
9113 which don't exist in unibyte text.
7439e5b9 9114
d9c545da
GM
9115 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9116
11fd416e 9117 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9118 [DEBUG_X_COLORS]: New functions.
9119 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9120
9121 * xfns.c (x_set_cursor_color): Get color reference counts right.
9122
9123 * xterm.c (x_copy_color): New function.
9124 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9125
9126 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9127 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9128 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9129 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9130 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9131 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9132 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9133 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9134 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9135 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9136
11fd416e
GM
9137 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9138 names for handling per-buffer variables.
d9c545da
GM
9139
9140 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9141 instead of MAX_BUFFER_LOCAL_VARS.
9142 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9143
9144 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9145
88faab89
GM
9146 * xfns.c (x_specified_cursor_type): New function.
9147 (x_set_cursor_type): Use it.
9148
9149 * buffer.h (struct buffer): Add cursor_type.
9150
d80f42b7
SM
91512000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9152
9153 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 9154 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 9155 opcode.
d80f42b7
SM
9156 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9157 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9158 executing it as well as when popping it off the stack to find infinite
9159 loops in non-greedy repetition operators.
9160
89e80928
GM
91612000-03-26 Gerd Moellmann <gerd@gnu.org>
9162
3d4ff2dd
GM
9163 * doc.c (Qfunction_documentation): New variable.
9164 (syms_of_doc): Initialize Qfunction_documentation.
9165 (Fdocumentation): If FUNCTION is a symbol with non-nil
9166 `function-documentation' property, return a documentation derived
9167 from that.
9168
bd96bd79
GM
9169 * buffer.c (syms_of_buffer): Add default-cursor-type.
9170 (init_buffer_once): Don't let cursor_type have a local value
9171 in every buffer.
9172
19d1bc27
GM
9173 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9174 on buffer-local value of cursor_type.
9175 (x_draw_bar_cursor): Add parameter WIDTH.
9176
9177 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9178 (init_buffer_once): Set default cursor_type value to t.
9179 Mark cursor_type as local everywhere.
9180 (syms_of_buffer): New per-buffer variable cursor-type.
9181
89e80928
GM
9182 * buffer.h (struct buffer): Remove member local_var_flags,
9183 add local_flags.
9184 (MAX_BUFFER_LOCAL_VARS): New macro.
9185 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9186 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9187 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9188 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9189
9190 * print.c (print_object): Use new macros for per-buffer
9191 variables.
9192
9193 * category.c (Fset_category_table): Use new macros for per-buffer
9194 variables.
9195
9196 * buffer.c (buffer_permanent_local_flags): Make a char array.
9197 (max_buffer_local_idx): New variable.
9198 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9199 for new handling of per-buffer variables.
9200 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9201 (init_buffer_once): Initialize per-buffer vars differently.
9202 Set max_buffer_local_idx.
9203
9204 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9205 variables.
9206
9207 * lread.c (defvar_per_buffer): Use new macros for per-buffer
9208 variables.
9209
9210 * data.c (do_symval_forwarding, store_symval_forwarding)
9211 (find_symbol_value, set_internal, default_value, Fset_default)
9212 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9213 per-buffer variables.
9214
9215 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9216
9a0dd3dc
GM
92172000-03-24 Gerd Moellmann <gerd@gnu.org>
9218
b68c375f
GM
9219 * xterm.c (x_term_init): Unblock input around call1 of
9220 Qvendor_specific_keysyms.
9221
9a0dd3dc
GM
9222 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9223 (find_defun_start): Consider an open parenthesis in column 0
9224 a defun start only if open_paren_in_column_0_is_defun_start is set.
9225 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9226
7973e637
SM
92272000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9228
9229 * eval.c (Fautoload): Add entry in load-history (if after dump).
9230 * lread.c (load-history): Update docstring.
9231
39210e90
GM
92322000-03-24 Gerd Moellmann <gerd@gnu.org>
9233
9234 * indent.c (Fvertical_motion): Always use the current buffer.
9235 Temporarily change the window's buffer, if necessary.
9236
72db3ab5
GM
92372000-03-23 Gerd Moellmann <gerd@gnu.org>
9238
9239 * xterm.c (fast_find_position): Make sure not to consider rows
9240 not visible in the window.
9241
990b2375
SM
92422000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9243
9244 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9245 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9246
ff4df011
JR
92472000-03-22 Jason Rumney <jasonr@gnu.org>
9248
9249 * w32menu.c (single_submenu): Set help string to NULL if none.
9250 (w32_menu_show): Set help string correctly.
9251 (add-menu-item): Set help string in MIIM_DATA for menu item.
9252 Load SetMenuItemInfoA explicitly.
9253 (w32_menu_display_help): New function.
427ec082 9254
ff4df011
JR
9255 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9256 (QCdata): Moved to xdisp.c.
9257
9258 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9259 (Vw32_charset_to_codepage_alist): Removed.
9260 (Vw32_charset_info_alist): New variable.
9261 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
9262 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
9263 greek, hebrew, thai, johab, mac, unicode]): New symbols.
9264 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9265 with TODO comment.
9266 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9267 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9268 Define Vw32_charset_info_alist and w32_charset symbols.
9269
92702000-03-22 Jason Rumney <jasonr@gnu.org>
9271
9272 * makefile.nt (w32bdf.obj): Update dependencies.
9273
9274 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9275
9276 * w32fns.c: Include fontset.h after dispextern.h.
9277 (Fx_create_frame): Do not create fontset.
9278 (w32_load_system_font): Doc fix.
9279 (Fx_close_connection): Free full_name if it is not shared.
9280
9281 * w32term.c: Include fontset.h after dispextern.h.
9282 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
9283 updated.
9284 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9285 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9286 (w32_font_is_double_byte): New function, needs body.
9287 (x_append_glyph): Set glyph->glyph_not_available_p.
9288 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9289 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9290 character, convert it to a unibyte character.
9291 (struct glyph_string): Delete member `charset'.
9292 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9293 calculating it is found.
9294 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9295 the case that per char metric is not available correctly.
9296 (x_fill_glyph_string): Handle the case that the specific glyph is
9297 not available correctly.
9298 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9299 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9300 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9301 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9302 fontset. Don't call FS_LOAD_FONT.
9303
439d5cb4
KR
93042000-03-22 Ken Raeburn <raeburn@gnu.org>
9305
9306 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9307 (INT_LISPLIKE): New macro.
9308 (NULL_INTERVAL_P): Use it.
9309 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
9310 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
9311 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
9312
9313 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9314 explicit references to "parent" field of struct interval and
9315 associated unclean type conversions.
9316 * intervals.c (create_root_interval, root_interval, rotate_right,
9317 rotate_left, balance_possible_root_interval, split_interval_right,
9318 split_interval_left, interval_start_pos, find_interval,
9319 next_interval, previous_interval, update_interval,
9320 adjust_intervals_for_insertion, delete_node, delete_interval,
9321 adjust_intervals_for_deletion, merge_interval_right,
9322 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
9323 copy_intervals_to_string): Likewise.
9324 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9325 Likewise.
9326 * syntax.c (update_syntax_table): Likewise.
9327
9328 * intervals.c (reproduce_tree_obj): New function, like
9329 reproduce_tree but takes a Lisp_Object for the parent. Declare
9330 with prototype.
9331 (graft_intervals_into_buffer): Use it when appropriate.
9332 (reproduce_tree): Declare with prototype.
9333 (balance_possible_root_interval): Check that the parent is a lisp
9334 object before trying to examine its type.
9335
ee1c5b21
GM
93362000-03-22 Gerd Moellmann <gerd@gnu.org>
9337
9338 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9339 as strings only if both are known to be strings.
9340
9341 * s/openbsd.h (LIBS_TERMCAP): Undef.
9342
1fb352e0
SM
93432000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9344
9345 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9346 definitions for non-Emacs compilation.
9347 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9348 outside of `#ifdef emacs'.
9349 (print_partial_compiled_pattern): Update.
9350 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9351 (re_compile_fastmap): Merge handling of charset and charset_not (for
9352 emacs and non-emacs compilation as well).
9353 Similarly for (not)categoryspec and (not)syntaxspec.
9354 Don't use the fastmap when reaching `anychar' since the added
9355 complexity is not justified.
9356 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9357 and (not)syntaxspec. Merge (not)categoryspec.
9358
fdaa1f77
KH
93592000-03-22 Kenichi Handa <handa@etl.go.jp>
9360
ff1a0d8e
KH
9361 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
9362 FACE_FOR_CHAR): Define them differently for the configuration of
9363 --without-x.
fdaa1f77 9364
d152fb46
DL
93652000-03-21 Dave Love <fx@gnu.org>
9366
9367 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9368 doc string.
9369
d2cafc8c
GM
93702000-03-21 Gerd Moellmann <gerd@gnu.org>
9371
9372 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9373 (lface_fully_specified_p): Don't check contents of
9374 LFACE_FONT_INDEX because that attribute is optional.
9375 (realize_x_face): Remove now unwarranted xassert.
9376
9111d4b5
KH
93772000-03-21 Kenichi HANDA <handa@etl.go.jp>
9378
9379 The following changes are to make font selection based on
9380 characters, not charset. In addition, they recover fontset
9381 facilities while utilizing the new font selection mechanism.
9382
6c4bfdc0
KH
9383 * Makefile.in (fontset.o): Depend on dispextern.h.
9384
9385 * alloc.c (mark_face_cache): Don't mark face->registry.
9386
9111d4b5
KH
9387 * dispextern.h (struct glyph): New member glyph_not_available_p.
9388 Use 22 bits for face_id.
9389 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9390 (struct face): Delete member registry, new member ascii_face.
9391 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9392 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9393 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
9394 (struct it): Delete member charset, new member
9395 glyph_not_available_p.
9396
9397 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9398 (struct fontset_info, struct fontset_data): Structs removed.
9399 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
9400 Vglobale_fontset_alist, font_idx_temp): Externs removed.
9401 (fs_load_font, fs_query_fontset): Adjusted for new argument.
9402 (fs_free_face_fontset, fontset_font_pattern,
9403 face_suitable_for_char_p, face_for_char,
9404 make_fontset_for_ascii_face): Extern them.
9405 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9406 (FS_LOAD_FACE_FONT): New macro.
9407
9408 * fontset.c: All codes rewritten or adjusted for the change of
9409 fontset implementation. Now fontset is represented by char table.
9410 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
9411 removed.
9412 (my_strcasecmp): Function removed.
9413 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
9414 variables.
9415 (AREF, ASIZE): New macros.
9416 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
9417 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
9418 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9419 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
9420 fontset_id_valid_p, font_family_registry, fontset_name,
9421 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
9422 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9423 New functions.
9424 (fs_load_font): New arg FACE. Caller changed.
9425 (fs_query_fontset): Argument changed. Caller changed.
9426 (Fquery_fontset): call fs_query_fontset.
9427 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9428 Functions removed.
9429 (clear_fontset_elements, check_registry_encoding,
9430 check_fontset_name): New functions.
9431 (syms_of_fontset): Set char-table-extra-slots property of fontset
9432 to 3. Staticpro and initialize Vfontset_table and
9433 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9434
9435 * frame.h (struct frame): Member `fontset_data' removed.
9436 (FRAME_FONTSET_DATA): Macro removed.
9437
9438 * frame.c (make_frame): Don't allocate f->fontset_data.
9439 (Fdelete_frame): Don't free f->fontset_data.
9440
6c4bfdc0
KH
9441 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9442
9111d4b5
KH
9443 * xdisp.c (charset_at_position): Function removed.
9444 (init_iterator): Don't set member charset of struct `it'.
9445 (handle_face_prop, reseat_to_string, set_iterator_to_next,
9446 next_element_from_display_vector, insert_left_trunc_glyphs):
9447 Likewise.
9448 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9449 FACE_FOR_CHARSET.
9450 (get_next_display_element, append_space,
9451 extend_face_to_end_of_line): Likewise.
9452
9453 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9454 Variables removed.
9455 (clear_font_table, frame_update_line_height, load_face_font):
9456 Adjusted for the change of fontset implementation.
9457 (load_face_fontset_font): Function removed.
9458 (pixel_point_size): New function.
9459 (font_list): Argument type changed. Caller changed.
9460 (LFACE_FONT): New macro.
9461 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9462 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9463 Lisp_Object. Determine the font name by actually loading a font
9464 by the specified pattern. Set LFACE_FONT (lface) to the specified
9465 pattern. Even if a font is not found, don't try alternatives.
9466 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9467 (set_font_frame_param): If `font' is specified in lface, use it.
9468 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9469 (lface_same_font_attributes_p): Likewise.
9470 (make_realized_face): Arguent changed. Caller changed. Set
9471 face->ascii_face to face itself.
9472 (free_realized_face): Free face->fontset if face is for ASCII.
9473 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
9474 deduce_unibyte_registry, x_charset_registry): Functions removed.
9475 (free_realized_multibyte_face): New function.
9476 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9477 changed. Caller changed.
9478 (try_font_list): Argument type changed.
9479 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9480 (choose_face_font): Argument changed. Handle fontset properly.
9481 (choose_face_fontset_font): Function removed.
9482 (realize_default_face, realize_named_face): Don't remove the
9483 former face here.
9484 (realize_face): Argument changed. Caller changed. Remove face
9485 with the arg former_face_id in advance. Load font for the new
9486 face.
9487 (realize_x_face): Argument changed. Caller changed. For a
9488 multibyte character, share fontset with base_face. For a single
9489 byte character, make a new realized fontset. Don't load a font
9490 here.
9491 (realize_tty_face): Argument changed. Caller changed.
9492 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9493 (face_at_buffer_position): Don't check multibyte_p for returning
9494 DEFAULT_FACE_ID.
9495 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9496 FACE_SUITABLE_FOR_CHARSET_P.
9497 (syms_of_xfaces): Remove code for Qx_charset_registry and
9498 Vface_default_registry.
9499
6c4bfdc0
KH
9500 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9501 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9502 (x_per_char_metric): Don't try FONT->default_char. Even if
9503 pcm->width is zero, glyph bits may exist.
9504 (x_encode_char): Always initialize char2b->byte1.
9505 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
9506 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
9507 changed.
9508 (x_append_glyph): Set glyph->glyph_not_available_p.
9509 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9510 it->charset. Handle the case that per char metric is not
9511 available. If it->multibyte_p is zero and it->c is a multibyte
9512 character, convert it to a unibyte character.
9513 (struct glyph_string): Delete member `charset'.
9514 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9515 the case that per char metric is not available correctly.
9516 (x_fill_glyph_string): Handle the case that the specific glyph is
9517 not available correctly.
9518 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9519 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9520 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9521 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9522 fontset. Don't call FS_LOAD_FONT.
9523
9524 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9525 (x_create_tip_frame): Likewise.
9526 (Fx_close_connection): Free full_name of font_info.
9527
9528 * fns.c (optimize_sub_char_table): New function.
9529 (Foptimize_char_table): New function.
9530 (syms_of_fns): Defsubr Soptimize_char_table.
9531
b33dd3b0
GM
95322000-03-20 Gerd Moellmann <gerd@gnu.org>
9533
9534 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9535 only if buffer is displayed in some window.
9536
9537 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9538 (try_window_reusing_current_matrix): Don't call scroll run
9539 function if run's current and desired position are the same;
9540 this prevents cursor flickering.
9541
4e8a9132
SM
95422000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9543
9544 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9545
9546 * regex.c (RE_STRING_CHAR): New macro.
9547 (GET_CHAR_AFER_2): Remove.
9548 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9549 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9550 (print_partial_compiled_pattern, re_compile_fastmap)
9551 (re_match_2_internal): Remove on_failure_jump_exclusive.
9552 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9553 optimization only need to work for * (ie. can use of_keep_string_jump).
9554 Remove the special case for .*\n since it is now covered by the general
9555 optimization.
9556 (re_search_2): Don't bother with `room'.
9557 (skip_one_char): New function.
9558 (skip_noops): Simplify since `memory' is not needed any more.
9559 (mutually_exclusive_p): Restructure slightly to use `switch' and
9560 add handling for "all" remaining cases.
9561 (re_match_2_internal): Change on_failure_jump_smart to use
9562 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9563 rather than on_failure_jump_exclusive.
9564
2136fdd4
GM
95652000-03-19 Gerd Moellmann <gerd@gnu.org>
9566
9567 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9568 number of bits per RGB because it's everywhere used as the depth
9569 of the visual.
9570
9571 * term.c (calculate_costs): Remove code dealing with X frames.
9572
18e21ce8 95732000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9574
9575 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9576
d7b511c4
GM
95772000-03-18 Gerd Moellmann <gerd@gnu.org>
9578
9579 * lread.c (read_integer): Unread the last char not consumed.
9580
16b5d424
GM
95812000-03-17 Gerd Moellmann <gerd@gnu.org>
9582
9583 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9584 which are in the process of being deleted.
16b5d424 9585
1fa28578
GM
95862000-03-16 Gerd Moellmann <gerd@gnu.org>
9587
83488cce
GM
9588 * Makefile.in (mostlyclean): Add `*.core'.
9589 (clean): Add `bootstrap-emacs'.
9590
1fa28578
GM
9591 * lread.c (read_integer): New function.
9592 (read1): Support read syntax #o, #x, #b, #r.
9593
99633e97
SM
95942000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9595
1fa28578
GM
9596 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9597 make sure POINTER_TO_OFFSET gives the same value before and after
9598 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9599 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9600 (debug): Now only active if > 0 rather than if != 0.
9601 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9602 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9603 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9604 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9605 (store_op1, store_op2, insert_op1, insert_op2)
9606 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9607 (group_in_compile_stack): Move to after its arg's types are
9608 declared and add a prototype.
99633e97 9609 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
9610 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
9611 wrapper.
99633e97 9612 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9613 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9614 indentation of the greedy-op and shy-group code.
99633e97
SM
9615 (at_(beg|end)line_loc_p): Fix argument's types.
9616 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9617 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9618 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9619 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9620 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9621 QUIT unconditionally.
99633e97 9622
699238d9
GM
96232000-03-15 Gerd Moellmann <gerd@gnu.org>
9624
9625 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9626 a sole completion.
9627
9628 * process.c (send_process): Add a hint that the function
9629 can call Lisp code to its comment.
9630
9631 * lread.c (load_dangerous_libraries): New variable.
9632 (Vbytecomp_version_regexp): New variable.
9633 (safe_to_load_p): New function.
9634 (Fload): Handle files not compiled with Emacs specially.
9635 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9636
34e23e5a
GM
96372000-03-14 Gerd Moellmann <gerd@gnu.org>
9638
9c763cca
GM
9639 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9640
9641 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9642 support functions only if HAVE_X11R6_XIM is defined.
9643 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9644
9645 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9646
9647 * xfns.c (X_I18N_INHIBITED): Don't define.
9648 (create_frame_xic): Remove conditional compilation on
9649 X_I18N_INHIBITED.
9650 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9651
9652 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9653 (HAVE_X11R6_XIM): Define.
9654
9655 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9656
34e23e5a
GM
9657 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9658 If set, call XSynchronize.
9659
66f0296e
SM
96602000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9661
34e23e5a
GM
9662 * regex.c: Declare a new type `re_char' used throughout the code
9663 for the string char type. It's `const unsigned char' to match the
9664 rest of Emacs. Consistently make sure all pointers to strings use
9665 it and make sure all pointers into the pattern use `unsigned
9666 char'.
66f0296e 9667 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9668 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9669 code duplication.
66f0296e
SM
9670
9671 * charset.h (GET_CHAR_AFTER_2): Remove.
9672 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9673
854a025c
KR
96742000-03-12 Ken Raeburn <raeburn@gnu.org>
9675
9676 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9677 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9678 of them try to use backquotes.
9679
b9d2c7e2
DL
96802000-03-12 Dave Love <fx@gnu.org>
9681
9682 * unexelf.c: Restore changes of 1999-10-19.
9683 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9684 fix its type and alignment; copy it from current process.
9685
5e5dff44
GM
96862000-03-12 Gerd Moellmann <gerd@gnu.org>
9687
9b2f3c38
GM
9688 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9689 has been found. Fix bug not computing timer's predecessor.
9690
427ec082 9691 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9692 file name.
9693
e1cff360
GM
9694 * window.c (Fsave_window_excursion): Doc fix.
9695
5e5dff44
GM
9696 * xfns.c (x_defined_color): Rewritten to use
9697 x_allocate_nearest_color.
9698
e411ce4b
EZ
96992000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9700
9701 * msdos.c (vga_installed): New function, code moved from
9702 dos_set_window_size.
9703 (Qbar, Qcursor_type, outside_cursor): New variables.
9704 (syms_of_msdos): Intern and staticpro them.
9705 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9706 shape used outside Emacs when called for the first time.
9707 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9708 cursor shape used outside Emacs.
9709 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9710 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9711 type has changed.
9712 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9713 parameters specify the cursor. Make qreverse a global
9714 variable (renamed to Qreverse).
9715
80460654
GM
97162000-03-09 Gerd Moellmann <gerd@gnu.org>
9717
9718 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9719
95cd4c40
SM
97202000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9721
9722 This is a big redesign of failure-stack and register handling, prompted
9723 by bugs revealed when trying to add shy-groups. Overall, what happened
9724 is that loops are now structured a little differently, groups can be
9725 shy and the code is a little simpler.
9726
9727 * regex.h: Update the copyright.
9728 (RE_SHY_GROUPS): New value.
9729 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9730 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9731
80460654
GM
9732 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9733 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9734 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9735 for (start|stop)_memory since they now only take one argument (the
9736 second has becomes unnecessary).
9737 (print_partial_compiled_pattern): Adjust for changes in
9738 re_opcode_t.
9739 (print_compiled_pattern): Use %ld to printf long ints and flush to
9740 make debugging a little easier.
95cd4c40
SM
9741 (union fail_stack_elt): Make the integer unsigned.
9742 (struct fail_stack_type): Add a `frame' element.
9743 (INIT_FAIL_STACK): Init `frame' as well.
9744 (POP_PATTERN_OP): New macro for re_compile_fastmap.
9745 (DEBUG_PUSH, DEBUG_POP): Remove.
9746 (NUM_REG_ITEMS): Remove.
9747 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
9748 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
9749 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 9750 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
9751 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
9752 macros.
9753 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
9754 address pushed is not the destination of the jump but the source
9755 of it instead.
95cd4c40
SM
9756 (NUM_FAILURE_ITEMS): Remove.
9757 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
9758 registers before the actual failure point). Don't hardcode any
9759 meaning for str==NULL anymore.
95cd4c40 9760 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
9761 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
9762 Remove.
95cd4c40
SM
9763 (REG_UNSET_VALUE): Use NULL (why not?).
9764 (compile_range): Remove declaration since it doesn't exist.
9765 (struct compile_stack_elt_t): Remove inner_group_offset.
9766 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
9767 (regex_grow_registers): Remove dead code.
9768 (FIXUP_ALT_JUMP): New macro.
80460654
GM
9769 (regex_compile): Add shy-groups Change loops to use
9770 on_failure_jump_smart&jump instead of
9771 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
9772 initial (dummy_failure_)jump. Remove c1_base (looks like unused
9773 variable to me). Use `jump' instead of `jump_past_alt' and don't
9774 bother with push_dummy_failure in alternatives since it is now
9775 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
9776 emacs' for (re)allocating the stack.
9777 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
9778 from loop when bufp->can_be_null rather than jumping to `done'.
9779 Avoid jumping backwards so as to ensure termination. Use
9780 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
9781 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 9782 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
9783 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
9784 improve mutually_exclusive_p to handle ".+\n".
9785 (lowest_active_reg, highest_active_reg,
9786 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
9787 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
9788 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
9789 variables. Push register (in `start_memory') on the stack rather
9790 than storing it in old_reg(start|end). Remove the cycle detection
9791 from `stop_memory', replaced by the use of on_failure_jump_loop
9792 for greedy loops. Add code for the new on_failure_jump_<foo>.
9793 Remove ad-hoc code in `on_failure_jump' to push more registers in
9794 the case of a loop. Take out code from `maybe_pop_jump' into
9795 separate functions and adapt it to the semantics of
9796 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
9797 and push_dummy_failure. Remove dummy_failure handling and
9798 handling of `failures to jump to on_failure_jump' (this last one
9799 was already dead code, it seems).
9800 (group_match_null_string_p, alt_match_null_string_p)
9801 (common_op_match_null_string_p): Remove.
95cd4c40 9802
7397acc4
DL
98032000-03-08 Dave Love <fx@gnu.org>
9804
9805 * config.in: Don't depend on __STDC__ for volatile.
9806 Add POINTER_TYPE, PTR, PROTOTYPES.
9807
9808 * hftctl.c, strftime.c: Use PROTOTYPES.
9809 * eval.c (find_handler_clause): Likewise.
9810
9811 * mem-limits.h: Use POINTER_TYPE.
9812
9813 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
9814 (memory_warnings): Declare using POINTER_TYPE.
9815
5e91ff9e
GM
98162000-03-08 Gerd Moellmann <gerd@gnu.org>
9817
feab4fba
GM
9818 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
9819
25edb08f
GM
9820 * xdisp.c (display_echo_area): Temporarily inhibit garbage
9821 collection.
9822
5e91ff9e
GM
9823 * xfns.c: Remove obsolete code in #if 0.
9824 (Fx_focus_frame): New function.
9825
a735b7e1
KH
98262000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
9827
9828 * coding.c (coding_category_name): Add coding-category-utf-8,
9829 coding-category-utf-16-be, coding-category-utf-16-le.
9830 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
9831 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
9832 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
9833 (detect_coding_utf_8): New function.
9834 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
9835 UTF_16_LOW_SURROGATE_P): New macros.
9836 (detect_coding_utf_16): New function
9837 (detect_coding_mask): When priorities are specified, skip any
9838 categories that have `nil' coding-system. Fix bug of returning
9839 wrong mask when PRIORITIES is specified and detect_coding_XXX()
9840 returns a mask not set in PRIORITIES.
9841 (detect_eol_type_in_2_octet_form): New function.
9842 (detect_eol): selects detect_eol_type_XXX to call according to
9843 cooding->category_idx.
9844 (detect_coding_system): Remove `nil' coding-system in the result.
9845 (Fupdate_coding_systems_internal): Update all coding-categories.
9846
9847 * coding.h (CODING_CATEGORY_IDX_UTF_8,
9848 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
9849 macros.
9850 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
9851 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
9852 CODING_CATEGORY_IDX_UTF_16_LE.
9853 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
9854 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
9855 (CODING_CATEGORY_MASK_ANY): Include the above macros.
9856 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
9857
9994cc69
GM
98582000-03-07 Gerd Moellmann <gerd@gnu.org>
9859
e9b4e5ff
GM
9860 * doc.c (Fdocumentation_property): If value is not a string,
9861 and doesn't refer to etc/DOC, evaluate it to obtain a string.
9862
f7daf1e1
GM
9863 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
9864 close the display with XtCloseDisplay. This caused a bus error
9865 on OpenWindows.
9866
9994cc69
GM
9867 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
9868 complete but not unique.
9869
4336c705
GM
98702000-03-06 Gerd Moellmann <gerd@gnu.org>
9871
18bb0684
GM
9872 * process.c (send_process): Remove local variable `procname' that
9873 might become invalid when a GC happens. Instead, access the
9874 process name slot directly.
9875
4336c705
GM
9876 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
9877 orig_height if set.
9878
9879 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
9880 orig_height if set.
9881
515d0d0e
EZ
98822000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
9883
9884 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
9885 glyph matrices have been freed.
9886
100b3cbb
GM
98872000-03-05 Gerd Moellmann <gerd@gnu.org>
9888
50df5e5a 9889 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 9890 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
9891
9892 * xfns.c (QCdata): Moved to xdisp.c.
9893
9894 * xdisp.c (QCdata): Moved here from xfns.c.
9895 (syms_of_xdisp): Initialize QCdata.
9896
9897 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
9898
9899 * window.c (coordinates_in_window): Use
9900 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
9901 FRAME_INTERNAL_BORDER_WIDTH.
9902
100b3cbb 9903 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 9904 it is obviously invalid.
100b3cbb
GM
9905
9906 * xterm.c (x_term_init): Create a colormap if not using the
9907 default visual.
9908
9909 * xterm.h (select_visual): Change prototype.
9910
9911 * xfns.c (select_visual): Rewritten. Recognize user-specified
9912 visual classes.
9913 (visual_classes): New variable.
9914
64d739c4
GM
99152000-03-04 Gerd Moellmann <gerd@gnu.org>
9916
9917 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
9918 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
9919 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
9920 (x_decode_color): Don't handle allocation of white and black
9921 specially.
9922 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
9923 XtNcolormap resources.
9924 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
9925 (Fx_create_frame): Initialize color members of x_output structure.
9926 (xpm_load): Pass colormap to XPM lib.
9927
9928 * xfaces.c (x_free_colors): Access colormap of frame using
9929 FRAME_X_COLORMAP. Be paranoid about freeing black and white
9930 when default colormap is used.
9931
9932 * xterm.c (x_term_init): Set Colormap member of x_display_info
9933 structure. Copy colormap if resource `privateColormap' is
9934 specified (PseudoColor only).
9935 (x_setup_relief_color): Access colormap of frame using
9936 FRAME_X_COLORMAP.
9937
9938 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
9939 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
9940
c3cee013
JR
99412000-03-04 Jason Rumney <jasonr@gnu.org>
9942
9943 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
9944 other non-platform-specific equivalents.
64d739c4 9945 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
9946 specific functions and macros as their w32 equivalents where
9947 non-platform-specifics are not available.
9948 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
9949 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
9950 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
9951 (frame_update_line_height): Use macros to access f->output_data.
9952 (defined_color): Remove FIXME comments; fixed.
9953 (x_face_list_fonts, prepare_face_for_display): Put X specifics
9954 into #ifdef blocks. Add WINDOWSNT blocks.
9955 (Fx_list_fonts): Use macros for accessing font data.
9956 (set_lface_from_font_name): Different default fonts for X and
9957 WINDOWSNT.
9958 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
9959 scalable for backward compatibility.
64d739c4 9960 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
9961 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
9962
64d739c4 9963 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
9964 syms_of_w32faces.
9965
9966 * makefile.nt (w32faces.obj): Remove.
9967 (xfaces.obj): Add.
9968
807cc41c
JR
99692000-03-03 Jason Rumney <jasonr@gnu.org>
9970
9971 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
9972 correct parameters.
9973
0007072a
KR
99742000-03-03 Ken Raeburn <raeburn@gnu.org>
9975
9976 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
9977 standard ELF definitions here if the system header does not.
9978
71a6ba55
GM
99792000-03-03 Gerd Moellmann <gerd@gnu.org>
9980
9981 * xterm.c (PER_CHAR_METRIC): Removed.
9982 (x_per_char_metric_1, x_default_char): New functions.
9983 (x_per_char_metric): If font's default char is invalid, return
9984 metrics of a suitably chosen usable default char.
9985 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
9986 char, replace occurrences of unprintable chars with a suitably
9987 chosen usable default char.
71a6ba55 9988
900fa1f1
GM
99892000-03-02 Gerd Moellmann <gerd@gnu.org>
9990
42f55fe0
GM
9991 * xterm.c (note_mouse_highlight): Return quickly if frame's
9992 glyph matrices have been freed.
9993
9994 * dispnew.c (free_glyphs): Block input while freeing matrices.
9995
900fa1f1
GM
9996 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
9997
9998 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
9999 x_free_colors.
10000
10001 * dispextern.h (x_free_colors): Add prototype.
10002
10003 * xfaces.c (x_free_colors): New function.
10004 (unload_color, free_face_colors): Use it.
10005
2f950292
EZ
100062000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10007
10008 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10009
10010 * window.c [MSDOS]: Include msdos.h.
10011
54d04320
DL
100122000-03-02 Dave Love <fx@gnu.org>
10013
10014 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10015
10016 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10017 set C_OPTIMIZE_SWITCH for gcc.
10018
0ba93ac4
KH
100192000-03-02 Kenichi Handa <handa@etl.go.jp>
10020
10021 * coding.c (coding_save_composition): Be sure to allocate
10022 composition data area in coding even if there's no composition in
10023 the current run.
10024
a2bc11d4
JR
100252000-03-01 Jason Rumney <jasonr@gnu.org>
10026
10027 * w32term.c: Equivalent changes to those made to xterm.c on
10028 2000-02-25 and 2000-02-24.
10029
10030 * w32fns.c: Equivalent changes to those made to xfns.c on
10031 2000-02-25 and 2000-02-21.
10032
10033 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10034 correct line-end convention is followed.
10035
10036 * w32menu.c [HAVE_BOXES]: Remove #undef.
10037 (single_keymap_panes): Remove code for simulating checkmarks.
10038 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10039 Remove code for drawing simulated checkmarks.
10040 (w32_menu_show): make unibyte help string correctly.
10041 (add_menu_item): draw standard Windows checkmarks. Draw radio
10042 buttons as radio buttons if possible.
10043
72d19d75
GM
100442000-03-01 Gerd Moellmann <gerd@gnu.org>
10045
2df636f4
GM
10046 * sysdep.c (start_of_text): Don't define this function for NetBSD
10047 with ELF.
10048
427ec082 10049 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10050 Don't define.
10051 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10052 (LINKER): Don't undef if __NetBSD__ is defined.
10053
10054 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10055
10056 * fileio.c [__NetBSD__]: Define `unix'.
10057
72d19d75
GM
10058 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10059
ed4d0512
GM
100602000-02-29 Gerd Moellmann <gerd@gnu.org>
10061
50b1039f
GM
10062 * atimer.c (start_atimer): Don't abort when timers are stopped.
10063 (append_atimer_lists): New function.
10064 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10065 arbitrary lists of stopped and running atimers.
10066
ed4d0512
GM
10067 * atimer.c (cancel_atimer): Handle canceling an atimer when
10068 some timers are stopped.
10069
10070 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10071 after canceling it.
10072
10073 * fns.c (maybe_resize_hash_table): Handle case of new size
10074 coming out as being the same as old size.
10075
387023ee
JR
100762000-02-27 Jason Rumney <jasonr@gnu.org>
10077
10078 * makefile.nt: Add atimer.h to dependencies.
10079 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10080 * w32console.c: Only disable window system features for dispextern.h
10081 (initialize_w32_display): Build a display info for the console.
10082 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10083 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10084 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10085 as 2 button mice.
10086 * w32gui.h (struct W32FontStruct): Revert last change after change
10087 to xdisp.c.
10088 * w32menu.c (single_submenu): Set up help string.
10089 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10090 (w32_dialog_show): Set up help string.
10091 * w32term.c (w32_display_info_for_display): Remove unused function.
10092 (w32_draw_bitmap): Use pre-built bitmaps.
10093 (w32_initialize_display_info): New function to initialize parts of
10094 display info that are common to both GUI and console frames.
10095 (w32_term_init): Use w32_initialize_display_info. Do not set
10096 Vw32_num_mouse_buttons here, as it is not called for console
10097 frames. Build bitmaps for indicating truncated lines etc.
10098 (x_delete_display): Destroy pre-built bitmaps.
10099 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10100 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10101
4516715a
DL
101022000-02-27 Dave Love <fx@gnu.org>
10103
10104 * lisp.h: Add a bunch of prototypes.
10105
171ca836
KH
101062000-02-26 Kenichi Handa <handa@etl.go.jp>
10107
10108 * keyboard.c (read_char): Set `usec' correctly.
10109
4013921d
KH
101102000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10111
10112 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10113 `lambda', set reg[RRR] to the map index.
10114 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10115 reg[RRR] to 0. Otherwise, set it to -1.
10116
9244a058
GM
101172000-02-25 Gerd Moellmann <gerd@gnu.org>
10118
2df636f4 10119 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10120
18e21ce8 101212000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10122
f43d79c1
GM
10123 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10124 and contains a `:', prepend `/:'.
10125
10126 * window.c (select_window_1): If selected_window is nil,
10127 don't "swap out" the buffer's point.
10128 (Fset_window_configuration): Set selected_window to nil
10129 before calling Fselect_window.
10130 (unshow_buffer): Don't set point in buffer from window's point
10131 if another more recently selected window also shows the buffer.
10132
bed0c171
GM
101332000-02-25 Gerd Moellmann <gerd@gnu.org>
10134
449c3c52
GM
10135 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10136
f5b58615
GM
10137 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10138 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
10139 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
10140 variables.
10141 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10142 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10143 (hide_busy_cursor): New functions.
10144 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10145
10146 * minibuf.c (read_minibuf): Cancel busy-cursor.
10147
10148 * keyboard.c (command_loop_1): Call start_busy_cursor before
10149 Fcommand_execute and cancel_busy_cursor after it.
10150 (timer_check): Remove busy-cursor code.
10151 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10152 cursor timer.
10153
10154 * process.c (wait_reading_process_input): Remove busy-cursor code.
10155
10156 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10157 Fx_hide_busy_cursor.
10158
10159 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10160 Remove prototyoes.
10161 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10162
10163 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10164
10165 * xterm.c (XTread_socket): Remove busy-cursor code.
10166
4eb8436f
GM
10167 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10168 (build_frame_matrix_from_leaf_window): Put code handling
10169 glyph row's not being a slice of a frame row in #if 0.
10170 (sync_window_with_frame_matrix_rows): New function.
10171 (frame_row_to_window): New function.
10172 (mirror_line_dance): Handle copies between windows.
10173
3cb65b0e
GM
10174 * lread.c (Fload): Use `xfree' instead of `free'.
10175 (init_obarray): Use `xmalloc' instead of `malloc'.
10176
bed0c171
GM
10177 * window.c (Fset_window_buffer): Set WINDOW to the window
10178 after decoding.
2add4349
GM
10179 (coordinates_in_window): Take frame's internal border width
10180 into account.
bed0c171 10181
42088c12
GM
101822000-02-24 Gerd Moellmann <gerd@gnu.org>
10183
10184 * xterm.c (x_display_and_set_cursor): Display cursor of
10185 non-selected windows depending on the setting of
10186 cursor_in_non_selected_windows.
10187
10188 * xdisp.c (cursor_in_non_selected_windows): New variable.
10189 (syms_of_xdisp): DEFVAR_BOOL it.
10190
d1e103b2
GM
101912000-02-23 Gerd Moellmann <gerd@gnu.org>
10192
723e779c
GM
10193 * data.c (Fstring_to_number): If number is greater than what
10194 fits into an integer, return a float.
10195
d1e103b2
GM
10196 * eval.c (specbind): Remove references to
10197 keyword_symbols_constant_flag.
10198
10199 * data.c (keyword_symbols_constant_flag): Removed.
10200 (Fmakunbound, set_internal, syms_of_data): Remove references to
10201 keyword_symbols_constant_flag.
10202
10203 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10204
214f877f
KH
102052000-02-23 Kenichi Handa <handa@etl.go.jp>
10206
10207 * syntax.c (multibyte_syntax_as_symbol): New variable.
10208 (syms_of_syntax): Declare it as a Lisp variable.
10209 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10210 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10211 nonzero, treat all multibyte characters as symbol.
42088c12 10212 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
10213 characters.
10214
130adcb7
EZ
102152000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10216
3cb65b0e 10217 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10218 a deleted frame.
130adcb7 10219
17cbbf95
GM
102202000-02-21 Gerd Moellmann <gerd@gnu.org>
10221
10222 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10223
10224 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10225 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10226
beb0bc36
DL
102272000-02-21 Dave Love <fx@gnu.org>
10228
10229 * frame.c (Vmouse_position_function): New variable.
10230 (Fmouse_position): Use it.
10231 (syms_of_frame): Install it.
10232
10233 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10234
1d92afcd
GM
102352000-02-20 Gerd Moellmann <gerd@gnu.org>
10236
10237 * fileio.c (Finsert_file_contents): Unbind the binding of
10238 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10239
10240 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10241 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10242 (specbind, unbind_to): Handle most common case of non-constant
10243 symbol with trivial value specially.
10244
10245 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10246
18e21ce8 102472000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10248
10249 * data.c (Fmake_variable_buffer_local): Doc fix.
10250 Init found_for_buffer to 0.
10251 (Fmake_variable_frame_local): If the variable has already
10252 been buffer-local, set the check_frame field.
10253
1d4311c3
EZ
102542000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10255
10256 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10257 produced for CODING_MODE_LAST_BLOCK requires.
10258
2dc95ddd
DL
102592000-02-18 Dave Love <fx@gnu.org>
10260
10261 * keyboard.c (echo_keystrokes): Remove declaration.
10262 (Vecho_keystrokes) New variable.
10263 (read_char, record_menu_key, read_key_sequence): Use it to allow
10264 use of float value.
10265 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10266
10267 * lread.c: Undef feature selection macros before defining.
10268
f0930f35
GM
102692000-02-18 Gerd Moellmann <gerd@gnu.org>
10270
10271 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10272 for symbols other than the symbol in question.
10273
e3d4de90
DL
102742000-02-17 Dave Love <fx@gnu.org>
10275
10276 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10277
0b378936
GM
102782000-02-17 Gerd Moellmann <gerd@gnu.org>
10279
d621caf7
GM
10280 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10281
0b378936
GM
10282 * alloc.c (enum mem_type): Compile unconditionally.
10283
3b451f74
EZ
102842000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10285
10286 * xfaces.c (tty_defined_color): Don't return faulire indication
10287 for unspecified-fg and unspecified-bg pseudo-colors.
10288
10689a01
GM
102892000-02-17 Gerd Moellmann <gerd@gnu.org>
10290
1216f5e4
GM
10291 * alloc.c (mark_object): Don't mark symbol names in pure space.
10292 (gc_sweep): Don't unmark symbol names in pure space.
10293
10294 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10295 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10296 [GC_MARK_STACK]: New defines.
427ec082 10297 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10298 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10299
10300 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10301
10302 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10303 allocate_buffer instead of xmalloc.
10304
10305 * alloc.c (toplevel): Include setjmp.h.
10306 (PURE_POINTER_P): New define.
10307 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10308 (Vdead) [GC_MARK_STACK]: New variable.
10309 (lisp_malloc): Add parameter TYPE, call mem_insert if
10310 GC_MARK_STACK is defined.
10311 (allocate_buffer): New function.
427ec082 10312 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10313 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10314 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10315 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10316 (MEM_NIL) [GC_MARK_STACK]: New define.
10317 (struct mem_node) [GC_MARK_STACK]: New structure.
10318 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10319 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10320 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10321 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10322 (mark_stack) [GC_MARK_STACK]: New functions.
10323 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10324 (clear_marks): Removed.
10325 (gc_sweep): Set free conses' car, free floats' type, free
10326 symbols' function to Vdead. Use lisp_free to free buffers.
10327 (init_alloc_once): Initialize Vdead.
10328 (survives_gc_p): Return non-zero for pure objects.
10329
10330 * alloc.c: Add comments throughout the file.
10331
2503c8b1
GM
10332 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10333 that unblocks alarms.
10334
8389e1e2
GM
10335 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10336 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10337 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10338
10689a01 10339 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10340
bfc17d18
KH
103412000-02-17 Kenichi Handa <handa@etl.go.jp>
10342
4a09dee0
KH
10343 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10344 avoid infinite error signaling. Allocate sufficient memory for
10345 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10346
2b927d02
SM
103472000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10348
10349 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10350 depends on the previous behavior.
10351
b49cb764
GM
103522000-02-16 Gerd Moellmann <gerd@gnu.org>
10353
10354 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10355
99e95407
GM
103562000-02-15 Gerd Moellmann <gerd@gnu.org>
10357
10358 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10359
10360 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10361 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10362 write(2).
10363
6ffd3cf7
RS
103642000-02-15 Richard M. Stallman <rms@gnu.org>
10365
10366 * data.c (set_internal): Don't make variable buffer-local
10367 if within a let-binding for the same buffer.
10368 (let_shadows_buffer_binding_p): New function.
10369
10370 * eval.c (specbind): For buffer-local value,
10371 record the current buffer also.
10372 (unbind_to): Cope with that change.
10373
cad53475
GM
103742000-02-15 Gerd Moellmann <gerd@gnu.org>
10375
10376 * window.c (Fsave_window_excursion): Doc fix.
10377
1aa963c8
SM
103782000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10379
10380 * syntax.c (back_comment): Make sure we only consider comment-starters
10381 of the relevant style and return -1 in case of a failure to find the
10382 beginning of the comment.
10383 (Fforward_comment): If back_comment fails, go back to the position just
10384 after the comment-end.
10385 (scan_lists): Add comment describing a very minor bug.
10386
b9b84fd3
SM
103872000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10388
10389 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10390 `completion-regexp-list' in the docstring.
10391
3a28db80
DL
103922000-02-14 Dave Love <fx@gnu.org>
10393
10394 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10395
fb4a568d
SM
103962000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10397
10398 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10399 to Emacs' syntax. Also fix the comment about set/not-set meanings
10400 since Emacs syntax is not the value 0 any more.
10401 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10402 since it's now part of RE_SYNTAX_EMACS.
10403
1063ebb5
DL
104042000-02-12 Dave Love <fx@gnu.org>
10405
10406 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
10407 Alpha.
10408
fb07a302
GM
104092000-02-12 Gerd Moellmann <gerd@gnu.org>
10410
10411 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10412
aaf2320c
DL
104132000-02-12 Dave Love <fx@gnu.org>
10414
10415 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10416
10417 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10418 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10419 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10420
10421 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10422
10423 * s/nextstep.h: Don't define HAVE_ALLOCA.
10424
10425 * config.in: Add vfork bits.
10426
eedf8bde
GM
104272000-02-12 Gerd Moellmann <gerd@gnu.org>
10428
10429 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10430 unwind function to undo the effect of stopping atimers.
10431
10432 * keyboard.c (bind_polling_period): Stop all timers except
10433 poll_timer.
10434
10435 * atimer.c (stopped_atimers): New variable.
10436 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10437 New functions.
10438
10439 * atimer.h (stop_other_atimers, run_all_atimers)
10440 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10441
eedf8bde
GM
10442 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10443
8476c2f8
KR
104442000-02-11 Ken Raeburn <raeburn@gnu.org>
10445
10446 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10447 library may depend on jpeg.
10448 (atimer.o): Depends on atimer.c.
10449
0e85e4a3
KH
104502000-02-11 Kenichi Handa <handa@etl.go.jp>
10451
10452 * insdel.c (del_range_1): Call update_compositions.
10453 (del_range_both): Call update_compositions just once..
10454
97fa0cc8
DL
104552000-02-10 Dave Love <fx@gnu.org>
10456
10457 * xfns.c (create_frame_xic): Fix initialization of automatic
10458 aggregates for pcc.
10459
25566a3c
KH
104602000-02-09 Kenichi Handa <handa@etl.go.jp>
10461
10462 * ccl.c (CCL_MAKE_CHAR): New macro.
10463 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10464 registers by CCL_MAKE_CHAR before calling translate_char.
10465 <CCL_TranslateCharacterConstTbl> Likewise.
10466
69da54ba
DL
104672000-02-08 Dave Love <fx@gnu.org>
10468
10469 * lread.c (__EXTENSIONS__): Define.
10470
f7136ee8
GM
104712000-02-08 Gerd Moellmann <gerd@gnu.org>
10472
10473 * puresize.h (BASE_PURESIZE): Increase to 650000.
10474
7768790b
EZ
104752000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10476
10477 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10478 the help message.
10479
38fd211b
EZ
104802000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10481
10482 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10483 md, mh, mb, mr, and me to the fake termcap entry.
10484
66e4690f
KR
104852000-02-06 Ken Raeburn <raeburn@gnu.org>
10486
10487 * sound.c (sound_cleanup): Don't call device close routine if the
10488 function pointer is null.
10489
a75dfea0
AI
104902000-02-06 Andrew Innes <andrewi@gnu.org>
10491
10492 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10493 around image definitions and prototypes.
10494 (gamma_correct) [WINDOWSNT]: New prototype.
10495
10496 * w32term.c (x_make_frame_visible): Replace call to
10497 input_poll_signal with poll_for_input.
10498
10499 * window.c [WINDOWSNT]: Include w32term.h.
10500
10501 * xdisp.c [WINDOWSNT]: Include w32term.h.
10502
10503 * makefile.nt: Add dependencies on w32gui.h.
10504 (OBJ1): Include atimer.obj.
10505 ($(BLD)\atimer.obj): New dependency rule.
10506
10507 * w32.c (sigmask): New function (does nothing).
10508 (sigunblock): Ditto.
10509
10510 * frame.c [WINDOWSNT]: Include w32term.h.
10511
10512 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10513
10514 * lread.c (syms_of_lread): Fix literal newlines.
10515
10516 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10517 the string constant limit (2048 bytes) in MSVC.
10518 (main): Ditto.
10519
59ddecde
GM
105202000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10521
10522 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
10523 area.
10524 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10525 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10526 dispatch the event.
10527
07590973
DL
105282000-02-04 Dave Love <fx@gnu.org>
10529
10530 * fileio.c: Remove some unused vars.
10531 (_GNU_SOURCE): Define (for euidaccess).
10532
10533 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10534
10535 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10536 gcpro1, gcpro2.
10537 (read_minibuf): Deal with allow_props correctly.
10538
649351f9
EZ
105392000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10540
10541 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10542
66e4690f 105432000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10544
10545 * search.c (compile_pattern): If a cache entry has a nil regexp,
10546 fill in that entry instead of clobbering a previously cached
10547 string regexp.
10548
66e4690f 105492000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10550
10551 * puresize.h (BASE_PURESIZE): Increase to 610000.
10552
d240a249
GM
105532000-02-02 Gerd Moellmann <gerd@gnu.org>
10554
10555 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10556 can GC.
10557
ca91fb26
KH
105582000-02-02 Kenichi Handa <handa@etl.go.jp>
10559
25660570
KH
10560 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10561 instead of incrementing ic directly.
10562 <CCL_WriteExprConst> Likewise.
10563 <ccl_set_expr>: Set ic to jump_address.
10564
ca91fb26
KH
10565 * fileio.c (e_write): Fix the handling of
10566 CODING_FINISH_INSUFFICIENT_SRC.
10567
2ede9689
DL
105682000-02-01 Dave Love <fx@gnu.org>
10569
10570 * editfns.c (Fpropertize): Doc fix.
10571
10572 * process.c (Fstart_process): Doc fix.
10573
10574 * eval.c: Fix various doc strings not to duplicate information
10575 from help-manyarg-func-alist.
10576
10577 * window.c (Fset_window_margins): Don't make interactive. Doc
10578 fix.
10579
10580 * doc.c (Vhelp_manyarg_func_alist): New variable.
10581 (Fdocumentation): Use it.
10582 (syms_of_doc): Define it.
10583
b6680a0e
GM
105842000-01-31 Gerd Moellmann <gerd@gnu.org>
10585
2cb750ba
GM
10586 * xterm.c (xim_open_dpy): Remove unused local variable.
10587
74e9213b
GM
10588 * emacs.c (USAGE): Use term `display options' instead of `X
10589 options'.
10590
10591 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10592 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10593
b6680a0e
GM
10594 * fns.c (sweep_weak_table): New function.
10595 (sweep_weak_hash_tables): Use it. Keep on marking until there
10596 is no more change.
10597
994c5afe
GM
105982000-01-30 Gerd Moellmann <gerd@gnu.org>
10599
10600 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10601 that XTread_socket does not crash by trying to call XNoOp on a
10602 closed display.
427ec082 10603
f00276e3
JR
106042000-01-30 Jason Rumney <jasonr@gnu.org>
10605
10606 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10607 Change selected_frame to SELECTED_FRAME ().
10608 (w32_console_mouse_position): Remove #ifndef MULE from around
10609 `insist' parameter.
10610
10611 * makefile.nt: Remove dosfns.obj.
10612
10613 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10614
10615 * w32fns.c (w32_defined_color): Check for valid frame before
10616 applying gamma correction. Eliminate dependency on frame elsewhere.
10617 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10618 (w32_to_x_font): Use resx and resy not height_in and width_in.
10619 (x_to_w32_font): Doc fix.
10620 (xlfd_strip_height): New function to strip and return font height.
10621 (w32_font_match): Compare height separately from rest of xlfd
10622 spec, using xlfd_strip_height.
10623
10624 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10625 width_in. Use w32_defined_color in place of defined_color.
10626
10627 * w32faces.c: Merge more of DOS and X specifics in preparation for
10628 merge with xfaces.c.
10629 (defined_color): Remove FIXME comment.
10630 (tty_color_name): Provide w32-specific function.
10631 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10632
10633 * w32console.c (turn_on_face, turn_off_face): Removed.
10634 (w32_face_attributes): New function.
10635 (Global_variables): Reduce scope where possible.
10636 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10637 fill attribute.
10638 (hl_mode): Don't modify text attributes.
10639 (write_glyphs): Don't do anything if len <= 0. Use
10640 w32_face_attributes to get attributes for drawing. Write
10641 terminating codes using char_attr_normal.
10642 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10643 (update_begin, update_end): Likewise.
10644 (vga_stdcolor_name): New function.
10645 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10646 (Fset_screen_color): Remove char_attr_reverse.
10647
b08e8bb2
GM
106482000-01-29 Gerd Moellmann <gerd@gnu.org>
10649
10650 * xfns.c (xic_set_preeditarea): Take window parameter and
10651 window-relative pixel-positions.
10652
10653 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10654 is its frame's selected window.
10655 (xim_instantiate_callback): Likewise.
10656
10657 * xfns.c (x_create_im): Removed.
10658 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10659 (supported_xim_styles): Renamed from supported_styles.
10660 (best_xim_style): Renamed from best_style.
10661 (create_frame_xic): Renamed from xic_create_frame.
10662 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10663
b08e8bb2
GM
106642000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10665
10666 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10667 our frames, call XFilterEvent with 2nd parameter `None'.
10668 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10669 returning XBufferOverflow.
10670 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
10671 area.
10672 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10673 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10674 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10675 (xim_initialize, xim_close)
10676 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10677 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10678 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10679 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10680
10681 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10682 and `xim_styles'.
10683 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10684 `xic_style' and `xic_xfs'.
10685 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10686 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10687 (FRAME_XIM): Removed.
10688
10689 * xfns.c (supported_styles): New variable.
10690 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10691 (xic_create_xfontset, best_style, xic_create_frame)
10692 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10693 (xic_set_xfontset): New functions.
10694
142e109c
DL
106952000-01-28 Dave Love <fx@gnu.org>
10696
10697 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10698
10699 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10700
b02786f9
GM
107012000-01-28 Gerd Moellmann <gerd@gnu.org>
10702
d060bc9f
GM
10703 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10704 for *scratch* if it already existed.
10705
b02786f9
GM
10706 * emacs.c (USAGE): New macro.
10707 (main): Use it to display usage information.
10708
2c52d7e4
EZ
107092000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10710
10711 Support for the menu-help feature:
10712
10713 * msdos.h: Change prototypes of XMenuAddSelection and
10714 XMenuActivate.
10715
10716 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10717 part of the line to the termscript file.
10718 (IT_clear_to_end): Clear the entire line, not just its beginning.
10719 (menu_help_message, prev_menu_help_message): New variables.
10720 (IT_menu_make_room): Make room for the help_text member.
10721 (IT_menu_display): New argument disp_help; all callers changed.
10722 If disp_help is non-zero, store the help text of the active menu
10723 item in menu_help_message.
10724 (XMenuAddPane): Initialize the help_text member to NULL.
10725 (XMenuAddSelection): New argument help_text. Store it in the
10726 XMenu structure.
10727 (XMenuActivate): New argument help_callback. If the value of
10728 menu_help_message has changed since the last time, display the
10729 menu help message text while waiting for the mouse to move. Clear
10730 the echo area before exiting.
10731 (XMenuDestroy): Free the help_text member.
10732
ffe0bcd1
GM
107332000-01-27 Gerd Moellmann <gerd@gnu.org>
10734
10735 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10736 XMenuAddSelection. Pass help callback to XMenuActivate.
10737 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10738
50dbd23f
EZ
107392000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10740
10741 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10742 and EMACS_SET_USECS.
10743
f5941bf8
GM
107442000-01-26 Dave Love <fx@gnu.org>
10745
6c67ddee
DL
10746 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10747
f5941bf8
GM
10748 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10749 an error may be signalled.
10750
9e49c990
GM
107512000-01-26 Gerd Moellmann <gerd@gnu.org>
10752
fc3cb460
GM
10753 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
10754 LD_SWITCH_SYSTEM inherited from irix5-0.h.
10755
9e49c990
GM
10756 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
10757
d0c037d8
GM
107582000-01-25 Gerd Moellmann <gerd@gnu.org>
10759
10760 * charset.c (Fstring): If there is a multibyte char among
10761 the args, always return a multibyte string.
10762
e12489f9
GM
107632000-01-25 Gerd Moellmann <gerd@gnu.org>
10764
10765 * sysdep.c (sys_select): Turn atimers off and on instead of
10766 recording and restoring old alarm handler
10767
10768 * process.c (toplevel): Include atimer.h.
10769 (create_process_1): Rewritten.
10770 (create_process): Use atimers instead of alarm.
10771 (wait_reading_process_input) [hpux]: Turn atimers off instead
10772 of turning off SIGALRM.
10773 (wait_reading_process_input): Turn off atimers instead off
10774 calling stop_polling.
10775
10776 * emacs.c (main): Call init_atimer.
10777
10778 * keyboard.c (toplevel): Include systime.h and atimer.h.
10779 (polling_for_input): Removed because unused.
10780 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
10781 (poll_timer): New variable.
10782 (poll_for_input, poll_for_input_1): New functions.
10783 (start_polling, stop_polling): Rewritten.
10784
10785 * keyboard.h (polling_for_input): Removed.
427ec082 10786
e12489f9
GM
10787 * atimer.h, atimer.c: New files.
10788
10789 * Makefile.in (obj): Add atimer.o.
10790 (atimer.o): New target.
10791
10792 * blockinput.h (pending_atimers): Add extern declaration.
10793 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
10794
10795 * lisp.h (popup_activated_flag): Add extern declaration.
10796
10797 * xmenu.c (popup_activated_flag): Make externally visible.
10798 (popup_activate_callback) [USE_MOTIF]: Increment
10799 popup_activated_flag.
10800 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
10801
10802 * xterm.c (toplevel): Include atimer.h.
10803 (toolkit_scroll_bar_interaction): New variable.
10804 (Fxt_process_timeouts): Removed.
10805 (x_process_timeouts): New function.
10806 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
10807 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
10808 (x_make_frame_visible): Call poll_for_input_1 instead of
10809 input_poll_signal. Don't call alarm.
10810 (x_initialize): Install timer calling x_process_timeouts.
427ec082 10811
1e5279b9
DL
108122000-01-24 Dave Love <fx@gnu.org>
10813
6c67ddee 10814 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
10815 Don't use -cckr -- apparently not now necessary.
10816
edf6aeb8
EZ
108172000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
10818
10819 * msdos.c (IT_menu_display): Truncate long menu lines at the right
10820 screen boundary.
10821
9badad41
JR
108222000-01-23 Jason Rumney <jasonr@gnu.org>
10823
10824 * w32fns.c (w32_defined_color): Apply gamma correction before
10825 trying to map to the palette.
10826 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
10827 to w32_clear_rect.
10828
10829 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
10830 here. Callers changed to always pass real device context.
10831 (w32_draw_bitmap): Likewise.
10832 (w32_get_glyph_overhangs): Likewise.
10833 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
10834 one.
10835 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
10836 pfnSetScrollInfo and SetScrollRange.
10837 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
10838 back into MULE characters after decoding them.
10839 (x_get_glyph_face_and_encoding): Likewise.
10840 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
10841 GetCharABCWidthsW fails, since this is defined on Windows 9x.
10842 (x_produce_glyphs): Calculate per char metrics for a character
10843 that we know exists in default font when font_not_found_p is true.
10844
63bd786b
JR
108452000-01-22 Jason Rumney <jasonr@gnu.org>
10846
10847 * makefile.nt (intervals.obj, composite.obj): New modules.
10848 (composite.h): Added as dependency where appropriate.
10849
10850 * w32gui.h (XGCValue): New struct for emulating X GCs.
10851
10852 * w32term.h (XCharStruct): New struct for emulating X.
10853
10854 * w32console.c (turn_on_face, turn_off_face): New functions.
10855 (change_line_highlight): New prototype for new redisplay.
10856 (write_glyphs): Support multibyte text. Support faces.
10857
10858 * w32faces.c: Complete rewrite for new redisplay based on new
10859 xfaces.c.
10860
10861 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
10862 throughout. struct frame * in place of FRAME_PTR.
10863 Skeleton support for images, toolbars, tooltips from xfns.c.
10864 (Fx_create_frame): Use system default for default scroll bar
10865 width.
10866 (w32_get_arg): Renamed from x_get_arg.
10867 (Fx_file_dialog): New function.
10868 (w32_list_fonts): Check cache before asking system.
10869 (Vw32_enable_synthesized_fonts): New variable.
10870 (Vw32_enable_italics): Obsolete, removed.
10871
10872 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10873 Use SELECTED_FRAME macro.
10874
10875 * w32menu.c: Add skeleton support for help strings on menus.
10876 (add_menu_item): Native checkbox and radio support added, but not
10877 yet enabled due to bugs.
10878 (push_menu_item): Add parameters type, selection and help.
10879 Callers updated.
10880 Formatting changes to reduce unnecessary diffs with xmenu.c.
10881
10882 * w32select.c (Fw32_set_clipboard_data): Update call to
10883 find_charset_in_str.
10884
10885 * w32term.c: Complete rewrite for new redisplay based on new
10886 xterm.c with necessary sections merged back in from old w32term.c.
10887
6ffd3cf7 108882000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
10889
10890 * data.c (set_internal): Further fix in same criterion.
10891
6ffd3cf7 108922000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
10893
10894 * data.c (set_internal): Fix the criteria for whether
10895 to swap out the old cached binding.
10896
60af03f1
DL
108972000-01-19 Dave Love <fx@gnu.org>
10898
10899 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
10900
f9be074f
KH
109012000-01-18 Kenichi Handa <handa@etl.go.jp>
10902
10903 * regex.c (re_compile_fastmap): While checking a range table for
10904 `charset', skip flag bits for a character class correctly.
10905
52b8dbf9
GM
109062000-01-17 Gerd Moellmann <gerd@gnu.org>
10907
d36100c9
GM
10908 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
10909
52b8dbf9
GM
10910 * xfns.c (x_window): Call lw_create_widget with new parameter
10911 list.
10912
10913 * widget.c (EmacsFrameSetCharSize): Change size of children first
10914 because of problems with main window geometry management under
10915 Lesstif.
10916
10917 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
10918 MENU_ITEMS_ITEM_.*.
10919 (MENU_ITEMS_ITEM_HELP): New enumerator.
10920 (push_menu_item): Add parameter HELP. Record help in menu_items.
10921 (single_menu_item, single_submenu, list_of_items): Call
10922 push_menu_item with new parameter.
10923 (single_submenu): Set help string in widget value.
10924 (menu_highlight_callback): New function.
10925 (set_frame_menubar): Call lw_create_widget with new
10926 parameter list.
10927 (xmenu_show, xdialog_show): Ditto.
10928
3139018f
GM
109292000-01-13 Gerd Moellmann <gerd@gnu.org>
10930
10931 * sound.c (Fplay_sound): Improve doc string.
10932
83c8f461
RS
109332000-01-11 Richard M. Stallman <rms@gnu.org>
10934
10935 * lisp.h (set_internal): Enter the new arg.
10936
10937 * eval.c (specbind): Record buffer-local variables specially,
10938 indicating which buffer's binding was saved.
10939 (unbind_to): Restore buffer-local variables specially
10940 in the proper buffer.
10941
10942 * data.c (set_internal): New arg BUF.
427ec082 10943
83c8f461
RS
10944 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
10945 * data.c (Fset): Pass new arg to set_internal.
10946 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 10947
1fab1775
GM
109482000-01-11 Gerd Moellmann <gerd@gnu.org>
10949
10950 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
10951 xprintsym.
10952
83c8f461 109532000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
10954
10955 * minibuf.c (Ftry_completion): Doc fix.
10956
7a85e4df
GM
109572000-01-11 Gerd Moellmann <gerd@gnu.org>
10958
10959 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
10960 vector, too.
10961
a970dae4
AS
109622000-01-11 Andreas Schwab <schwab@suse.de>
10963
10964 * coding.c (code_convert_region): Initialize total_skip.
10965
c65d14ee
DL
109662000-01-08 Dave Love <fx@gnu.org>
10967
10968 * eval.c (Fuser_variable_p): Check customizability too.
10969
834938d2
GM
109702000-01-07 Gerd Moellmann <gerd@gnu.org>
10971
10972 * minibuf.c (Fcompleting_read): Doc fix.
10973
e0303cd6
GM
109742000-01-05 Gerd Moellmann <gerd@gnu.org>
10975
8a26744b
GM
10976 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
10977 -L /usr/local/lib.
10978
e0303cd6
GM
10979 * xfns.c (x_create_im): New function to set IM and IC of a frame.
10980 Check that input style is supported before trying to create an
10981 IC for it.
10982 (x_window): Call x_create_im.
427ec082 10983
2e471eb5
GM
109842000-01-04 Gerd Moellmann <gerd@gnu.org>
10985
560a7bd2
GM
10986 * xfns.c (current_gif_memory_src): New variable.
10987 (gif_load): Record the address of the current memory source
10988 in current_gif_memory_src.
10989 (gif_read_from_memory): Use current_gif_memory_src.
10990
f9ee84a3
GM
10991 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
10992 macros statement form.
10993
d1299cde
GM
10994 * sound.c (struct sound): Renamed from struct sound_file.
10995 (struct sound): Add members `data' and `header_size'.
10996 (enum sound_attr): Add SOUND_DATA.
10997 (current_sound, current_sound_device): Variables renamed from
10998 sound_file and sound_device.
10999 (parse_sound): Parse :data.
11000 (parse_sound): Handle sound data in strings.
11001 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11002 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11003 needed header size.
11004 (wav_play, au_play): Play sounds from string data.
11005
2e471eb5
GM
11006 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11007
11008 * lisp.h: Add prototype for allocate_string_data.
11009
11010 * alloc.c (Fgarbage_collect): Return number of live and free
11011 strings.
11012
11013 * alloc.c (mark_buffer): Remove code in #if 0.
11014 (gc_sweep): Ditto.
11015 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11016 (strings_consed): New variable.
11017 (allocate_string): Set it.
11018 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11019 (Fmemory_use_counts): Return strings_consed. Use Flist.
11020
11021 * alloc.c: General cleanup in comments etc. Remove conditional
11022 compilation for `standalone'.
11023
11024 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11025
11026 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11027 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11028 (DONT_COPY_FLAG): Removed.
11029 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11030 (struct sdata, struct sblock): New
11031 (struct string_block): Rewritten.
11032 (STRINGS_IN_STRING_BLOCK): New macro.
11033 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11034 (large_sblocks, string_blocks, string_free_list): New variables.
11035 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11036 (init_strings): Rewritten.
11037 (allocate_string, allocate_string_data, compact_small_strings)
11038 (free_large_strings, sweep_strings): New functions.
11039 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11040 (struct string_block_head, current_string_block)
11041 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11042 (STRING_PAD): Removed.
11043 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11044 (Fgarbage_collect): Don't set mark bit in large strings.
11045 (mark_object): Mark strings differently. Mark symbol names
11046 differently.
11047 (survives_gc_p): Test marked strings differently.
427ec082 11048 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11049 symbol names.
11050 (compact_strings): Removed.
11051
42608ba8
EZ
110522000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11053
11054 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11055 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11056
e0a09e1a
KH
110572000-01-04 Kenichi Handa <handa@etl.go.jp>
11058
dd9f0750 11059 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11060 in a non-empty buffer.
dd9f0750 11061
3c0f3b15 11062 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11063
44cd3ae5
GM
110642000-01-03 Gerd Moellmann <gerd@gnu.org>
11065
11066 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11067 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11068
11069 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11070
c182a70f
EZ
110712000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11072
11073 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11074 need to test for MSDOS frames.
11075
24480d5b
EZ
110762000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11077
11078 * dosfns.c (unspecified_colors): Remove.
11079 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11080 unspecified_bg.
11081 (msdos_stdcolor_name): Return strings for unspecified fore- and
11082 back-ground colors.
11083
11084 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11085 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11086 (tty_color_name): Return Lisp strings for unspecified fore- and
11087 back-ground colors.
11088 (Finternal_set_lisp_face_attribute): Remove the special treatment
11089 for Qunspecified_{f,b}g.
11090 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
11091 string.
11092
047f434a
GM
110932000-01-03 Gerd Moellmann <gerd@gnu.org>
11094
11095 * xdisp.c (reseat_at_next_visible_line_start): Position before
11096 newline only if ending up on a newline.
11097 (next_element_from_ellipsis): Return success. Handle case of
11098 displaying no ellipsis. Fix case of ellipsis defined in display
11099 table.
11100 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11101 returns 0.
11102
d684c676
EZ
111032000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11104
11105 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11106 (Fcolor_supported_p): Renamed from face-color-supported-p.
11107
5fe1d139
EZ
111082000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11109
11110 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11111 list of colors renamed to tty-defined-color-alist.
11112 (tty_color_name): Pass the frame to tty-color-by-index.
11113 (realize_tty_face): tty-color-alist is now a function which
11114 accepts the frame as argument.
11115
11116 * term.c (Ftty_display_color_p): Accept an optional argument
11117 FRAME.
11118
816be8b8
EZ
111192000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11120
11121 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11122 encode_terminal_code.
11123
b635321e
EZ
111242000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11125
11126 * dispnew.c (mode_line_string): Support termcap frames as well.
11127
9b784e96
GM
111282000-01-01 Gerd Moellmann <gerd@gnu.org>
11129
27189709
GM
11130 * syntax.c (Fforward_word): Undo previous change.
11131
11132 * editfns.c (Fconstrain_to_field): Don't constrain if
11133 inhibit-field-text-motion is non-nil.
11134 (Fline_beginning_position): Undo previous change.
11135 (Fline_end_position): Ditto.
11136
11137 * syntax.c (Fforward_word): Notice field boundaries only if
11138 inhibit-field-text-motion is nil.
11139
11140 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11141
11142 * editfns.c (Vinhibit_field_text_motion): New variable.
11143 (inhibit-field-text-motion): New DEFVAR_LISP.
11144 (Fline_beginning_position, Fline_end_position): Notice field
11145 boundaries only if inhibit-field-text-motion is nil.
11146
45158a91
GM
11147 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11148 All calls adjusted.
11149 (x_build_heuristic_mask): Likewise.
11150 (xbm_load_image_from_file): Change error output.
11151 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11152 (gif_load, gs_load, x_kill_gs_process): Ditto.
11153
9b784e96
GM
11154 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11155 color indices when accessing raster pixels.
63cec32f
GM
11156 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11157 one of :file or :data.
11158 (enum pbm_keyword_index): Add PBM_DATA.
11159 (pbm_format): Add :data.
11160 (pbm_image_p): Allow either :file or :data.
11161 (pbm_read_file): New function.
11162 (pbm_scan_number): Rewritten to read from string.
11163 (pbm_load): Support :data.
9b784e96 11164
2cb085db 11165See ChangeLog.8 for earlier changes.
6922b018
KH
11166
11167;; Local Variables:
49b3bd82 11168;; coding: iso-2022-7bit
6922b018 11169;; End: