(ccl-encode-mule-utf-8): Fix handling of eight-bit-control chars.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
911a2406
EZ
12001-03-30 Eli Zaretskii <eliz@is.elta.co.il>
2
3 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last
4 change.
5
aea51abe
EZ
62001-03-29 Eli Zaretskii <eliz@is.elta.co.il>
7
8 * fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
9 deprecated.
10
176bc847
GM
112001-03-29 Gerd Moellmann <gerd@gnu.org>
12
ed31fabf
GM
13 * data.c (Fsubr_interactive_form): New function.
14 (syms_of_data): Defsubr it.
15
176bc847
GM
16 * alloc.c (live_string_p, live_cons_p, live_symbol_p)
17 (live_float_p, live_misc_p): Return 1 only if the offset of the
18 pointer in its block is >= 0.
19
e59d0e9d
GM
202001-03-28 Paul Eggert <eggert@twinsun.com>
21
22 * editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
23 microseconds calcuation. Avoid double-rounding problem.
24 In doc string, warn that the result is approximate.
25
f827b862
GM
262001-03-28 Gerd Moellmann <gerd@gnu.org>
27
30a3f61c
GM
28 * eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
29 bind `inhibit-eval-during-redisplay' to t.
30
31 * lisp.h (Qinhibit_eval_during_redisplay): Declare extern.
32
33 * xdisp.c (inhibit_eval_during_redisplay)
34 (Qinhibit_eval_during_redisplay): New variables.
35 (safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
36 don't eval, return nil instead.
37 (syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
38 Initialize Qinhibit_eval_during_redisplay.
39
e719f5ae
GM
40 * xdisp.c (reseat_to_string): If STRING is multibyte, set
41 the iterator's multibyte_p flag.
42
deb2613a
GM
43 * xfaces.c (realize_basic_faces): Decrement menu_face_change_count
44 instead of setting it to zero; it's incremented for each frame
45 where the menu face is changed.
46
44655e77
GM
47 * xterm.c (x_draw_relief_rect): Extend left shadow to the
48 bottom; change bottom shadow accordingly.
49
a02f1be0
GM
50 * xterm.c (expose_window_tree, expose_frame): Don't compute
51 intersections here.
52 (expose_window): Do it here instead.
53 (x_draw_glyph_string): Fix a computation of the underline
54 position.
55
f827b862
GM
56 * bytecode.c (BYTE_CODE_QUIT): New macro.
57 (Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.
58
4bde0ebb
GM
592001-03-27 Gerd Moellmann <gerd@gnu.org>
60
607ec83c
GM
61 * xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
62 Give up if matrix starts in an ellipsis.
63 (init_from_display_pos): Do nothing if POS doesn't specify
64 a dpvec_index but the iterator has such a position.
65
0245398f
GM
66 * xdisp.c (init_from_display_pos): Remove unwarranted assertion.
67
aba25348
GM
68 * xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
69 x/y position is (0, 0) after destroying the menu bar, restore
70 its original position.
71
4bde0ebb
GM
72 * xdisp.c (in_ellipses_for_invisible_text_p): New function.
73 (init_from_display_pos): Use it.
74 (try_window_reusing_current_matrix): Don't use cursor_row_p.
75
8cdb267e
GM
762001-03-26 Gerd Moellmann <gerd@gnu.org>
77
78 * xdisp.c (try_window_id): Undo last change.
79
9948db79
EZ
802001-03-26 Eli Zaretskii <eliz@is.elta.co.il>
81
82 * print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.
83
84 * buffer.c (syms_of_buffer): Doc fix.
85
2eddf899
GM
862001-03-26 Gerd Moellmann <gerd@gnu.org>
87
88 * xfaces.c (x_update_menu_appearance): Use local variable
89 popup_path for setting font resources.
90
6c145d35
EZ
912001-03-25 Eli Zaretskii <eliz@is.elta.co.il>
92
6a65b1b5
EZ
93 * frame.c (Fframe_list): Don't reference tip_frame if
94 HAVE_WINDOW_SYSTEM is not defined.
95
6c145d35
EZ
96 * emacs.c (main): Update the copyright year. From Werner LEMBERG
97 <wl@gnu.org>.
98
d74c1900
GM
992001-03-25 Gerd Moellmann <gerd@gnu.org>
100
20fbd925
GM
101 * xdisp.c (init_from_display_pos): Test invisible property
102 with TEXT_PROP_MEANS_INVISIBLE instead of NILP.
103
927c5b3b
GM
104 * xdisp.c (redisplay_internal) <update one window>: Make sure
105 last_arrow_position and last_arrow_string are set.
106
d74c1900
GM
107 * frame.c (Fframe_list): Don't return a tooltip frame.
108
091f8878
GM
1092001-03-23 Gerd Moellmann <gerd@gnu.org>
110
43c09969
GM
111 * xdisp.c (mark_window_display_accurate_1): New function,
112 extracted from mark_window_display_accurate. Compute
113 BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
114 BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
115 (mark_window_display_accurate): Use it.
116 (redisplay_internal): Use it for the selected window.
117 (redisplay_internal): Avoid duplicate mark_window_display_accurate
118 for the selected frame.
119
ac90c44f
GM
120 * xdisp.c Use make_number, for readability.
121 (try_window_id): Disable rows below the window end.
122 (try_window_reusing_current_matrix): Use cursor_row_p.
123 (try_window_reusing_current_matrix) <scrolling up>: Fix disabling
124 of rows.
125 (init_from_display_pos): If POS specifies a position in a display
126 vector, maybe get the iterator set up for that ellipsis.
43c09969 127
091f8878
GM
128 * xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.
129
991786dd
EZ
1302001-03-23 Eli Zaretskii <eliz@is.elta.co.il>
131
132 * xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.
133
6c29b43c
GM
1342001-03-23 Gerd Moellmann <gerd@gnu.org>
135
136 * xfaces.c (x_update_menu_appearance): Use a different path
137 for Lucid popup menus.
138
d8731202
SM
1392001-03-22 Stefan Monnier <monnier@cs.yale.edu>
140
141 * xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.
142
143 * xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
144 (string_buffer_position): Use `make_number'.
145
f61a541b
GM
1462001-03-22 Gerd Moellmann <gerd@gnu.org>
147
3c9e997b
GM
148 * xfaces.c (x_update_menu_appearance): Renamed from
149 x_set_menu_face_resources. Use different resources for popups.
150
151 * lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
152 (GC_CHECK_STRING_BYTES): Don't define.
153
364cd450
GM
154 * xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
155 Removed, together with subroutines.
156 (x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
d8731202 157 (realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.
364cd450 158
d8731202
SM
159 * dispextern.h (x_set_menu_resources_from_menu_face):
160 Remove prototype.
364cd450 161
d8731202 162 * xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
364cd450
GM
163 Remove calls to x_set_menu_resources_from_menu_face.
164
d8731202
SM
165 * xfaces.c (xm_set_menu_resources_from_menu_face):
166 Remove #ifndef LESSTIF_VERSION.
f61a541b
GM
167
168 * xmenu.c: Include widget.h.
169 (single_submenu): Return int. Some cleanup.
170 (set_frame_menubar): Call x_set_menu_resources_from_menu_face.
171
140330de
GM
1722001-03-21 Gerd Moellmann <gerd@gnu.org>
173
174 * xterm.c (x_update_window_end): Handle overwritten mouse face
175 also for tool bar windows.
176 (show_mouse_face): Set the glyph row's mouse_face_p flag also when
177 DRAW is DRAW_IMAGE_RAISED.
178
1741905c
GM
1792001-03-20 Gerd Moellmann <gerd@gnu.org>
180
fa88947e
GM
181 * print.c (syms_of_print): Doc fixes.
182
1741905c
GM
183 * fns.c (Fmd5): Doc fix.
184
ade0bee1
GM
1852001-03-19 Gerd Moellmann <gerd@gnu.org>
186
357e7376
GM
187 * xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
188 Clear area of the frame not occupied by the scroll bar.
189
c2c097cc
GM
190 * xfns.c (x_create_tip_frame): Add parameter TEXT. Set the
191 tip frame's root window buffer to *tip* right after creating
192 the frame.
193
ade0bee1
GM
194 * xdisp.c (highlight_trailing_whitespace): Glyphs whose object
195 is an integer don't have to be for space characters.
196
88c6e37e
GM
1972001-03-16 Gerd Moellmann <gerd@gnu.org>
198
199 * indent.c (current_column, current_column_1, Fmove_to_column)
200 (compute_motion): Handle characters from display vectors
201 differently.
202
c62eed76
KH
2032001-03-15 Kenichi Handa <handa@etl.go.jp>
204
205 * xterm.c (x_draw_glyph_string): Draw relief (if any) before
206 drawing glyph string.
207
c899e7e6
GM
2082001-03-15 Gerd Moellmann <gerd@gnu.org>
209
d0bbfc99
GM
210 * keyboard.c (timer_check): Preserve the value of deactivate-mark.
211 (command_loop_1): Undo last change.
212
03d1a189
GM
213 * xterm.c (fast_find_position): Return the correct vpos.
214
c899e7e6
GM
215 * data.c (store_symval_forwarding): Add parameter BUF. If BUF is
216 non-null, set a per-buffer value in BUF instead of the current
217 buffer.
218 (swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
219 Call store_symval_forwarding with BUF null.
220 (set_internal): Call store_symval_forwarding with the BUF
221 parameter passed to set_internal. Formerly, the value was always
222 set in the current buffer; the buffer recorded in specbind for
223 this case wasn't used.
224 (arith_driver): Reindent.
225
226 * buffer.c (swap_out_buffer_local_variables): Call
227 store_symval_forwarding with BUF null.
228
229 * lisp.h (store_symval_forwarding): Change prototype.
230
231 * eval.c (specbind): Call store_symval_forwarding with BUF null.
232
57ac7c81
GM
2332001-03-14 Gerd Moellmann <gerd@gnu.org>
234
697617d9
GM
235 * frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
236 FOR_DELETION. Avoid resizing the mini-window of the selected
237 frame if FOR_DELETION is set.
238 (Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
239 (Fmake_frame_invisible): Change calls to do_switch_frame for new
240 signature.
241
242 * window.c (Fset_window_configuration): Change call to
243 do_switch_frame to new format.
244
245 * keyboard.c (quit_throw_to_read_char): Change call to
246 do_switch_frame to new format.
247
248 * lisp.h (do_switch_frame): Change prototype.
249
819dce0f
GM
250 * frame.c (Fframe_parameters): In the `buffer-list' frame
251 parameter, store the buffer list of FRAME, not the list of the
252 selected frame.
253
57ac7c81
GM
254 * xterm.c (x_draw_glyph_string_box): Don't draw a full-width
255 box just because the glyph row's full_width_p flag is set.
256
65008712
GM
2572001-03-14 Eli Zaretskii <eliz@is.elta.co.il>
258
259 * xdisp.c (highlight_trailing_whitespace): On character terminals,
260 skip the padding blanks inserted in extend_face_to_end_of_line,
261 before checking for trailing whitespace.
262
159cf431
GM
2632001-03-13 Gerd Moellmann <gerd@gnu.org>
264
19b2bb80
GM
265 * xmenu.c (popup_activate_callback, popup_deactivate_callback):
266 Remove special handling for LessTif/Motif.
267 (toplevel): Don't include Xm/Xm.h.
268
afcdc0a1
GM
269 * xterm.c (XTread_socket) <LeaveNotify, EnterNotify>: Remove
270 workaround code for LessTif; it doesn't work anymore.
271
2564ea1b 272 * xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
57ac7c81 273 Xm/ScrollBarP.h.
afcdc0a1 274
23442ae4
GM
275 * xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Don't
276 access private scroll bar data; it's no longer necessary with
277 contemporary LessTif.
278
9faaaa52
GM
279 * xfaces.c (xm_set_menu_resources_from_menu_face): Change
280 #if 0 to #ifndef LESSTIF_VERSION.
281
159cf431
GM
282 * xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
283 removing button grabs.
284
c6f7429a
KH
2852001-03-13 Kenichi Handa <handa@etl.go.jp>
286
cb82d767
KH
287 * fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
288 and clip-large-size-font as obsolete.
289
c6f7429a
KH
290 * lread.c (read_multibyte): Check the validity of multibyte
291 sequence. If invalid, return the first byte.
292
760cefb5
GM
2932001-03-12 Gerd Moellmann <gerd@gnu.org>
294
295 * keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
296 before running the command; timer functions or process
297 filters may have set it.
298
5141f9d0
EZ
2992001-03-12 Eli Zaretskii <eliz@is.elta.co.il>
300
301 * keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
302 Doc fix.
303
b6a15240
GM
3042001-03-12 Gerd Moellmann <gerd@gnu.org>
305
306 * xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
307 to sprintf.
308
95522746
GM
3092001-03-09 Gerd Moellmann <gerd@gnu.org>
310
db14cfc5
GM
311 * dispextern.h (string_buffer_position): Add prototype.
312
313 * xdisp.c (string_buffer_position, display_prop_string_p)
314 (single_display_prop_string_p): New functions.
315
316 * xterm.c (note_mouse_highlight): If there's no help-echo on
317 a string, look at the buffer text ``under'' it.
318
319 * keyboard.c (make_lispy_event): Add string info to the event,
320 analogous to what's done on mode lines.
321 (read_key_sequence): For a click on a string, consider `local-map'
322 and `keymap' of that string.
323
3cfd8357
GM
324 * keyboard.c (make_lispy_event, make_lispy_movement): Adjust
325 calls to buffer_posn_from_coords to new format.
326
327 * dispextern.h (buffer_posn_from_coords): Adjust prototype.
328
329 * dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
330 POS; return void.
331
95522746
GM
332 * fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
333 flags argument to emacs_open; it seems to conflict with O_EXCL.
334
898a399d
KH
3352001-03-09 Kenichi Handa <handa@etl.go.jp>
336
28cd4910
KH
337 * composite.h (struct composition): Change types of members;
338 glyph_len to unsigned, width to unsigned short.
898a399d 339
4cdf6a6c
AI
3402001-03-08 Andrew Innes <andrewi@gnu.org>
341
342 * w32menu.c (add_menu_item): Fix problems with using ownerdraw for
343 menu titles.
344
129004d3
GM
3452001-03-08 Gerd Moellmann <gerd@gnu.org>
346
221dd3e7
GM
347 * xdisp.c (handle_display_prop): Use it->w->buffer as object,
348 instead of nil.
349
5de7c6f2
GM
350 * xterm.c (note_mouse_highlight): Handle mouse-face and
351 help-echo in strings.
352 (x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
353 (fast_find_string_pos): New function.
354
355 * xdisp.c (handle_face_prop, face_before_or_after_it_pos)
356 (display_string): Call face_at_string_position with new
357 parameter.
358
359 * xfaces.c (face_at_string_position): Add parameter MOUSE_P.
360 Handle `mouse-face'.
361
362 * dispextern.h (face_at_string_position): Change prototype.
363
e1fbabaf
GM
364 * dired.c (directory_files_internal): Handle EAGAIN more
365 efficiently.
366
129004d3
GM
367 * keyboard.c (make_lispy_event): Avoid generating drag events
368 if the mouse hasn't actually moved to another buffer position.
369
80c8ab8c
DL
3702001-03-08 Dave Love <fx@gnu.org>
371
129004d3 372 * eval.c (syms_of_eval) <debug-on-error>: Doc fix.
80c8ab8c 373
989521fd
GM
3742001-03-08 Gerd Moellmann <gerd@gnu.org>
375
376 * process.c (Fset_process_window_size): Fix a typo.
377
bb5c338d
KH
3782001-03-08 Kenichi Handa <handa@etl.go.jp>
379
380 * coding.c (detect_coding_sjis): Do more rigid check.
381 (detect_coding_big5): Likewise.
382 (decode_coding_sjis_big5): Likewise.
383 (Fdetect_coding_region): Call detect_coding_system with tailing
384 anchor byte `\0' for more rigid detection.
a1b12fe9
KH
385 (detect_coding_mask): Fix the incorrect handling of arg
386 MULTIBYTEP.
bb5c338d
KH
387 (Fdetect_coding_string): Likewise.
388
8b8f9197
SM
3892001-03-07 Stefan Monnier <monnier@cs.yale.edu>
390
391 * bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
392 a string before extracting its data.
393
3bdf2660
GM
3942001-03-07 Gerd Moellmann <gerd@gnu.org>
395
396 * window.c (Frecenter): Rewrite code handling negative values
397 of ARG on graphical frames.
398
3992001-03-07 Eli Zaretskii <a34785@is.elta.co.il>
400
401 * window.c (displayed_window_lines): If W->start is outside the
402 accessible portion of the buffer, call start_display with BEGV or
403 ZV instead of W->start.
404
471f86b9
GM
4052001-03-07 Gerd Moellmann <gerd@gnu.org>
406
2ab62c6c
GM
407 * buffer.c (syms_of_buffer) <header-line-format>: Doc fix.
408
471f86b9
GM
409 * process.c (Fset_process_filter): Don't crash if the input
410 file descriptor of PROCESS is closed.
411 (Fset_process_window_size): Likewise.
412
101922c3
GM
4132001-03-06 Kenichi Handa <handa@etl.go.jp>
414
415 * xterm.c (XTflash): Make the timeout of select shorter, and call
416 select repeatedly until the desired time expires.
417
45d051a7
GM
4182001-03-06 Gerd Moellmann <gerd@gnu.org>
419
420 * w32fns.c (Fx_create_frame): Clear Vwindow_list.
421
422 * xfns.c (Fx_create_frame): Clear Vwindow_list.
423
424 * lisp.h (Vwindow_list): Declare extern.
425
8f372c46
EZ
4262001-03-06 Eli Zaretskii <eliz@is.elta.co.il>
427
428 * dispnew.c (syms_of_display) <glyph-table>: Doc fix.
429
f16a7aa5
GM
4302001-03-06 Gerd Moellmann <gerd@gnu.org>
431
157ae273
GM
432 * xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
433 to detect a case where we have to highlight a different region
434 despite not having left the currently highlighted region.
435 Set mouse_face_overlay in the x_display_info.
45d051a7 436 (x_term_init): Initialize the x_display_info's mouse_face_overlay.
157ae273
GM
437
438 * xterm.h (struct x_display_info): Add mouse_face_overlay.
439
440 * buffer.c (mouse_face_overlay_overlaps): New function.
441
442 * lisp.h (mouse_face_overlay_overlaps): Add prototype.
443 (Qmouse_face): Declare extern.
444
f16a7aa5
GM
445 * xdisp.c (redisplay_internal): Set windows_or_buffers_changed
446 if face_change_count is non-zero.
447
827afcac
KH
4482001-03-06 Kenichi Handa <handa@etl.go.jp>
449
450 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
451 that the source is unibyte.
452
14c7242e
DL
4532001-03-05 Dave Love <fx@gnu.org>
454
827afcac 455 * xterm.c (XTmouse_position): Fix typo.
14c7242e 456
c28b847b
GM
4572001-03-05 Gerd Moellmann <gerd@gnu.org>
458
459 * minibuf.c (read_minibuf): Clean up the binding stack if
460 called noninteractively.
461
b86644f2
KH
4622001-03-05 Kenichi Handa <handa@etl.go.jp>
463
464 * coding.c (syms_of_coding): Docstring modified.
465
203682cc 4662001-03-05 Kenichi Handa <handa@etl.go.jp>
b86644f2
KH
467
468 * charset.c (char_to_string): If a single byte char has modifier
469 bits that can't be reflected to the character code, ignore them
45d051a7 470 instead of signaling an error.
b86644f2 471
e30bd7b7
EZ
4722001-03-04 Eli Zaretskii <eliz@is.elta.co.il>
473
474 * s/msdos.h: Update copyright notice.
475
476 * dosfns.h: Update copyright notice.
477
478 * dosfns.c: Update copyright notice.
479
480 * msdos.c: Update copyright notice.
481
b52b65bd
GM
4822001-03-02 Gerd Moellmann <gerd@gnu.org>
483
484 * xterm.c (glyph_rect): New function.
485 (XTmouse_position): Use it to raise the threshold for mouse
486 movement event generation.
487
53c4b1e6
EZ
4882001-03-02 Eli Zaretskii <eliz@is.elta.co.il>
489
490 * msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
491 specifies (reverse . t), reverse the initial screen colors.
492 (IT_set_frame_parameters): If the property is foreground-color,
493 but we are reversing the colors, set bg_set, not fg_set. Likewise
494 for setting background-color and reversing: set fg_set. Set
495 unspecified-fg and unspecified-bg correctly when (reverse . t) is
496 in effect.
497
498 * xfaces.c (Finternal_set_lisp_face_attribute)
499 [!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
500 parameters alist.
501
f964b4d7
GM
5022001-03-02 Gerd Moellmann <gerd@gnu.org>
503
ef53d75e
GM
504 * fileio.c (Fexpand_file_name): Collapse sequences of slashes
505 to a single slash in the middle of file names.
506
cda0f4da
GM
507 * editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
508 Accept only alphanumeric time zone names.
509
f964b4d7
GM
510 * xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
511 or width area.
512 (XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
513 a widget to zero height.
514
c3c45f65
GM
5152001-03-01 Gerd Moellmann <gerd@gnu.org>
516
517 * window.c (Fwindow_end): Call move_it_past_eol only if
518 ending up on a partially visible line.
519
028d739a
DL
5202001-03-01 Dave Love <fx@gnu.org>
521
522 * ccl.c (Fccl_execute): Doc fix.
523
57c5889c
GM
5242001-03-01 Gerd Moellmann <gerd@gnu.org>
525
35f59f6b
GM
526 * xfns.c (Fx_create_frame): Adjust the frame's height for presence
527 of the tool bar before calling x_figure_window_size.
528
f84ff02c
GM
529 * xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
530 NULL after destroying it, otherwise XTread_socket can access a
531 destroyed widget when input is unblocked.
532
8b8f9197 533 * xfns.c (x_set_foreground_color): Set the background of the cursor GC.
420f628c 534
57c5889c
GM
535 * xfns.c (x_set_font): Handle case of x_new_fontset returning the
536 same name as before, although there was a change in fontsets.
537
224227d1
KR
5382001-02-28 Ken Raeburn <raeburn@gnu.org>
539
4560730a
KR
540 * lisp.h (Fframe_parameter): Declare.
541
224227d1 542 * window.c (set_window_buffer): Field vscroll is an int, not a
57c5889c 543 Lisp_Object.
224227d1 544
ece93c02
GM
5452001-02-28 Gerd Moellmann <gerd@gnu.org>
546
11ef99b9
GM
547 * xterm.c (x_set_window_size): Don't use `None' with widgets; use
548 NULL instead.
549
550 * xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
551 NULL instead.
552
ece93c02
GM
553 * alloc.c (toplevel): Include process.h.
554 (enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
555 MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
556 (allocate_vectorlike): Make it a static function. Add parameter TYPE.
557 (allocate_vector, allocate_hash_table, allocate_window)
558 (allocate_frame, allocate_process, allocate_other_vector): New
559 functions.
560 (Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
561 (mark_maybe_pointer): New function.
562 (mark_memory): Also mark Lisp data to which only pointers
563 remain and not Lisp_Objects.
564 (min_heap_address, max_heap_address): New variables.
565 (mem_find): Return MEM_NIL if START is below min_heap_address or
566 above max_heap_address.
567 (mem_insert): Compute min_heap_address and max_heap_address.
568
569 * process.c (make_process): Use allocate_process.
570
571 * frame.c (make_frame): Use allocate_frame.
572
573 * window.c (make_window, make_dummy_parent): Use allocate_window.
574 (Fcurrent_window_configuration): Use allocate_other_vector.
575
576 * lisp.h (allocate_vectorlike): Remove prototype.
577 (allocate_vector, allocate_other_vector, allocate_frame)
578 (allocate_window, allocate_process, allocate_hash_table):
579 Add prototypes.
580
581 * fns.c (Fdelete, larger_vector): Use allocate_vector.
582 (make_hash_table, copy_hash_table): Use allocate_hash_table.
583
063af457
KH
5842001-02-27 Kenichi Handa <handa@etl.go.jp>
585
586 * coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
587 treat the produced bytes as a valid multibyte sequence.
588
589 * ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
590 (ccl_driver) <CCL_WriteMultibyteChar2>: Use
591 CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
592 <ccl_finish>: Set ccl->eight_bit_control properly.
593
594 * ccl.h (struct ccl_program): New member eight_bit_control.
595
f58c6494
SM
5962001-02-26 Stefan Monnier <monnier@cs.yale.edu>
597
598 * keymap.c (Faccessible_keymaps): Pass `is_metized' to
599 accessible_keymaps_char_table.
600 (accessible_keymaps_char_table): Obey `is_metized'.
601 (where_is_internal, Fwhere_is_internal): Don't confuse int and
602 Lisp_Object.
603
c596c392
GM
6042001-02-26 Gerd Moellmann <gerd@gnu.org>
605
606 * dispnew.c: Check HAVE_TERM_H before including term.h.
607
425de386
AI
6082001-02-24 Andrew Innes <andrewi@gnu.org>
609
610 * makefile.w32-in: Update copyright notice.
611
2ba11bbd
SM
6122001-02-24 Stefan Monnier <monnier@cs.yale.edu>
613
614 * keymap.c (where_is_internal): Accept non-ascii integer prefixes.
615
66c56ed1
KH
6162001-02-24 Kenichi Handa <handa@etl.go.jp>
617
4c1593ce
KH
618 * Makefile.in (lisp): Add international/utf-8.elc.
619
66c56ed1
KH
620 * fontset.c (Fnew_fontset): Fix handling of the case that an
621 element of FONTLIST is a cons of family and registry.
622
796ead7e
JR
6232001-02-23 Jason Rumney <jasonr@gnu.org>
624
625 * w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
626 to height unconditionally.
627
628 * w32term.c (x_set_glyph_string_background_width): Extend the
629 background face to the end of the drawing area in the text area,
630 only.
631 (x_insert_glyphs): Call window_box_left to obtain the left
632 x-coordinate of the area to shift.
633
634 * w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
635 safe_run_hooks.
636
f6839838
AI
6372001-02-22 Andrew Innes <andrewi@gnu.org>
638
639 * makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header
640 files.
641 ($(BLD)\dispnew.obj):
642 ($(BLD)\editfns.obj):
643 ($(BLD)\fileio.obj):
644 ($(BLD)\filelock.obj):
645 ($(BLD)\keyboard.obj):
646 ($(BLD)\w32proc.obj):
647 ($(BLD)\process.obj):
648 ($(BLD)\sysdep.obj): Ditto.
649
650 * makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
651 header files.
652 ($(BLD)/dispnew.$(O)):
653 ($(BLD)/editfns.$(O)):
654 ($(BLD)/fileio.$(O)):
655 ($(BLD)/filelock.$(O)):
656 ($(BLD)/keyboard.$(O)):
657 ($(BLD)/w32proc.$(O)):
658 ($(BLD)/process.$(O)):
659 ($(BLD)/sysdep.$(O)): Ditto.
660
c224f70b
GM
6612001-02-22 Gerd Moellmann <gerd@gnu.org>
662
51695746
GM
663 * xdisp.c (forward_to_next_line_start): When taking the shortcut
664 at the start of the function, check that the \n in it->c is
665 from the iterator's current position.
666
a61b7058
GM
667 * xdisp.c (handle_single_display_prop): Add parameter
668 DISPLAY_REPLACED_BEFORE_P. If it is non-zero ignore display
669 properties which replace the display of text with something else.
670 (handle_display_prop): Call handle_single_display_prop with
671 additional argument saying if we already replaced text display
672 with something else. Use AREF.
673 (with_echo_area_buffer_unwind_data, display_menu_bar)
674 (decode_mode_spec_coding): Use AREF and ASIZE.
675
3473f362
GM
676 * vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
677 * vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
678 * vmstime.h: Files removed.
679
2bb58df3
GM
680 * unexencap.c, unexfx2800.c: Files removed.
681
c224f70b
GM
682 * dispnew.c (direct_output_for_insert): Give up if we are showing
683 a message or just cleared the message because we might need to
684 resize the echo area window or display an empty echo area.
685
ffc9ff0c
GM
6862001-02-21 Gerd Moellmann <gerd@gnu.org>
687
0528abe1
GM
688 * xdisp.c (redisplay_internal): Do the
689 mark_window_display_accurate after all windows have been
690 redisplayed because this call resets flags in buffers which are
691 needed for proper redisplay.
692
ffc9ff0c
GM
693 * keyboard.c, minibuf.c, lread.c, fns.c, eval.c: Use
694 display_hourglass_p, start_hourglass, cancel_hourglass instead of
695 the old names.
696
697 * w32term.h (struct x_output): Rename busy_cursor to
698 hourglass_cursor, busy_window to hourglass_window, busy_p to
699 hourglass_p.
700
701 * msdos.h (struct x_output): Rename busy_window to
702 hourglass_window, busy_p to hourglass_p.
703
704 * xterm.h (struct x_output): Rename busy_cursor to
705 hourglass_cursor, busy_window to hourglass_window, busy_p to
706 hourglass_p.
707
708 * xfns.c: Rename everything containing *busy_cursor* and similar
709 to *hourglass*.
710 (syms_of_w32fns): Rename x-busy-pointer-shape to
711 x-hourglass-pointer-shape, display-busy-cursor to
712 display-hourglass, busy-cursor-delay to hourglass-delay.
713
714 * w32fns.c: Rename everything containing *busy_cursor* and similar
715 to *hourglass*.
716 (syms_of_w32fns): Rename x-busy-pointer-shape to
717 x-hourglass-pointer-shape, display-busy-cursor to
718 display-hourglass, busy-cursor-delay to hourglass-delay.
719
720 * xterm.c (XTread_socket): Test x_output's hourglass_p instead
721 of its busy_p flag.
722
723 * dispextern.h (start_hourglass, cancel_hourglass)
724 (display_hourglass_p): Renamed from *busy_cursor*.
725
ab2c5f0a
GM
7262001-02-20 Gerd Moellmann <gerd@gnu.org>
727
d17e49a8
GM
728 * keyboard.c (read_char): When an event from unread-command-events
729 is from the tool or menu bar, set *USE_MOUSE_MENU to 1.
730
fa97adf6
GM
731 * window.c (Fwindow_end): Handle case that WINDOW's buffer is not
732 equal to the current buffer.
733
ab2c5f0a
GM
734 * xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
735 nil, otherwise we're left with truncate_lines t when a message
736 is printed with message-truncate-lines bound to t.
737
aeac019e
GM
7382001-02-19 Gerd Moellmann <gerd@gnu.org>
739
c8bc6f65
GM
740 * window.c (Fmove_to_window_line): Undo last change.
741 (displayed_window_lines): Call line_bottom_y to determine
742 the line's bottom position.
743
744 * dispextern.h (line_bottom_y): Add prototype.
745
746 * xdisp.c (line_bottom_y): New function extracted from
747 pos_visible_p.
748 (pos_visible_p): Use it.
749
980a2d69
GM
750 * keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
751 set redisplaying_p to 0 here instead of in Frecursive_edit.
752 (Frecursive_edit): Don't bind `inhibit-redisplay' and don't
753 set redisplaying_p.
754
184d2372
GM
755 * xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
756 New variables.
757 (syms_of_xdisp): Initialize new variables.
758 (update_menu_bar): Do nothing if inhibit_menubar_update is set.
759 Specbind `inhibit-menubar-update' when updating the menu bar.
760
65048e97
GM
761 * xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
762 safe_run_hooks.
763
764 * xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
765 safe_run_hooks.
766
a57c4026
GM
767 * emacs.c (malloc_initialize_hook): Handle case thet `environ'
768 is null.
769
aeac019e
GM
770 * ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
771 to the start of the file.
772
76846b31
GM
7732001-02-16 Gerd Moellmann <gerd@gnu.org>
774
f3f053f3 775 * window.c (set_window_buffer): Fix last change.
25237df5 776
f3f053f3
GM
777 * window.c (set_window_buffer): Set window's vscroll to 0.
778
dad75588
GM
779 * window.c (coordinates_in_window): Increase width of area
780 where the vertical line can be dragged.
781
c220b753
GM
782 * xterm.c (x_set_glyph_string_background_width): Extend the
783 background face to the end of the drawing area in the text
784 area, only.
785
c56b1c1b
GM
786 * xdisp.c (handle_single_display_prop): Set iterator's position
787 to where the `display' property starts, like for images.
788 (dump_glyph): New function.
789 (dump_glyph_row): Use it. Dump info about marginal areas.
790
791 * dispnew.c (direct_output_for_insert): Recognize more cases where
792 glyphs can be written instead of being inserted.
793
794 * xterm.c (x_insert_glyphs): Call window_box_left to obtain
795 the left x-coordinate of the area to shift.
796
76846b31
GM
797 * dired.c (directory_files_internal): Set result list to nil
798 before retrying.
799
0fc71a77
KH
8002001-02-15 Kenichi Handa <handa@etl.go.jp>
801
802 * ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
803 invalid multibyte sequence, treat *SRC as a character of
804 eight-bit-graphic.
805
25078b54
EZ
8062001-02-15 Eli Zaretskii <eliz@is.elta.co.il>
807
808 * textprop.c (Fset_text_properties): Doc fix.
809
8399f8a0
GM
8102001-02-15 Gerd Moellmann <gerd@gnu.org>
811
812 * dispnew.c (update_text_area): Undo change of 2001-01-12.
813
9a2a6f73
DL
8142001-02-14 Dave Love <fx@gnu.org>
815
816 * coding.c: Doc and message fixes.
817
bf853fee
AI
8182001-02-14 Andrew Innes <andrewi@gnu.org>
819
820 * w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
821 Emacs frame above the screen size.
822
78c663d8
GM
8232001-02-14 Gerd Moellmann <gerd@gnu.org>
824
825 * xdisp.c (reseat_1): Set iterator's end_charpos to ZV.
826
7cc9f69f
GM
8272001-02-13 Gerd Moellmann <gerd@gnu.org>
828
0a411995
GM
829 * insdel.c (del_range_1, del_range_byte, del_range_both): Handle
830 case that TO ends up beyond ZV after running before-change-functions.
831
5ddc1b75
GM
832 * window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
833 the selected window if it is showing the buffer in question.
834
7cc9f69f
GM
835 * dired.c (directory_files_internal): Initialize errno.
836 (toplevel): Include errno.h.
837
2e6621ca
GM
8382001-02-13 Kenichi Handa <handa@etl.go.jp>
839
840 * xfaces.c (best_matching_font): New parameter width_ratio.
841 Multiply avgwidth by width_ratio.
842 (choose_face_font): Call best_matching_font with width_ratio
843 calculated from the column width of C.
844
60222d69
AI
8452001-02-12 Andrew Innes <andrewi@gnu.org>
846
847 The following changes are to draw box lines inside characters area
848 if line-width is negative.
849
850 * w32term.c (x_produce_image_glyph): Pay attention to the case that
851 face->box_line_width is negative.
852 (x_produce_stretch_glyph): Likewise.
853 (x_produce_glyphs): Likewise.
854 (x_estimate_mode_line_height): Likewise.
855 (x_draw_glyph_string_background): Likewise.
856 (x_draw_glyph_string_foreground): Likewise.
857 (x_draw_composite_glyph_string_foreground): Likewise.
858 (x_draw_glyph_string_box): Likewise.
859 (x_draw_image_foreground): Likewise.
860 (x_draw_image_relief): Likewise.
861 (x_draw_image_foreground_1): Likewise.
862 (x_draw_image_glyph_string): Likewise.
863
9804b846
KH
8642001-02-09 Kenichi Handa <handa@etl.go.jp>
865
866 The following changes are to draw box lines inside characters area
867 if line-width is negative.
868
869 * xterm.c (x_produce_image_glyph): Pay attention to the case that
870 face->box_line_width is negative.
871 (x_produce_stretch_glyph): Likewise.
872 (x_produce_glyphs): Likewise.
873 (x_estimate_mode_line_height): Likewise.
874 (x_draw_glyph_string_background): Likewise.
875 (x_draw_glyph_string_foreground): Likewise.
876 (x_draw_composite_glyph_string_foreground): Likewise.
877 (x_draw_glyph_string_box): Likewise.
878 (x_draw_image_foreground): Likewise.
879 (x_draw_image_relief): Likewise.
880 (x_draw_image_foreground_1): Likewise.
881 (x_draw_image_glyph_string): Likewise.
882
883 * xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
884 and :line-width can be negative.
885 (realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be
886 negative.
887
49be9f70
JR
8882001-02-09 Jason Rumney <jasonr@gnu.org>
889
890 * w32term.c (w32_encode_char): Treat eight bit graphic and control
891 characters the same as ASCII and latin-1.
892 (x_display_and_set_cursor): Check for the focus frame's selected
893 window instead of selected_window.
894 (x_after_update_window_line): Don't clear if frame's internal
895 border width is zero.
896 (x_new_font): Don't change a tooltip's size.
897 (w32_initialize): Set char_ins_del_ok to 1.
898
899 * w32fns.c (Fx_show_tip): Fix calls to make_number.
900 (x_set_font): If font hasn't changed, avoid recomputing
901 faces and other things.
902 (x_set_tool_bar_lines): Do nothing if frame is
903 minibuffer-only,
904 (Fx_create_frame): Add the tool bar height to the frame
905 height.
906 (x_create_tip_frame): Prevent changing the tooltip's
907 background color by specifying a color for the default font
908 in .Xdefaults.
909 (Qcancel_timer): New variable.
910 (syms_of_w32fns): Initialize and staticpro it.
911 (Fx_hide_tip, Fx_show_tip): Use it.
912 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
913 the timer.
914 (toplevel): Lisp code for generating parts of syms_of_w32fns removed.
915
916 * w32.c (init_environment): Duplicate local string before putenv.
917
555e35d2
SZ
9182001-02-09 ShengHuo ZHU <zsh@cs.rochester.edu>
919
920 * charset.c (Fstring): A typo.
921
19c92c94
KH
9222001-02-09 Kenichi Handa <handa@etl.go.jp>
923
e47a1c33
KH
924 * charset.c (Fstring): If all arguments are less than 256, return
925 a unibyte string.
926
927 * editfns.c (Fchar_to_string): If CHARACTER is less than 256,
928 return a unibyte string.
929
19c92c94
KH
930 * coding.c (code_convert_region): After detecting a coding, if
931 nothing found, set coding->composing to COMPOSITION_NO.
932 (decode_coding_string): Likewise.
933
d8e675f5
SM
9342001-02-08 Stefan Monnier <monnier@cs.yale.edu>
935
936 * w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
937 to avoid overflow.
938
bd503487
KH
9392001-02-07 Kenichi Handa <handa@etl.go.jp>
940
941 * charset.c (parse_str_to_multibyte): New function.
942
943 * charset.h (parse_str_to_multibyte): Extern it.
944
945 * print.c (print_string): If we are going to print a unibyte
946 string into a multibyte buffer, convert the string to multibyte by
947 str_to_multibyte.
948
a8370d72
AI
9492001-02-06 Andrew Innes <andrewi@gnu.org>
950
951 * w32xfns.c (select_palette): Do nothing if palette hasn't yet
952 been created. It seems we can get sent window messages such as
953 WM_ERASEBKGND before we properly update a frame.
954
c363a1d6
GM
9552001-02-06 Gerd Moellmann <gerd@gnu.org>
956
957 * dispnew.c (update_frame_line): Rename parameter FRAME to F.
958 Avoid some unnecessary cursor positioning.
959
a08332c0
GM
9602001-02-05 Gerd Moellmann <gerd@gnu.org>
961
962 * xfaces.c (split_font_name): Compute numeric value of
963 XLFD_AVGWIDTH.
964 (LFACE_AVGWIDTH): New macro.
965 (LFACEP): Use AREF.
966 (check_lface_attrs): Check LFACE_AVGWIDTH.
967 (lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
968 (set_lface_from_font_name): Set LFACE_AVGWIDTH.
969 (merge_face_vectors): Check LFACE_AVGWIDTH.
970 (Finternal_make_lisp_face): Use AREF.
971 (xm_set_menu_resources_from_menu_face)
972 (xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
973 (Finternal_lisp_face_empty_p): Use AREF.
974 (lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
975 (better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
976 Compare average widths..
977 (best_matching_font): Arrange for comparing average widths.
978
979 * dispextern.h (enum lface_attribute_index): Add
980 LFACE_AVGWIDTH_INDEX (invisible from Lisp).
981
5cb3c8d4
DL
9822001-02-05 Dave Love <fx@gnu.org>
983
984 * puresize.h: Revert last change following loadup.el change.
985
193fba87
AI
9862001-02-05 Andrew Innes <andrewi@gnu.org>
987
988 * makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
989 invocation of temacs, to work with Windows 2000.
990 (bootstrap-emacs): Ditto.
991
e16f52ce
GM
9922001-02-05 Gerd Moellmann <gerd@gnu.org>
993
7a58ab59
GM
994 * xterm.c (x_display_and_set_cursor): Check for the focus
995 frame's selected window instead of selected_window.
996
e89aaabd
GM
997 * xdisp.c (try_scrolling): If point is in the line below the
998 window, make sure to move the iterator at least a canonical
999 char height down.
1000
e16f52ce
GM
1001 * window.c (Fmove_to_window_line): Don't add 1 if window is
1002 vscrolled.
1003
789ce875
KH
10042001-02-05 Kenichi Handa <handa@etl.go.jp>
1005
1006 * ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not. If
1007 invalid, execute CCL_INVALID_CMD.
1008 (ccl_driver): If the CCL program is terminated because of
1009 CCL_STAT_INVALID_CMD, copy the remaining source data to the
1010 destination instead of throwing them away.
1011
20b28f82
GM
10122001-02-02 Gerd Moellmann <gerd@gnu.org>
1013
79fb38c0
GM
1014 * xfns.c (x_set_font): If font hasn't changed, avoid recomputing
1015 faces and other things.
1016
20b28f82
GM
1017 * xdisp.c (get_next_display_element): Fix case of empty
1018 display table entry.
1019
5a72551e
EZ
10202001-02-02 Eli Zaretskii <eliz@is.elta.co.il>
1021
eb24d0bf
EZ
1022 * editfns.c (Fconstrain_to_field): Doc fix.
1023
6a3f48c7
EZ
1024 * xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
1025 into `thoroughly', to make it consistent with the doc string.
1026
5a72551e
EZ
1027 * window.c (Fenlarge_window, Fshrink_window): Doc fix.
1028
01acdb05
GM
10292001-02-01 Gerd Moellmann <gerd@gnu.org>
1030
0353b28f
GM
1031 * search.c (search_buffer): Call set_search_regs with a byte
1032 position, not a character position.
1033
01acdb05
GM
1034 * xfns.c (x_set_tool_bar_lines): Do nothing if frame is
1035 minibuffer-only,
1036
e86b5133
EZ
10372001-02-01 Eli Zaretskii <eliz@is.elta.co.il>
1038
1039 * frame.c (Fmodify_frame_parameters): Doc fix.
1040
7442878f
GM
10412001-01-31 Gerd Moellmann <gerd@gnu.org>
1042
01acdb05
GM
1043 * frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
1044 identifier which is not reserved by Standard C.
1045
7442878f
GM
1046 * frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.
1047
1048 * window.c (enum window_part): New enumeration.
1049 (Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
1050 Qright_bitmap_area.
1051 (coordinates_in_window): Return an enumerator from enum
1052 window_part. Fix handling of right scroll bar.
1053 (Fcoordinates_in_window_p): Doc fix. Return `left-fringe' and
1054 `right-fringe' instead of `left-bitmap-area' and
1055 `right-bitmap-area'. Use enumerators from enum window_part
1056 instead of hard-coded integers.
1057 (check_window_containing, window_from_coordinates): Use
1058 enumerators from enum window_part instead of hard-coded integers.
1059 (syms_of_window): Replace Qleft_bitmap_area and
1060 Qright_bitmap_area.with Qleft_fringe and Qright_fringe.
1061
7c132cba
EZ
10622001-01-31 Eli Zaretskii <eliz@is.elta.co.il>
1063
1064 * editfns.c (Fformat_time_string): Doc fix.
1065
c359dd9e
SM
10662001-01-31 Stefan Monnier <monnier@cs.yale.edu>
1067
1068 * keymap.c (Fwhere_is_internal): Use the first valid binding
1069 if no ascii binding is found (when firstonly is t).
1070
ce070307
GM
10712001-01-31 Gerd Moellmann <gerd@gnu.org>
1072
b4f30ec5
GM
1073 * window.c (Fscroll_right, Fscroll_left): Use interactive_p
1074 instead of Finteractive_p.
1075
1076 * lisp.h (interactive_p): Add prototype.
1077
1078 * eval.c (interactive_p): New function.
1079 (Finteractive_p): Use it.
1080
ce070307
GM
1081 * alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.
1082
f57b6e64
DL
10832001-01-31 Dave Love <fx@gnu.org>
1084
d61c7afe
DL
1085 * .gdbinit (hook-run): Define to run xreload.
1086
f57b6e64
DL
1087 * textprop.c (Fset_text_properties): Fix newline in doc string.
1088
eef93f99
GM
10892001-01-30 Gerd Moellmann <gerd@gnu.org>
1090
1091 * xdisp.c (build_desired_tool_bar_string, syms_of_xdisp): Use
1092 DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.
1093
1094 * dispextern.h (Vtool_bar_button_margin:): Declare extern.
1095 (DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
1096 (DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.
1097
1098 * xfns.c (Fx_create_frame): Add the tool bar height to the frame
1099 height.
1100
d9c1f6f9
DL
11012001-01-30 Dave Love <fx@gnu.org>
1102
1103 * bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
1104 AFTER_POTENTIAL_GC.
1105
e8f044a0
GM
11062001-01-29 Gerd Moellmann <gerd@gnu.org>
1107
1108 * bytecode.c (Fbyte_code) <Bcurrent_column>: Add
1109 BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.
1110
8e1db7b3
EZ
11112001-01-29 Eli Zaretskii <eliz@is.elta.co.il>
1112
1113 * textprop.c (Fset_text_properties): Doc fix.
1114
4eefd9d2
GM
11152001-01-29 Gerd Moellmann <gerd@gnu.org>
1116
1117 * xdisp.c (forward_to_next_line_start): Remove xassert.
1118
fccb8288
EZ
11192001-01-29 Jason Rumney <jasonr@gnu.org>
1120
4eefd9d2 1121 * w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
fccb8288
EZ
1122 returning without releasing it.
1123
76581eab
KH
11242001-01-29 Kenichi Handa <handa@etl.go.jp>
1125
1126 * w32fns.c (w32_font_match): Allocate three more bytes to regex
1127 for '^', '$', and '\0'.
1128
83a96b4d
AC
11292001-01-28 Andrew Choi <akochoi@i-cable.com>
1130
5604ec34
AC
1131 * fontset.c (fontset_pattern_regexp): Allocate three more bytes to
1132 regex for '^', '$', and '\0'.
1133
83a96b4d
AC
1134 * alloc.c (allocate_string) [macintosh]: Call check_string_bytes
1135 only if current_sblock has been initialized.
1136
1137 * frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
1138 terminal frame even if it is the only visible frame.
1139
c09a6440
KH
11402001-01-28 Kenichi Handa <handa@etl.go.jp>
1141
1142 * fontset.c (font_family_registry): Even if FONTNAME conform to
1143 XLFD, if it specifies other fields than family and registry,
1144 return FONTANME. New argument FORCE if nonzero cancel that
1145 feature.
1146 (fontset_font_pattern): Call font_family_registry with FORCE 1 for
1147 a signle byte character. Don't set FAMILY part to nil here. It
1148 is handled by the caller choose_face_font.
1149 (Fnew_fontset): Call font_family_registry with FORCE 0.
1150 (Fset_fontset_font): Likewise.
1151
4dcd74e6
GM
11522001-01-27 Gerd Moellmann <gerd@gnu.org>
1153
1154 * xdisp.c (display_line): Don't treat a newline as fitting
1155 on the line.
1156
d2906bf8
GM
11572001-01-26 Gerd Moellmann <gerd@gnu.org>
1158
0130fe1a
GM
1159 * window.c (size_window): Set the window's orig_top to nil when
1160 changing heights, so that a future shrink_mini_window won't
1161 restore a bogus height.
1162
550f0e6a
GM
1163 * frame.c (do_switch_frame): If selected frame has a mini-window,
1164 resize that to exact size.
1165
b7b20fbd
GM
1166 * dispnew.c (adjust_glyph_matrix): Always clear desired matrices.
1167
a47b7816
GM
1168 * xdisp.c (display_line): Simplify check for glyphs fitting
1169 entirely in the line.
1170
d2906bf8
GM
1171 * xfns.c (xic_style): New variable.
1172 (create_frame_xic): Move static variable to global scope for
550f0e6a 1173 the case that `static' gets defined away.
d2906bf8 1174
73df2b1e
KH
11752001-01-26 Kenichi Handa <handa@etl.go.jp>
1176
1177 * coding.c (decode_coding): Set a flag for inhibiting
1178 inconsistent eol.
1179 (code_convert_region): Always set saved_coding_symbol.
1180 (decode_coding_string): Likewise. Update coding->symbol when we
1181 encounter a inconsistent eol by the same way as
1182 code_convert_region.
1183
6613cfc4
GM
11842001-01-25 Gerd Moellmann <gerd@gnu.org>
1185
c5e6e06b
GM
1186 * xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
1187 XClearArea.
1188
1189 * xterm.c (x_after_update_window_line): Don't clear if frame's
1190 internal border width is zero.
1191 (x_clear_area): New function.
1192 (x_after_update_window_line, x_clear_end_of_line)
1193 (x_scroll_bar_create, x_scroll_bar_set_handle)
1194 (XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
1195 instead of XClearArea.
1196
1197 * xterm.h (x_clear_area): Add prototype.
1198
6613cfc4
GM
1199 * xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
1200 which doesn't seem necessary anymore with Lesstif 0.92.
1201
650cc6cc
DL
12022001-01-25 Dave Love <fx@gnu.org>
1203
34ac3367
DL
1204 * puresize.h (BASE_PURESIZE): Up to 720000.
1205
650cc6cc
DL
1206 * keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.
1207
5e37dc22
GM
12082001-01-25 Gerd Moellmann <gerd@gnu.org>
1209
e1e441f9
GM
1210 * xdisp.c (echo_area_display): Don't call redisplay_internal
1211 when Emacs is shutting down. We can't run hooks etc. that
1212 would be necessary to do a redisplay.
1213
5e37dc22
GM
1214 * lread.c (read_integer): Use type EMACS_INT instead of int.
1215
0fb94c7f
EZ
12162001-01-25 Eli Zaretskii <eliz@is.elta.co.il>
1217
1218 * ccl.c (ccl_driver): Fix last change.
1219
e3778624
KH
12202001-01-25 Kenichi Handa <handa@etl.go.jp>
1221
1222 * ccl.h (sturct ccl_program): New member suppress_error.
1223
bb264518 1224 * ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
e3778624
KH
1225 insert error message to the output.
1226 (setup_ccl_program): Initialize ccl->suppress_error to 0.
1227
1228 * coding.h (struct coding_system): New member suppress_error.
1229
1230 * coding.c (ccl_coding_driver): Setup ccl->suppress_error.
1231 (Fset_terminal_coding_system_internal): Set the member
1232 suppress_error to 1.
1233 (Fset_safe_terminal_coding_system_internal): Likewise.
1234
245ed2b1
SM
12352001-01-24 Stefan Monnier <monnier@cs.yale.edu>
1236
1237 * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
1238 as if it was a `charset'.
1239
f9aaedb6
GM
12402001-01-24 Gerd Moellmann <gerd@gnu.org>
1241
1242 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
1243 value in where_is_cache; the next lookup in the cache returns
1244 something bogus if we do.
1245
c3902c3e
EZ
12462001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
1247
1248 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
1249 if HAVE_WINDOW_SYSTEM isn't defined.
1250
3497f73e
GM
12512001-01-24 Gerd Moellmann <gerd@gnu.org>
1252
e7e41584
GM
1253 * fns.c (sweep_weak_table): Fix code taking items out of
1254 the hash collision chain. Some cleanup.
1255
3497f73e
GM
1256 * xterm.c (x_new_font): Don't change a tooltip's size.
1257
1258 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
1259 background color by specifying a color for the default font
1260 in .Xdefaults.
1261
3d48e687
KH
12622001-01-24 Kenichi Handa <handa@etl.go.jp>
1263
96531b20
KH
1264 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
1265 a workaround for SunOS 4's cc.
1266 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
1267 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
1268 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
1269 statement.
3d48e687 1270
a30629d2
GM
12712001-01-23 Gerd Moellmann <gerd@gnu.org>
1272
1273 * xterm.c (x_set_window_size_1): New function extracted from
1274 x_set_window_size.
1275 (x_set_window_size): Use it.
1276 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
1277 doesn't have a widget, like tooltips.
1278
5a43decf
EZ
12792001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
1280
1281 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc
1282 fix.
1283
b0e98867
KH
12842001-01-23 Kenichi Handa <handa@etl.go.jp>
1285
1286 * fns.c (Fset_char_table_default): Fix to make sub char-table
1287 correctly.
1288
50606b4c
GM
12892001-01-22 Gerd Moellmann <gerd@gnu.org>
1290
cb2ddc53 1291 * xdisp.c (build_desired_tool_bar_string): Make sure we have
a30629d2 1292 a desired tool bar string, even if there are no tool bar
cb2ddc53
GM
1293 items.
1294
57c28064
GM
1295 * xdisp.c (Ftool_bar_lines_needed): New function.
1296 (syms_of_xdisp): Defsubr it.
1297
50606b4c
GM
1298 * editfns.c (Fformat): Don't extend text properties from arguments
1299 to padding chars in the result.
1300
2f169c38
EZ
13012001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
1302
1303 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
1304
0f32f023
AI
13052001-01-20 Andrew Innes <andrewi@gnu.org>
1306
1307 * w32term.c (w32_ring_bell): Only support visible bell on w32
1308 frames.
1309 (w32_initialize): Don't set term hooks that aren't actually needed
1310 in windowed mode.
1311
1312 * xfaces.c (realize_default_face):
1313 (realize_face):
1314 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
1315
1316 * xdisp.c (handle_single_display_prop): Remove references to
1317 FRAME_W32_CONSOLE_P.
1318
1319 * dispnew.c (Fredraw_frame): Remove reference to
1320 FRAME_W32_CONSOLE_P.
1321
1322 * frame.h (output_method): Remove output_w32_console method.
1323 (FRAME_W32_CONSOLE_P): Remove macro.
1324
1325 * frame.c (Qw32_console): Remove variable.
1326 (Fframep): Remove references to it.
1327 (syms_of_frame): Ditto.
1328 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
1329
1330 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
1331 redefinition.
1332
7173eada
KH
13332001-01-20 Kenichi Handa <handa@etl.go.jp>
1334
1335 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
1336
755b45ce
AI
13372001-01-19 Andrew Innes <andrewi@gnu.org>
1338
1339 * w32.c (init_environment): Add a version-independent site-lisp
1340 directory to EMACSLOADPATH, after the version dependent one.
1341
0a949811
GM
13422001-01-19 Gerd Moellmann <gerd@gnu.org>
1343
8501998a
GM
1344 * editfns.c (Fbuffer_substring): Doc fix.
1345
0a949811
GM
1346 * xdisp.c (message_dolog, message2, message2_nolog): Rename
1347 parameter LEN to NBYTES.
1348
e6ebcbbe
KH
13492001-01-19 Kenichi Handa <handa@etl.go.jp>
1350
200ecca2
KH
1351 * charset.c (strwidth): Use c_string_width.
1352 (c_string_width): New function.
1353 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
1354 Caller changed.
1355
1356 * charset.h (c_string_width, lisp_string_width): Extern them.
1357
1358 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
1359
e6ebcbbe
KH
1360 * indent.c (check_composition): Check validity of composition.
1361
200ecca2
KH
1362 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
1363 characters by calling c_string_width.
1364 (x_consider_frame_title): Get byte length of frame tile string
1365 correctly.
1366 (display_mode_element): Pay attention to width of non-ASCII
1367 characters by calling strwidth.
1368
8692ca92
GM
13692001-01-18 Gerd Moellmann <gerd@gnu.org>
1370
8962e303
GM
1371 * xfns.c (Qcancel_timer): New variable.
1372 (syms_of_xfns): Initialize and staticpro it.
1373 (Fx_hide_tip, Fx_show_tip): Use it.
1374 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
1375 the timer.
1376 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
1377
91523be9
GM
1378 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
1379
1380 * window.h (WINDOW_LIVE_P): New macro.
1381
b0b7ed0e
GM
1382 * window.c (window_size_fixed): New variable.
1383 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
1384 the doc string.
1385
06bccf8e
GM
1386 * eval.c (specbind): If binding a per-buffer variable which
1387 doesn't have a buffer-local value in the current buffer, change
1388 the global value by changing the value of the symbol bound in all
1389 buffers not having their own value, to make it consistent with
1390 what happens with other buffer-local variables.
1391
8692ca92
GM
1392 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
1393
1394 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
1395 when searching for a newline.
1396
bb3a3b50
KH
13972001-01-18 Kenichi Handa <handa@etl.go.jp>
1398
1399 * xdisp.c (display_string): Fix previous change.
1400
c2cc16fa
JR
14012001-01-18 Jason Rumney <jasonr@gnu.org>
1402
1403 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
1404 GLYPH_DEBUG is defined.
1405 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
1406 true for images with `:ascent 100'.
1407 (x_set_mouse_face_gc): If the last used mouse face has gone in the
1408 meantime, use face MOUSE_FACE_ID.
1409 If first glyph isn't a character glyph, use the ASCII NUL
1410 character to determine the face.
1411 (expose_area): Do not treat left margin specially.
1412 (note_mode_line_highlight): If no local_map, check global keymap.
1413 (note_mouse_highlight): Initialize overlay.
1414 (clear_mouse_face): Don't return if tip_frame is
1415 non-nil.
1416 (show_scroll_bars): Remove unused function.
1417 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
1418 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
1419 Clip to row.
1420 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be
1421 nil.
1422 (x_free_frame_resources): Unload relief colors.
1423
9c11f79e
GM
14242001-01-17 Gerd Moellmann <gerd@gnu.org>
1425
3aec8722
GM
1426 * xdisp.c (forward_to_next_line_start): Avoid calling
1427 get_next_display_element when the newline is already found. This
1428 may change the iterator's position, when its current position is
1429 equal to the iterator's stop_charpos.
1430
f3ffc2c3
GM
1431 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
1432 zero, use this method only at the end of a line.
1433
a86110a8
GM
1434 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
1435 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
1436 if SCALABLE_FONTS_P is set.
1437
d26d6fd9
GM
1438 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
1439 so that scalable fonts are included.
1440
9c11f79e
GM
1441 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
1442 In the cache, use a key containing the information if scalable
1443 fonts are included.
1444 (x_load_font): Adapt to change of keys in the font cache.
1445
14462001-01-17 Kim F. Storm <storm@filanet.dk>
1447
d26d6fd9
GM
1448 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
1449 XListFonts to take advantage of font caching.
1450
9c11f79e
GM
1451 * xterm.c (x_list_fonts): Ensure caching font information when
1452 called for a null frame, which is the case frequently when Emacs
1453 starts.
1454
51446987
GM
14552001-01-17 Gerd Moellmann <gerd@gnu.org>
1456
f864120f
GM
1457 * xfns.c (QCconversion): Replaces QCalgorithm.
1458
1459 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
1460
1461 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
1462 of :algorithm.
1463
e37d1417
GM
1464 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
1465 not everything could be displayed.
1466
51446987
GM
1467 * line.h, x-list-font.c: Files removed because unused.
1468
9ad4f3e5
AI
14692001-01-17 Andrew Innes <andrewi@gnu.org>
1470
1471 * dired.c (directory_files_internal): Convert result from readdir
1472 to a unibyte string initially, to avoid possible misinterpretation
1473 of some bytes as the internal form of Emacs characters.
1474
2eda09b5
KH
14752001-01-17 Kenichi Handa <handa@etl.go.jp>
1476
1477 * fns.c (concat): Be sure to avoid putting the same `composition'
1478 property on the adjacent regions.
1479
826f3788
GM
14802001-01-16 Gerd Moellmann <gerd@gnu.org>
1481
f251459d
GM
1482 * window.c (Fset_window_hscroll): Don't set window's min_hscroll
1483 here.
1484 (Fscroll_right, Fscroll_left): Set it here instead, if called
1485 interactively.
1486
d57b83b3
GM
1487 * buffer.c (Fset_buffer_modified_p): Set buffer's
1488 prevent_redisplay_optimizations_p flag.
1489
826f3788
GM
1490 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
1491 * sysdep.c, vmsproc.c, xselect.c: Call
1492 redisplay_preserve_echo_area with additional arg.
1493
1494 * dispextern.h, lisp.h (redisplay_preserve_echo_area): Change
1495 prototype.
1496
1497 * xdisp.c (redisplay_preserve_echo_area): Add parameter
1498 FROM_WHERE, for debugging.
1499
261d788b
KH
15002001-01-16 Kenichi Handa <handa@etl.go.jp>
1501
1502 * ccl.c (Fregister_ccl_program): Handle the return value of
1503 resolve_symbol_ccl_program correctly.
bda6b481
KH
1504 (CCL_Extension): Fix typo (originally CCL_Extention). Caller
1505 changed.
261d788b 1506
bccee4f2
GM
15072001-01-15 Gerd Moellmann <gerd@gnu.org>
1508
e4ded23c
GM
1509 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
1510 has gone in the meantime, use face MOUSE_FACE_ID.
1511
ae24cb3b
GM
1512 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: If
1513 x_display_info_for_display returns null, don't try to close
1514 the display; we didn't open it.
1515
bccee4f2
GM
1516 * dispnew.c (save_or_restore_current_matrices): Function removed.
1517 (save_current_matrix, restore_current_matrix): New functions.
1518 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
1519 restore the frame's current matrix. Due to the glyph pointer
1520 setup done in adjust_glyph_matrix, there is no easy way to make
1521 saving the current matrix in the desired matrix generally correct,
1522 so don't try it.
1523
ebeccffa
KH
15242001-01-15 Kenichi Handa <handa@etl.go.jp>
1525
1526 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
1527 truncation glyphs.
1528 (display_line): Optimize for wide characters.
e4ded23c 1529 (display_string): Don't try to display a multi-column character
ebeccffa
KH
1530 partially. On ttys, produce more than one truncation glyph for
1531 multi-column characters that don't fit on the line.
1532
64388126
KH
15332001-01-13 Kenichi Handa <handa@etl.go.jp>
1534
1535 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]: Define
1536 it instead of WORDS_BIGENDIAN. Caller changed.
1537
8edb0a6f
JR
15382001-01-13 Jason Rumney <jasonr@gnu.org>
1539
1540 * w32fns.c (Fimage_size, image_ascent, lookup_image)
1541 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
1542 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1543 (tiff_format, gif_format, gs_format): Adapt to change of image
1544 margins.
1545
1546 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
1547 (x_draw_image_relief, x_draw_image_foreground_1)
1548 (x_draw_image_glyph_string): Adapt to change of image margins.
1549
1550 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
1551 variables.
1552
1553 * w32bdf.c (search_file_line, get_cached_font_char)
1554 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
1555
1556 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
1557
1558 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
1559 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
1560 (Fw32_send_sys_command): Remove unused variables.
1561 (w32_msg_pump): Add parentheses.
1562
1563 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
1564 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
1565 Add parentheses.
1566
4956d1ef
GM
15672001-01-12 Gerd Moellmann <gerd@gnu.org>
1568
b30623be
GM
1569 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
1570 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
1571 being a pair of margins.
1572 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
1573 to DEFVAR_LISP. Extend doc.
1574
1575 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
1576 margins.
1577 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
1578 pair of integers `(X . Y)', use X for the horizontal and Y for the
1579 vertical margin.
1580 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
1581 (parse_image_spec): Check it.
1582 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
1583 (tiff_format, gif_format, gs_format): Use
1584 IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
1585
1586 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
1587 (x_draw_image_relief, x_draw_image_foreground_1)
1588 (x_draw_image_glyph_string): Adapt to the change of image margins.
1589
1590 * dispextern.h (struct image): Replace member `margin' with
1591 `hmargin' and `vmargin'.
1592
4554cc79
GM
1593 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
1594 and GLYPHS.
1595
1596 * dispnew.c (update_text_area): Put code which decrements the
1597 stop position when the row's face extends to the end of the
3bffc665 1598 line in #if 0.
4554cc79 1599
3cccce8d
GM
1600 * xfns.c (x_set_mouse_color): Fix color allocation.
1601
4956d1ef
GM
1602 * keyboard.c: Call get_local_map with new argument list.
1603
1604 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
1605
1606 * intervals.h (enum map_property): Removed.
1607 (get_local_map): Change prototype.
1608
1609 * keymap.c: Call get_local_map with new argument list.
1610 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
1611
2c2ff7f2
GM
16122001-01-11 Gerd Moellmann <gerd@gnu.org>
1613
a23887b9
GM
1614 * xdisp.c (build_desired_tool_bar_string): Correct the computation
1615 of the size needed for the tool bar string. For the last image,
1616 use a `display' property that reaches to the end of the string.
1617
a7ee2d2e
GM
1618 * xselect.c (selection_request_dpyinfo): New variable.
1619 (x_handle_selection_request): Set it.
1620 (x_selection_request_lisp_error): Don't call
1621 x_decline_selection_request if selection request's display has
1622 been closed.
1623
2c2ff7f2
GM
1624 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]: Do
1625 the unregister_colors before calling XFreeColors.
1626
457b792c
GM
16272001-01-10 Dave Love <fx@gnu.org>
1628
1629 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
1630 ${SOME_MACHINE_LISP}, not ${lisp}.
1631
c1efd260
GM
16322001-01-10 Gerd Moellmann <gerd@gnu.org>
1633
a98b5ed9 1634 * xdisp.c (display_line): On ttys, produce more than one
4554cc79 1635 truncation glyph for multi-column characters that don't fit on the
a98b5ed9
GM
1636 line.
1637
ac95a621
GM
1638 * xselect.c (x_reply_selection_request): Add a comment.
1639
c1efd260
GM
1640 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
1641 XkbGetNames instead of XkbGetKeyboard.
1642
1bfb1345
DL
16432001-01-10 Dave Love <fx@gnu.org>
1644
1645 * sysdep.c (random): Revert the declaration.
1646
38119822
GM
16472001-01-09 Gerd Moellmann <gerd@gnu.org>
1648
35f464a7
GM
1649 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]: Call
1650 function string_bytes.
1651 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
1652
1653 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
1654 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
1655 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
1656 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
1657 the current sblock.
1658 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
1659 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
1660 after sweeping strings, and at the end.
1661 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
1662
38119822
GM
1663 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
1664 ensure that pop_message is called.
1665
1666 * keyboard.c (Fexecute_extended_command): Use a
1667 record_unwind_protect to ensure that pop_message is called.
1668
1669 * lisp.h (push_message_unwind): Add prototype.
1670
1671 * xdisp.c (push_message_unwind): New function.
1672
1673 * fileio.c (do_auto_save_unwind): Do the pop_message here
1674 instead of in Fdo_auto_save.
1675 (Fdo_auto_save): Don't call pop_message.
1676
f47a9ec4
KR
16772001-01-08 Ken Raeburn <raeburn@gnu.org>
1678
1679 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
1680 in inner block.
1681
a758f97d
GM
16822001-01-08 Gerd Moellmann <gerd@gnu.org>
1683
6d0afc03
GM
1684 * window.c (window_scroll_pixel_based): Adjust glyph matrices
1685 when increasing window's vscroll.
1686
a758f97d
GM
1687 * macros.c (Qkbd_macro_termination_hook): New variable.
1688 (syms_of_macros): Initialize and staticpro it.
1689 (pop_kbd_macro): Run kbd-macro-termination-hook.
1690
1691 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
1692
1bfb1345 16932001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
1694
1695 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
1696 arglist, for documentation's sake.
1697
0dac6924
AI
16982001-01-06 Andrew Innes <andrewi@gnu.org>
1699
1700 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
1701 of *.pdb.
1702
8182406a
AI
17032001-01-05 Andrew Innes <andrewi@gnu.org>
1704
1705 * term.c (update_end): Don't check updating_frame; for some reason
1706 this can be 0 sometimes, such as after dismissing a popup menu,
1707 and isn't necessary given the explicit frame argument.
1708
3828218c
GM
17092001-01-05 Gerd Moellmann <gerd@gnu.org>
1710
1711 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
1712 on some systems, and an unsigned long on others, like FreeBSD 4.1.
1713
2f5ded21
GM
17142001-01-04 Gerd Moellmann <gerd@gnu.org>
1715
1716 * xterm.c (clear_mouse_face): Don't return if tip_frame is
1717 non-nil.
1718
1719 * xfns.c (x_create_tip_frame): Preserve the value of
1720 face_change_count around the creation of the tip frame.
1721
1722 * xfns.c (last_show_tip_args): New variable.
1723 (compute_tip_xy): New function.
1724 (Fx_show_tip): Reuse an existing tip frame, if possible.
1725 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
1726
dfad65fa
DL
17272001-01-04 Dave Love <fx@gnu.org>
1728
64d4ec0f
DL
1729 * editfns.c (Fformat): Doc fix.
1730
dfad65fa
DL
1731 * systime.h (set_file_times): Prototype.
1732
1733 * widget.h (EmacsFrameSetCharSize_): Prototype.
1734
1735 * sysdep.c (random, srandom): Declare explicitly.
1736
1737 * dispextern.h (move_it_vertically_backward): Declare.
1738
85fe3b5e
GM
17392001-01-04 Gerd Moellmann <gerd@gnu.org>
1740
0f2ac578
GM
1741 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
1742 like in Fx_create_frame.
1743
482cca61
GM
1744 * xfaces.c (set_font_frame_param): Don't do anything for
1745 non-graphical frames.
1746
85fe3b5e
GM
1747 * window.c (Fdelete_other_windows): Set window's window_end_valid
1748 to nil when changing the window's start. Don't change the
1749 window's start when its top position hasn't changed. If we do,
1750 this will set the window's optional_new_start, which act's like a
1751 force_start during redisplay with C-x 1 M-> under particular
1752 circumstances (see report from Per Starback to emacs-pretest-bug
1753 from 2000-12-13.).
1754
3e99d3b4
GM
17552001-01-03 Gerd Moellmann <gerd@gnu.org>
1756
a77dc1ec
GM
1757 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
1758 short cut at the start of the function. Add an assertion.
1759 (reseat_at_next_visible_line_start): Add an assertion.
1760
2f3cad6c
GM
1761 * window.c (Frecenter): When changing the window start, set the
1762 window's window_end_valid to nil.
1763 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
1764
1765 * dispextern.h (move_it_past_eol): Add prototype.
1766
1767 * xdisp.c (move_it_past_eol): New function.
1768
3e99d3b4
GM
1769 * window.c (Fwindow_end): Doc fix.
1770
17712001-01-03 Dave Love <fx@gnu.org>
1772
1773 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3
1774 kluge.
1775
bafb434c
GM
17762001-01-03 Gerd Moellmann <gerd@gnu.org>
1777
1778 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
1779 the enabled_p flag of the glyph row at window_end_vpos to 0.
1780 (handle_single_display_prop): Fix last change.
1781
5297fb00
RS
17822001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1783
1784 * window.c (Frecenter): Doc fix.
1785
13d6a61c
AI
17862001-01-02 Andrew Innes <andrewi@gnu.org>
1787
1788 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
1789
1790 * frame.h (output_method): Add output_w32_console method.
1791 (FRAME_W32_CONSOLE_P): New macro.
1792
1793 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
1794 use output_w32_console method.
1795 (Qw32_console): New Lisp_Object.
1796 (Fframep): Return it.
1797 (syms_of_frame): Init it.
1798 (Fframe_parameters): Report w32console as font for w32_console
1799 frames.
1800
1801 * xfaces.c (realize_default_face): Set face foreground and
1802 background to unspecified for w32_console frames.
1803 (realize_face): Realize face cache for w32_console frames.
1804 (realize_tty_face): Accept w32_console frames.
1805
1806 * xdisp.c (handle_single_display_prop): Return if frame is
1807 w32_console.
1808 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
1809 necessary, even if running interactively.
1810
1811 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
1812 w32_console frames.
1813
1814 * w32term.c (x_update_begin):
1815 (x_update_end):
1816 (x_clear_frame):
1817 (x_ins_del_lines):
1818 (x_change_line_highlight):
1819 (x_delete_glyphs):
1820 (w32_ring_bell):
1821 (x_update_begin):
1822 (x_update_end):
1823 (w32_reassert_line_highlight):
1824 (w32_frame_rehighlight):
1825 (w32_frame_raise_lower): Do nothing if not w32 frame.
1826
1827 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
1828
1829 * w32fns.c (Fx_display_color_cells): Determine correct value, when
1830 system doesn't tell us directly.
1831 (Fx_display_visual_class): Implement properly.
1832
d6bb0c0d
GM
18332001-01-02 Gerd Moellmann <gerd@gnu.org>
1834
1835 * window.c (Frecenter): Handle centering in graphical frames
1836 specially. Centering on the basis of line counts doesn't work
1837 reliably with variable-height lines.
1838
315f5865
EZ
18392001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
1840
1841 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
1842 and al[].
1843
1844 * composite.c (run_composition_function): Remove unused variable
1845 `val'.
1846 (update_compositions): Remove unused variable `hook'.
1847
1848 * intervals.c (get_local_map): Remove unused variable `tem'.
1849
1850 * doprnt.c (doprnt1): Remove unused variable `size'.
1851
1852 * fns.c (Flength): Remove unused variable `tail'.
1853 (Fdelete): Remove unused variable `size'.
1854
1855 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
1856 and `gcpro2'.
1857
1858 * doc.c (Fsnarf_documentation): Remove unused variables `fun' and
1859 `tem'.
1860
1861 * data.c (find_symbol_value): Remove extra 3rd argument in the
1862 call to swap_in_symval_forwarding.
1863
1864 * undo.c (Fprimitive_undo): Remove unused block-scope variable
1865 `end'.
1866
1867 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
1868 (trivial_regexp_p): Remove unused variable `c'.
1869 (boyer_moore): Remove unused variable `k'.
1870
1871 * indent.c (current_column): Remove unused variable `stopchar'.
1872 (Fcompute_motion): Remove unused variable `contin'.
1873
1874 * casefiddle.c (casify_object): Remove unused variable `tolen'.
1875
1876 * dired.c (directory_files_internal): Fix a typo in a comment.
1877 Remove an unused variable `handler'.
1878 (file_name_completion): Remove unused function-scope variable
1879 `dp'.
1880 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
1881 on BSD4_2.
1882
1883 * fileio.c (e_write): Remove unused variable
1884 `require_encoding_p'.
1885
1886 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
1887 and `buf'.
1888 (Fmarker_insertion_type): Remove unused variable `buf'.
1889
1890 * insdel.c (make_gap): Remove unused variable `result'.
1891
1892 * keyboard.c (record_char): Remove unused function-scope variable
1893 `help'.
1894 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
1895 (menu_bar_items): Remove unused function-scope variable `tem'.
1896
1897 * fontset.c (fontset_ref): Remove unused variable `i'.
1898 (fontset_set): Remove unused variables `j' and `tmp'.
1899 (make_fontset): Remove unused variables `i', `j', `elt' and
1900 `base_elt'.
1901 (make_fontset_for_ascii_face): Remove unused variable `name'.
1902 (fs_load_font): Remove unused variable `font_idx'.
1903 (fs_query_fontset): Remove unused function-local variable
1904 `fontset'.
1905 (list_fontsets): Remove unused variable `tail'.
1906 (Fnew_fontset): Remove unused variables `family' and `registry'.
1907 (accumulate_font_info): Remove unused variable `tmp'.
1908 (Ffontset_font): Remove unused variable `id'.
1909 (syms_of_fontset): Remove unused variable `i'.
1910
1911 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
1912 to x_term_init.
1913 (lookup_image): Remove unused variable `file'.
1914 (xbm_load): Remove unused variables `bitmap_data', `height', and
1915 `width'. Remove function-local variable `i', leave the
1916 block-local one.
1917 (gif_load): Remove unused variable `inc'.
1918
1919 * xterm.c (XTread_socket): Remove unused variables `p' and
1920 `pend'.
1921 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
1922 leave only the one in the inner block.
1923
1924 * xfaces.c (face_fontset, realize_default_face): Remove unused
1925 variable `fontset'.
1926 (face_at_buffer_position): Remove unused variable `multibyte_p'.
1927
1928 * term.c (encode_terminal_code): Remove unused variable `c'.
1929
1930 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
1931 char *' instead of `char *'.
1932
1933 * category.c (Fcategory_docstring): Remove unused variable `doc'.
1934 (Fget_unused_category): Remove unused variable
1935 `docstring_vector'.
1936 (Fchar_category_set): Remove unused variables `val', `charset',
1937 `c1' and `c2'.
1938
1939 * coding.c (detect_coding_iso2022, setup_coding_system): Remove
1940 unused variable `i'.
1941 (detect_coding_mask): Remove unused variable `idx'.
1942 (detect_coding): Remove unused variable `i'.
1943 (ccl_coding_driver): Remove unused variable `result'.
1944 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
1945 (decode_coding_string): Remove unused variables `to' and
1946 `gcpro1'.
1947 (encode_coding_string): Remove unused variables `gcpro1' and
1948 `saved_coding_symbol'.
1949 (Ffind_coding_systems_region_internal): Remove function-local
1950 variable args[], leave only the block-local one.
1951 (code_convert_region1): Remove unused variable `len'.
1952
1953 * charset.c (char_printable_p): Remove unused variable `chars'.
1954 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
1955 (str_to_multibyte): Remove unused variable `c'.
1956
1957 * window.c (size_window): Remove block-local variable `min_size'.
1958
1959 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
1960 `header_line_height'.
1961 (append_space, extend_face_to_end_of_line): Declare `saved_what'
1962 enum display_element_type.
1963
1a8a9daf
GM
19642001-01-02 Gerd Moellmann <gerd@gnu.org>
1965
6dde6abc
GM
1966 * xterm.c (x_connection_closed): Catch X errors around all
1967 statements that call X. Save away the error message in a local
1968 copy.
1969
1883b2c6
GM
1970 * xterm.c (x_connection_closed): Set handling_signal to 0 at
1971 the start.
1972
a13be207
GM
1973 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
1974 in or at the start of invisible text.
1975
1a8a9daf
GM
1976 * dispnew.c (update_window): Don't check_current_matrix_flags.
1977
3608c0f9
JR
19782001-01-01 Jason Rumney <jasonr@gnu.org>
1979
1980 * w32fns.c (x_figure_window_size): Do not allow new_height and
1981 new_width of frame to override specified values.
1982
abb1acc4
KH
19832000-12-30 Kenichi Handa <handa@etl.go.jp>
1984
d279f620
KH
1985 * composite.c (find_composition): Fix a code for searching
1986 backward.
abb1acc4 1987
762a68ec
GM
19882000-12-29 Gerd Moellmann <gerd@gnu.org>
1989
9c8b8382
GM
1990 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New
1991 function.
1992 (update_window) [GLYPH_DEBUG]: Call it.
1993 (scrolling_window): Prevent including current rows which are below
1994 what's displayed in the window.
1995
1996 * xdisp.c (try_window_reusing_current_matrix)
1997 <new start <= old start>: Disable rows in the current matrix
1998 which are below the window after scrolling.
1999
762a68ec
GM
2000 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
2001 is zero. It's not worth the complexity.
2002 (invisible_text_between_p): Put in #if 0 because unused.
2003
2d5912c1
GM
20042000-12-28 Gerd Moellmann <gerd@gnu.org>
2005
46f6a258
GM
2006 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
2007 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
2008
89f93679
GM
2009 * keyboard.c (echo_char): If C is an integer, always call
2010 push_key_description. Former code could signal an invalid
2011 character error.
2012
2013 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
2014 If set, print multibyte text.
2015 (Fsingle_key_description): Call push_key_description with
2016 FORCE_MULTIBYTE set.
2017 (describe_buffer_bindings): Likewise.
2018
2019 * lisp.h (push_key_description): Add prototype.
2020
c06017fb
GM
2021 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
2022 around the call to redisplay_internal.
2023
f1d2ce7f
GM
2024 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2025
2d5912c1
GM
2026 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
2027
9371f831
KH
20282000-12-28 Kenichi Handa <handa@etl.go.jp>
2029
2030 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
2031 (ccl_driver): New local variable `extra_bytes'.
2032
2033 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
2034
2035 * coding.c (setup_coding_system): Initialize
2036 coding->spec.ccl.eight_bit_carryover.
2037 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
2038
0c80628a
KH
20392000-12-28 Kenichi Handa <handa@etl.go.jp>
2040
2041 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
2042 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
2043 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
2044 (decode_composition_emacs_mule): New function.
2045 (decode_coding_emacs_mule): Decode composition sequence by calling
2046 decode_composition_emacs_mule.
2047 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
2048 (encode_coding_emacs_mule): Changed from macro to function. If
2d5912c1 2049 a text contains compositions, encode them correctly.
0c80628a
KH
2050 (setup_coding_system): Set coding->commong_flags for emacs-mule so
2051 that decoding and encoding are required.
2052
3e32cc27
GM
20532000-12-27 Gerd Moellmann <gerd@gnu.org>
2054
5e25feee
GM
2055 * xfaces.c (PT_PER_INCH): New macro.
2056 (xlfd_point_size): Compute real point size from font's pixel size.
2057 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
2058 instead of 72.
2059
892d8fcd
GM
2060 * .gdbinit: Comment out the line pointing to the Lesstif source
2061 directory.
2062
12c8b416
GM
2063 * window.c (Frecenter): Use displayed_window_lines instead
2064 of window_internal_height.
2065
6061fbf0
GM
2066 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2067 instead of x-toolkit-scroll-bars-p.
2068 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2069
2070 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
2071 instead of x-toolkit-scroll-bars-p.
2072 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
2073
3e32cc27
GM
2074 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
2075 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
2076 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]: New
2077 variables.
2078 (add_window_display_history, add_frame_display_history)
2079 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
2080 (build_frame_matrix_from_leaf_window): Remove unused code.
2081 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
2082 redisplay history.
2083 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
2084 (update_window) [GLYPH_DEBUG]: Likewise.
2085 (syms_of_display): Defsubr dump-redisplay-history.
2086
31798cfe
GM
20872000-12-23 Gerd Moellmann <gerd@gnu.org>
2088
f717c2ba
GM
2089 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
2090 the end of the prompt. Set echo_after_prompt to the offset
2091 of echoptr in echobuf.
2092
aeb2b8fc
GM
2093 * xdisp.c (init_from_display_pos): Pop until the iterator's
2094 stack is empty; there may be frames for stretch or images
2095 on the stack.
2096
31798cfe
GM
2097 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
2098 (save_or_restore_current_matrix): New function for the same
2099 purpose, but more efficient.
2100 (adjust_frame_glyphs_for_frame_redisplay): Use it.
2101
f8156156
EZ
21022000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
2103
2104 * xdisp.c (syms_of_xdisp): Fix last change.
2105
bdd6d4e8
GM
21062000-12-23 Gerd Moellmann <gerd@gnu.org>
2107
2108 * xdisp.c (syms_of_xdisp): Doc fix.
2109
2110 * xdisp.c (redisplay_window): Remove label restore_buffers;
2111 use finish_scroll_bars instead to make sure that scroll bars
2112 are redeemed. If we don't do this, flickering can result from
2113 scroll bars being destroyed and recreated.
2114
9436cdf9
JR
21152000-12-22 Jason Rumney <jasonr@gnu.org>
2116
2117 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
2118 in the wrong colors when the foreground is not black.
2119 (expose_window): Don't redraw the window that's currently being
2120 updated.
2121
951f9df5
GM
21222000-12-22 Gerd Moellmann <gerd@gnu.org>
2123
856ff7a7
GM
2124 * window.c (size_window): When setting the window's too_small_ok
2125 flag, compare old size with minimum size depending on WIDTH_P,
2126 don't compare with window_min_width.
2127
951f9df5
GM
2128 * window.c (delete_window): Simplify somewhat.
2129 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
2130 freeing window matrices. The flag windows_or_buffers_changed is
2131 set, so the next redisplay will consider all windows; this should
2132 suffice.
2133
886bc933
KH
21342000-12-22 Kenichi Handa <handa@etl.go.jp>
2135
2136 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
2137
2138 * ccl.h (struct ccl_program): New member cr_consumed.
2139
2140 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
2141 (CCL_READ_CHAR): Handle EOL conversion here.
2142 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
2143
177f4e88
GM
21442000-12-21 Gerd Moellmann <gerd@gnu.org>
2145
6ba384dc
GM
2146 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg
2147 GLYPHS.
2148
2149 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
2150 otherwise tabs of different size compare equal.
2151
2152 * callint.c (Fcall_interactively): Prevent a compiler warning.
2153
2154 * print.c (print_unwind): Return nil.
2155 (PRINTDECLARE): Initialize all local variables.
2156 (print_preprocess): Add a default case.
2157
8e15274f
GM
2158 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
2159
2160 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
2161
177f4e88
GM
2162 * window.c (delete_window, Fsplit_window)
2163 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
2164
2165 * dispextern.h (ensure_frame_matrix): Function declaration removed.
2166
2167 * dispnew.c (ensure_frame_matrix): Removed.
2168 (save_frame_matrix, restore_frame_matrix): New functions.
2169 (adjust_frame_glyphs_for_frame_redisplay): Use them.
2170
2171 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
2172 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
2173
99012074
AI
21742000-12-21 Andrew Innes <andrewi@gnu.org>
2175
2176 * w32term.c (x_update_begin): Regenerate the palette here, rather
2177 than for each window.
2178
2179 * w32xfns.c (select_palette): Avoid calling SelectPalette if
2180 palette is NULL, since this corrupts memory! Also get
2181 display_info reference from frame.
2182
29ef7d2d
JR
21832000-12-21 Jason Rumney <jasonr@gnu.org>
2184
2185 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
2186
2187 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
2188 to avoid returning without releasing it.
3e27fa1f 2189
3f9d67a6
KH
21902000-12-21 Kenichi Handa <handa@etl.go.jp>
2191
587fc3f9
KH
2192 * keymap.c (push_key_description): Don't convert eight-bit-control
2193 and eight-bit-graphic to multibyte character.
2194
3f9d67a6
KH
2195 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
2196 generic character and CODE1 is nil, return the smallest character
2197 in CHARSET.
2198
774ba8c9
DL
21992000-12-20 Dave Love <fx@gnu.org>
2200
2201 * s/osf5-0.h (NSIG): Don't redefine.
2202
88416888
SM
22032000-12-20 Stefan Monnier <monnier@cs.yale.edu>
2204
2205 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
2206 excluding menu-bar and tool-bar.
2207 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
2208 (menu_item_p): Remove.
2209 (where_is_internal_1): Don't ignore menu-items.
2210
a6426c6f
GM
22112000-12-20 Gerd Moellmann <gerd@gnu.org>
2212
03ff8aab
GM
2213 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
2214 into account.
2215
2216 * window.c (make_window): Initialize window's min_hscroll.
2217 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
2218 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
2219 to zero.
2220 (struct saved_window): New member min_hscroll.
2221 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
2222 (Fset_window_configuration): Set window's min_hscroll.
2223 (save_window_save): Save window's min_hscroll.
2224 (compare_window_configurations): Compare min_hscroll values.
2225
2226 * window.h (struct window): New member min_hscroll.
2227
2228 * keyboard.c (echo_prompt): Prevent a compiler warning.
2229
8de4aaf8
GM
2230 * xdisp.c (try_cursor_movement): Fix last change. The real
2231 condition is that PT is at the end of the row, and should
2232 be displayed at the start of the next row.
2233
3f7e3031
GM
2234 * xdisp.c (try_cursor_movement): If we end on a partially
2235 visible line, end we already decided to scroll, return -1.
2236
a6426c6f
GM
2237 * dispextern.h (ensure_frame_matrix): Add prototype.
2238
2239 * window.c (delete_window, Fsplit_window)
2240 (Fset_window_configuration): Call ensure_frame_matrix.
2241
2242 * dispnew.c (fake_current_matrices, ensure_frame_matrix): New
2243 functions.
2244 (adjust_frame_glyphs_for_frame_redisplay): If display has been
2245 completed, call fake_current_matrices instead of marking frame
2246 garbaged.
2247
57fa2774
JR
22482000-12-20 Jason Rumney <jasonr@gnu.org>
2249
2250 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
2251
d925df90
EZ
22522000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
2253
2254 * fns.c (Frequire): Doc fix.
2255
7b93a85b
GM
22562000-12-19 Gerd Moellmann <gerd@gnu.org>
2257
71d4497a
GM
2258 * window.c (window_scroll_pixel_based): Don't use
2259 move_it_vertically.
2260
c74e645b
GM
2261 * dispnew.c (direct_output_for_insert): Fix check for mini-window
2262 currently displaying a message.
2263
7b93a85b
GM
2264 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
2265 xterm.h.
2266 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
2267
90d97e64
AI
22682000-12-18 Andrew Innes <andrewi@gnu.org>
2269
2270 * w32.c (w32_strerror): New function.
2271
2272 * w32.h (w32_strerror): New extern.
2273
2274 * w32fns.c (Fw32_shell_execute): Use it.
2275
91c9e6ce
GM
22762000-12-18 Gerd Moellmann <gerd@gnu.org>
2277
2278 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
2279
6f4745e2
EZ
22802000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2281
2282 * msdos.c (IT_set_face): Obey inverse_video.
2283
c9e088ce
KH
22842000-12-18 Kenichi Handa <handa@etl.go.jp>
2285
2286 * dired.c (directory_files_internal): Always return decoded filenames.
2287
c3695f5f
GM
22882000-12-18 Gerd Moellmann <gerd@gnu.org>
2289
52d8e4ff
GM
2290 * xterm.c (x_connection_closed): Prevent being called recursively
2291 because of an error condition in XtCloseDisplay.
2292
62be9979
GM
2293 * xdisp.c (init_iterator): If noninteractive, and the frame's
2294 face cache is null, make one.
2295
5f7a1890
GM
2296 * xfns.c (show_busy_cursor): Check for live frames more
2297 thoroughly.
2298
c3695f5f
GM
2299 * process.c (wait_reading_process_input): Check for pending
2300 input when running timers.
2301
78555fbe
EZ
23022000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
2303
2304 * msdos.c (IT_write_glyphs): Compute the glyph face from
2305 str->face_id.
2306
b2b36264
KH
23072000-12-18 Kenichi Handa <handa@etl.go.jp>
2308
2309 * process.c (read_process_output): Don't run a filter if the code
2310 decoder produces nothing but carryover.
2311
9c543fbf
AI
23122000-12-17 Andrew Innes <andrewi@gnu.org>
2313
2314 * w32.c (sys_rename): Only check errno against EEXIST, and not
2315 EACCES, when determining whether rename failed because the target
2316 exists. This was resulting in indefinite looping on Windows 9x if
2317 the source file was locked by another process.
2318
2319 * w32fns.c (Ffile_system_info): New function.
2320 (syms_of_w32fns): Defsubr it.
2321
10c2b5a8
GM
23222000-12-17 Gerd Moellmann <gerd@gnu.org>
2323
b0228ace
GM
2324 * window.c (coordinates_in_window): Fix computation for
2325 position on vertical line between mode lines.
2326
10c2b5a8
GM
2327 * xfns.c (unwind_create_frame): Return t if frame was deleted.
2328 Don't alter tip_frame or tip_window.
2329 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2330 was deleted.
2331
c844a81a
GM
2332 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
2333 Don't alter tip_frame or tip_window.
2334 (unwind_create_tip_frame): Set tip_frame to nil only if frame
2335 was deleted.
2336
6c825f8e
EZ
23372000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
2338
2339 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
2340 be consistent with the doc string. Reported by NAKAJIMA Mikio
2341 <minakaji@osaka.email.ne.jp>.
2342
af4bb4c8
KH
23432000-12-16 Kenichi Handa <handa@etl.go.jp>
2344
2345 * xfaces.c (Vface_ignored_fonts): New variable.
2346 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
2347 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
2348
8062e53a
GM
23492000-12-15 Gerd Moellmann <gerd@gnu.org>
2350
e87b8809
GM
2351 * dispnew.c (update_window): Detect pending input every nth line
2352 updated, i.e. do it depending on real work done, and not on the
2353 vpos of the line.
2354
2355 * xterm.c (expose_window): Don't redraw the window that's
2356 currently being updated.
2357
a6768cc5
GM
2358 * window.c (Fset_window_point): Remove test for
2359 cursor_in_non_selected_windows.
2360
4ea7fdca
GM
2361 * lread.c (read1): Recognize end of file after `\\'.
2362
8062e53a
GM
2363 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
2364 not unwind_create_frame.
2365
bb7959c1
GM
23662000-12-15 Dave Love <fx@gnu.org>
2367
2368 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
2369 bcopy & al.
2370
2371 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
2372
ced04c42
KH
23732000-12-15 Kenichi Handa <handa@etl.go.jp>
2374
c5443913
KH
2375 * coding.c (setup_coding_system): Clear all members of the struct
2376 coding_system at first.
bc137305
KH
2377 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
2378 argument.
2379 (code_convert_region): Don't override coding->src_multibyte and
2380 coding->dst_multibyte.
c5443913 2381
ced04c42
KH
2382 * fns.c (Fmd5): Docstring improved.
2383
c2d7f289
MB
23842000-12-15 Miles Bader <miles@gnu.org>
2385
2386 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
2387 are actually marked as mode-lines; otherwise use
2388 estimate_mode_line_height.
2389
9d7d9263
GM
23902000-12-14 Gerd Moellmann <gerd@gnu.org>
2391
2392 * editfns.c (Fformat): Prevent a buffer overrun when the format
2393 specifies a precision.
2394
7cf0153a
EZ
23952000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
2396
2397 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
2398 argument is outside the range [2..3].
2399
1de0f662
AI
24002000-12-14 Andrew Innes <andrewi@gnu.org>
2401
2402 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
2403 nothing to do. Bind inhibit-quit.
2404 (tip_frame): Make it a Lisp_Object.
2405 (x_create_tip_frame): Set tip_frame after it has been added to
2406 Vframe_list.
2407 (Fx_show_tip): Don't set tip_frame here.
2408 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New
2409 variables.
2410 (unwind_create_frame, unwind_create_tip_frame): New functions.
2411 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2412 while a frame is only partially constructed.
2413
2414 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2415 (x_free_frame_resources): New function.
2416 (x_destroy_window): Use it.
2417
02387dcc
GM
24182000-12-14 Gerd Moellmann <gerd@gnu.org>
2419
2420 * xfns.c (Fx_backspace_delete_keys_p): New function.
2421 (syms_of_xfns): Defsubr it.
2422
2423 * config.in (HAVE_XKBGETKEYBOARD): Add.
2424
0544ef49
KH
24252000-12-14 Kenichi Handa <handa@etl.go.jp>
2426
98d62747
KH
2427 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
2428 Always store string in multibyte representation in echobuf.
2429 (echo_char): Always store string in multibyte representation in
2430 echobuf.
2431 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
2432 (read_key_sequence): Adjusted for the change of echo_prompt.
2433
a20193cd
KH
2434 * fns.c (Fmd5): Docstring improved.
2435
191b83b6
KH
2436 * lisp.h (detect_coding_system): Prototype adjusted.
2437
0544ef49
KH
2438 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
2439 (detect_coding_emacs_mule, detect_coding_iso2022,)
2440 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
2441 (detect_coding_utf_16, detect_coding_ccl): Make them static. New
2442 argument MULTIBYTEP. Callers changed.
2443 (detect_coding_mask, detect_coding_system): New argument
2444 MULTIBYTEP. Callers changed.
1da1bb05
KH
2445 (decode_coding_string): Set coding->src_multibyte and
2446 coding->dst_multibyte before calling detect_coding and detect_eol.
2447 Update them after some coding system is detected.
2448
d5b3eb1b
SM
24492000-12-13 Stefan Monnier <monnier@cs.yale.edu>
2450
2451 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
2452
2453 * keyboard.c (menu_bar_items, tool_bar_items):
2454 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
2455
f7f8bb69
GM
24562000-12-13 Gerd Moellmann <gerd@gnu.org>
2457
19f71add
GM
2458 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
2459 New variables.
2460 (unwind_create_frame, unwind_create_tip_frame): New functions.
2461 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
2462 while a frame is only partially constructed.
2463
2464 * xterm.h (x_free_frame_resources): Declare.
2465
2466 * xterm.c (x_free_frame_resources): New function.
2467 (x_destroy_window): Use it.
2468
e10da507
GM
2469 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
2470 don't interrupt the update for pending input initially, i.e.
2471 update at least some lines.
2472
2473 * keyboard.c (do_mouse_tracking): Make externally visible.
2474
d5b3eb1b 2475 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
2476
2477 * xfns.c (gray_bitmap_bits): Declare `char *'.
2478
90aa2856
GM
24792000-12-12 Gerd Moellmann <gerd@gnu.org>
2480
2481 * xdisp.c (display_tool_bar_line): Make sure that tool bar
2482 lines start with a relief line.
2483
a308c9cd
DL
24842000-12-12 Dave Love <fx@gnu.org>
2485
2486 * window.c (Fdisplay_buffer): Doc fix.
2487 (Fwindow_list): Remove unused var.
2488
2489 * buffer.h (mmap_set_vars): Declare.
2490
2491 * window.h (Fset_window_point): Declare.
2492
d575011f
EZ
24932000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
2494
bf6282d2 2495 * msdos.c (fast_find_position): Don't overstep the last window row.
d575011f
EZ
2496 (IT_note_mouse_highlight): Initialize portion to -1. Remove
2497 unused variable `area'. When looking for a row under (X,Y), give
2498 up if some of the previous rows is not enabled.
2499
ecf4d726
GM
25002000-12-12 Gerd Moellmann <gerd@gnu.org>
2501
2ebf6139
GM
2502 * window.c (Fset_window_point): If displaying cursors in windows
2503 other than the selected window, make sure redisplay updates
2504 other windows to show the new value of point in the window.
2505
2506 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
2507
bfdb75ee
GM
2508 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
2509 the buffer is the sole visible buffer when in the mini-buffer.
2510
4fdbd809
GM
2511 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
2512 Bind `inhibit-read-only' to t.
2513 (unwind_with_echo_area_buffer): Use AREF.
2514
c0006262
GM
2515 * xfns.c (Fx_hide_tip): Simplified.
2516
e9a59cad
GM
2517 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use
2518 GC_MAKE_GCPROS_NOOPS instead of `1'.
2519
ecf4d726
GM
2520 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
2521
e5959a9a
GM
25222000-12-11 Gerd Moellmann <gerd@gnu.org>
2523
a3642e49
GM
2524 * xfns.c (Fx_hide_tip): Fix last change.
2525
44b5a125
GM
2526 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
2527 nothing to do. Bind inhibit-quit.
2528 (tip_frame): Make it a Lisp_Object.
2529 (x_create_tip_frame): Set tip_frame after it has been added to
2530 Vframe_list.
2531 (Fx_show_tip): Don't set tip_frame here.
2532
2533 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
2534
2535 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
2536 Lisp_Object.
2537
2538 * dispextern.h: Change external declaration of tip_frame.
2539
d990421f
GM
2540 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
2541 return an empty string.
2542
4db87380
GM
2543 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
2544 of the window's update_mode_line flag, since the former is set by
2545 force-mode-line-update, not the latter. This makes
2546 column-number-mode slightly faster.
2547
e5959a9a
GM
2548 * xdisp.c (try_window_id) <all changes above window start>:
2549 Set the cursor.
2550
169fe44e
GM
25512000-12-11 Paul Eggert <eggert@twinsun.com>
2552
2553 * config.in (HAVE_FTELLO): Remove.
2554 (HAVE_FSEEKO): Add.
2555 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
2556 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
2557 HAVE_FTELLO.
2558 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
2559 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
2560
59ec59ae
MB
25612000-12-11 Miles Bader <miles@gnu.org>
2562
2563 * window.c (displayed_window_lines): Don't round up when
2564 converting empty space at bottom to lines.
ff904dd6
MB
2565 Handle non-newline-terminated final lines properly.
2566 (Fwindow_text_height): New function (used to be in lisp).
2567 (syms_of_window): Initialize it.
59ec59ae 2568
42ebfa31
SM
25692000-12-09 Stefan Monnier <monnier@cs.yale.edu>
2570
2571 * syntax.c (scan_lists): Check that the right quote char has the
2572 right Sstring syntax when jumping over strings.
2573 (init_syntax_once): Use Smax rather than 13.
2574
5cdb3cf3
MB
25752000-12-09 Miles Bader <miles@gnu.org>
2576
2577 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
2578 with PARTIALLY, inverting the sense.
2579 (window_scroll_pixel_based): Scroll partially visible lines into
2580 place if we hit the beginning or end of the buffer.
a12167c5
MB
2581 (displayed_window_lines): Don't include partially visible lines.
2582 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 2583
842b2a94
GM
25842000-12-08 Gerd Moellmann <gerd@gnu.org>
2585
2586 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
2587
2588 * tparam.c (tparam1): Change the way buffers are reallocated to be
2589 portable and less obfuscated.
2590
2591 * termcap.c (tgetent): Change the way buffers are reallocated to
2592 be portable and less obfuscated.
2593
2594 * macros.c (store_kbd_macro_char): Change the way buffers are
2595 reallocated to be portable and less obfuscated.
2596
2597 * lread.c (read1): Change the way buffers are reallocated to be
2598 portable and less obfuscated.
2599
2600 * doc.c (Fsubstitute_command_keys): Change the way buffers
2601 are reallocated so that it is portable.
2602
137cad7c
EZ
26032000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
2604
2605 * dosfns.c (Ffile_system_info): New function.
2606 (syms_of_dosfns): Defsubr it.
2607
5c7f629c
SM
26082000-12-07 Stefan Monnier <monnier@cs.yale.edu>
2609
2610 * alloc.c (gc_sweep): Add comment.
2611
959e647d
GM
26122000-12-07 Gerd Moellmann <gerd@gnu.org>
2613
28fcb7dc
GM
2614 * sound.c (vox_configure): Change order of ioctls. Don't
2615 set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
2616 Ignore errors when changing volume.
2617 (vox_close): Don't reset the device.
2618
926b7e5e
GM
2619 * process.c (read_process_output): Make sure the process marker's
2620 position is valid when the process buffer is changed in
2621 after-change functions. W3 does that.
2622
959e647d
GM
2623 * xfns.c (x_free_gcs): New function.
2624
2625 * xterm.h (x_free_gcs): Add prototype.
2626
2627 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
2628 freeing GCs here.
2629
2630 * xterm.c (x_destroy_window): Call x_free_gcs so that
2631 resources of non-toolkit X windows will be freed.
2632
478ea067
AI
26332000-12-07 Andrew Innes <andrewi@gnu.org>
2634
2635 * w32fns.c (xlfd_charset_of_font): Fix last change.
2636
fbee3231
DL
26372000-12-06 Dave Love <fx@gnu.org>
2638
67292061
DL
2639 * md5.h (__P): Don't define -- it comes from config.h.
2640
fbee3231
DL
2641 * strftime.c: Change some #if foo to #ifdef foo.
2642
4ee87dbb
AI
26432000-12-06 Andrew Innes <andrewi@gnu.org>
2644
2645 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
2646
2647 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname
2648 argument.
2649 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
2650 (w32_list_fonts): Don't choke if pattern doesn't specify a
2651 codepage.
2652
9765b4a4
GM
26532000-12-06 Gerd Moellmann <gerd@gnu.org>
2654
d285b373
GM
2655 * alloc.c (gc_sweep): Prevent symbols read during loadup
2656 from being freed.
2657
384333ee
GM
2658 * xdisp.c (underlying_face_id): New function.
2659 (handle_face_prop, face_before_or_after_it_pos): Use it
2660 to determine the face ``under'' a string. Let strings inherit
2661 the face of the buffer under them.
2662
2663 * xfaces.c (face_at_string_position): Update function comment.
2664
d4b72d58
GM
2665 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
2666 matrix if the window's left position has changed; we need to
2667 redraw it in this case.
2668
2669 * dispextern.h (struct glyph_matrix): Add member window_left_x.
2670
e1d05387
GM
2671 * window.c (coordinates_in_window): Check mouse on mode-line or
2672 header-line first.
2673
eb1b0c74
GM
2674 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
2675 advertized by the function documentation.
2676
d94d636f
GM
2677 * window.c (syms_of_window): Doc fix.
2678
3887b449
GM
2679 * sound.c (vox_configure): Set volume for left and right channel.
2680 (sound_cleanup): Return nil.
2681
efc8f57a
GM
2682 * xdisp.c (move_it_by_lines): Fix paren typo.
2683
9765b4a4
GM
2684 * xterm.c (x_load_font): Don't use the font's max_bounds for
2685 computing the height of the font. If max_bounds' ascent or
2686 descent are greater than the font's ascent or descent, this means
2687 glyphs overlap, which should be handled now by redisplay.
2688
6529ed87
GM
2689 * window.c (Veven_window_heights): New variable.
2690 (syms_of_window): DEFVAR_LISP it.
2691 (Fdisplay_buffer): Check Veven_window_heights before evening the
2692 window heights.
2693
0eb2ecde
MB
26942000-12-06 Miles Bader <miles@gnu.org>
2695
2696 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
2697 update `default-frame-alist' instead of setting no frame parameters.
2698
03d7a167
KH
26992000-12-06 Kenichi Handa <handa@etl.go.jp>
2700
2701 * composite.c (update_compositions): Fix typo (use the correct
2702 variable).
2703
5f8803c2
JR
27042000-12-05 Jason Rumney <jasonr@gnu.org>
2705
2706 * md5.h: Remove underscores from function declarations.
2707 (__attribute__, __alignof__) [!__GNUC__]: Define.
2708
2709 * md5.c: Delay include of md5.h until after namespace cleaning.
2710
c28a075b
JR
2711 * makefile.w32-in (fns.o): Depend on md5.h
2712 (md5.o): New target.
2713 (sunfns.o): Remove.
2714
2715 * makefile.nt: Likewise.
2716
ff3c7056
JR
27172000-12-05 Jason Rumney <jasonr@altavista.net>
2718
2719 * w32term.c (expose_area): Complete last change.
2720
0c21eeeb
KR
27212000-12-05 Ken Raeburn <raeburn@gnu.org>
2722
2723 * minibuf.c: Include intervals.h.
2724
f201d732
JR
27252000-12-05 Jason Rumney <jasonr@gnu.org>
2726
2727 * w32term.c (x_produce_glyphs): If a font for a component of
2728 a composition is not found, use 1 pixel dot ascent and 0 dot
2729 descent value to avoid displaying terribly tall empty boxes.
2730 (expose_area): Pass x-coordinate relative to the exposed
2731 area to x_draw_glyphs instead of a window-relative coordinate.
2732
21999ab9
GM
27332000-12-05 Gerd Moellmann <gerd@gnu.org>
2734
4d2036e4
GM
2735 * xdisp.c (next_element_from_ellipsis): Save face before selective
2736 display in saved_face_id, and set face_before_selective_p.
2737 (reseat_1): Reset face_before_selective_p.
2738 (append_space, extend_face_to_end_of_line): If iterator's
2739 face_before_selective_p is set, use the face from saved_face_id.
2740 (extend_face_to_end_of_line): For tty frames, make sure to
2741 use the right face id when producing spaces at the end of
2742 the line.
2743
2744 * dispextern.h (struct it): Add face_before_selective_p.
2745
52be17cc
GM
2746 * keyboard.c (record_char): Don't record identical help-echo
2747 events in recent_keys.
2748
8a4f36cc
GM
2749 * xterm.c [USE_X_TOOLKIT]: Close the display.
2750 (xim_close_dpy): Handle case that the display has been closed.
2751
57d6e381
GM
2752 * xterm.c (x_destroy_window): Reset the frame's X window after
2753 destroying it.
2754
21999ab9
GM
2755 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
2756 variable window_width.
2757 (line_draw_cost): Fix code skipping over spaces at the end of the
2758 line when must_write_spaces is not set.
2759 (scrolling_window): Fix code inserting runs in list of all runs.
2760
91372bb7
KH
27612000-12-05 Kenichi Handa <handa@etl.go.jp>
2762
2763 * coding.c (setup_coding_system): Be sure to initialize
2764 coding->category_idx.
2765
6c083b4c
GM
27662000-12-04 Gerd Moellmann <gerd@gnu.org>
2767
0c68ce6f
GM
2768 * xterm.c (PER_CHAR_METRIC): Removed because not used.
2769
6452929e
GM
2770 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
2771 area to x_draw_glyphs instead of a window-relative coordinate.
2772
d7f31e22
GM
2773 * fileio.c (auto_save_error): Add parameter ERROR. Show the
2774 error in the message.
2775
ae18aa3b
GM
2776 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
2777 timer after having read a key. It's not good for code reading
2778 several keys in a loop, like an input method.
2779
caa15ef7
GM
2780 * fileio.c (Finsert_file_contents): When VISIT is t, don't
2781 record undo information for format-decode.
2782
2783 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
2784 current buffer is read-only, not if it isn't.
2785
6c083b4c
GM
2786 * keyboard.c (record_char): Record `help-echo' input events
2787 in recent_keys only if they display some help. Don't record
2788 `help-echo' events as macro char.
2789
caa15ef7
GM
27902000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
2791
2792 * editfns.c (save_excursion_restore): Don't move point
2793 in another window if it is showing the wrong buffer.
2794 Avoid the call to Fwindow_live_p, for speed.
2795
5a13529b
KH
27962000-12-04 Kenichi Handa <handa@etl.go.jp>
2797
e225faa7
KH
2798 * xfaces.c (struct font_name): New member registry_priority.
2799 (split_font_name): Initialize the above member to zero.
2800 (concat_font_list): New function.
2801 (font_list): Include fonts of all alternative registries.
2802 (FONT_POINT_SIZE_QUANTUM): New macro.
2803 (better_font_p): Ignore point size difference less than
2804 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
2805
e89648b4
KH
2806 * xterm.c (x_produce_glyphs): If a font for a component of
2807 a composition is not found, use 1 pixel dot ascent and 0 dot
2808 descent value to avoid displaying terribly tall empty boxes.
2809
5a13529b
KH
2810 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
2811
d7935eb6
KR
28122000-12-03 Ken Raeburn <raeburn@gnu.org>
2813
2814 * coding.h (code_convert_string1): Declare.
2815
2816 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
2817
2818 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name):
2819 Declare.
2820
0dd5e255
JR
28212000-12-02 Jason Rumney <jasonr@gnu.org>
2822
2823 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
2824 correctly for single byte character case.
2825 (w32_per_char_metric): Do not try to make any assumptions about
2826 the metrics of BDF fonts.
250cfece
JR
2827 (x_estimate_mode_line_height): If `mode-line' face
2828 hasn't a font, use that of the frame, as drawing glyphs
2829 does.
2830 (note_mouse_highlight): Change the cursor shape on the vertical
2831 border between windows [not enabled].
2832
2833 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
2834
2835 * w32fns.c (Fx_create_frame): Reintroduce the call to
2836 face-set-after-frame-defaults.
2837 (Vx_window_horizontal_drag_shape): New variable.
2838 (syms_of_xfns): DEFVAR_LISP it.
2839 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
2840 enabled].
0dd5e255 2841
b5d8d2ca
GM
28422000-12-02 Simon Josefsson <simon@josefsson.org>
2843
2844 * fns.c (Fmd5): Use a different logic to decide the coding system
2845 to use.
2846
2847 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
2848
fbb87147
EZ
28492000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
2850
2851 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is
2852 NULL.
2853
447e9da0
GM
28542000-12-01 Gerd Moellmann <gerd@gnu.org>
2855
7708ced0
GM
2856 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
2857 height for YNegative.
2858 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
2859 height; also see comment there.
2860
447e9da0
GM
2861 * window.c (coordinates_in_window): Handle computations for
2862 positions on the vertical bar and fringes differently for
2863 window-system frames. Consider some pixels near the vertical bar
2864 as on the bar if the frame doesn't have vertical scroll bars.
2865 Associate positions between mode or header lines with the
2866 right window, the left one.
2867
86d1db20
JR
28682000-12-01 Jason Rumney <jasonr@gnu.org>
2869
2870 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
2871
2872 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
2873 invalid frame.
2874
a1d58e5b
GM
28752000-12-01 Gerd Moellmann <gerd@gnu.org>
2876
2877 * window.c (struct saved_window): Add members orig_top and
2878 orig_height.
2879 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
2880 (save_window_save, Fset_window_configuration): Save/restore
2881 window's orig_top and orig_height.
2882
89c609af
JR
28832000-12-01 Jason Rumney <jasonr@gnu.org>
2884
4d177746 2885 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 2886
89c609af
JR
2887 * w32fns.c (x_set_cursor_color): Fix last change.
2888
eccc05db
GM
28892000-11-30 Gerd Moellmann <gerd@gnu.org>
2890
31b6671b
GM
2891 * xdisp.c (echo_area_display): If cursor is in the echo area, make
2892 sure that the next redisplay displays the minibuffer, so that
2893 the cursor will be replaced with what the minibuffer wants.
2894
eccc05db
GM
2895 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
2896 #ifndef instead of using #if.
2897 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
2898 USE_TOOLKIT_SCROLL_BARS is defined.
2899
162de750
JR
29002000-11-30 Jason Rumney <jasonr@gnu.org>
2901
2902 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
2903 x_display_cursor.
2904
693c4692
GM
29052000-11-30 Gerd Moellmann <gerd@gnu.org>
2906
2907 * fns.c (Fmd5): Doc fix.
2908
b5d8d2ca 29092000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
2910
2911 * fns.c (Fmd5): New function.
2912 (syms_of_fns): Defsubr md5.
2913
2914 * Makefile.in (obj): Add md5.o
2915
b02cd40b
GM
29162000-11-30 Gerd Moellmann <gerd@gnu.org>
2917
edfb795e
GM
2918 * md5.h, md5.c: New files, taken from glibc.
2919
df3aedcf
GM
2920 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
2921
b02cd40b
GM
2922 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
2923 hasn't a font, use that of the frame, as drawing glyphs
2924 does.
2925
8b5176cd
SM
29262000-11-29 Stefan Monnier <monnier@cs.yale.edu>
2927
2928 * eval.c (Frun_hooks): Allow 0 arguments.
2929
346598f1
GM
29302000-11-29 Gerd Moellmann <gerd@gnu.org>
2931
f9396e03
GM
2932 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
2933 is over the menu bar widget, say it's not on the frame.
2934
4a967a9b
GM
2935 * xfns.c (Fx_create_frame): Reintroduce the call to
2936 face-set-after-frame-defaults.
2937
346598f1
GM
2938 * eval.c (Fsignal): Reset handling_signal.
2939
222456a1
JR
29402000-11-28 Jason Rumney <jasonr@gnu.org>
2941
2942 * w32menu.c (add_menu_item): Reset menu item text when changing
2943 type to radio button.
2944
8049ddc0
GM
29452000-11-28 Gerd Moellmann <gerd@gnu.org>
2946
346598f1 2947 * xselect.c: Update copyright.
f4f4ee4d 2948
bebe4a2c
GM
2949 * window.c (coordinates_in_window): If on a mode or header line,
2950 but sufficiently close to its start, return ``on vertical
2951 border''. This gives us a way to drag windows horizontally when
2952 using toolkit scroll bars.
2953
2954 * xterm.c (note_mouse_highlight): Change the cursor shape
2955 on the vertical border between windows.
2956
2957 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
2958
2959 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
2960 (syms_of_xfns): DEFVAR_LISP it.
2961 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
2962
8d2c2642
GM
2963 * textprop.c (text_read_only): New function.
2964 (verify_interval_modification): Use it instead of signaling
2965 `text-read-only'. This makes it easier to catch this error
2966 with a breakpoint.:
2967
8049ddc0
GM
2968 * xdisp.c (forward_to_next_line_start): Check for newlines,
2969 not end of line, which includes CR.
2970
5a2bae6c
KH
29712000-11-28 Kenichi Handa <handa@etl.go.jp>
2972
2973 * coding.c (Ffind_coding_systems_region_internal): Be sure to
2974 include no-conversion.
2975
ae31f84d
JR
29762000-11-27 Jason Rumney <jasonr@gnu.org>
2977
2978 * w32fns.c (w32_load_system_font): Always mark font as double byte
2979 if codepage is unicode.
2980
67f1cf4c
GM
29812000-11-27 Gerd Moellmann <gerd@gnu.org>
2982
4a74d071
GM
2983 * xdisp.c (forward_to_next_line_start): If already on a newline,
2984 just consume it to avoid unintended skipping over invisible text
2985 below.
2986
902ae620
GM
2987 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
2988 `vertical-line', `mode-line' and `header-line' events.
2989
2990 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
2991 of a character, a TAB for instance. This is easier than to set
2992 up the iterator exactly, and it's not a frequent case, so the
2993 additional effort wouldn't really pay off.
2994
c1e279c2
AC
29952000-11-26 Andrew Choi <akochoi@i-cable.com>
2996
67f1cf4c 2997 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
2998 init_window_once.
2999
a609568a
JR
30002000-11-25 Jason Rumney <jasonr@gnu.org>
3001
48b21762
JR
3002 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: Args
3003 to window_from_coordinates should be pixel coordinates.
3004
a609568a
JR
3005 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
3006 redisplay handles them properly.
3007
a658d039
MB
30082000-11-25 Miles Bader <miles@gnu.org>
3009
3010 * indent.c (compute_motion): Keep pos_byte in sync with pos.
3011
d3416cca
JR
30122000-11-24 Jason Rumney <jasonr@gnu.org>
3013
3014 * w32.c (init_environment): Set LANG environment variable based on
3015 locale settings, if not set.
3016
3017 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
3018 making tool bar smaller. When clearing the frame, also
3019 clear current matrices. Clear frame when tool bar disappears.
3020 Don't use more lines for the tool-bar than is available.
3021 (x_change_window_heights): New function.
3022
ba193890
GM
30232000-11-24 Gerd Moellmann <gerd@gnu.org>
3024
2be8f184
GM
3025 * xdisp.c (init_from_display_pos): If POS says we're already after
3026 an overlay string ending at POS, make sure to pop the iterator
3027 because it will be in front of that overlay string. When POS is
3028 ZV, we've thereby also ``processed'' overlay strings at ZV.
3029
ba193890
GM
3030 * xfaces.c (lface_from_face_name): Function comment fix.
3031
1862a24e
MB
30322000-11-24 Miles Bader <miles@gnu.org>
3033
3034 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
3035 apply `mode-line-inverse-video' -- zero means force display using
3036 the default face, non-zero means display using the specialized face.
3037 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
3038
f07fa1b8
KH
30392000-11-23 Kenichi Handa <handa@etl.go.jp>
3040
3041 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
3042 hard coded `4'.
3043
2bcdf662
EZ
30442000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
3045
3046 * coding.c (decode_coding_emacs_mule): Fix the case of
3047 CODING_EOL_LF, which used uninitialized value of c.
3048
ba8299ff
SM
30492000-11-23 Stefan Monnier <monnier@cs.yale.edu>
3050
3051 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
3052
f4117c4d
GM
30532000-11-22 Gerd Moellmann <gerd@gnu.org>
3054
03e757c1
GM
3055 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
3056 buffer object.
3057
f4117c4d
GM
3058 * frame.h (struct frame): Replace desired_tool_bar_items,
3059 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 3060 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
3061
3062 * frame.c (make_frame): Change initialization of tool bar
3063 items accordingly.
3064
3065 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 3066 Change references to members deleted from struct frame to use the
f4117c4d
GM
3067 new ones.
3068
3069 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
cc362d76 3070 references to members deleted from struct frame to use the new
f4117c4d
GM
3071 ones.
3072
3073 * dispnew.c (update_frame): Do nothing with frame's tool bar
3074 items.
3075
3076 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
3077
3078 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 3079 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
3080 from struct frame to use the new ones.
3081
f8e2f3f2
MB
30822000-11-23 Miles Bader <miles@gnu.org>
3083
3084 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
3085 the face's inverse-video attribute, rather than overriding it.
3086
60e8e0a5
GM
30872000-11-22 Gerd Moellmann <gerd@gnu.org>
3088
3089 * xfns.c (x_set_tool_bar_lines): Clear internal border when
3090 making tool bar smaller.
3091
92dd1b29
DL
30922000-11-22 Dave Love <fx@gnu.org>
3093
3094 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
3095
e672fdce
MB
30962000-11-22 Miles Bader <miles@gnu.org>
3097
3a17d6cc
MB
3098 * keyboard.c (Vminibuffer_message_timeout): New variable.
3099 (command_loop_1): Use it to determine message timeout.
3100 (syms_of_keyboard): Initialize it.
3101
60e8e0a5 3102 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 3103
e9655d81
KH
31042000-11-22 Kenichi Handa <handa@etl.go.jp>
3105
3106 * sysdep.c: Move the code for declaring h_errno after #include
3107 <netdb.h>.
3108
77270fac
GM
31092000-11-21 Gerd Moellmann <gerd@gnu.org>
3110
cd913aae
GM
3111 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
3112 the menu bar when the tooltip is unmapped.
3113
77270fac
GM
3114 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
3115 sole visible buffer when we're currently in the mini-buffer, and
3116 give up if so.
3117
556635d6
JR
31182000-11-21 Jason Rumney <jasonr@gnu.org>
3119
3120 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
3121 put on the clipboard.
3122 (Fw32_get_clipboard_data): Compare data on clipboard with saved
3123 copy of what Emacs last put there. If they are the same, do not
3124 use the clipboard copy to avoid losing data due to coding
3125 conversions.
3126
5b7bde64
MB
31272000-11-22 Miles Bader <miles@gnu.org>
3128
3129 * minibuf.c (Vminibuffer_prompt_properties): New variable.
3130 (syms_of_minibuf): Initialize it.
3131 (read_minibuf): Add properties from Vminibuffer_prompt_properties
3132 to prompt, don't make read-only.
3133
ff23e1dd
GM
31342000-11-21 Gerd Moellmann <gerd@gnu.org>
3135
3c64f287
GM
3136 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: Add
3137 BEFORE/AFTER_POTENTIAL_GC.
3138
7aaf4388
GM
3139 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
3140
f5f47add 3141 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 3142
ff23e1dd
GM
3143 * term.c, cm.c: Don't try to include termcap.h; see comment there.
3144
37c35586
KH
31452000-11-21 Kenichi Handa <handa@etl.go.jp>
3146
3147 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
3148 ... #endif scope.
3149
ff9ab414
GM
31502000-11-20 Gerd Moellmann <gerd@gnu.org>
3151
c51d2b5e
GM
3152 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
3153 screen supports it.
3154
29a01b72
GM
3155 * s/gnu-linux.h: Don't use `#cpu'.
3156
09dfdf85
GM
3157 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
3158 not defined in mman.h.
3159
ff9ab414
GM
3160 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New
3161 variables.
3162 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
3163 and store an index in the XClientMessageEvent. Storing a
3164 Lisp_Object or pointer can fail on a 64 bit system, since X only
3165 transfers 32 bits.
3166 (x_scroll_bar_to_input_event): Get the window from
3167 scroll_bar_windows.
3168
81459ac9
DL
31692000-11-20 Dave Love <fx@gnu.org>
3170
3171 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
3172
56c13ae6
GM
31732000-11-20 Gerd Moellmann <gerd@gnu.org>
3174
3175 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
3176
495a6df3
KH
31772000-11-20 Kenichi Handa <handa@etl.go.jp>
3178
2bcf3714
KH
3179 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
3180 by WIDTH.
3181
495a6df3
KH
3182 * alloc.c (make_string): Fix previous change. Be sure to make
3183 unibyte string correctly.
3184
6d950f4c
GM
31852000-11-19 Gerd Moellmann <gerd@gnu.org>
3186
39b39373
GM
3187 * window.c (Fwindow_list): Change parameter list to be XEmacs
3188 compatible.
3189 (window_list_1): New function.
3190 (window_loop): Use it instead of Fwindow_list.
3191
b95b34e5
GM
3192 * sysdep.c (emacs_ospeed): New variable.
3193 (toplevel): Don't declare ospeed extern.
3194 (init_baud_rate): Use emacs_ospeed instead of ospeed.
3195
3196 * termcap.c (ospeed): Remove.
3197 (tputs) [!emacs]: Remove unused code.
3198 (tgetent): Avoid a compiler warning.
3199
e83dc917
GM
3200 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
3201 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 3202 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
3203
3204 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
3205 removed.
3206 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
3207 Take the X display as additional argument.
3208 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
3209 `Widget' is a pointer type that's not easily stored in Lisp_Object
3210 form in a portable way.
3211
6d950f4c
GM
3212 * dispnew.c (update_text_area): Fix last change.
3213
e47306e6
GM
32142000-11-18 Gerd Moellmann <gerd@gnu.org>
3215
fb3cd89b
GM
3216 * xdisp.c: Use BINDING_STACK_SIZE throughout.
3217
3218 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
3219 clear current matrices.
3220
edaa9aed
GM
3221 * buffer.c (mmap_enlarge): Don't print a message on stderr
3222 if mapping new memory at the end of the existing region fails.
3223
e47306e6
GM
3224 * dispnew.c (update_text_area): Don't skip over equal glyphs
3225 when the last current glyph overlaps the glyph to its right.
3226
509633e3
MB
32272000-11-18 Miles Bader <miles@gnu.org>
3228
3229 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
3230 lines that *end* with "..." too (that's the most common case!).
3231
d392e9c5
GM
32322000-11-18 Gerd Moellmann <gerd@gnu.org>
3233
67988445
GM
3234 * xdisp.c (resize_mini_window): Temporarily change to the
3235 mini-window's buffer if necessary.
1bfdbe43 3236
d392e9c5
GM
3237 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
3238 the tooltip obscures less text under it.
3239
32402000-11-17 Gerd Moellmann <gerd@gnu.org>
3241
3242 * puresize.h (BASE_PURESIZE): Increase to 700000.
3243
92bb977f
JR
32442000-11-18 Jason Rumney <jasonr@gnu.org>
3245
3246 * w32term.c (w32_draw_bitmap): Use face to set colors.
3247
26fbf20b
DL
32482000-11-17 Dave Love <fx@gnu.org>
3249
3250 * lread.c (Fload): Fix #ifdef for pcc.
3251
100b593b
GM
32522000-11-17 Gerd Moellmann <gerd@gnu.org>
3253
3254 * xdisp.c (pos_visible_p): Compute the default character height
3255 differently.
3256
a288d0d1
GM
32572000-11-16 Gerd Moellmann <gerd@gnu.org>
3258
cac94de6
GM
3259 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
3260 knowing the line's height; use the default font's height in that
3261 case.
3262
a288d0d1
GM
3263 * xfaces.c (weight_table): Add `demi' with the same meaning as
3264 `demibold'.
3265
981fb6f6
KH
32662000-11-16 Kenichi Handa <handa@etl.go.jp>
3267
2cca872d 3268 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
3269 (clear_glyph_row): Delete local static variable null_row.
3270
e5fa381b
JR
32712000-11-15 Jason Rumney <jasonr@gnu.org>
3272
3273 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
3274 (w32_alloc_lighter_color): Use new brightness calculations from
3275 xterm.c. Scale delta to be in the range expected by W32.
3276 (w32_draw_relief_rect): Use frame relief colors.
3277
8e42f043
GM
32782000-11-15 Gerd Moellmann <gerd@gnu.org>
3279
6d133d1f
GM
3280 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
3281 (Qinhibit_default_face_x_resources): New variable.
3282 (syms_of_frame): Initialize it.
3283 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
3284
3285 * xdisp.c (pos_visible_p): Improve function comment.
3286
3287 * lisp.h (BINDING_STACK_SIZE): New macro.
3288
8e42f043
GM
3289 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
3290 reading the directory if readdir returns null and errno is EAGAIN
3291 or EINTR.
3292
e8c87124
SM
32932000-11-14 Stefan Monnier <monnier@cs.yale.edu>
3294
3295 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
3296 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
3297 Set amount_to_scroll to max of dx and scroll_step so that
3298 scroll-conservatively doesn't defeat scroll-step>1.
3299 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
3300 scroll-conservatively for line-at-a-time scrolling.
3301
5f0c971d
GM
33022000-11-14 Gerd Moellmann <gerd@gnu.org>
3303
3304 * window.c (Fpos_visible_in_window_p): Call pos_visible with
3305 extra argument.
3306
3307 * xdisp.c (current_mode_line_height, current_header_line_height):
3308 New variables.
3309 (init_xdisp): Initialize them.
3310 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
3311 and use exact mode line heights if it is set.
3312
3313 * lisp.h (pos_visible_p): Change prototype.
3314
3315 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
3316 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
3317 and current_header_line_height first.
3318 (current_mode_line_height, current_header_line_height): Declare
3319 extern.
3320
d7361edf
MB
33212000-11-14 Miles Bader <miles@lsi.nec.co.jp>
3322
3323 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
3324 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
3325 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
3326
ee5e440a
MB
33272000-11-14 Miles Bader <miles@gnu.org>
3328
3329 * xterm.c (x_alloc_lighter_color): Include an additive component
3330 too for dark colors, because FACTOR isn't enough.
3331 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
3332 New macros.
3333
5ca020fc
GM
33342000-11-13 Gerd Moellmann <gerd@gnu.org>
3335
3336 * keyboard.c (show_help_echo): Call message3_nolog with number of
3337 bytes in the help string as 2nd parameter, instead of the number
3338 of characters.
3339
9d348294
MB
33402000-11-13 Miles Bader <miles@gnu.org>
3341
3342 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
3343 (Fload): Use new openp return protocol.
3344 Don't try to use Vload_source_file_function to load .elc files.
3345 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
3346 openp return protocol.
3347 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
3348
1729bb9a
KH
33492000-11-11 Kenichi Handa <handa@etl.go.jp>
3350
4e677396
KH
3351 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
3352
3353 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
3354 Defined these macros.
3355 (NLIST_STRUCT): Avoid re-defining it.
3356
1729bb9a
KH
3357 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
3358 -I/usr/contrib/X11R6/include.
3359 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
3360
a82fe213
JR
33612000-11-10 Jason Rumney <jasonr@gnu.org>
3362
3363 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
3364
3365 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
3366 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
3367
3368 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
3369 (Qw32_charset_vietnamese): New symbol.
3370 (xlfd_charset_of_font): New function.
3371 (w32_load_system_font): Use it.
3372 (x_to_w32_charset): Use Fassoc to find charset info. Special case
3373 when Vw32_charset_info_alist is nil to ensure default face always
3374 has font. Use Fcar and Fcdr for safety.
3375 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
3376 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
3377 pseudo-codepages for special cases.
3378 (w32_to_x_font): New parameter to allow charset portion to be
3379 specified where there is many to one mapping. Callers changed.
3380 (w32_list_fonts): Avoid listing fonts that won't display.
3381
52d89894
GM
33822000-11-10 Gerd Moellmann <gerd@gnu.org>
3383
3384 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
3385 (font_list_1): Renamed from font_list.
3386 (font_list): New function, trying alternative registries from
3387 Vface_alternative_font_registry_alist.
3388 (Finternal_set_alternative_font_registry_alist): New function.
3389 (syms_of_xfaces): Initialize and Staticpro
3390 Vface_alternative_font_registry_alist. Defsubr
3391 Finternal_set_alternative_font_registry_alist.
3392
651cd3da
KR
33932000-11-09 Ken Raeburn <raeburn@gnu.org>
3394
3395 * lisp.h (Flooking_at): Declare.
3396
388ac098
GM
33972000-11-09 Gerd Moellmann <gerd@gnu.org>
3398
778fbc46
GM
3399 * dired.c (directory_files_internal): Fix a braino.
3400
388ac098
GM
3401 * dired.c (directory_files_internal): Add missing GCPRO's.
3402 Some cleanup.
3403
ecaedde1
GM
34042000-11-08 Gerd Moellmann <gerd@gnu.org>
3405
f7eb32aa
GM
3406 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
3407 (resize_mini_window): Return quickly if Vresize_mini_window is
3408 nil. Don't return if Vmax_mini_window_height is nil.
3409
3410 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
3411 (syms_of_xdisp): Initialize them.
3412 (resize_mini_window): Act according to the setting of
3413 Vresize_mini_window.
3414 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
3415
ecaedde1
GM
3416 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
3417 scroll bar widget after configuring it, so that it will appear at
3418 the right position from the start.
3419 (XTredeem_scroll_bar): Cleaned up.
3420
3747ef2c
KH
34212000-11-08 Kenichi Handa <handa@etl.go.jp>
3422
3423 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 3424 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
3425 division by two.
3426
3427 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
3428
03391420
DL
34292000-11-07 Dave Love <fx@gnu.org>
3430
7758f1c1 3431 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
3432
3433 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
3434
b5de343d
GM
34352000-11-07 Gerd Moellmann <gerd@gnu.org>
3436
acad3c0b
GM
3437 * window.c (Fset_window_configuration): Don't try to preserve
3438 point in the current buffer, if that buffer is displayed in more
3439 than one window.
3440
b5de343d
GM
3441 * xfaces.c (lookup_named_face): If default face isn't realized,
3442 try to realize it. Return -1 if not successful.
3443 (Fx_list_fonts): Handle case that face cannot be determined.
3444 (Fface_font): Likewise.
3445
cdb1fe49
GM
34462000-11-06 Gerd Moellmann <gerd@gnu.org>
3447
3448 * window.c (displayed_window_lines): Detect partially
3449 visible lines at the bottom correctly.
3450
d3a67486
SM
34512000-11-06 Stefan Monnier <monnier@cs.yale.edu>
3452
3453 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
3454 when ensuring we don't do visit in indirect buffer.
3455
ff8dd5d5
KH
34562000-11-06 Kenichi Handa <handa@etl.go.jp>
3457
3458 * composite.h (compose_chars_in_text): Add prototype.
3459
3460 * composite.c (Vcomposition_function_table): New variable.
3461 (Qcomposition_function_table): New variable.
3462 (run_composition_function): Call
3463 Vcompose_chars_after_function with three arguments.
3464 (compose_chars_in_text): New function.
3465 (syms_of_composite): Modified the doc-string of
3466 Vcompose_chars_after_function. Declare composition-function-table
3467 as a lisp variable, and initialize it.
3468
3469 * xfns.c (x_encode_text): Suppress producing escape sequences for
3470 composition.
3471
3472 * xselect.c: Include composite.h.
3473 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
3474
d1145f85
AI
34752000-11-05 Andrew Innes <andrewi@gnu.org>
3476
3477 * w32term.c (x_produce_glyphs): Fix typo in enum name.
3478
3479 * sysdep.c (read_input_waiting): Remove extraneous argument to
3480 read_socket_hook.
3481
3482 * w32fns.c (Fx_server_version): Include w32_build_number in the
3483 return list.
3484
3485 * w32heap.c (w32_build_number): New variable.
3486 (cache_system_info): Set it.
3487
3488 * w32heap.h (w32_build_number): Add extern.
3489
3490 * emacs.c (syms_of_emacs): Update docstring for
3491 system-configuration, to reflect the actual usage on MS-Windows.
3492
e85ee976
GM
34932000-10-31 Gerd Moellmann <gerd@gnu.org>
3494
26dcb81b
GM
3495 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
3496 process idle timers while waiting for another event.
3497
0a894bad
GM
3498 * dispnew.c (update_frame_line): Handle case where spaces in
3499 the default face are colored.
3500
e85ee976
GM
3501 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
3502 window height hasn't changed.
3503
01b220b6
JR
35042000-10-31 Jason Rumney <jasonr@gnu.org>
3505
3506 * w32term.c (x_produce_glyphs): Handle composite characters.
3507 (x_draw_glyph_string_foreground)
3508 (x_draw_composite_glyph_string_foreground): Restore old font.
3509
4e6b7204
MB
35102000-10-31 Miles Bader <miles@lsi.nec.co.jp>
3511
3512 * minibuf.c (read_minibuf): Reset the undo history just before
3513 starting the recursive-edit.
3514
d4358b37
GM
35152000-10-30 Gerd Moellmann <gerd@gnu.org>
3516
563f68f1
GM
3517 * xfaces.c (menu_face_change_count): New variable.
3518 (Finternal_set_lisp_face_attribute): Increment it for changes
3519 of the `menu' face.
3520 (realize_basic_faces): Reflect changes in the `menu' faces
3521 in menu bars.
3522
82e274d1
GM
3523 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
3524 dy obtained from the iterator's y-position after moving from
3525 scroll_margin_pos to PT; see comment there.
3526
0dbf9fd2
GM
3527 * xdisp.c (safe_eval_handler): Call add_to_log.
3528
906b3b14
GM
3529 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
3530 is not a symbol or string.
3531
d4358b37
GM
3532 * xdisp.c (echo_area_display): Don't perform a display update from
3533 inside redisplay. The update will happen anyway at the end of
3534 redisplay, and it can confuse redisplay (GC messages while
3535 redisplaying, for instance.)
3536
70c825df
SM
35372000-10-30 Stefan Monnier <monnier@cs.yale.edu>
3538
cf9b4b0b
SM
3539 * xrdb.c (x_load_resources): Use the class name in the defaults.
3540
70c825df
SM
3541 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
3542 (regex_compile): Catch bogus \(\1\).
3543
a1d34b1e
GM
35442000-10-30 Gerd Moellmann <gerd@gnu.org>
3545
cae71efe
GM
3546 * xterm.c (x_alloc_nearest_color): Fix last change to compare
3547 RGB values.
3548
35efe0a1
GM
3549 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
3550 we have a color cache, check that the cached color equals the
3551 allocated color. If not, clear the color cache.
3552
1d3baf74
GM
3553 * window.c (displayed_window_lines): Change buffers if necessary.
3554 Fix computation of displayed lines.
3555
a1d34b1e
GM
3556 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
3557 update_menu_bindings to DEFVAR_BOOL.
3558
70737ea9
KH
35592000-10-30 Kenichi Handa <handa@etl.go.jp>
3560
70c825df 3561 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 3562
fa0cb51d
KH
3563 * puresize.h (BASE_PURESIZE): Increase to 680000.
3564
70737ea9
KH
3565 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
3566
0e4c08e8
JR
35672000-10-29 Jason Rumney <jasonr@gnu.org>
3568
3569 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
3570
3571 * w32term.c (w32_bdf_per_char_metric): Negate descent.
3572 (w32_cache_char_metrics): Handle possibility that 'x' does not
3573 exist in a BDF font.
3574 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
3575
3576 * w32bdf.h (bdffont): Add nchars.
3577
3578 * w32bdf.c (set_bdf_font_info): Set it.
3579 (w32_BDF_TextOut): Swap byte order of double byte characters.
3580 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
3581
45b84006
EZ
35822000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
3583
3584 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
3585 don't override the colors in frame's param_alist, unless they are
3586 unspecified.
3587
3588 * term.c (reassert_line_highlight): If inverse_video is non-zero,
3589 reverse the effect of the highlight flag.
3590
caf9deee
KR
35912000-10-27 Ken Raeburn <raeburn@gnu.org>
3592
3593 * window.h (Fwindow_live_p): Declare.
3594
ae0b9b46
KR
3595 * undo.c (record_delete): Check that last_undo_buffer is really a
3596 buffer before applying XBUFFER to it.
3597
3598 * keymap.c (where_is_internal): Pass lisp object, not integer, to
3599 Faref.
3600
02067692
SM
36012000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3602
3603 * lisp.h (KEYMAPP): New macro.
3604 (get_keymap): Remove.
3605 (get_keymap_1): Rename get_keymap.
3606
3607 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
3608
3609 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
3610
3611 * xmenu.c (single_submenu): Use KEYMAPP.
3612 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3613 Use KEYMAPP rather than Fkeymapp.
3614
3615 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
3616
3617 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
3618 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
3619 Use KEYMAPP rather than Fkeymapp.
3620 (single_submenu): Use KEYMAPP.
3621 (w32_menu_show, w32_dialog_show): Use TRUE.
3622
3623 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
3624
3625 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
3626 (Fkeymapp): Use KEYMAPP.
3627 (get_keymap): Rename from get_keymap_1. Remove old def.
3628 Return t when autoload=0 and error=0 and the keymap needs autoloading.
3629 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
3630 (Fminor_mode_key_binding): Don't raise an error if the binding
3631 is not a keymap.
3632 (Fuse_global_map, Fuse_local_map): Allow autoloading.
3633 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
3634
3635 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
3636 Allow Vspecial_event_map to be autoloaded.
3637 (menu_bar_items): Fetch the keymap rather than using keymapp.
3638 (menu_bar_one_keymap): No need to follow func-indirect any more.
3639 (parse_menu_item): get_keymap_1 -> get_keymap.
3640 (tool_bar_items): Fetch the keymap rather than using keymapp.
3641 (read_key_sequence): Use KEYMAPP.
3642
3643 * intervals.c (get_local_map): Use get_keymap rather than following
3644 function-indirections explicitly.
3645
3646 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
3647
f9d80af3
JR
36482000-10-27 Jason Rumney <jasonr@gnu.org>
3649
3650 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
3651 point, as Windows has oversized fonts.
3652
3653 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
3654
a3ba27da
GM
36552000-10-27 Gerd Moellmann <gerd@gnu.org>
3656
3657 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
3658 (freehook, reallochook): Handle null pointer arguments.
3659 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
3660
aa3b80cc
SM
36612000-10-27 Stefan Monnier <monnier@cs.yale.edu>
3662
3663 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
3664 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
3665 Giving in to popular pressure to shut up the compiler with casts.
3666
e24e84cc
GM
36672000-10-27 Gerd Moellmann <gerd@gnu.org>
3668
3669 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
3670 signed value, and use a default value computed from the font's
3671 maximum descent.
3672
05ea7ef2
MB
36732000-10-27 Miles Bader <miles@lsi.nec.co.jp>
3674
3675 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
3676 that specify a negative underline position can still use underlines.
3677
3678 * window.c (Fpos_visible_in_window_p): Make POS default to
3679 WINDOW's point, not the current buffer's point.
3680
0b95284b
DL
36812000-10-26 Dave Love <fx@gnu.org>
3682
3683 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
3684 when it's necessary.
3685
6c5b90af
GM
36862000-10-26 Gerd Moellmann <gerd@gnu.org>
3687
8b6d9dc9
GM
3688 * window.c (size_window): Compute size difference from sum of old
3689 child window sizes instead of from parent's size.
3690
6bc92b2e
GM
3691 * xdisp.c (pos_visible_p): Change current buffer if necessary.
3692 Handle obscured lines at the top of the window.
3693
3694 * frame.c (Fdelete_frame): Doc fix. Move running the hook
3695 down after the last error condition check.
3696
6c5b90af
GM
3697 * frame.c (Fdelete_frame): Run delete-frame-hook.
3698
42f92d4d
KH
36992000-10-26 Kenichi Handa <handa@etl.go.jp>
3700
3701 * coding.c (decode_coding): Fix previous change (check also
3702 CODING_MODE_LAST_BLOCK).
3703
d97151cb
SM
37042000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3705
e7efc503
SM
3706 * regex.c: More `unsigned char' -> `re_char' changes.
3707 Also change several `int' into `re_wchar_t'.
3708 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
3709 (PUSH_FAILURE_POINTER): Don't cast any more.
3710 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
3711 We want GCC to complain, since this piece of code makes
3712 re_match non-reentrant, which *should* be fixed.
3713 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
3714 (EXTEND_BUFFER): Use RETALLOC.
3715 (SET_LIST_BIT): Don't cast.
3716 (re_wchar_t): New type.
3717 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
3718 that those two functions will always properly return.
3719 (IMMEDIATE_QUIT_CHECK): Cast to void.
3720 (analyse_first): Use recursion rather than an explicit stack.
3721 (re_compile_fastmap): Can't fail anymore.
3722 (re_search_2): Don't check re_compile_fastmap for failure.
3723 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
3724 Now also sets the new value (passed in a new argument).
3725 (re_match_2_internal): Use it.
3726 Also, use a new var `reg' of type size_t when looping through regs
3727 rather than reuse the inappropriate `mcnt'.
3728
d97151cb
SM
3729 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
3730 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
3731 (where_is_internal): Renamed from Fwhere_is_internal.
3732 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
3733 (Fwhere_is_internal): New function wrapping where_is_internal.
3734 (where_is_internal_1): Handle the case where we're filling the cache.
3735 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
3736
d5789b65
MB
37372000-10-25 Miles Bader <miles@gnu.org>
3738
3739 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
3740
4ecda532
GM
37412000-10-25 Gerd Moellmann <gerd@gnu.org>
3742
3743 * window.c (pos_fully_visible_p): Removed.
3744 (Fpos_visible_in_window_p): Use pos_visible_p to determine
3745 if position is visible and/or fully visible.
3746
3747 * lisp.h (pos_visible_p): Add prototype.
3748
3749 * xdisp.c (pos_visible_p): New function.
3750
68c3a137
KH
37512000-10-25 Kenichi Handa <handa@etl.go.jp>
3752
3753 * process.c (send_process): If OBJECT is t, it means that the data
3754 is from C string, but we should encode it. Before calling
3755 setup_raw_text_coding_system, be sure to flush out data by the
3756 previous coding system.
3757
7ae1c032
MB
37582000-10-25 Miles Bader <miles@lsi.nec.co.jp>
3759
ff4dcd4b
MB
3760 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
3761 assignment of startpos to prev when startpos == pos.
3762
7ae1c032
MB
3763 * editfns.c (find_field): Set the field stickiness correctly from
3764 overlay fields. Use renamed `text_property_stickiness'.
3765 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 3766 Only check text properties, not overlays.
7ae1c032
MB
3767 * textprop.c (get_char_property_and_overlay): New function.
3768 (Fget_char_property): Use it.
3769 * intervals.h (get_char_property_and_overlay): Add declaration.
3770
49801145
SM
37712000-10-25 Stefan Monnier <monnier@cs.yale.edu>
3772
3773 * keymap.c: Use AREF, ASET and ASIZE macros.
3774 (Fmake_sparse_keymap): Docstring fix.
3775 (synkey): Remove.
3776 (shadow_lookup): Move up.
3777 Handle the case where lookup-key returns an integer.
3778 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
3779 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
3780 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
3781 Simplify/rewrite the keymap-finding code.
3782 Add check for command shadowing, using shadow_lookup.
3783
39e776cd
SM
37842000-10-24 Stefan Monnier <monnier@cs.yale.edu>
3785
3786 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
3787 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
3788 a symbol.
3789
2488aba5
AI
37902000-10-24 Andrew Innes <andrewi@gnu.org>
3791
3792 * dired.c (directory_files_internal_unwind): New function.
3793 (directory_files_internal): Use it to ensure closedir is called
3794 even if expand-file-name or file-attributes throw, eg. because of
3795 a user interrupt. Also enable immediate_quit while calling
3796 re_search, so that matching can be interrupted as well.
3797
b94fdf61
AI
37982000-10-24 Andrew Innes <andrewi@gnu.org>
3799
3800 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
3801 NT-Emacs only.
3802 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
3803 so that re_search functions only quit when callers expect them to.
3804
38052000-10-24 Kenichi Handa <handa@etl.go.jp>
3806
3807 * regex.c (regex_compile): Change the way of handling a range from
3808 a char less than 256 to a char not less than 256.
3809
1946f901
GM
38102000-10-24 Gerd Moellmann <gerd@gnu.org>
3811
7ae2f10f
GM
3812 * window.c (size_window): Prevent setting window's width or
3813 height to a negative value (esp. with XSETFASTINT).
3814
5dcab13e
GM
3815 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
3816 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
3817 (protect_malloc_state) [GC_MALLOC_CHECK &&
3818 GC_PROTECT_MALLOC_STATE]: New function.
3819 (PROTECT_MALLOC_STATE): New macro.
3820 (__malloc_initialize, morecore, _malloc_internal)
3821 (_free_internal) _realloc_internal): Use it to make _heapinfo
3822 read-only outside of gmalloc.
3823
63e1b552
GM
3824 * keymap.c: Update copyright.
3825
1946f901
GM
3826 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
3827 a symbol.
3828
4fa09beb
GM
38292000-10-24 Colin Walters <walters@cis.ohio-state.edu>
3830
3831 * filelock.c (unlock_all_files): Use unlock_file to expand each
3832 buffer's file_truename before trying remove its lock file.
3833
23afac01
EZ
38342000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
3835
3836 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
3837 or CRLF, decode EOLs.
3838
04448b95
KH
38392000-10-24 Kenichi Handa <handa@etl.go.jp>
3840
3841 * window.c (Fdisplay_buffer): Fix doc.
3842
3090a5a5
JR
38432000-10-23 Jason Rumney <jasonr@gnu.org>
3844
3845 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
3846 ASCII font of default fontset on Windows.
3847
3848 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
3849 xterm.c comment below).
3850
3851 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
3852
a83fee2c
GM
38532000-10-23 Gerd Moellmann <gerd@gnu.org>
3854
3855 * xterm.c (x_connection_closed): Reset handling_signal.
3856
3857 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
3858 null.
3859
6ffdb539
MB
38602000-10-23 Miles Bader <miles@gnu.org>
3861
3862 * window.c (window_scroll_pixel_based, window_scroll_line_based):
3863 Pass nil for FULLY argument to Fpos_visible_in_window_p to
3864 maintain old behavior.
3865 * minibuf.c (Fminibuffer_complete): Likewise.
3866
7f1c969b
MB
38672000-10-23 Miles Bader <miles@lsi.nec.co.jp>
3868
3869 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
3870 that when a font can't be exactly centered, it errs up rather than
3871 down.
3872
23afac01 38732000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
3874
3875 * fns.c (Fbase64_decode_string): The decoded result should be
3876 unibyte.
3877
1a578e9b
AC
38782000-10-23 Andrew Choi <akochoi@i-cable.com>
3879
3880 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
3881
3882 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 3883 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
3884
3885 * emacs.c (main) [macintosh]: Call syms_of_textprop,
3886 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
3887 syms_of_search, x_term_init, and init_keyboard before calling
3888 init_window_once. Also, call syms_of_xmenu.
3889
3890 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
3891 default fontset to Monaco.
3892
3893 * frame.c [macintosh]: Include macterm.h. Remove declarations of
3894 NewMacWindow and DisposeMacWindow.
3895 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
3896 instead of calling NewMacWindow and setting fields of
3897 f->output_data.mac directly. Call init_frame_faces.
3898 (Fdelete_frame) [macintosh]: Remove unused code.
3899 (Fmodify_frame_parameters) [macintosh]: Call
3900 x_set_frame_parameters instead of mac_set_frame_parameters.
3901
3902 * frame.h [macintosh]: Define menu_bar_lines field in struct
3903 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
3904
3905 * keyboard.c [macintosh]: Include macterm.h.
3906 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
3907 and menu_bar_activate_event type events as for X and NT.
3908 (make_lispy_event) [macintosh]: Construct lisp events of type
3909 MENU_BAR_EVENT as for X and NT.
3910
3911 * sysdep.c [macintosh]: Remove declaration for sys_signal.
3912 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
3913 (sys_subshell) [macintosh]: Remove definition entirely.
3914 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
3915 Vwindow_system_version here. Remove initialization of
3916 Vx_bitmap_file_path.
3917 (read_input_waiting): Correct the number of parameters passed to
3918 read_socket_hook.
3919 Move all Macintosh functions to mac/mac.c.
3920
3921 * term.c [macintosh]: Include macterm.h.
3922
3923 * window.c [macintosh]: Include macterm.h.
3924
3925 * xdisp.c [macintosh]: Include macterm.h. Declare
3926 set_frame_menubar and pending_menu_activation.
3927 (echo_area_display) [macintosh]: Do not return if terminal frame
3928 is the selected frame.
3929 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
3930 Allow only the selected frame to set menu bar.
3931 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
3932 calling FRAME_EXTERNAL_MENU_BAR (f).
3933 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
3934
3935 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
3936 and check_x. Declare XCreateGC. Define x_create_gc and
3937 x_free_gc. Initialize font_sort_order.
3938 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
3939 but call x_list_fonts instead of w32_list_fonts.
3940 (Finternal_face_x_get_resource) [macintosh]: Do not call
3941 display_x_get_resource.
3942 (prepare_face_for_display) [macintosh]: Set xgcv.font.
3943 (realize_x_face) [macintosh]: Load the font if it is specified in
3944 ATTRS.
3945 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
3946 to Qt.
3947
1ffbabe3
SM
39482000-10-22 Stefan Monnier <monnier@cs.yale.edu>
3949
3950 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
3951 is nil: since we go to the end of submap anyway, we'd end up
3952 setting nil to nil.
3953 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
3954 doesn't obey autoload.
3955
bed43f1d
EZ
39562000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
3957
1ffbabe3 3958 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 3959
ea4233a7
JR
39602000-10-21 Jason Rumney <jasonr@gnu.org>
3961
3962 * w32term.c (w32_cache_char_metrics): Double check that font is
3963 really fixed pitch before trusting tmPitchAndFamily.
3964
f3d3c491
AI
39652000-10-21 Andrew Innes <andrewi@gnu.org>
3966
3967 * w32gui.h (w32_char_font_type): Move enum from w32term.c
3968
3969 * w32term.h: Extern decl for w32_cache_char_metrics.
3970
3971 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
3972
3973 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
3974 (w32_unload_font): Free per_char array if present.
3975
3976 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
3977 cached information in emulated XFontStruct to handle common cases
3978 quickly. Do not allocate XCharStruct for return.
3979 (w32_native_per_char_metric): New function.
3980 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
3981 allocating one.
3982 (x_produce_glyphs): Don't get an HDC. Change calls to
3983 w32_per_char_metric to match arg change above. Remove calls to
3984 free results.
3985 (w32_get_glyph_overhangs): Ditto.
3986 (w32_cache_char_metrics): New function.
3987
3988 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
3989 ($(BLD)/casefiddle.$(O)): Remove compile command.
3990 ($(BLD)/gmalloc.$(O)): Remove compile command.
3991 ($(BLD)/dispnew.obj):
3992 ($(BLD)/keyboard.obj):
3993 ($(BLD)/w32inevt.obj):
3994 ($(BLD)/w32bdf.obj):
3995 ($(BLD)/alloc.obj):
3996 ($(BLD)/buffer.obj):
3997 ($(BLD)/editfns.obj):
3998 ($(BLD)/emacs.obj):
3999 ($(BLD)/fileio.obj):
4000 ($(BLD)/fns.obj):
4001 ($(BLD)/indent.obj):
4002 ($(BLD)/insdel.obj):
4003 ($(BLD)/intervals.obj):
4004 ($(BLD)/minibuf.obj):
4005 ($(BLD)/print.obj):
4006 ($(BLD)/scroll.obj):
4007 ($(BLD)/sysdep.obj):
4008 ($(BLD)/textprop.obj):
4009 ($(BLD)/widget.obj):
4010 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
4011 ($(BLD)/term.obj): Add dependency on dispextern.h.
4012
4013 * makefile.nt ($(BLD)\dispnew.obj):
4014 ($(BLD)\keyboard.obj):
4015 ($(BLD)\w32inevt.obj):
4016 ($(BLD)\w32bdf.obj):
4017 ($(BLD)\alloc.obj):
4018 ($(BLD)\buffer.obj):
4019 ($(BLD)\editfns.obj):
4020 ($(BLD)\emacs.obj):
4021 ($(BLD)\fileio.obj):
4022 ($(BLD)\fns.obj):
4023 ($(BLD)\indent.obj):
4024 ($(BLD)\insdel.obj):
4025 ($(BLD)\intervals.obj):
4026 ($(BLD)\minibuf.obj):
4027 ($(BLD)\print.obj):
4028 ($(BLD)\scroll.obj):
4029 ($(BLD)\sysdep.obj):
4030 ($(BLD)\textprop.obj):
4031 ($(BLD)\widget.obj):
4032 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
4033 ($(BLD)\term.obj): Add dependency on dispextern.h
4034
18ad4821
EZ
40352000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
4036
4037 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
4038 with an additional argument of Qt.
4039
de54681a
MB
40402000-10-21 Miles Bader <miles@gnu.org>
4041
4042 * window.c (pos_fully_visible_in_window_p): New function.
4043 (Fpos_visible_in_window_p): Add FULLY argument.
4044 Use pos_fully_visible_in_window_p.
4045 (window_scroll_pixel_based, window_scroll_line_based): Update
4046 calls to Fpos_visible_in_window_p.
4047 * lisp.h (Fpos_visible_in_window_p): Update prototype
4048
13c844fb
GM
40492000-10-20 Gerd Moellmann <gerd@gnu.org>
4050
4051 * alloc.c (toplevel): Conditionalize compilation of mem_*
4052 functions differently.
4053
d9506268
JR
40542000-10-20 Jason Rumney <jasonr@gnu.org>
4055
4056 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
4057 mem_init where it used to be. mem_z etc not defined otherwise.
4058
8094989b
GM
40592000-10-20 Gerd Moellmann <gerd@gnu.org>
4060
4061 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
4062 GC_MALLOC_CHECK.
4063 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
4064 structure definition and related variabled to the top of the file.
4065 Include this code when GC_MALLOC_CHECK is defined.
4066 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
4067 register/unregister allocated region.
4068 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
4069 which isn't allocated.
4070 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
4071 something which is already in use.
4072 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
4073 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
4074 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
4075 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
4076
4077 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
4078 _malloc_internal instead of malloc.
4079 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
4080 of free.
4081
ea456eb4
AI
40822000-10-20 Andrew Innes <andrewi@gnu.org>
4083
4084 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
4085 Windows.
4086 (my_strftime) <macro>: Don't use macro arg list when redefining as
4087 _strftime_copytm.
4088 (my_strftime) <function>: Supply 0 as ut argument.
4089
e64c3a75
JR
40902000-10-19 Jason Rumney <jasonr@altavista.net>
4091
4092 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
4093 including dispextern.h, as it stops faces from working.
4094
4095 * w32fns.c (Fx_create_frame): Don't bother calling
4096 face-set-after-frame-default since the caller does it for us
4097 anyway. Clean up calls to x_get_arg to be consistent with X.
4098
4099 * w32term.c (x_produce_glyphs): Handle
4100 unibyte_display_via_language_environment correctly.
4101 (w32_draw_box_rect): Fix the calculation of width and height.
4102
4103 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
4104 as it has stopped working.
4105 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
4106 menu-bar.
4107
17401c97
GM
41082000-10-19 Gerd Moellmann <gerd@gnu.org>
4109
4110 * eval.c (skip_debugger): Prevent a compiler warning.
4111 (Fcondition_case): Likewise.
4112 (Fbacktrace_frame): Use a null interactive spec.
4113
773272d8
KH
41142000-10-19 Kenichi Handa <handa@etl.go.jp>
4115
4116 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
4117
a42943e9
GM
41182000-10-18 Gerd Moellmann <gerd@gnu.org>
4119
e50517d9
GM
4120 * strftime.c: Sync with glibc, file version 1.78.
4121 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
4122 should no longer be used according to ISO 8601.
4123
9035a35a
GM
4124 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
4125 no map for meta_prefix_char, don't try to use it as a keymap.
4126 Instead, if T_OK is non-zero, look up a default binding, if any,
4127 otherwise, if T_OK is zero, return nil.
4128
a42943e9
GM
4129 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
4130 (x_to_xcolors, png_load): Use x_query_color.
4131
4132 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
4133 functions.
4134 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
4135 which can be slow.
4136 (x_copy_color, x_alloc_lighter_color): Likewise.
4137
4138 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
4139 (x_query_color, x_query_colors): Add prototype.
4140
4141 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
4142 check_string_bytes only if not noninteractive, increase count to 50.
4143
00de2987
MB
41442000-10-18 Miles Bader <miles@lsi.nec.co.jp>
4145
4146 * insdel.c (adjust_markers_for_delete): Handle before-insertion
4147 markers correctly.
4148
54918e2b
GM
41492000-10-17 Gerd Moellmann <gerd@gnu.org>
4150
1f0b3fd2
GM
4151 * alloc.c (pure_bytes_used): Renamed from pureptr.
4152 (ALIGN): New macro.
4153 (pure_alloc): New function.
4154 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
4155 Use it.
4156 (Fpurecopy): Use PURE_POINTER_P.
4157
68c5d1db
GM
4158 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
4159 PT has moved backward.
4160
9a038881
GM
4161 * xdisp.c (cursor_row_p): Take continued lines into account.
4162
361b097f
GM
4163 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
4164 string's size_byte.
4165 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
4166 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
4167 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
4168 string allocated.
4169
54918e2b
GM
4170 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
4171 of selective display off while searching for the next line start.
4172
03ed0806
KH
41732000-10-17 Kenichi Handa <handa@etl.go.jp>
4174
4175 * Makefile.in (term.o): Depend on dispextern.h.
4176
7e05cdaf
SM
41772000-10-16 Stefan Monnier <monnier@cs.yale.edu>
4178
4179 * keymap.c (keymap_memberp): Ensure that nil is not a member.
4180
a6801fd1
GM
41812000-10-16 Gerd Moellmann <gerd@gnu.org>
4182
483de32b
GM
4183 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
4184 the iterator at the beginning, so that they can be set later on,
4185 for instance in reseat_at_next_visible_line_start, without being
4186 overwritten.
4187
a6801fd1
GM
4188 * xfns.c (pbm_format): Add :foreground and :background keywords.
4189 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 4190 (xbm_load): Recognize foreground and background color
a6801fd1
GM
4191 specifications.
4192
dbf1fcc1
EZ
41932000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
4194
4195 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
4196
4197 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
4198 declaration.
4199
4200 * msdos.c (IT_set_face): Compare highlighted face with the default
4201 face, and invert colors if these faces' colors are identical.
4202 (Fmsdos_remember_default_colors): Don't swap foreground and
4203 background colors in initial_colors[].
4204 (IT_set_frame_parameters): Don't swap frame's foreground and
4205 background pixels. If ALIST includes "(reverse . t)", swap
4206 foreground-color and background-color properties in frame's
4207 param_alist. If the original frame's param_alist doesn't specify
4208 the colors, store unspecified-fg and unspecified-bg, reversed if
4209 required.
4210
4211 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
4212 the colors are unspecified and reversed, reverse fore- and back-
4213 ground in the returned value.
4214 (Fframe_parameter): Ditto.
4215
b41fe2c3
GM
42162000-10-16 Gerd Moellmann <gerd@gnu.org>
4217
3a6b59d9
GM
4218 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
4219 get_last_unchanged_at_beg_row.
4220 (find_first_unchanged_at_end_row): Renamed from
4221 get_first_unchanged_at_end_row.
4222 (find_first_unchanged_at_end_row): Convert assertions to
4223 unconditional tests which abort. When looking for a row in
4224 unchanged text, don't go further back than first_text_row.
4225
b41fe2c3
GM
4226 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
4227 Don't add in the last line's height when deciding if the new
4228 position is below the scroll margin.
9d1af64f 4229
b41fe2c3 42302000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
4231
4232 * editfns.c (Fconstrain_to_field): Check carefully for field
4233 boundaries if either OLD_POS or NEW_POS has a non-nil field
4234 property, even if they're the same.
4235
c412cb7b
KH
42362000-10-16 Kenichi Handa <handa@etl.go.jp>
4237
4238 * xterm.c (x_draw_box_rect): Fix the calculation of width and
4239 height for XFillRectangle.
4240
5586f3eb
SM
42412000-10-15 Stefan Monnier <monnier@cs.yale.edu>
4242
4243 * syntax.c (Fstring_to_syntax): New function extracted from
4244 Fmodify_syntax_entry.
4245 (Fmodify_syntax_entry): Use it and document the ! and | fences.
4246 (skip_chars, Fforward_comment): Remove unused variables.
4247 (syms_of_syntax): Add defsubr for string-to-syntax.
4248 (describe_syntax): Add code for comment and string fences.
4249
db785038
SM
42502000-10-14 Stefan Monnier <monnier@cs.yale.edu>
4251
4252 * keymap.c (access_keymap): Add AUTOLOAD parameter.
4253 Do the meta->esc mapping. Call get_keyelt before returning.
4254 Start scanning from the second element (the first is always `keymap')
4255 to make it easier to detect when we reach a parent map.
4256 Handle the case of inheriting from a symbol whose function is a map.
4257 (Fkeymap_parent): Also handle the `inherit from symbol' case.
4258 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
4259 (get_keyelt, Flookup_key): Update call to access_keymap.
4260 Remove the meta->esc mappings.
4261 (define_as_prefix): Delete old disabled code.
4262 (menu_item_p): New function.
4263 (where_is_internal_1): Skip over the few remaining menu items.
4264 * lisp.h (access_keymap): Update prototype.
4265 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
4266 Update call to access_keymap.
4267 (follow_key, read_key_sequence): Update calls to access_keymap.
4268 Remove the meta->esc mappings.
4269
cafafe0b
GM
42702000-10-13 Gerd Moellmann <gerd@gnu.org>
4271
a2e2a7f6
GM
4272 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
4273 with additional argument.
4274
cafafe0b
GM
4275 * xdisp.c (cursor_row_p): New function.
4276 (try_cursor_movement, display_line): Use it.
4277
4278 * xdisp.c (append_space): Also save/restore iterator's current
4279 character and its length.
4280
4281 * xdisp.c (init_from_display_pos): Add an assertion.
4282 (handle_stop): Don't set iterator's add_overlay_start.
4283 (handle_invisible_prop): Likewise.
4284 (load_overlay_strings): If text under an overlay is invisible,
4285 take both before- and after-strings into account when the iterator
4286 is positioned either at the start or at the end of the overlay.
4287 (forward_to_next_line_start): Rewritten.
4288 (reseat_at_next_visible_line_start): Rewritten.
4289 (set_iterator_to_next): Add parameter RESEAT_P.
4290
4291 * dispextern.h (struct it): Remove member add_overlay_start.
4292 (set_iterator_to_next): Change prototype.
4293
c744452b
KH
42942000-10-13 Kenichi Handa <handa@etl.go.jp>
4295
4296 * coding.c (code_convert_region): Be sure to initialize
4297 coding->category_idx.
e4a3f4e1
KH
4298 (decode_coding_string): Set coding->src_multibyte and
4299 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
4300 (encode_coding_string): Set coding->src_multibyte and
4301 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 4302
321fd26f
SM
43032000-10-12 Stefan Monnier <monnier@cs.yale.edu>
4304
4305 * xfns.c (Fx_create_frame): Don't bother calling
4306 face-set-after-frame-default since the caller does it for us anyway.
4307
76832439
EZ
43082000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
4309
4310 * window.c (coordinates_in_window): Fix detection of vertical line
4311 on character terminals.
4312
2483cf58
GM
43132000-10-12 Gerd Moellmann <gerd@gnu.org>
4314
4315 * editfns.c (save_excursion_save): Additionally record the
4316 selected window.
4317 (save_excursion_restore): If buffer was visible in a window, and a
4318 different window was selected, and the old selected window is
4319 still live, restore point in that window.
4320
eb991b25
KH
43212000-10-12 Kenichi Handa <handa@etl.go.jp>
4322
8a0eba09
KH
4323 * xterm.c (x_produce_glyphs): Handle
4324 unibyte_display_via_language_environment correctly.
4325
20401fcc
KH
4326 * regex.c (regex_compile): Change the way of handling a range from
4327 unibyte char to multibyte char.
4328
4329 * syntax.c (skip_chars): Change the way of handling a range from
4330 unibyte char to multibyte char.
4331
eb991b25
KH
4332 * process.c (read_process_output): Cancel previous change.
4333
365dd325
EZ
43342000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
4335
c1b096cb
EZ
4336 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
4337
365dd325
EZ
4338 * charset.c (Ffind_charset_string): Doc fix.
4339 (Ffind_charset_region): Doc fix.
4340
eb483c2b
KH
43412000-10-11 Kenichi Handa <handa@mule.m17n.org>
4342
4343 * process.c (read_process_output): Fix previous change. Adjust
4344 multibyteness of text to insert in a buffer by
df3c11b9 4345 string_make_unibyte/multibyte instead of
eb483c2b
KH
4346 Fstring_as_unibyte/multibyte.
4347
b40bfb99
AS
43482000-10-10 Andreas Schwab <schwab@suse.de>
4349
4350 * alloc.c (mark_object): Remove all workarounds installed on
4351 1993-08-08.
4352
caff31d4
KH
43532000-10-10 Kenichi Handa <handa@etl.go.jp>
4354
4355 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
4356 returning.
4357 (base64_encode_1): Make it work for a text of multibyte form.
4358 (Fbase64_decode_region): Allocate sufficient memory for multibyte
4359 case. Don't call str_to_multibyte because base64_decode_1
4360 produces correct multibyte form for eight-bit codes.
4361 (Fbase64_decode_string): Adjusted for the change of
4362 base64_decode_1.
4363 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
4364 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
4365 codes.
4366
4367 * charset.h (CHAR_STRING): Optimized for single byte characters.
4368
cba026ef
AS
43692000-10-09 Andreas Schwab <schwab@suse.de>
4370
4371 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
4372 -1 after socket is closed, to fall through to error processing.
4373
1e21fe48
EZ
43742000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
4375
4376 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 4377 variables. If ALIST includes foreground-color or
1e21fe48
EZ
4378 background-color, change also the colors of the default face for
4379 this frame.
4380
a640322e
EZ
43812000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
4382
4383 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
4384 them extern (they are defined on xfaces.c).
4385 (syms_of_msdos): Don't intern and don't staticpro
4386 Qbackground_color and Qforeground_color.
4387
a115794c
EZ
43882000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
4389
4390 * frame.c (Fframe_parameter): For non-windowed frames, if
4391 f->param_alist says foreground or background color is unspecified,
4392 call tty_color_name to return the color name computed from the
4393 frame's current colors.
4394
f5533b63
DL
43952000-10-06 Dave Love <fx@gnu.org>
4396
4397 * terminfo.c (ospeed): Don't declare.
4398
4399 * sysdep.c: Don't include string.h.
4400 (h_errno): Declare conditional also on TRY_AGAIN.
4401
4402 * charset.c (Ffind_charset_string): Doc fix.
4403
4404 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
4405 (Fbase64_decode_region, Fbase64_decode_string): More explicit
4406 error messages.
4407
2b06561a
DL
44082000-10-05 Dave Love <fx@gnu.org>
4409
4410 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
4411 position like menu-bar.
4412
ca839c85
GM
44132000-10-05 Gerd Moellmann <gerd@gnu.org>
4414
4415 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
4416
4417 * xdisp.c (handle_single_display_prop): Use safe_call1.
4418 (safe_call): Renamed from call_function.
4419 (safe_call1): New function.
4420 (handle_fontified_prop): Use safe_call1 instead of call1.
4421 (safe_eval): Renamed from eval_form.
4422 (safe_eval_handler): Renamed from eval_handler.
4423 (handle_single_display_prop, display_mode_element): Use safe_eval
4424 instead of eval_form.
4425
4426 * xfaces.c (merge_face_heights): Use safe_call instead of
4427 call_function.
4428
4429 * keyboard.c (show_help_echo): Use safe_call instead of
4430 call_function; use safe_eval instead of eval_form.
4431
4432 * lisp.h (safe_call): Renamed from call_function.
4433 (safe_eval): Renamed from eval_form.
4434 (safe_call1): Add prototype.
4435
a3489ece
MB
44362000-10-05 Miles Bader <miles@lsi.nec.co.jp>
4437
4438 * xfns.c (image_ascent): Rearrange ascent calculation for the
4439 has-a-font case.
4440
35810b6f
SM
44412000-10-04 Stefan Monnier <monnier@cs.yale.edu>
4442
4443 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
4444 (where_is_internal_1): Don't bother ignoring menu-items any more.
4445
3dc78168
GM
44462000-10-04 Gerd Moellmann <gerd@gnu.org>
4447
4448 * keyboard.c (update_menu_bindings): New variable.
4449 (parse_menu_item): Use AREF. If update_menu_bindings
4450 is 0, don't update menu bindings.
4451 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
4452
1efc2bb9
EZ
44532000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
4454
4455 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
4456 to `mark_object'.
4457
3f679f55
SM
44582000-10-02 Stefan Monnier <monnier@cs.yale.edu>
4459
4460 * syntax.c (forw_comment): Match nestedness of ender/starter.
4461 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
4462 (prev_char_comstart_first): Remove.
4463 (back_comment): Check two-char comment markers more carefully
4464 to better handle overlapping cases like *//* or /* */* */ ...
4465 Match nestedness of ender/starter.
4466
2021ab61
DL
44672000-10-02 Dave Love <fx@gnu.org>
4468
4469 * config.in (HAVE_GAI_STRERROR): Add undef.
4470
4471 * process.c (Fopen_network_stream): Use it.
4472
4473 * m/alpha.h (NO_REMAP): Don't define.
4474
64e6cc18
GM
44752000-10-02 Gerd Moellmann <gerd@gnu.org>
4476
4477 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
4478 return with a string converted to an integer or vice versa when
4479 Vmocklisp_arguments is t.
4480 (Fsignal): Likewise. The function can return for `quit'.
4481 (struct gcpro): Declare member `var' to point to a volatile
4482 Lisp_Object.
4483
4484 * eval.c (error): Prevent compiler warning.
4485
b1904cd9
SM
44862000-09-30 Stefan Monnier <monnier@cs.yale.edu>
4487
4488 * keymap.c (keymap_memberp): New function.
4489 (Fset_keymap_parent): Use it.
4490 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
4491 Use keymap_memberp to avoid creating cycles.
4492 (access_keymap): Use KEYMAPP.
4493
71c9ec51
GM
44942000-09-30 Gerd Moellmann <gerd@gnu.org>
4495
4496 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
4497 gai_strerror. Make sure xerrno is set if connect fails. Improve
4498 error recovery.
71c9ec51 4499
c70c6b58
JR
45002000-09-29 Jason Rumney <jasonr@gnu.org>
4501
4502 * w32term.c (w32_char_font_type, w32_encode_char)
4503 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
4504 (w32_bdf_per_char_metric): New function.
4505 (w32_per_char_metric): Use it.
4506 (x_draw_glyph_string_background): Always draw background for BDF
4507 glyphs.
4508
4509 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
4510 GDI object which is a scarce resource.
4511
4512 * w32bdf.c (search_file_line): Fix skipping of whitespace.
4513 (get_quoted_string): Fix limit on memchr search.
4514 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
4515 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
4516 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
4517 (get_cached_font_char, cache_char_offset): Use macro
4518 BDF_CODEPOINT_RANGE_COVER_P.
4519 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
4520 (clear_cached_bitmap_slots): New function.
4521 (GET_HEX_VALUE): G-Z, g-z are not hex.
4522 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
4523 (get_bitmap_with_cache): Use new cache implementation.
4524 (create_offscreen_bitmap): New function.
4525 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
4526
4527 * w32term.c (x_produce_glyphs): If the distance from the current
4528 position to the next tab stop is less than a canonical character
4529 width, use the tab stop after that.
4530 (x_draw_glyphs): Handle case START and END are out of bounds more
4531 carefully.
4532 (x_clear_mouse_face): Block/unblock input.
4533 (x_display_and_set_cursor): Don't show a hollow box cursor for
4534 buffers whose cursor_type is nil.
4535
fe01239f
GM
45362000-09-29 Gerd Moellmann <gerd@gnu.org>
4537
4538 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
4539 disappears.
4540
4541 * dispextern.h (updating_frame): Declare extern.
4542
e7c52f1f
AS
45432000-09-29 Andreas Schwab <schwab@suse.de>
4544
4545 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
4546
de6e1f7c
GM
45472000-09-29 Gerd Moellmann <gerd@gnu.org>
4548
25126faa
GM
4549 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
4550 use its function definition.
4551 (tool_bar_items): Likewise.
4552
de6e1f7c
GM
4553 * lisp.h (fatal): Declare NO_RETURN.
4554
454ee39b
KH
45552000-09-29 Kenichi Handa <handa@etl.go.jp>
4556
4557 * keymap.c: Remove the line "#undef NULL".
4558
96301c5f
GM
45592000-09-28 Gerd Moellmann <gerd@gnu.org>
4560
4561 * xterm.c (x_make_frame_visible): Try harder to make the frame
4562 visible.
4563
efffeeb4
DL
45642000-09-28 Dave Love <fx@gnu.org>
4565
ecb8b666
DL
4566 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
4567
dc3cd20f
DL
4568 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
4569
4570 * .gdbinit (xreload): Note its need on GNU/Linux.
4571
efffeeb4
DL
4572 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
4573 r_alloc, r_alloc_free.
4574
8610d903
KH
45752000-09-28 Kenichi Handa <handa@etl.go.jp>
4576
4577 * syntax.c (skip_chars): Handle negation correctly.
4578
8901d1ac
GM
45792000-09-27 Gerd Moellmann <gerd@gnu.org>
4580
6f22f1ad
GM
4581 * xfaces.c (realize_default_face): Call set_lface_from_font_name
4582 with non-zero FORCE_P argument.
4583
8901d1ac
GM
4584 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
4585 Add assertions.
4586
4587 * xdisp.c (window_box_height): Add an assertion.
4588
4589 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
4590 tool-bar than is available.
4591 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
4592
36f1966f
DL
45932000-09-27 Dave Love <fx@gnu.org>
4594
efffeeb4 4595 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 4596
31d929e5
GM
45972000-09-26 Gerd Moellmann <gerd@gnu.org>
4598
c98863bf
GM
4599 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
4600 instead of BITS_PER_INT.
4601 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
4602 EMACS_UINT, respectively.
4603 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
4604
4605 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
4606
4607 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
4608
77072ab1
GM
4609 * window.c (freeze_window_starts): Construct last argument for
4610 foreach_window differently.
4611
4612 * xfns.c (x_decode_color): Don't return a Lisp_Object.
4613
4614 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
4615 EMACS_UINT instead of `int' and `unsigned int'.
4616 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
4617
4618 * frame.h (struct frame): Make the `nothing' member of union
4619 output_data an EMACS_INT.
4620
31d929e5
GM
4621 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
4622 hunting.
4623 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
4624 size in the sdata structure.
4625 (SDATA_NBYTES, SDATA_DATA): New macros.
4626 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
4627 differently for the different layout of the sdata structure.
4628 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
4629 in sdata.
4630 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
4631 Check that size recorded in the string size and size recorded in
4632 the sdata structure agree.
4633
3e60b029
DL
46342000-09-25 Dave Love <fx@gnu.org>
4635
4636 * buffer.c: Include stdio.h.
4637
4638 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
4639
4640 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
4641
4642 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
4643 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
4644 size_t.
4645 (__malloc_extra_blocks): Declare as __malloc_size_t.
4646
8ff16b4e
GM
46472000-09-25 Gerd Moellmann <gerd@gnu.org>
4648
755a2ccd
GM
4649 * alloc.c (mark_image): Use GC_NILP instead of NILP.
4650
d8b4516f
GM
4651 * keyboard.c (show_help_echo): Set help_echo_showing_p.
4652 (read_char): If help-echo is showing, preserve the echo area
4653 when redisplaying.
4654
4655 * xdisp.c (help_echo_showing_p): New variable.
4656 (set_message): Reset it to 0.
4657 (init_xdisp): Initialize help_echo_showing_p.
4658
4659 * dispextern.h (help_echo_showing_p): Declare extern.
4660
4661 * config.in: Fix typo in __GNUC_MINOR__.
4662
4663 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
4664
b11af2dd
GM
4665 * s/freebsd.h (POSIX_SIGNALS): Define.
4666
8ff16b4e
GM
4667 * xterm.c (x_clear_mouse_face): Block/unblock input.
4668
844eb643
DL
46692000-09-24 Dave Love <fx@gnu.org>
4670
4671 * fns.c (base64_encode_1): Fix last change.
4672
b30ab1b3
GM
46732000-09-22 Gerd Moellmann <gerd@gnu.org>
4674
4675 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
4676
4677 * xdisp.c (try_window_reusing_current_matrix): More fixes
4678 for the case window has a header-line.
4679
c6cbe5f0
DL
46802000-09-22 Dave Love <fx@gnu.org>
4681
4c7c1f3f
DL
4682 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
4683 a doc string.
4684
4685 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
4686
c6cbe5f0
DL
4687 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
4688
550a625e
GM
46892000-09-21 Gerd Moellmann <gerd@gnu.org>
4690
4c7c1f3f 4691 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
4692 for GCC >= 2.5.
4693
4694 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
4695 NO_RETURN.
4696
80d26f99
GM
4697 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
4698 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
4699 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
4700 warnings.
4701
4702 * marker.c (byte_char_debug_check): Return void.
4703
623a0aae
GM
4704 * xfns.c (Fx_create_frame): Set default frame parameter value
4705 for tool-bar-lines to 1.
4706
4707 * dispnew.c (scrolling_window): Compare y-positions of rows
4708 equal at the start. Some simplification.
4709
4710 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
4711 reused rows' y-position in the case window has a header-line, and
4712 new window start is greater than old window start.
4713
42ac0ae5
GM
4714 * process.c (process_sent_to): New variable.
4715 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
4716 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
4717 Declare more parameters volatile.
4718
550a625e
GM
4719 * lread.c (Vrecursive_load_depth_limit): New variable.
4720 (Fload): Check recursive loads whose recursion depth exceeds
4721 Vrecursive_load_depth_limit.
4722 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
4723
8320414c
GM
47242000-09-20 Gerd Moellmann <gerd@gnu.org>
4725
f46c275e
GM
4726 * fileio.c (Fread_file_name): Doc fix.
4727
4728 * editfns.c (Fmessage_or_box): Doc fix.
4729
4730 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
4731
b7e11c5b
GM
4732 * xfns.c (xbm_scan): Allow C-style comments.
4733
8320414c
GM
4734 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
4735 symbols are specified, add color translations to the cache.
4736 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
4737 functions.
4738 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
4739 xpm_cache_color.
4740 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
4741 structures to xpm_init_color_cache.
4742
da1608d9
GM
47432000-09-19 Gerd Moellmann <gerd@gnu.org>
4744
4745 * dispnew.c (update_window_line): Make sure to always draw
4746 mode-lines.
4747
6badfa25
AI
47482000-09-19 Andrew Innes <andrewi@gnu.org>
4749
4750 * makefile.nt (bootstrap-emacs): Don't change directory.
4751
3a5f42bb
KH
47522000-09-19 Kenichi Handa <handa@etl.go.jp>
4753
1b7649bd
KH
4754 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
4755
3a5f42bb
KH
4756 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
4757 If output buffer is too small, signal an appropriated error.
4758
9f83cf0b
DL
47592000-09-18 Dave Love <fx@gnu.org>
4760
4761 * keyboard.c (menu_bar_items, tool_bar_items)
4762 (current_active_maps): Remove redundant get_local_map call.
4763
28c7826c
GM
47642000-09-18 Gerd Moellmann <gerd@gnu.org>
4765
5cefa566
GM
4766 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
4767 cursor for buffers whose cursor_type is nil.
4768
6fed3546
GM
4769 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
4770 a feature to implement that is already implemented.
4771 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
4772 warnings.
4773
4774 * xfns.c (x_clear_image_1): New function.
4775 (x_clear_image): Use it.
4776 (x_from_xcolors): Use x_clear_image_1; don't free the image's
4777 mask.
4778
05b1f851
GM
4779 * dispnew.c (update_window): Move test for invisible lines
4780 at the top to update_window_line.
4781 (update_window_line): Handle invisible lines here.
4782
f4779de9
GM
4783 * xfns.c (clear_image_cache): Clear current matrices of all
4784 frames sharing an image cache. Block input while freeing
4785 images. Fix timestamp comparison.
4786 (x_clear_image): Also free the mask.
4787
28c7826c
GM
4788 * xfns.c (lookup_image): Block input while loading the image so
4789 that we won't get interrupted in a state where the image isn't yet
4790 set up completely.
4791 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
4792 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
4793 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
4794 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
4795 input.
4796
b7412313
GM
47972000-09-16 Gerd Moellmann <gerd@gnu.org>
4798
4799 * dispnew.c (update_window): Make sure to make desired rows
4800 current even if they are completely invisible at the top
4801 of a window.
4802
47e351a3
GM
48032000-09-15 Gerd Moellmann <gerd@gnu.org>
4804
7f8f1edc
GM
4805 * xfns.c (lookup_image): Build mask before applying an algorithm.
4806 Recognize algorithm `disabled'.
4807 (cross_disabled_images): New variable.
4808 (COLOR_INTENSITY): New macro.
4809 (x_detect_edges): Use COLOR_INTENSITY.
4810 (x_disable_image): New function.
4811 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
4812
4813 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
4814 disabled state, don't apply an image transformation algorithm if
4815 the user specified an image for the disabled state. Use
28c7826c 4816 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
4817 user hasn't specified an image.
4818
ebb8f116
GM
4819 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
4820 allocation functions with the XPM lib.
4821 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
4822 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
4823 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
4824 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
4825 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
4826 functions.
4827 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
4828 functions, if possible, because these handle color allocation
4829 failure more gracefully.
4830 (Fimage_mask_p): New function.
4831
47e351a3
GM
4832 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
4833 (Qedge_detection, Qheuristic): New symbols.
4834 (syms_of_xfns): Initialize new symbols.
4835 (lookup_image): Handle `:mask X', `:algorithm emboss', and
4836 `algorithm (edge-detection ...)'.
4837 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
4838 (tiff_format, gif_format, gs_format): Add `:mask'.
4839 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
4840 (GIF_MASK, GS_MASK): New enumerators.
4841 (x_laplace_read_row, x_laplace_write_row): Functions removed.
4842 (emboss_matrix, laplace_matrix): New variables.
4843 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
4844 (x_edge_detection): New functions.
4845 (x_laplace): Rewritten in terms of x_detect_edges.
4846 (x_build_heuristic_mask): If image has a mask, free it.
4847
fe83b953
AI
48482000-09-14 Andrew Innes <andrewi@gnu.org>
4849
4850 * makefile.w32-in: Revert to Unix line endings.
4851
3021e816
AI
48522000-09-14 Andrew Innes <andrewi@gnu.org>
4853
4854 * makefile.w32-in: Standardize indentation somewhat.
4855 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
4856 cater for differences between shells.
4857
4858 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
4859
2a32b5ea
GM
48602000-09-14 Gerd Moellmann <gerd@gnu.org>
4861
4862 * xterm.c (x_produce_glyphs): If the distance from the current
4863 position to the next tab stop is less than a canonical character
4864 width, use the tab stop after that.
4865
b4331e96
DL
48662000-09-14 Dave Love <fx@gnu.org>
4867
4868 * buffer.c (alloc_buffer_text): Fix xmalloc call.
4869
ef9e4345
GM
48702000-09-14 Gerd Moellmann <gerd@gnu.org>
4871
085536c2
GM
4872 * xdisp.c (handle_fontified_prop): While running fontification
4873 functions, bind `fontification-functions' and
4874 `after-change-functions' to nil.
4875
ef9e4345
GM
4876 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
4877 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
4878
4879 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
4880
4881 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
4882 USE_MMAP_FOR_BUFFERS.
4883
4884 * insdel.c (make_gap): Use enlarge_buffer_text.
4885
4886 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
4887 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
4888 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
4889 from former r_alloc_* functions in ralloc.c.
4890 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
4891 variables.
4892 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
4893 (mmap_init) [REL_ALLOC_MMAP]: New function.
4894 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
4895 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
4896 BUFFER_FREE.
4897
4898 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
4899 (enlarge_buffer_text): Add prototype.
4900
4901 * ralloc.c: Remove everything having to do with the use of mmap.
4902
f8608968
GM
49032000-09-13 Gerd Moellmann <gerd@gnu.org>
4904
2a494b2d
GM
4905 * sound.c (Fplay_sound): Doc fix.
4906
8c907a56
GM
4907 * keyboard.c: Avoid some more compiler warnings.
4908 (parse_tool_bar_item): Ignore cached key bindings.
4909
f8608968
GM
4910 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
4911 and allocation of Lisp data.
4912
6ab70e9a
GM
49132000-09-12 Gerd Moellmann <gerd@gnu.org>
4914
d12d0a9b
GM
4915 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
4916 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
4917 defaults first.
4918
6ab70e9a
GM
4919 * lread.c (Fload): Put code checking for recursive loads in #if 0.
4920
63c36c3c
KH
49212000-09-12 Miyashita Hisashi <himi@meadowy.org>
4922
4923 * ccl.c: Comment fixed.
4924 (MAX_MAP_SET_LEVEL): Increased to 30.
4925 (PUSH_MAPPING_STACK): Enclose with do-while block.
4926 (POP_MAPPING_STACK): Likewise.
4927 (stack_idx_of_map_multiple): New variable.
4928 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
4929 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
4930 call the corresponding CCL program by
4931 CCL_CALL_FOR_MAP_INSTRUCTION.
4932 (ccl_driver) <CCL_MapSingle>: Likewise.
4933 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
4934 with the case where looking up process reaches to the end of
4935 map-set, and call CCL programs as the above change.
4936
7ee3bd7b
GM
49372000-09-11 Gerd Moellmann <gerd@gnu.org>
4938
8ec8a5ec
GM
4939 * xfns.c (png_load, jpeg_load): Declare some variables volatile
4940 that might be clobbered by longjmp.
4941 (check_x_display_info, x_decode_color, create_frame_xic)
4942 (Fx_display_backing_store, Fx_display_visual_class)
4943 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
4944 warnings.
4945
f74b0705
GM
4946 * lread.c (init_lread): Set Vloads_in_progress to nil.
4947 (Fload): Show list of recursively loaded files, when signaling an
4948 error.
4949
7ee3bd7b
GM
4950 * lread.c (Vloads_in_progress): New variable.
4951 (record_load_unwind): New function.
4952 (Fload): Check for recursive loads.
4953 (syms_of_lread): Initialize Vloads_in_progress.
4954 (read_integer, read1): Avoid some compiler warnings.
4955
4956 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
4957 compiler warnings.
4958
974e1e5b
MB
49592000-09-11 Miles Bader <miles@gnu.org>
4960
4961 * editfns.c (Fbuffer_string): Doc fix.
4962
9824c4e3
GM
49632000-09-10 Gerd Moellmann <gerd@gnu.org>
4964
4965 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
4966
6a72fdd1
KR
49672000-09-09 Ken Raeburn <raeburn@gnu.org>
4968
4969 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
4970 whether to include other header files.
4971
28e6fb66
GM
49722000-09-09 Gerd Moellmann <gerd@gnu.org>
4973
4974 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 4975 by Fmemq as a boolean.
28e6fb66 4976
7f8b6551
SM
49772000-09-08 Stefan Monnier <monnier@cs.yale.edu>
4978
4979 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
4980
a8710abf
GM
49812000-09-08 Gerd Moellmann <gerd@gnu.org>
4982
d1a02881
GM
4983 * ralloc.c (mmap_fd): Remove initializer which can make it
4984 read-only in a dumped Emacs.
4985 (mmap_fd_1): New variable.
4986 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
4987 restore it from there.
4988 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
4989 unconditionally so that mmap_fd can be initialized there.
4990 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
4991 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
4992 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
4993
c454aac1
GM
4994 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
4995
4996 * xdisp.c (dump_glyph_row): Fix printf format string.
4997 (display_line, move_it_in_display_line_to): Avoid compiler
4998 warnings.
4999
fc653ef2
GM
5000 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
5001
3015eec0
GM
5002 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
5003 inheritance.
5004
bfe0ee88
GM
5005 * xdisp.c (try_window_id): When trying to locate cursor in
5006 unchanged rows at the top, handle the case that we can't find it.
5007
a8710abf
GM
5008 * xterm.c (x_draw_glyphs): Handle case START and END are out
5009 of bounds more carefully.
5010
6b7d4ae4
DL
50112000-09-08 Dave Love <fx@gnu.org>
5012
423193c5
DL
5013 * s/sol2.h (REL_ALLOC_MMAP): Define.
5014 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
5015
5016 * ralloc.c: Don't include string.h (redundant).
5017 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
5018 [!MAP_ANON]: Include fcntl.h.
5019 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
5020 (r_alloc, r_re_alloc, r_alloc_free)
5021 (mmap_enlarge, mmap_set_vars): Use it.
5022 (r_alloc_init_fd): New function.
5023 (__morecore) [SYSTEM_MALLOC]: Don't declare.
5024 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
5025 malloc type.
5026
5027 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
5028 Remove vm-limit.o.
5029
6b7d4ae4
DL
5030 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
5031 change to __NetBSD__.
5032
44d31981
KH
50332000-09-08 Kenichi Handa <handa@etl.go.jp>
5034
5035 * search.c (compile_pattern): Check the multibyteness of cached
5036 string and PATTERN.
5037
aad40737
MB
50382000-09-08 Miles Bader <miles@gnu.org>
5039
5040 * xfaces.c (default_face_vector): Function removed.
5041 (Finternal_merge_in_global_face): Restore old global/local
5042 attribute override order. Use inline loop instead of calling
5043 default_face_vector.
5044
91a211b5
GM
50452000-09-07 Gerd Moellmann <gerd@gnu.org>
5046
5047 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
5048 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
5049 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
5050 where necessary, in case POINTER_TYPE is `void'.
5051
03419440
EZ
50522000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
5053
5054 * frame.c (make_terminal_frame): Initialize frame foreground and
5055 background colors to unspecified, for the initial instance of an
5056 MSDOS frame.
5057
f46f845b
GM
50582000-09-07 Gerd Moellmann <gerd@gnu.org>
5059
24f76fbf
GM
5060 * ralloc.c (mmap_find): Fix overlap computation.
5061 (mmap_enlarge): Compute nbytes before trying to find an
5062 overlapping region.
5063
f46f845b
GM
5064 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
5065 instead of `!='.
5066
5067 * lread.c (syms_of_lread): Change value of regexp
5068 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
5069
5070 * xmenu.c (xdialog_show): When looking up the selection in
5071 menu_items, take `quote' boundaries into account; this corresponds
5072 to a nil ITEM in x-popup-dialog.
5073
3c014385
KH
50742000-09-07 Kenichi Handa <handa@etl.go.jp>
5075
fd6f711b
KH
5076 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
5077 not 0x81.
5078 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
5079
3c014385 5080 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
5081 encoding, not decoding. Fix the handling of latin-jisx0201.
5082 Check for the charset katakana-jisx0201 too.
3c014385 5083 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 5084 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 5085
0da3ecef
GM
50862000-09-07 Gerd Moellmann <gerd@gnu.org>
5087
ab0ee409
GM
5088 * xfaces.c (Vparam_value_alist): New variable.
5089 (syms_of_xfaces): Initialize it.
5090 (Finternal_set_lisp_face_attribute): Avoid more consing.
5091
5092 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
5093 specially.
5094 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
5095 (Qbackground_mode): New variable.
5096 (syms_of_frame_1): Initialize Qbackground_mode.
5097
5098 * lisp.h (Qdisplay): Declare extern.
1091dd67 5099
0da3ecef
GM
5100 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
5101 change face on all frames, and change the default for new frames.
5102
b14654b9
DL
51032000-09-07 Dave Love <fx@gnu.org>
5104
5105 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
5106
d24fd56f
KH
51072000-09-07 Kenichi Handa <handa@etl.go.jp>
5108
794f3670
KH
5109 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
5110
0fddd0dc
KH
5111 * charset.c: Include composite.h
5112 (lisp_string_width): New function.
5113 (Fstring_width): Call lisp_string_width instead of strwidth.
5114
5115 * Makefile.in (charset.o): Depends on composite.h.
5116
d24fd56f
KH
5117 * process.c (read_process_output): Before inserting the decoded
5118 text in the buffer, adjust the multibyteness.
5119
fa0b693c
GM
51202000-09-06 Gerd Moellmann <gerd@gnu.org>
5121
73b77ee5
GM
5122 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
5123 buffer's text buffer is null, map new memory.
5124
0a58f946
GM
5125 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
5126 POINTER_TYPE and size_t.
5127 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
5128 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
5129 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
5130 [REL_ALLOC_MMAP]: New macros.
5131 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
5132 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
5133 [REL_ALLOC_MMAP]: New functions.
5134
5135 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
5136 before and after unexec.
5137
5138 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
5139 text buffers if necessary.
5140
5141 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
5142 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
5143 in prototypes.
5144
fa0b693c
GM
5145 * config.in (HAVE_MMAP): Add #undef.
5146
877055f6
GM
51472000-09-05 Gerd Moellmann <gerd@gnu.org>
5148
08ba3862
GM
5149 * frame.c (Qdisplay_type): New variable.
5150 (syms_of_frame_1): Initialize it.
5151 (Fframe_parameter): New function that avoids consing.
5152 (syms_of_frame): Defsubr it.
5153
66ffe51c
GM
5154 * buffer.c (Fother_buffer): Consider buffers as invisible when
5155 they are displayed in a window on an invisible frame.
5156
877055f6
GM
5157 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
5158 get-largest-window always return nil.
5159
bb970e67
GM
51602000-09-04 Gerd Moellmann <gerd@gnu.org>
5161
5162 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
5163 variable; recognize Emacs 19 elc files.
5164
7a3d0e0e
MB
51652000-09-04 Miles Bader <miles@gnu.org>
5166
5167 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
5168 before initially popping up the menu, so the menu doesn't flash
5169 when the face settings are significantly different from the
5170 defaults.
5171
14473664
SM
51722000-09-04 Stefan Monnier <monnier@cs.yale.edu>
5173
5174 * regex.c (WIDE_CHAR_SUPPORT): New macro.
5175 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
5176 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
5177 (BIT_UNIBYTE): Remove.
5178 (re_match_2_internal): Delete corresponding code and streamline the
5179 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
5180 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
5181 (re_wctype_t): New type.
5182 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
5183 (regex_compile): Use them and fix handling of overly long char classes.
5184
c1174479
AI
51852000-09-03 Andrew Innes <andrewi@gnu.org>
5186
f8803e97
AI
5187 * makefile.w32-in: Change to DOS line endings.
5188
c1174479
AI
5189 * s/ms-w32.h (ORDINARY_LINK): New define.
5190
5191 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
5192 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
5193
5194 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
5195 (distclean): Delete them here instead.
5196
44ef7cf6
AI
5197 * w32proc.c (compare_env): Convert to uppercase for comparison,
5198 not lowercase, to match how the native Windows shell works.
5199
49b3bd82
JR
52002000-09-03 Jason Rumney <jasonr@gnu.org>
5201
5202 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
5203 CVS changes the line-ends when checking in/out on DOS/Windows.
5204
5205 * makefile.nt (emacs): Do not change directory to run temacs, as
5206 the load-path is set relative to current directory.
5207
a3d35a39
MB
52082000-09-03 Miles Bader <miles@gnu.org>
5209
5210 * xterm.c (x_alloc_lighter_color_for_widget): New function.
5211
d276b0cf
GM
52122000-09-02 Gerd Moellmann <gerd@gnu.org>
5213
715e84c9
GM
5214 * xdisp.c (redisplay_mode_lines): New function.
5215 (display_mode_lines): Return number of mode lines displayed.
5216 (echo_area_display): Use redisplay_mode_lines to draw garbaged
5217 mode lines. Don't temporarily bind redisplay-dont-pause to t.
5218
8892f40b
GM
5219 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
5220 string.h and strings.h.
5221 (index) [HAVE_INDEX]: Add prototype.
5222
d276b0cf
GM
5223 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
5224 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
5225
5226 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
5227 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
5228
38404229
GM
52292000-09-01 Gerd Moellmann <gerd@gnu.org>
5230
5231 * lread.c (read1): Accept `?' as symbol constituent, for
5232 compatiblity with XEmacs.
5233
c0f9ea08
SM
52342000-08-31 Stefan Monnier <monnier@cs.yale.edu>
5235
5236 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
5237 (struct re_pattern_buffer): Remove newline_anchor.
5238 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
5239 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
5240 (re_max_failures, fail_stack): Use size_t rather than unsigned.
5241 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
5242 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
5243 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
5244 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
5245 Get rid of references to newline_anchor.
5246 (regcomp): Allocate and precompute a fastmap.
5247
8c0f83fe
GM
52482000-08-31 Gerd Moellmann <gerd@gnu.org>
5249
5250 * lread.c (openp): GCPRO local variable `filename'.
5251
4bb91c68
SM
52522000-08-30 Stefan Monnier <monnier@cs.yale.edu>
5253
5254 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
5255
5256 * regex.c: Merge some changes from GNU libc. Add prototypes.
5257 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
5258 Use memcmp and memcpy instead of bcopy and bcmp.
5259 (init_syntax_once): Use ISALNUM.
5260 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
5261 (REG_UNSET_VALUE): Remove. Use NULL instead.
5262 (REG_UNSET, re_match_2_internal): Use NULL.
5263 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
5264 New macros.
5265 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
5266 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
5267 (regex_compile): In handle_interval, return an error rather than try to
5268 unfetch the interval if we can't find the closing brace.
5269 Obey the RE_NO_GNU_OPS syntax bit.
5270 (TOLOWER): New macro.
5271 (regcomp): Use it.
5272 (regexec): Allocate regs.start and regs.end as one block.
5273
5226a931
GM
52742000-08-30 Gerd Moellmann <gerd@gnu.org>
5275
868dd24b
GM
5276 * xdisp.c (echo_area_display): Check display_completed instead
5277 of calling detect_input_pending.
5278
5279 * dispnew.c (update_frame): Only set display_completed here; move
5280 the update_begin and update_end calls here from update_frame_1.
5281 (update_frame_1): Don't set display_completed here, don't call
5282 update_begin/update_end.
5283
5226a931
GM
5284 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
5285 instead of store_frame_param.
5286
2a8bd25f
GM
52872000-08-29 Gerd Moellmann <gerd@gnu.org>
5288
5289 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
5290 desired window matrix hasn't been displayed, use the current row
5291 instead. Make sure that only those frame rows are updated for
5292 which there exists a corresponding enabled desired row.
5293
ba3478d9
MB
52942000-08-29 Miles Bader <miles@gnu.org>
5295
5296 * xfaces.c (default_face_vector): New function.
5297 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
5298
87d0f685
GM
52992000-08-29 Gerd Moellmann <gerd@gnu.org>
5300
5301 * lread.c (openp): Prevent temporary string passed to
5302 Ffile_readable_p from being garbage collected.
5303
6fa86045
DL
53042000-08-28 Dave Love <fx@gnu.org>
5305
5306 * keymap.c (store_in_keymap): Add `static' to declaration.
5307
bb17930d
GM
53082000-08-28 Gerd Moellmann <gerd@gnu.org>
5309
5310 * emacs.c, callint.c, doc.c, editfns.c
5311 (toplevel) [HAVE_STRING_H]: Include string.h.
5312 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
5313 (index): Remove prototypes which might conflict with non-standard
5314 definitions of index/strchr.
5315
5316 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
5317 (rindex): Define only if !HAVE_RINDEX.
5318
5319 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
5320
5321 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
5322
87188200
MB
53232000-08-28 Miles Bader <miles@gnu.org>
5324
5325 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
5326 made inconsistent by a font-related attribute in FROM.
5327 (merge_face_inheritance): Add function comment.
5328
41a68aef
KH
53292000-08-28 Kenichi Handa <handa@etl.go.jp>
5330
5331 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
5332 the 4th arg (PREV_EVENT) Qt to suppress input method.
5333
f7c436c1
SM
53342000-08-27 Stefan Monnier <monnier@cs.yale.edu>
5335
0b32bf0e
SM
5336 * regex.c: Indent cpp directives and remove parens after `defined'.
5337 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
5338 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
5339 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
5340 (re_compile_pattern): Use size_t for length.
5341 (init_syntax_once): Move to a better place.
5342 * regex.h: Merge changes from GNU libc. Indent cpp directives.
5343 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
5344
f7c436c1
SM
5345 * syntax.c (back_comment): Detect cases where a comment-starter is
5346 actually inside another comment as in: /* a // b */ c // d \n.
5347 Make it clear that `comstart_pos' is unused for nested comments.
5348
5349 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
5350 (KEYMAPP): New macro.
5351 (Fkeymap_parent, Fset_keymap_parent): Use it.
5352 (fix_submap_inheritance): Mark it static.
5353 (define_as_prefix, describe_buffer_bindings, describe_command)
5354 (describe_translation, describe_map): Complete prototypes.
5355
5356 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
5357
5358 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
5359 to better match the key-lookup behavior.
5360
6288c62f
GM
53612000-08-27 Gerd Moellmann <gerd@gnu.org>
5362
5363 * xfaces.c (lface_fully_specified_p): Handle :inherit.
5364 (Finternal_set_lisp_face_attribute): Fix typo in error message.
5365
e931344e
EZ
53662000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
5367
5368 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
5369 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
5370 (xterm.o): Depend on coding.h
5371
d10dfeef
KH
53722000-08-26 Kenichi Handa <handa@etl.go.jp>
5373
5374 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
5375 the corresponding '#endif'.
5376
2d73e8d3
MB
53772000-08-26 Miles Bader <miles@gnu.org>
5378
5379 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
5380 * xfaces.c (QCinherit): New variable.
5381 (syms_of_xfaces): Initialize it.
5382 (LFACE_INHERIT): New macro.
5383 (Finternal_get_lisp_face_attribute)
5384 (merge_face_vector_with_property)
5385 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
5386 (check_lface_attrs): Allow new types of face height. Check
5387 inherit attribute.
5388 (CYCLE_CHECK): New macro.
5389 (merge_face_inheritance): New function.
5390 (merge_face_vectors): Merge inherited faces too. Add F and
5391 CYCLE_CHECK arguments.
5392 (merge_face_vector_with_property, Finternal_merge_in_global_face)
5393 (lookup_named_face, lookup_derived_face, realize_named_face)
5394 (face_at_string_position, face_at_buffer_position): Supply
5395 new F and CYCLE_CHECK arguments to merge_face_vectors.
5396 (merge_face_heights): New function.
5397 (merge_face_vectors, merge_face_vector_with_property)
5398 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
5399 handle relative face heights.
5400 (lface_same_font_attributes_p): Compare heights using EQ.
5401
6ce974d4
KH
54022000-08-26 Kenichi Handa <handa@etl.go.jp>
5403
5404 * charset.c (char_to_string): Check the character validity.
5405 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
5406 0.
5407
dc1e502d
SM
54082000-08-25 Stefan Monnier <monnier@cs.yale.edu>
5409
5410 * regex.c (PUSH_FAILURE_COUNT): New macro.
5411 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
5412 Handle popping of a register's or a counter's data.
5413 (POP_FAILURE_POINT): Use the new name.
5414 (re_match_2_internal): Push counter data on the stack for succeed_n,
5415 jump_n and set_number_at and remove misleading dead code in succeed_n.
5416
bd9d0f3f
GM
54172000-08-25 Gerd Moellmann <gerd@gnu.org>
5418
5419 * xdisp.c (redisplay_internal): If considering all windows on all
5420 frames, update the display for each frame as soon as possible,
5421 instead of first building all desired matrices for all frames, and
5422 then updating them all.
5423 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
5424
aa5b8e15
GM
54252000-08-24 Gerd Moellmann <gerd@gnu.org>
5426
17494071
GM
5427 * bytecode.c (mark_byte_stack): Add a comment.
5428
aa5b8e15
GM
5429 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
5430 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
5431 a graphical frame.
5432
c543db81
KH
54332000-08-24 Kenichi Handa <handa@etl.go.jp>
5434
d246d5f5
KH
5435 * minibuf.c (do_completion): Always use compare-string, not
5436 string-equal because the latter doesn't pay attention to
5437 multibyteness of strings.
5438
c543db81
KH
5439 * process.c (create_process): Don't setup raw-text coding here.
5440 (Fopen_network_stream): Don't set coding->src_multibyte and
5441 coding->dst_multibyte here.
5442 (read_process_output): For process filter, return unibyte string
5443 if default-enable-multibyte-characters is nil.
5444 (send_process): If OBJECT is multibyte text, be sure to encoded it
5445 by the specified coding system for the process. Otherwise, setup
5446 raw-text coding.
5447 (init_process): Don't initialize default-process-coding-system
5448 here.
5449
9b47cfe0
EZ
54502000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
5451
5452 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
5453 <scroll-down-aggressively>: Likewise.
5454
f5a36960
KH
54552000-08-23 Kenichi Handa <handa@etl.go.jp>
5456
5457 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
5458 zero. Set coding->produced_char correctly.
5459
69a7ffa7
AI
54602000-08-22 Andrew Innes <andrewi@gnu.org>
5461
5462 * makefile.w32-in: New file.
5463
5464 * unexw32.c (unexec): Ignore old_name, and use the actual location
5465 of the current executable instead. Base new_name on this.
5466
5467 * w32proc.c (create_child): Remove reference to security
5468 descriptor, which isn't needed and doesn't compile with mingw32.
5469
5470 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5471 up dllimport attributes.
5472 (x_update_window_end): Update prototype.
5473
5474 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
5475 extern, which screws up dllimport attributes.
5476
5477 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5478 up dllimport attributes.
5479
5480 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
5481 screws up dllimport attributes.
5482
5483 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5484 up dllimport attributes.
5485 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
5486 screws up dllimport attributes.
5487
5488 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5489 up dllimport attributes.
5490
5491 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
5492 screws up dllimport attributes.
5493
5494 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
5495 screws up dllimport attributes.
5496
5497 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5498 up dllimport attributes.
5499
5500 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
5501 unnecessary extern, which screws up dllimport attributes.
5502 (main): Ditto.
5503
5504 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5505 up dllimport attributes.
5506
5507 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
5508 unnecessary extern, which screws up dllimport attributes.
5509
5510 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
5511 screws up dllimport attributes.
5512
5513 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
5514 up dllimport attributes.
5515
5516 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
5517
5518 * w32bdf.c (search_file_line):
5519 (set_bdf_font_info):
5520 (seek_char):
5521 (w32_get_bdf_glyph):
5522 (w32_BDF_to_x_font): Fix compile warnings.
5523
5524 * w32menu.c: Include keyboard.h before frame.h. Fix compile
5525 warnings.
5526
5527 * w32select.c: Include keyboard.h before frame.h.
5528
5529 * w32fns.c (max): Define macro.
5530 (JOHAB_CHARSET): Define if not known.
5531 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
5532 (Fx_show_tip): Synch with X version.
5533
5534 * w32xfns.c: Include keyboard.h before frame.h.
5535
5536 * w32fns.c: Include keyboard.h before frame.h.
5537
5538 * w32term.c: Include keyboard.h before frame.h.
5539
5540 * fontset.c: Include keyboard.h before frame.h.
5541
5542 * w32inevt.c: Include keyboard.h before frame.h.
5543 (MOUSE_MOVED): Define if not known.
5544
5545 * minibuf.c: Include keyboard.h before frame.h.
5546
5547 * keyboard.c: Include keyboard.h before frame.h.
5548
5549 * indent.c: Include keyboard.h before frame.h.
5550
5551 * dispnew.c: Include keyboard.h before frame.h.
5552
5553 * buffer.c: Include keyboard.h before frame.h.
5554
5555 * alloc.c: Include keyboard.h before frame.h.
5556
5557 * print.c: Include keyboard.h before frame.h.
5558
5559 * process.c: Include keyboard.h before frame.h.
5560
5561 * scroll.c: Include keyboard.h before frame.h.
5562
5563 * sysdep.c: Include keyboard.h before frame.h.
5564
5565 * term.c: Include keyboard.h before frame.h.
5566
5567 * window.c: Include keyboard.h before frame.h.
5568
5569 * xdisp.c: Include keyboard.h before frame.h.
5570 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
5571
5572 * frame.c: Include keyboard.h before frame.h.
5573
5574 * w32heap.h: Undefine min, max.
5575
5576 * w32gui.h: Undefine min, max.
5577
5578 * unexw32.c: Change PUCHAR to PCHAR.
5579 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
5580 (relocate_offset):
5581 (get_section_info):
5582 (copy_executable_and_dump_data): Remove unnecessary static defs.
5583 (copy_executable_and_dump_data): Fix compile warnings.
5584
5585 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
5586
5587 * w32console.c (min): Define macro.
5588 (clear_frame, write_glyphs): Fix compile warning.
5589
5590 * w32proc.c (compare_env):
5591 (find_child_console): Fix compile warning.
5592
5593 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
5594 sys_errlist instead of _sys_errlist.
5595 (get_emacs_configuration_options): New function.
5596
5597 * s/ms-w32.h (sys_nerr): Provide default definition.
5598 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
5599 name with _ prepended.
5600 (NSIG): Define if not known.
5601 (get_emacs_configuration): Provide extern declaration.
5602 (get_emacs_configuration_options): Provide extern declaration.
5603 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
5604
5605 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
5606 (map_w32_filename):
5607 (read_unc_volume): Fix compile warning.
5608
5609 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
5610 definitions from being used.
5611
5612 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
5613
5614 * w32.c (unc_volume_file_attributes):
5615 (open_unc_volume): Make arg const.
5616
5617 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
5618 (read_input_waiting): Remove excess parameter.
5619
5620 * w32.c (init_environment): Call _access.
5621 (check_windows_init_file): Call _close.
5622 (init_user_info): Call _putenv.
5623 (init_environment): Call _putenv and _strdup.
5624 (init_ntproc): Reset volume info cache on startup.
5625
5626 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
5627 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
5628 cannot override the CRT malloc.
5629
5630 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
5631 (LINK_FLAGS): Append to original value of LINK_FLAGS.
5632
5633 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
5634 unless we are linking with a static CRT.
5635 (RVA_TO_PTR): Cast result to unsigned char*.
5636
5637 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
5638 (add_volume_info): Use xstrdup.
5639
25060080
SM
56402000-08-22 Stefan Monnier <monnier@cs.yale.edu>
5641
5642 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
5643 (do_completion, Fminibuffer_complete_word): Use it.
5644 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
5645 var so it can take non-boolean values.
5646
6917e6bb
GM
56472000-08-21 Gerd Moellmann <gerd@gnu.org>
5648
acb7cc89
GM
5649 * editfns.c (find_field): Formatting changes.
5650 (toplevel): Some old-style function forward declarations
5651 changed to prototypes, some new protypes added, some functions
5652 made static.
5653
5654 * lisp.h (set_time_zone_rule): Add prototype.
5655 (use_dialog_box): External declaration.
5656
0bbfdc25
GM
5657 * keyboard.c (gen_help_event): Add parameter SIZE.
5658 (kbd_buffer_events_waiting): Slightly rewritten.
5659 (clear_event): New function.
5660 (kbd_buffer_get_event): Use it, and clear the input_events of
5661 HELP_EVENTs.
5662 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
5663 don't fill the newly created array with nils.
5664 (toplevel): Convert some old-style function forward declarations
5665 to prototypes.
5666
5667 * keyboard.h (gen_help_event): Change prototype.
5668
5669 * xterm.c (XTread_socket): Change calls to gen_help_event.
5670
5671 * w32term.c (w32_read_socket): Change calls to gen_help_event.
5672
6917e6bb
GM
5673 * eval.c (Fmacroexpand): Doc fix.
5674
e5cd3d11
JR
56752000-08-20 Jason Rumney <jasonr@gnu.org>
5676
5677 * w32term.h (x_display_info_for_display): Remove as this function
5678 does not exist on W32.
5679
5680 * w32term.c (help_echo_window): New variable.
5681 (syms_of_w32term): staticpro it.
5682 (note_mode_line_highlight): Set it.
5683 (XTextExtents16): Removed as there is no equivalent on W32.
5684 (x_compute_glyph_string_overhangs): Incomplete body removed, as
5685 the X way of doing this will not work for W32.
5686 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
5687 (x_draw_image_foreground): Avoid drawing outside of the clip area
5688 when image doesn't have a mask.
5689 (note_mouse_highlight): Process overlays in the right order of
5690 priority. Set help_echo_window.
5691 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
5692 because that's more visible for large images.
5693
5694 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
5695 name to single_keymap_panes.
5696 (w32_menu_show): Set wv->title when dealing with titles.
5697 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
5698
6e69ab8c
MB
56992000-08-21 Miles Bader <miles@gnu.org>
5700
5701 * minibuf.c (do_completion): Try again if we rewrite the input
5702 string, but no completion was done, so that any completion message
5703 will be correct.
5704
511bd4eb
GM
57052000-08-20 Gerd Moellmann <gerd@gnu.org>
5706
5707 * xfaces.c (lface_equal_p): Compare strings differently.
5708 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
5709 (realize_tty_face): Use them.
5710 (syms_of_xfaces): Initialize new variables.
5711 (map_tty_color): New function, extracted from realize_tty_face.
5712 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
5713 foreground or background color, store the new color name in the
5714 realized face; previous code trying to do this had no effect.
5715 (realize_tty_face): Use map_tty_color.
5716 (Fclear_face_cache): Set face_change_count and ensure thorough
5717 redisplay.
5718
1433385f
GM
57192000-08-19 Gerd Moellmann <gerd@gnu.org>
5720
511bd4eb
GM
5721 * undo.c (record_first_change, record_marker_adjustment): Don't
5722 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 5723
419ac0a2
KH
57242000-08-18 Kenichi Handa <handa@etl.go.jp>
5725
5726 * coding.c (decode_coding_string): Set members consumed,
5727 consumed_char, produced, produced_char of *coding correctly. If
5728 decode_coding doesn't consume any byte, don't try anymore.
5729 (encode_coding_string): Likewise.
5730
7eb9e30d
GM
57312000-08-18 Gerd Moellmann <gerd@gnu.org>
5732
511bd4eb
GM
5733 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
5734 conditional have void type, for Standard C compilers.
7eb9e30d
GM
5735
5736 * xdisp.c (redisplay_internal): Compare windows for equality with
5737 EQ, instead of applying XWINDOW to something that might not
5738 be a window.
5739
dd34a735
KH
57402000-08-18 Kenichi Handa <handa@etl.go.jp>
5741
5742 * fontset.c (Finternal_char_font): Search only the selected frame
5743 for a window of the current buffer.
5744
385ff9e3
GM
57452000-08-18 Gerd Moellmann <gerd@gnu.org>
5746
511bd4eb 5747 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
5748 Lisp_Objects.
5749
385ff9e3
GM
5750 * keyboard.c (kbd_buffer_get_event): Handle the case that the
5751 second half of a HELP_EVENT is found at the start of kbd_buffer.
5752
d6abb4c7
MB
57532000-08-18 Miles Bader <miles@gnu.org>
5754
4618074a
MB
5755 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
5756
d6abb4c7
MB
5757 * editfns.c (save_restriction_save): Rewrite to use markers.
5758 (save_restriction_restore): Rewrite to understand new form of data
5759 saved by save_restriction_save.
5760 (Fsave_restriction): Remove cautionary note in doc-string.
5761
a7b28523
GM
57622000-08-17 Gerd Moellmann <gerd@gnu.org>
5763
5764 * fileio.c (build_annotations): Add a comment explaining the
5765 return value of format-annotate-function. Replace a spurious call
5766 to Flength with a CONSP test. Call format-annotate-function with
5767 a fifth arg specifying how many times the function is been called
5768 in a row, to let it choose temporary buffers appropriately.
5769
03c9ed77
DL
57702000-08-17 Dave Love <fx@gnu.org>
5771
5772 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
5773 declare make_temp_name twice.
5774
5775 * lread.c: Prototype readevalloop, load_unwind,
5776 load_descriptor_unwind.
5777 (unreadpure): Give it an arg.
5778
5779 * unexalpha.c: Prototype fatal_unexec, mark_x,
5780 update_dynamic_symbols. Declare unexec as void.
5781
5782 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
5783 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
5784
5785 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
5786 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
5787 DOUG_LEA_MALLOC.
5788
5789 * alloca.c: Use #error.
5790 [POINTER_TYPE]: Use it.
5791
5792 * eval.c (Fdefvar): Doc fix.
5793
5794 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
5795 INITIALIZE_INTERVAL.
5796
5797 * buffer.h: Avoid DECLARE_INTERVALS.
5798
5799 * config.in: Add size_t.
5800
aae41d97
EZ
58012000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
5802
5803 * w16select.c (set_clipboard_data): If there's not enough memory
5804 to put text into clipboard, return 1, as Fw16_set_clipboard_data
5805 expects. In case of other failures, return 3.
5806 (system_error_msg): New error message.
5807 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
5808 system_error_msg.
5809
65aa5e85
GM
58102000-08-16 Gerd Moellmann <gerd@gnu.org>
5811
5812 * term.c (write_glyphs): Also turn off inverse video after turning
5813 off other appearances in case TS_exit_attribute_mode is not equal
5814 to TS_end_standout_mode.
5815 (insert_glyphs): Turn inverse video on/off for each run of glyphs
5816 with the same face.
5817 (turn_off_face): Reset standout_mode only if
5818 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
5819 is equal to TS_end_standout_mode.
5820
ece23901
KH
58212000-08-16 Kenichi Handa <handa@etl.go.jp>
5822
9d7bcb2e
KH
5823 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
5824 sequence at the end of the source block.
5825
ece23901
KH
5826 * ccl.c (Fccl_program_p): Docstring modified.
5827 (Fccl_execute): Likewise.
5828 (Fccl_execute_on_string): Likewise.
5829
5e30eaa2
EZ
58302000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
5831
5832 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
5833
290602fd
KH
58342000-08-16 Kenichi Handa <handa@etl.go.jp>
5835
5836 The following changes are mainly to fix bugs of
5837 encode/decode-coding-string failing if encoding/decoding return
5838 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
5839 variable conversion_buffer.
5840
5841 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
5842 decrement dst_end to avoid buffer overflow in the later call of
5843 string_as_multibyte
5844
5845 * coding.h (conversion_buffer_size, conversion_buffer)
5846 (get_conversion_buffer): Extern deleted.
5847
5848 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
5849 (conversion_buffer, conversion_buffer_size): Variables deleted.
5850 (get_conversion_buffer): Function deleted.
5851 (struct conversion_buffer): New structure.
5852 (MAX_ALLOCA): New macro.
5853 (allocate_conversion_buffer): New macro.
5854 (extend_conversion_buffer, free_conversion_buffer): New functions.
5855 (ccl_coding_driver): Set coding->result.
5856 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
5857 this is the last block of source.
5858 (encode_coding): Likewise. Handle the source block as the last
5859 one only when the whole source text is consumed.
5860 (decode_coding_string): Handle the case that the output buffer is
5861 too small to decode the whole source text. Use
5862 allocate_conversion_buffer, extend_conversion_buffer and
5863 free_conversion_buffer, not get_conversion_buffer.
5864 (encode_coding_string): Likewise.
5865 (init_coding): Function deleted.
5866 (init_coding_once): Delete code to initialize
5867 conversion_buffer_size.
5868
5869 * emacs.c (main): Don't call init_coding.
5870
5871 * msdos.c (IT_write_glyphs): Use a locally declared
5872 conversion_buffer.
5873
5874 * term.c (write_glyphs): Use a locally declared conversion_buffer.
5875 (insert_glyphs): Likewise.
5876
5877 * w32console.c (write_glyphs): Use a locally declared
5878 conversion_buffer.
5879
b9f80d41
EZ
58802000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
5881
5882 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
5883 member of display_info is NULL.
5884
32dc52f7
GM
58852000-08-15 Gerd Moellmann <gerd@gnu.org>
5886
58ed0d3b
GM
5887 * alloc.c (compact_small_strings): Use safe_bcopy, add an
5888 assertion.
5889
32dc52f7 5890 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 5891 appearances with capability `me'.
32dc52f7
GM
5892 (write_glyphs): Switch on inverse video before each face change.
5893
4eb22d33
DL
58942000-08-14 Dave Love <fx@gnu.org>
5895
5896 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
5897 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
5898 (lisp_free): Declare and make static.
5899
5900 * window.c: Fix embedded comment.
5901 (syms_of_window): Fix doc string.
5902
90cbf47e
GM
59032000-08-14 Gerd Moellmann <gerd@gnu.org>
5904
5905 * keymap.c (push_key_description): If C without modifiers is < 32,
5906 make sure to print `C-' before `M-', like in the manual.
5907
440fc135
GM
59082000-08-11 Gerd Moellmann <gerd@gnu.org>
5909
5910 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
5911 since they aren't relocated anymore.
5912 (sxhash_string): Make sure returned hash code fits in a Lisp
5913 integer.
5914
5915 * xdisp.c (try_cursor_movement): Fix handling of cursor in
5916 partially visible line which is smaller than the window's
5917 height.
5918
6e264fad
KH
59192000-08-11 Kenichi Handa <handa@etl.go.jp>
5920
5921 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
5922 the multibyte form of eight-bit-control characters.
5923 (Fccl_execute_on_string): Initialize ccl->multibyte.
5924
5925 * ccl.h (struct ccl_program): New member multibyte.
5926
5927 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
5928
c371f69a
KH
59292000-08-11 Kenichi Handa <handa@etl.go.jp>
5930
5931 * regex.c (regex_compile) <normal_char>: Pay attention to
5932 multibyteness.
5933 (analyse_first) <exactn>: Setup fastmap correctly for
5934 eight-bit-control characters.
5935
59362000-08-11 Kenichi Handa <handa@etl.go.jp>
5937
5938 * termhooks.h (enum event_kind): New member
5939 multibyte_char_keystroke.
5940
5941 * keyboard.c (make_lispy_event): Handle the new event type
5942 multibyte_char_keystroke.
5943
5944 * xterm.c: Include coding.h.
5945 (XTread_socket): Work around a bug of XmbLookupString. If the
5946 input is from XIM, decode it according to the current locale. In
5947 that case, generate multibyte_char_keystroke events.
5948
b8ddbe71
KH
59492000-08-11 Kenichi Handa <handa@etl.go.jp>
5950
5951 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
5952 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
5953
47589c8c
GM
59542000-08-10 Gerd Moellmann <gerd@gnu.org>
5955
5956 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
5957 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
5958 (move_it_in_display_line_to): Record iterator's ascent and descent
5959 before producing glyphs, and restore them when we know the glyph
5960 doesn't fit on the line.
5961 (move_it_to): Restructured so that it's easier to debug. If
5962 moving to a vpos, and not moving to an x or character position,
5963 stop as soon as the specified vpos is reached; don't move further
5964 into that line because that might change the computed line height.
5965 (try_cursor_movement): New function, extracted from the cursor
5966 movement branch of redisplay_window. If ending on a partially
5967 visible line, don't try to scroll if the cursor line is taller
5968 than the window.
5969 (redisplay_window): Use try_cursor_movement.
5970
5971 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
5972 because that function doesn't cope with variable-height lines.
5973
5974 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
5975 box cursor because that's better visible for large images.
5976
c51bacd6
MB
59772000-08-10 Miles Bader <miles@gnu.org>
5978
5979 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
5980
bea56df7
GM
59812000-08-10 Gerd Moellmann <gerd@gnu.org>
5982
5983 * xdisp.c (Vmessages_buffer_name): New variable.
5984 (message_dolog): Use it.
5985 (syms_of_xdisp): Initialize it.
5986
99cd7364
EZ
59872000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
5988
5989 * msdos.c (IT_note_mouse_highlight): Update the calls to
5990 overlays_at.
5991 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
5992 redundant now that keyboard.h is included.
5993
7d093d56
EZ
59942000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
5995
5996 * keyboard.c (kbd_buffer_events_waiting): New function.
5997
5998 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
5999
6000 * msdos.c: Include keyboard.h.
6001 (XMenuActivate): Empty no_event events from the event buffer. If
6002 no events are left after that, call clear_input_pending.
6003 (mouse_clear_clicks): New function, code moved from mouse_init.
6004 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
6005 mouse driver to ``forget'' any past clicks.
6006
6007 * Makefile.in (msdos.o): Depend on keyboard.h.
6008
41e757a6
GM
60092000-08-09 Gerd Moellmann <gerd@gnu.org>
6010
8e7bd231
GM
6011 * lisp.h (input_pending): External declaration.
6012
6013 * dispextern.h (Qredisplay_dont_pause): Declare extern.
6014
6015 * xdisp.c (echo_area_display): Display thoroughly if input is
6016 pending. Bind redisplay-dont-pause to t during the redisplay.
6017 in case input is pending.
6018
6019 * dispnew.c (Qredisplay_dont_pause): New variable.
6020 (syms_of_display): Initialize and staticpro it.
6021 (update_frame_1): Don't interrupt the display for pending input if
6022 redisplay_dont_pause is set.
6023
43028b7e
GM
6024 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
6025
41e757a6
GM
6026 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6027
2f2174fa
KH
60282000-08-09 Miles Bader <miles@lsi.nec.co.jp>
6029
6030 * callproc.c (Fcall_process): Terminate the unwind-protect around
6031 the post-read-conversion of coding system.
6032
0a6fd67e
MB
6033 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
6034 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
6035 * buffer.h (overlays_at): Update prototype.
6036 * xdisp.c (next_overlay_change): Update call to overlays_at.
6037 * xfaces.c (face_at_buffer_position): Likewise.
6038 * textprop.c (Fget_char_property): Likewise.
6039 * xterm.c (note_mouse_highlight): Likewise.
6040
0c80756e
MB
6041 * minibuf.c (do_completion): Don't consider a simple change of
6042 case as `completion'.
6043
975f250a
KR
60442000-08-08 Ken Raeburn <raeburn@gnu.org>
6045
b347b3fd
KR
6046 * keyboard.c (syms_of_keyboard): Initialize
6047 last_point_position_buffer.
6048 * undo.c (record_delete): Make sure last_point_position_buffer is
6049 a buffer before comparing pointers.
6050
6051 * coding.h (decode_coding_string): Declare.
6052
6053 * intervals.h (Fprevious_single_char_property_change): Declare.
6054
6055 * textprop.c (Fprevious_single_char_property_change): Don't do
6056 arithmetic directly on lisp objects.
6057
25ad1371 6058 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
6059 objects.
6060
6061 * keyboard.h (menu_item_eval_property): Declare.
6062
6063 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
6064 reuse as buffer name, instead of recreating (and discarding) every
6065 time a message is logged.
6066 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
6067 (current_message_1, truncate_message_1, set_message_1)
6068 (display_echo_area_1, resize_mini_window_1): Signatures changed.
6069 (current_message, truncate_echo_area, display_echo_area)
6070 (resize_echo_area_axactly): Changed calls.
b347b3fd 6071
975f250a 6072 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 6073 Lisp object.
975f250a 6074 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 6075 must be an integer, not a Lisp object.
975f250a 6076
46dc9912
KH
60772000-08-08 Kenichi Handa <handa@etl.go.jp>
6078
6079 * charset.c (Fchar_width): Doc fix.
6080
9f6d1a6c
GM
60812000-08-08 Gerd Moellmann <gerd@gnu.org>
6082
6083 * charset.c (Fstring_width): Doc fix.
6084
ff3d9573
GM
60852000-08-07 Gerd Moellmann <gerd@gnu.org>
6086
41e757a6 6087 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
6088 line, clear ascent and descent members of the iterator structure;
6089 the height of the continued line does not affect the height of the
6090 continuation line.
6091 (make_cursor_line_fully_visible): Do nothing if cursor is on a
6092 line taller than the window.
6093 (redisplay_window) <forced window start>: Handle case that the
6094 middle of the window is not found in any row.
6095 (dump_glyph_row): Show more information.
6096 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
6097 first text line in a glyph matrix.
6098
6099 * xterm.c (x_draw_image_foreground): Avoid drawing outside
6100 of the clip area when image doesn't have a mask.
6101
70fc58b3
GM
6102 * fns.c (sweep_weak_table): Fix survival conditions for
6103 key-or-value and key-and-value weakness.
6104
6105 * .gdbinit (xhashtable): New command.
6106
ac0e96ee
GM
6107 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
6108 tables out of the list of all weak hash tables.
6109
ff3d9573
GM
6110 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
6111 a new buffer is created, make sure echo_area_buffer[] references
6112 the new buffer.
6113
e0d8827b
EZ
61142000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
6115
6116 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
6117 the doc string.
6118
c6f35378
KH
61192000-08-07 Kenichi Handa <handa@etl.go.jp>
6120
6121 * syntax.c (skip_chars): Fix previous change. Make the handling
6122 of unibyte string consistent with that of regex search.
6123
1fd4c450
GM
61242000-08-05 Gerd Moellmann <gerd@gnu.org>
6125
e49aa397
GM
6126 * xmenu.c (popup_get_selection): Use xfree instead of free.
6127
6128 * fileio.c (Finsert_file_contents): Use xfree instead of free.
6129
6130 * editfns.c (Ftranspose_regions): Use xfree instead of free.
6131
6132 * callproc.c (child_setup): Use xfree instead of free.
6133
6134 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
6135 instead of malloc.
6136 (run_mac_command, closedir): Use `xfree' instead of `free'.
6137
6138 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
6139
6140 * eval.c (error): Use xfree instead of free.
6141
1fd4c450
GM
6142 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
6143
6144 * fns.c: Replace `illegal' with `invalid'.
e49aa397 6145 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 6146
82d497fc
KH
61472000-08-05 Kenichi Handa <handa@etl.go.jp>
6148
6149 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
6150 conversion.
6151
59f953a2
NF
61522000-08-04 Noah Friedman <friedman@splode.com>
6153
6154 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
6155 docstring.
6156
688351f2
GM
61572000-08-04 Gerd Moellmann <gerd@gnu.org>
6158
6159 * syntax.c (skip_chars): Fix typo in error message.
6160
2dad51cc
AS
61612000-08-04 Andreas Schwab <schwab@suse.de>
6162
6163 * m/ia64.h: Moved from s/ia64.h.
6164
99bb2c60
KH
61652000-08-04 Kenichi Handa <handa@etl.go.jp>
6166
082a1df2
KH
6167 * process.c (read_process_output): Big simplification. Handle
6168 composition and post-read-conversion of coding system correctly.
6169 (send_process): Handle composition correctly.
6170
6171 * callproc.c (Fcall_process): Handle post-read-conversion of
6172 coding system if any.
6173
99bb2c60
KH
6174 * coding.c (decode_coding_iso2022): More strict check for handling
6175 single shifting.
082a1df2
KH
6176 (coding_restore_composition): Pay attention to the case that
6177 cmp_data is not set properly (because of invalid code in the
6178 source text).
6179 (run_pre_post_conversion_on_str): Include text properties in the
6180 resulting string.
6181 (decode_coding_string): Set members of coding correctly.
99bb2c60 6182
f4988be7
GM
61832000-08-03 Gerd Moellmann <gerd@gnu.org>
6184
6185 * s/ia64.h: New file.
6186
6187 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
6188 Use NULL instead of 0 at the end of variable argument list of
6189 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
6190 sizeof (int) < sizeof (void *).
6191
6192 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
6193 of variable argument lists of XtVaGetValues and XtVaSetValues.
6194
6195 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
6196 variable argument lists of XtVaGetValues and XtVaSetValues.
6197
ead53494
GM
61982000-08-02 Gerd Moellmann <gerd@gnu.org>
6199
6200 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
6201 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
6202
6203 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
6204 prototype.
6205
6206 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
6207 in call to Fsingle_key_description.
6208
6209 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
6210 Callers changed.
6211
62122000-08-02 Colin Walters <walters@cis.ohio-state.edu>
6213
6214 * window.c (display_buffer_reuse_frames): New variable.
6215 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
6216 frames displaying BUFFER.
6217 (syms_of_window): Define Lisp variable
6218 display-buffer-reuse-frames.
6219
10b0f752
MB
62202000-08-01 Miles Bader <miles@gnu.org>
6221
6222 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
6223 when to constrain NEW_POS (they were pretty screwed up before).
6224
16425c4a
EZ
62252000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
6226
6227 * msdos.c (run_msdos_command): Save and restore the master
6228 environment, for the case that child_setup signals an error.
6229 When mirroring slashes in DOS shell commands, don't fail when
6230 argv[2] has embedded blanks.
da288c14
EZ
6231 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
6232 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
6233 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
6234
6235 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
6236 using alloca; free it after run_msdos_command returns.
6237
27f73852
DL
62382000-07-27 Dave Love <fx@gnu.org>
6239
6240 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
6241 define.
6242 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
6243 working.
6244
6245 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
6246
c0261b5e
EZ
62472000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
6248
6249 * editfns.c (lisp_time_argument): Fix last change.
6250
b548072f
GM
62512000-07-27 Gerd Moellmann <gerd@gnu.org>
6252
3ab82477
GM
6253 * fns.c (Fdelete): Make it work on vectors and strings in addition
6254 to lists.
6255
b548072f
GM
6256 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
6257 (syms_of_fns): Initialize new variables.
6258 (sweep_weak_table): Handle weakness `key-or-value' and
6259 `key-and-value'.
6260 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
6261 weakness, with t meaning the same as `key-and-value'.
6262
91ae8751
KH
62632000-07-27 Kenichi Handa <handa@etl.go.jp>
6264
6265 * coding.h (struct coding_system): Member safe_charset deleted.
6266
6267 * coding.c (Qsafe_charsets): This variable deleted.
6268 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
6269 variables.
6270 (coding_safe_chars): New function.
6271 (CODING_SAFE_CHAR_P): New macro.
6272 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
6273 checking safe_charsets member of the coding system. Caller
6274 changed.
6275 (detect_coding_iso2022): New local variable safe_chars.
6276 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
6277 safe_charsets member of the coding system.
6278 (decode_coding_iso2022): New local variable safe_chars.
6279 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
6280 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
6281 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
6282 (ENCODE_UNSAFE_CHARACTER): New macro.
6283 (encode_coding_iso2022): New local variable safe_chars. Check
6284 unsafe chars.
6285 (setup_coding_system): Delete the code to initialize
6286 coding->safe_charses
6287 (intersection, find_safe_codings): New functions.
6288 (Ffind_coding_systems_region_internal): New function.
6289 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
6290 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
6291 variable and initialize it.
6292
6293 * fns.c (char_table_ref_and_index): New function.
6294
6295 * lisp.h (char_table_ref_and_index): Add prototype.
6296
34a7a267
SS
62972000-07-26 Sam Steingold <sds@gnu.org>
6298
6299 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 6300 (Ffloat_time): New built-in Lisp function.
34a7a267 6301
a95cb10a
GM
63022000-07-26 Gerd Moellmann <gerd@gnu.org>
6303
3353ef5a
GM
6304 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
6305 for the character code.
6306
6307 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
6308 GNU/Linux.
6309
a95cb10a
GM
6310 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
6311 if called for a popup menu.
6312 (xmenu_show): Store help string in widget values.
6313
b4a12321
DL
63142000-07-26 Dave Love <fx@gnu.org>
6315
6316 * syswait.h: Move some definitions.
6317 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
6318 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
6319 perspicuous definitions.
6320 (WTERMSIG): Fix bit pattern used.
6321
13f5ad37
KH
63222000-07-26 Kenichi Handa <handa@etl.go.jp>
6323
6324 * print.c (print_object): If vector printing is truncated, print
6325 "..." to indicate it as well as the case of list printing.
6326
070fe99c
GM
63272000-07-25 Gerd Moellmann <gerd@gnu.org>
6328
969065c3
GM
6329 * xdisp.c (next_element_from_display_vector): Improve comments.
6330
6331 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
6332 for the character code, and the rest for the face id as in 20.x.
6333 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
6334
6335 * window.c (window_display_table): Cleaned up.
6336
070fe99c
GM
6337 * syntax.c (Fforward_word): Add last arg nil in call of
6338 Fconstrain_to_field.
6339
bad77ef7
EZ
63402000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
6341
969065c3 6342 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
6343 identical but for the letter-case, don't call
6344 barf_or_query_if_file_exists.
6345
c28da489
MB
63462000-07-25 Miles Bader <miles@gnu.org>
6347
6348 * editfns.c (find_field): Honor special `boundary' fields.
6349 (Qboundary): New variables.
6350 (syms_of_editfns): Initialize Qboundary.
6351 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
6352 Use scan_buffer instead of find_before_next_newline, because it
6353 allows us to detect the boundary case where there's a newline at
6354 the search limit.
6355 * lisp.h (Fconstrain_to_field): Update external declaration.
6356
e3c31fd5
GM
63572000-07-24 Gerd Moellmann <gerd@gnu.org>
6358
6359 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
6360 if that is nil.
c28da489 6361
c66c29a2
DL
63622000-07-24 Dave Love <fx@gnu.org>
6363
6364 * s/sunos4-0.h, s/sol2.h:
6365 (LIBS_TERMCAP): Move from m/sparc.h.
6366
6367 * m/sparc.h (TERMINFO): Moved to system files (probably only
6368 relevant for sunos4 judging by its vintage).
6369 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
6370 __arch64__.
6371
fbe0a958
EZ
63722000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
6373
6374 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
6375 name to single_keymap_panes.
6376
7d88e5c9
AS
63772000-07-24 Andreas Schwab <schwab@suse.de>
6378
6379 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
6380
e024b101
GM
63812000-07-24 Gerd Moellmann <gerd@gnu.org>
6382
6383 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
6384 parameters instead of using int parameters. Expect FN to accept
6385 EMACS_INT parameters.
6386 (display_echo_area, resize_echo_area_axactly, current_message)
6387 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
6388 with new argument list.
6389 (resize_mini_window_1): New callback function.
6390 (current_message_1, truncate_message_1, set_message_1): Change
6391 parameter lists to the new format expected by
6392 with_echo_area_buffer.
6393
25c1a9ce
KH
63942000-07-24 Kenichi Handa <handa@etl.go.jp>
6395
6396 * fontset.c (fontset_ref): Remove INLINE declaration.
6397 (fontset_ref_via_base): Likewise.
6398 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
6399 to downcase.
6400
7f987ac0
EZ
64012000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
6402
6403 * msdos.c (IT_note_mouse_highlight): Process overlays in the
6404 correct order of priority. If help echo was found in an overlay,
6405 use that overlay as the object in which the help echo was found.
6406
e2db3069
MB
64072000-07-22 Miles Bader <miles@gnu.org>
6408
6409 * textprop.c (Fprevious_single_char_property_change): The initial
6410 property value should be from the position preceding POSITION, not
6411 following it.
6412
5e3203e4
EZ
64132000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
6414
6415 * coding.c (syms_of_coding): Doc fix for
6416 inhibit-iso-escape-detection.
6417
62145073
GM
64182000-07-21 Gerd Moellmann <gerd@gnu.org>
6419
c20aeb83
GM
6420 * xterm.c (note_mouse_highlight): Process overlays in the right
6421 order of priority.
34a7a267 6422
743934db
GM
6423 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
6424
6425 * xterm.c (note_mouse_highlight): If help-echo was found in an
6426 overlay, use that overlay as the object in which the help was
6427 found.
6428
d1dc7e43 6429 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 6430
62145073
GM
6431 * window.c (foreach_window): Instead of a fake variable argument
6432 list, take one USER_DATA argument.
6433 (foreach_window_1): Likewise, and call callback functions with two
6434 args, the window and USER_DATA.
6435 (struct check_window_data): New struct.
6436 (check_window_containing): Use it.
6437 (window_from_coordinates): Set up a struct check_window_data for
6438 foreach_window.
6439 (add_window_to_list, freeze_window_start): Change parameters
6440 according to new calling convention.
6441
6442 * window.h (foreach_window): Change prototype.
6443
6444 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
6445
64462000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
6447
6448 * xmenu.c (menu_help_callback): Call show_help_echo with
6449 additional arguments OBJECT and POS.
6450
11270583
KH
64512000-07-21 Kenichi Handa <handa@etl.go.jp>
6452
07b14857
KH
6453 * data.c (Faset): Allow storing any multibyte character in a
6454 string. Convert unibyte string to multibyte if necessary.
6455
11270583
KH
6456 * xfns.c (x_encode_text): New function.
6457 (x_set_name): Use x_encode_text.
6458 (x_set_title): Likewise.
6459
6460 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
6461
6462 * xterm.h (x_encode_text): Add prototype.
6463
bc75b4fd
DL
64642000-07-20 Dave Love <fx@gnu.org>
6465
6466 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
6467 xfree, not free.
6468
48c14970
EZ
64692000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
6470
6471 * msdos.c (help_echo_window): New variable.
6472 (syms_of_msdos): Initialize and staticpro it.
6473 (IT_note_mode_line_highlight): Set help_echo_window.
6474 (IT_note_mouse_highlight): Ditto.
6475 (dos_rawgetc): Store help_echo_window in the second event produced
6476 for HELP_EVENTs.
6477
6478 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
6479 Record the object that generated the help echo and the position of
6480 that object in help_echo_object and help_echo_pos. Record that
6481 some glyphs in a row are displayed in mouse-face.
6482 (IT_update_begin): Don't clear mouse highlight unless one of the
6483 enabled glyph rows is marked as being displayed in mouse-face.
6484 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
6485 and position recorded in help_echo_object and help_echo_pos to the
6486 event queue.
6487 (IT_menu_display): Accept a new argument PN: the pane number of
6488 the current menu pane. Record the pane number and the item
6489 number of the item which has associated help string.
6490 (XMenuActivate): Update the prototype for help_callback in
6491 function declaration. Call IT_menu_display with the current menu
6492 pane number as an additional argument. Call help_callback with
6493 two additional arguments: the pane number and the item number of
6494 the menu item associated with the help text.
6495 (help_echo_object, help_echo_pos): New variables.
6496 (syms_of_msdos): Initialize them and staticpro help_echo_object.
6497
6498 * msdos.h (XMenuActivate): Update prototype.
6499
4279296d
GM
65002000-07-19 Gerd Moellmann <gerd@gnu.org>
6501
47db06aa
GM
6502 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
6503 Add some more prototypes.
6504
6505 * xterm.c, xterm.h: Add some more prototypes.
6506
6507 * lisp.h (Fnext_single_char_property_change): Add prototype.
6508
6509 * dispnew.c (direct_output_for_insert): Remove confusing
6510 outer local variable mouse_face_overwritten_p.
6511 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
6512
4279296d
GM
6513 * alloc.c (allocate_string_data): Don't copy old string contents.
6514
670acd62
KH
65152000-07-19 Kenichi Handa <handa@etl.go.jp>
6516
6517 * coding.c (code_convert_region): Delete text properties before
6518 shrinking the conversion region.
6519
7cea38bc
GM
65202000-07-18 Gerd Moellmann <gerd@gnu.org>
6521
dc1cac59
GM
6522 * dispnew.c (update_text_area): Write the whole row if it
6523 has mouse-face in it.
6524
85a8aca9
GM
6525 * xfaces.c (face-alternative-font-family-alist): Remove
6526 DEFVAR_LISP; staticpro instead.
6527
34a7a267 6528 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
6529 new arguments.
6530
6531 * keyboard.c (show_help_echo): Add parameter WINDOW.
6532 (read_char): Call show_help_echo with window extracted from Lisp
6533 help event.
6534 (gen_help_event): Add parameter WINDOW.
6535
6536 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
6537
6538 * xterm.c (help_echo_window): New variable.
6539 (note_mouse_highlight, note_tool_bar_highlight): Set
6540 help_echo_window.
6541 (XTread_socket): Pass help_echo_window to gen_help_event.
6542 (syms_of_xterm): Initialize and staticpro help_echo_window.
6543
f8276b77
DL
65442000-07-18 Dave Love <fx@gnu.org>
6545
6546 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
6547 systime.h.
6548
088831a6
GM
65492000-07-18 Gerd Moellmann <gerd@gnu.org>
6550
3d6cd763
GM
6551 * alloc.c (allocate_string_data): If string had already data
6552 assigned, copy old contents to new string data.
6553
6554 * coding.c (syms_of_coding): Fix typo in spelling of variable
6555 `inhibit-iso-escape-detection'.
6556
088831a6
GM
6557 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
6558
6559 * Makefile.in: Add dependencies on dispextern.h.
6560 (alloca.o): Don't define malloc and define EMACS_FREE instead of
6561 `free'; both can conflict with system header files.
6562
bc8a8d55
KH
65632000-07-18 Kenichi Handa <handa@etl.go.jp>
6564
6565 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
6566 undefined.
6567
069f5950
DL
65682000-07-18 Dave Love <fx@gnu.org>
6569
6570 * window.c (Fwindow_list): Declare arg `window'.
6571
aa96c820
KH
65722000-07-18 Kenichi Handa <handa@etl.go.jp>
6573
6574 * coding.c (setup_coding_system): Don't override the explicitly
6575 specified designations.
6576
06be8d32
MB
65772000-07-15 Miles Bader <miles@gnu.org>
6578
6579 * editfns.c (char_property_eq, char_property_stickiness): Renamed
6580 from `text_property_eq' and `text_property_stickiness', respectively.
6581 (find_field, Fconstrain_to_field, char_property_eq)
6582 (char_property_stickiness): Changed to call char-property functions
6583 instead of text-property-only ones.
6584
6585 * textprop.c (Fnext_single_char_property_change): Made a subr (was
6586 `next_single_char_property_change'). Do more error checking, and
6587 cleanup limit behavior.
6588 (Fprevious_single_char_property_change): New function.
6589 (syms_of_textprop): Initialize new subrs.
6590
6591 * xdisp.c (display_prop_end, invisible_text_between_p):
6592 Call Fnext_single_char_property_change instead of
6593 next_single_char_property_change.
6594
3fddcdc3
JR
65952000-07-15 Jason Rumney <jasonr@gnu.org>
6596
6597 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
6598 after menu is finished with.
6599 (add_menu_item): Only consider wv->title as a menu title.
6600 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
6601
6602 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
6603 null title.
6604 (FONT_REGEXP): Remove unused macro, and its sub-components.
6605 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
6606
6607 * w32term.c (help_echo_object, help_echo_pos): New variables.
6608 (note_mode_line_highlight): Store additional information about the
6609 help-echo in help_echo_object and help_echo_pos. Check both
6610 `local-map' and `keymap' properties for changing the cursor
6611 (note_mouse_highlight): Store additional information about the
6612 help-echo in help_echo_object and help_echo_pos.
6613 (note_tool_bar_highlight): Set help_echo_object to nil and
6614 help_echo_pos to -1.
6615 (w32_read_socket): Use gen_help_event instead of filling
6616 input_events manually.
6617 (syms_of_w32term): Staticpro help_echo_object.
6618 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
6619 set, arrange for a mouse-highlight redisplay in
6620 XTframe_up_to_date.
6621 (x_clear_mouse_face): New function.
6622 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
6623 (x_update_window_begin): No need to turn off the mouse
6624 highlight here.
6625 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6626 depending on whether they contain glyphs highlighted in
6627 mouse-face.
6628 (x_fill_stretch_glyph_string): Consume runs of stretch
6629 glyphs instead of a single one.
6630 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6631 with new argument list.
6632 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6633 (x_append_glyph, x_append_composite_glyph)
6634 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6635 changes in struct glyph starting 1999-12-27. See comments for
6636 xterm.c on 2000-07-05.
6637
178c5d9c
SS
66382000-07-14 Sam Steingold <sds@gnu.org>
6639
6640 * xfaces.c (realize_x_face): Fix the last patch:
6641 check `default_face' before dereferencing.
6642
6fe533f6
DL
66432000-07-14 Dave Love <fx@gnu.org>
6644
069f5950 6645 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 6646
dd7b81cf
KH
66472000-07-14 Kenichi Handa <handa@etl.go.jp>
6648
0693904a 6649 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 6650 default_face's fontset, not using the default fontset.
0693904a 6651
dd7b81cf
KH
6652 * coding.c (inhibit_iso_escape_detection): New variable.
6653 (syms_of_coding): Make it a Lisp variable.
6654 (detect_coding_iso2022): If inhibit_iso_escape_detection is
6655 nonzero, ignore ISO2022's escape sequence.
6656
d5aa31d8
GM
66572000-07-14 Gerd Moellmann <gerd@gnu.org>
6658
e5acf0ca
GM
6659 * alloca.c (malloc) [emacs]: Define as xmalloc.
6660
bd23a692
GM
6661 * xfns.c (Fx_show_tip): If frame parameters contain a position,
6662 use that instead of the mouse position. Add parameters DX and DY.
6663
6664 * dispextern.h (Fx_show_tip): Adjust number of parameters
6665 in prototype.
6666
9662da0b
GM
6667 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
6668 if HELP is a function, call it with OBJECT and POS as parameters
6669 to get the help to display.
6670 (gen_help_event, kbd_buffer_store_help_event): New functions.
6671 (kbd_buffer_get_event): Construct the Lisp help-event differently.
6672 (read_char): Call show_help_echo with new parameters.
6673
178c5d9c 6674 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
6675 Add prototypes.
6676
6677 * xterm.c (help_echo_object, help_echo_pos): New variables.
6678 (note_mode_line_highlight): Store additional information about the
6679 help-echo in help_echo_object and help_echo_pos. Check both
6680 `local-map' and `keymap' properties for changing the cursor
6681 (note_mouse_highlight): Store additional information about the
6682 help-echo in help_echo_object and help_echo_pos.
6683 (note_tool_bar_highlight): Set help_echo_object to nil and
6684 help_echo_pos to -1.
6685 (XTread_socket): Use gen_help_event instead of filling
6686 input_events manually.
6687 (syms_of_xterm): Staticpro help_echo_object.
6688
6689 * xmenu.c (menu_highlight_callback): Use
6690 kbd_buffer_store_help_event instead of setting up and input_event
6691 structure manually.
6692
6693 * xdisp.c (eval_form): GCPRO argument sexpr.
6694 (call_function): New function.
6695 (handle_single_display_prop): Use call_function and FUNCTIONP
6696 instead of checking whether if font_height is a symbol and
6697 using eval_form.
6698
6699 * eval.c (internal_condition_case_2): New function.
6700
6701 * lisp.h (FUNCTIONP): New macro.
6702 (internal_condition_case_2, call_function): Add prototypes.
6703
d5aa31d8
GM
6704 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
6705 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
6706 Always set `arg' member of input_events.
6707 (construct_menu_click): Unused function removed.
6708
6709 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
6710
6711 * w32term.c (construct_mouse_click, construct_mouse_wheel)
6712 (construct_drag_n_drop, x_scroll_bar_handle_click)
6713 (w32_read_socket): Always set `arg' member of input_events.
6714
6715 * keyboard.c (show_help_echo): Use eval_form. Add comment.
6716
6717 * lisp.h (eval_form): Add prototype.
6718
6719 * xdisp.c (eval_form): Make it externally visible.
6720
0f1a9b23
GM
67212000-07-13 Gerd Moellmann <gerd@gnu.org>
6722
6723 * xterm.c (x_handle_tool_bar_click): Store the frame in the
6724 frame_or_window slot of TOOL_BAR_EVENT input events instead of
6725 consing. For prefix events, store the frame in the `arg' slot of
6726 the event, otherwise store the key there.
6727 (XTread_socket): Instead of consing, use the frame_or_window slot
6728 of HELP_EVENTs for the frame, and the `arg' slot for the help
6729 string.
6730
6731 * xmenu.c (menu_highlight_callback): Store help string in the
6732 `arg' member of the input event; don't cons.
6733 (menubar_selection_callback): Use the `arg' slot of input events
6734 to queue additional information, instead of consing.
6735
6736 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
6737
6738 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
6739 TOOL_BAR_EVENTs.
6740 (w32_read_socket): Adapt to changes in HELP_EVENTs.
6741
6742 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
6743 input events to queue additional information, instead of consing.
6744
6745 * keyboard.c (kbd_buffer_gcpro): Renamed from
6746 kbd_buffer_frame_or_window. Now used for all Lisp objects
6747 referenced from the input queue.
6748 (kbd_buffer_store_event): Always use structure assignment for
6749 copying input events. Record all Lisp objects referenced from
6750 events in kbd_buffer_gcpro.
6751 (kbd_buffer_get_event): Construct Lisp `help-echo' events
6752 differently from input events. Test for prefix menu_bar_events
6753 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
6754 event in kbd_buffer_gcpro to nil.
6755 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
6756 frame_or_window is equal to its arg member as prefix events.
6757 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
6758 used by an input event to nil.
6759 (init_keyboard): Use two times the size of the input queue
6760 for kbd_buffer_gcpro.
6761 (syms_of_keyboard): Likewise.
6762
6763 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
6764 USER_SIGNAL_EVENT.
6765
6766 * termhooks.h (struct input_event): Add member `arg'.
6767 (MENU_BAR_EVENT): Renamed from menu_bar_event.
6768 (USER_SIGNAL_EVENT): Renamed from user_signal.
6769
6770 * xfaces.c (ASET): Remove definition.
6771
6772 * lisp.h (AREF, ASET, ASIZE): New macros.
6773
6774 * fontset.c (AREF, ASIZE): Remove definitions.
6775
6776 * fns.c (AREF): Remove definition.
178c5d9c 6777
0f1a9b23
GM
6778 * composite.c (AREF): Remove definition.
6779
712eaef2
GM
67802000-07-12 Gerd Moellmann <gerd@gnu.org>
6781
d8ee7803
GM
6782 * dispnew.c (redraw_overlapped_rows): Add missing local.
6783 (scrolling_window): Remove debug code.
6784
712eaef2
GM
6785 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
6786 Before scrolling, turn off a mouse-highlight in the window
6787 being scrolled.
6788
6789 * xterm.c (x_update_window_end): Add parameter
6790 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
6791 redisplay in XTframe_up_to_date.
6792 (x_clear_mouse_face): New function.
6793 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
6794
6795 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
6796 current glyph row.
6797 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
6798 it when any row is written to that contains glyphs highlighted in
6799 mouse-face.
6800 (update_window): Call the window update end hook with new
6801 parameter MOUSE_FACE_OVERWRITTEN_P.
6802 (direct_output_for_insert): Give up if row contains mouse-face.
6803
6804 * dispextern.h (struct redisplay_interface): Add parameter
6805 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
6806 (clear_mouse_face): New function pointer member.
6807
02010917
SM
68082000-07-11 Stefan Monnier <monnier@cs.yale.edu>
6809
6810 * syntax.c (back_comment): Use one switch rather than a few `if's.
6811 Obey open_paren_in_column_0_is_defun_start.
6812 When reverting to the `slow' method, try to nicely handle the case
6813 of nested comments by checking that the comment-starter we found
6814 does indeed match the comment-ender.
6815 (scan_sexps_forward, scan_sexps_forward):
6816 Ignore excessive opening parenthesis rather than throwing an error.
6817
d76c03ea
GM
68182000-07-11 Gerd Moellmann <gerd@gnu.org>
6819
6820 * doc.c (Fsubstitute_command_keys): Handle case that a GC
6821 in Fwhere_is_internal or get_keymap_1 relocates string contents.
6822
6823 * dispnew.c (direct_output_forward_char): Give up if currently
6824 displaying a message instead of the minibuffer contents.
6825
6826 * xterm.c (x_update_window_begin): No need to turn off the mouse
6827 highlight here.
6828 (show_mouse_face): Set the mouse_face_p flag of glyph rows
6829 depending on whether they contain glyphs highlighted in
6830 mouse-face.
6831
6832 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
6833 compare the mouse_face_p flags of both rows.
6834
6835 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
6836
d55ead18
EZ
68372000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
6838
6839 * keyboard.c (show_help_echo): Accept additional parameter
6840 ok_to_overwrite_keystroke_echo.
6841 (read_char): Call show_help_echo with a zero
6842 ok_to_overwrite_keystroke_echo argument.
6843 * keyboard.h (show_help_echo): Update prototype of
6844 show_help_echo.
6845 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
6846 ok_to_overwrite_keystroke_echo argument.
6847 * w32menu.c (w32_menu_display_help): Call show_help_echo with
6848 non-zero ok_to_overwrite_keystroke_echo argument.
6849
df75b1a3
GM
68502000-07-10 Gerd Moellmann <gerd@gnu.org>
6851
4b92c49a
GM
6852 * xdisp.c (try_window_id): If changes are all below what is
6853 displayed in the window, and point is in the window, we still
6854 might have to find point on the display.
6855
6856 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
6857 glyphs instead of a single one.
6858 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
6859 with new argument list.
6860 (x_set_glyph_string_gc): Make sure the face's GC is valid.
6861
df75b1a3
GM
6862 * keymap.c (get_keymap_1): Add comment that this function can GC.
6863 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
6864 comment that functions can GC.
6865 (Fset_keymap_parent): GCPRO arg KEYMAP.
6866
4314cf3e
EZ
68672000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
6868
6869 * msdos.c (XMenuActivate): After exiting the menu, restore the
6870 echo area message and erase it.
6871
ab49ce15
KH
68722000-07-10 Kenichi Handa <handa@etl.go.jp>
6873
6874 * fontset.c (Ffontset_info): Make the return value more compatible
6875 with that of Emacs 20.
6876
090a072f
GM
68772000-07-07 Gerd Moellmann <gerd@gnu.org>
6878
6879 * eval.c (Fsignal): Handle case that backtrace_list is null.
6880
f92de4a6
KH
68812000-07-07 Kenichi Handa <handa@etl.go.jp>
6882
6883 * ccl.c (Fccl_execute): Typo fixed.
6884
dd8888a1
GM
68852000-07-06 Gerd Moellmann <gerd@gnu.org>
6886
e5c81191 6887 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 6888
dd8888a1
GM
6889 * window.c (Fwindow_list): Reverse list at the end.
6890 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
6891 means allow windows on OWINDOW's frame, only.
6892 (window_loop): Simplified; use Fwindow_list.
6893
6894 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
6895
485266d0
GM
68962000-07-05 Gerd Moellmann <gerd@gnu.org>
6897
6898 * xterm.c (XTread_socket): Increment handling_signal at the start,
6899 decrement it at the end.
6900
6901 * eval.c (handling_signal): New variable.
6902 (Fsignal): Abort if handling_signal is non-zero.
6903
6904 * lisp.h (handling_signal): External declaration.
178c5d9c 6905
485266d0
GM
6906 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
6907
80fcd514
KR
69082000-07-05 Ken Raeburn <raeburn@gnu.org>
6909
6910 Sound support for NetBSD through "Linux emulation" support:
6911 * config.in (HAVE_SOUNDCARD_H): Undef.
6912 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
6913 * Makefile.in (LIBSOUND): New variable.
6914 (LIBES): Include it.
6915 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
6916 <soundcard.h>.
6917 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
6918 elsewhere.
6919 (vox_open): Use DEFAULT_SOUND_DEVICE.
6920 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
6921
d5c5cddd
GM
69222000-07-05 Gerd Moellmann <gerd@gnu.org>
6923
6924 * print.c (print_error_message): If Vsignaling_function is set,
6925 show it in *Messages*.
6926
6927 * lisp.h (Vsignaling_function): External declaration.
6928
6929 * eval.c (Vsignaling_function): New variable.
6930 (Fsignal): Compute it.
6931 (syms_of_eval): Staticpro it.
6932
65171e3a
DL
69332000-07-05 Dave Love <fx@gnu.org>
6934
6935 * syswait.h: Use the autoconf recommended approach. Old code
6936 #if'd out in case we need to revert.
6937
178c5d9c 6938 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 6939
e2c46326
AI
69402000-07-05 Andrew Innes <andrewi@gnu.org>
6941
6942 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
6943 when non-NULL instead of __morecore, to take account of buffer
6944 memory. This also solves a problem with spurious memory warnings
6945 on Windows.
6946
6947 * ralloc.c: Make real_morecore non-static.
6948
6949 * eval.c (internal_condition_case): Comment out abort if
6950 interrupt_input_blocked is not zero.
6951
6952 * makefile.nt: Add support for `bootstrap' and related targets.
6953 Include minimal debug info in emacs.exe in release build.
6954 Remove all dependencies on lisp.h, and fixup some others.
6955
6956 * w32.c (init_environment): Install code from 20.7 for providing
6957 default values for environment variables, based on the
6958 executable's own location.
6959 (map_w32_filename): Handle filenames that are longer than
6960 MAX_PATH.
6961 (sys_socket): Install socket inheritance bug fix from 20.7.
6962
6963 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
6964 here via blockinput.h).
6965
a027a91b
SM
69662000-07-05 Stefan Monnier <monnier@cs.yale.edu>
6967
e4b31601
SM
6968 * w32menu.c (w32_menu_display_help):
6969 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
6970
6971 * keyboard.h (show_help_echo): Declare.
6972
6973 * keyboard.c (show_help_echo): New function, extracted from read_char.
6974 Feval its `msg' argument if it's a cons cell.
6975 (read_char): Use it.
4cf8d9d5 6976 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 6977
178c5d9c 6978 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 6979 (note_tool_bar_highlight, XTread_socket):
178c5d9c 6980 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
6981 (dos_rawgetc):
6982 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
6983 (note_tool_bar_highlight, w32_read_socket):
6984 Do not gratuitously ignore non-string `help-echo' properties.
6985
88d75730
GM
69862000-07-05 Gerd Moellmann <gerd@gnu.org>
6987
969f7e79
GM
6988 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
6989
71201b00
GM
6990 * window.c (delete_all_subwindows): Reset Vwindow_list.
6991
88d75730
GM
6992 * xterm.c (x_append_glyph, x_append_composite_glyph)
6993 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
6994 changes in struct glyph starting 1999-12-27. Some bit-fields of
6995 struct glyph were not set, which made glyphs unequal when compared
6996 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
6997 effects were the result. This also depended on the contents of
6998 memory returned by xmalloc. If flickering happens again, activate
6999 the code in clear_glyph_row that's in #if 0. If the flickering is
7000 gone with that, chances are that it is caused by something
7001 similar.
7002
7003 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 7004
88d75730
GM
7005 * dispextern.h: Add some comments.
7006
7007 * window.c (add_window_to_list): Add parameter LIST.
7008 (window_list): Order list so that, for each frame, windows are
7009 in canonical order, and so that frames appear in the list in
7010 the order given by Vframe_list.
7011 (next_window): Reverse the handling of NEXT_P.
7012
53654733
GM
70132000-07-04 Gerd Moellmann <gerd@gnu.org>
7014
87efd256
GM
7015 * window.c (Vwindow_list): New variable.
7016 (make_window, delete_window): Set Vwindow_list to nil.
7017 (check_window_containing): New function.
7018 (window_from_coordinates): Rewritten.
7019 (add_window_to_list, window_list, candidate_window_p)
7020 (decode_next_window_args, next_window): New functions.
7021 (Fnext_window, Fprevious_window): Rewritten in terms of
7022 next_window.
7023 (Fwindow_list): New function.
7024 (Fother_window): Cleaned up.
7025 (foreach_window): Add a longer "variable argument list". Let
7026 callback function return 0 to indicate that cycling over windows
7027 should stop.
7028 (foreach_window_1): Likewise.
7029 (freeze_window_start): Return int.
7030 (init_window): New function.
7031 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
7032
7033 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
7034 input_event with bzero.
7035 (main): Call init_window.
7036
53654733
GM
7037 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
7038 a menu filter.
7039
4a8c194f
KH
70402000-07-04 Kenichi Handa <handa@etl.go.jp>
7041
7042 * composite.h (make_composition_value_copy): Extern it.
7043
7044 * composite.c (make_composition_value_copy): New function.
7045
7046 * editfns.c (Fformat): While copying text properties, make each
7047 composition property value a copy.
7048
7049 * fns.c (concat): While copying text properties, make each
7050 composition property value a copy.
7051
831a6cb0
GM
70522000-07-03 Gerd Moellmann <gerd@gnu.org>
7053
2f516940
GM
7054 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
7055
178c5d9c 7056 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
7057 marked already.
7058
831a6cb0
GM
7059 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
7060 include those frames as candidates which have their focus
7061 redirected to the minibuffer frame.
7062
d9c4f922
SM
70632000-07-03 Stefan Monnier <monnier@cs.yale.edu>
7064
7065 * fns.c (Fputhash): Return `value' rather than nil.
7066
3780bc22
GM
70672000-06-30 Gerd Moellmann <gerd@gnu.org>
7068
97d176db
GM
7069 * frame.c (next_frame): Don't check focus redirection in case
7070 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
7071 unless their focus is redirected, which contradicts the
7072 specification of next-frame, and leads to infinite loops in
7073 certain situations when cycling through windows with next-window.
7074
dca9961d
KH
70752000-06-30 Kenichi Handa <handa@etl.go.jp>
7076
7077 * coding.c (code_convert_region): Even if the length of text is
7078 zero, try to convert it if coding->type is coding_type_ccl.
7079 (decode_coding_string, encode_coding_string): Likewise.
7080
d5483ab1
GM
70812000-06-28 Gerd Moellmann <gerd@gnu.org>
7082
af5c25e1 7083 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 7084 the display if windows_or_buffers_changed.
af5c25e1
GM
7085
7086 * dispnew.c (struct row_entry): New structure.
7087 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
7088 (row_table_size, old_lines, new_lines, old_lines_size)
7089 (new_lines_size, run_pool, runs_size, runs): New variables.
7090 (add_row_entry): New function.
7091 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 7092 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
7093 holding them in local variables. Use a larger hash table whose
7094 size depends on glyph matrix sizes. Don't use bzero to clear the
7095 hash table; instead, clear used slots only.
7096
7097 * fns.c (next_almost_prime): Make it externally visible.
7098
7099 * lisp.h (next_almost_prime): Add prototype.
7100
d5483ab1
GM
7101 * s/isc4-0.h (sigunblock): Define.
7102
7103 * s/sco5.h (sigunblock): Define.
7104
93e40f40
DL
71052000-06-27 Dave Love <fx@gnu.org>
7106
7107 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
7108 (moved to osf5-0.h).
7109 [!NOT_C_CODE]: Protect string.h stuff.
7110
7111 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
7112 (sys_siglist, NSIG): Definitions moved here from osf1.h.
7113
3c4b7685
GM
71142000-06-27 Gerd Moellmann <gerd@gnu.org>
7115
97d176db 7116 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
7117 below the last line from the needed window height.
7118
32cad0aa
SM
71192000-06-26 Stefan Monnier <monnier@cs.yale.edu>
7120
7121 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
7122 (Fwidget_get): Use it.
7123 (syms_of_fns): Defsubr it.
7124
2c69ced2
GM
71252000-06-26 Gerd Moellmann <gerd@gnu.org>
7126
178c5d9c 7127 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
7128 display info for XIM.
7129 (xim_open_dpy): Likewise.
7130 (xim_close_dpy): Don't free the display info's XIM.
7131
7132 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
7133
7134 * config.in (USE_XIM): New define.
7135
3fc720e4
GM
7136 * keymap.c (get_keyelt): For menu-items containing a `:filter
7137 FILTER', apply FILTER to the menu-item's definition to get the
7138 real definition to use.
7139
7140 * lisp.h (QCfilter): External declaration.
7141
2c69ced2
GM
7142 * xfns.c (Fimage_size): New function.
7143 (syms_of_xfns): Defsubr it.
7144
f978b2a2
AS
71452000-06-26 Andreas Schwab <schwab@suse.de>
7146
7147 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
7148 Fstring_as_unibyte.
7149
94cc7892
DL
71502000-06-25 Dave Love <fx@gnu.org>
7151
7152 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
7153 tgetnum.
7154
7155 * Makefile.in (blockinput.h): Depend on atimer.h.
7156 (atimer.h): Depend on systime.h.
7157
7158 * blockinput.h: Protect against multiple inclusion. Include
7159 atimer.h.
7160
7161 * atimer.h: Protect against multiple inclusion. Include
7162 systime.h.
7163
7164 * lisp.h (swap_in_global_binding): Declare.
7165
b8c24556
KR
71662000-06-24 Ken Raeburn <raeburn@gnu.org>
7167
7168 * process.c (Fopen_network_stream): Turn off atimers for duration
7169 of call to connect. (Patch from Gerd.)
7170
8cf8560b
DL
71712000-06-23 Dave Love <fx@gnu.org>
7172
511c7541
DL
7173 * ralloc.c: Maybe include unistd.h
7174
8cf8560b
DL
7175 * emacs.c (setgrp): Undefine before defining.
7176 (malloc_warning, set_time_zone_rule, index): Prototype.
7177
7178 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
7179 HAVE_STRUCT_TIMEZONE.
7180
7181 * s/osf1.h: Move string.h hack here from alpha.h and make it
7182 conditional.
7183 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
7184 _XOPEN_SOURCE.
7185 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
7186 (SOCKLEN_TYPE): Don't define.
7187
7188 * m/alpha.h: Remove string.h hack.
7189
7190 * s/osf5-0.h: New file.
7191
7192 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
7193 include time.h, done by systime.h.
7194 [__FreeBSD__]: Remove redundant includes.
7195
3fc720e4 7196 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
7197 (delete_temp_file): Return Qnil to avoid warning.
7198
7199 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
7200
7201 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
7202 HAVE_X_WINDOWS.
7203
7204 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
7205
7206 * composite.h (compose_text): Declare.
7207
7208 * xterm.c: Don't include sys/types.h unconditionally. Don't
7209 protect its inclusion with !USG (following xmenu.c).
7210
ea055732
GM
72112000-06-23 Gerd Moellmann <gerd@gnu.org>
7212
7213 * xfns.c (x_create_tip_frame): Initialize frame's colors like
7214 in x_create_frame.
7215
74b01b80
EZ
72162000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
7217
7218 * coding.c (decode_eol_post_ccl): Special handling for undecided
7219 and inconsistent EOL types.
7220
64f3a166
GM
72212000-06-22 Gerd Moellmann <gerd@gnu.org>
7222
16cf31f7
GM
7223 * xrdb.c (x_load_resources): Add default resource for scroll bar's
7224 trough color and main window's background color.
7225
178c5d9c 7226 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
7227 differently.
7228
7229 * xterm.h (Xt_app_con): External declaration.
7230
7231 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 7232
486a103d
GM
7233 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
7234
64f3a166
GM
7235 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
7236 (handle_invisible_prop): Record the start of invisible text in
7237 it->add_overlay_start.
7238 (struct overlay_entry): Add member `overlay'.
7239 (handle_overlay_change): Simplify.
7240 (next_overlay_string): After having processed overlay strings at the
7241 end of the buffer, record that fact in
7242 it->overlay_strings_at_end_processed_p.
7243 (compare_overlay_entries): If before- and after-strings come
7244 from the same overlay, let before-strings come first.
7245 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
7246 (load_overlay_strings): Take it->add_overlay_start into account
7247 when adding overlay strings.
7248
7249 * dispextern.h (struct it): Add member add_overlay_start.
7250
bb746ea6
DL
72512000-06-22 Dave Love <fx@gnu.org>
7252
7253 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
7254
7255 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
7256
a8f573f3
KH
72572000-06-22 Kenichi Handa <handa@etl.go.jp>
7258
7259 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
7260 is greater than 0.
7261
9f2bbc92
DL
72622000-06-21 Dave Love <fx@gnu.org>
7263
178c5d9c 7264 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 7265
3ee5041c
SM
72662000-06-21 Stefan Monnier <monnier@cs.yale.edu>
7267
7268 * syntax.c (back_comment): Simplify string-parity counting (with
7269 the added benefit of handling multiple string-styles as long as
7270 they are not intertwined).
7271 Jump to the slow code as soon as a comment starter is found in
7272 a "string_lossage" position. Fixes the case: " /* " /* " */.
7273
4c343001
DL
72742000-06-21 Dave Love <fx@gnu.org>
7275
7276 * Makefile.in: Use GETLOADAVG_LIBS.
7277
7278 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
7279 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
7280
e6365855
SM
72812000-06-20 Stefan Monnier <monnier@cs.yale.edu>
7282
7283 * syntax.c (describe_syntax): Recognize the `n'estable bit.
7284 (Fforward_comment, scan_lists):
7285 Check the comstyle of single-char comment-starters.
7286 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
7287 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
7288 Check the comstyle of single-char comment-starters.
7289 Clarify control-flow around the Scomment case.
e6365855 7290
5700d2cc
DL
72912000-06-20 Dave Love <fx@gnu.org>
7292
d355bd8a
SM
7293 * fns.c (make_hash_table, maybe_resize_hash_table):
7294 Cast arg of next_almost_prime.
5700d2cc 7295
178c5d9c 7296 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
7297
7298 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
7299 and unistd.h.
7300
4a27bdfb
GM
73012000-06-20 Gerd Moellmann <gerd@gnu.org>
7302
a61d762c
GM
7303 * keyboard.c (adjust_point_for_property): Check if display
7304 property should be treated as intangible by looking at its
7305 value.
7306
178c5d9c 7307 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
7308 (display_prop_intangible_p): New functions.
7309
7310 * dispextern.h (display_prop_intangible_p): Add prototype.
7311
7312 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 7313
4a27bdfb
GM
7314 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
7315 argument to sigprocmask.
7316
7317 * s/sco5.h (sigblock): Redefined to pass a pointer as second
7318 argument to sigprocmask.
7319
7320 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
7321 sigprocmask_set, and pass a pointer to it to sigprocmask.
7322
7323 * sysdep.c (sigprocmask_set): New variable.
7324
7325 * fileio.c (make_temp_name): Don't use `%s' in string passed to
7326 report_file_error.
7327
427ec082
SS
73282000-06-20 Sam Steingold <sds@gnu.org>
7329
7330 * xrdb.c: Don't declare xmalloc, xrealloc.
7331
8972fe79 73322000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
7333
7334 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
7335 (re_comp): Cast gettext return value to avoid complaints when
7336 !HAVE_LIBINTL.
7337
074b6efe
DL
73382000-06-20 Dave Love <fx@gnu.org>
7339
f85c008a
DL
7340 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
7341 HAVE_GETTIMEOFDAY.
7342
5700d2cc 7343 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 7344
d355bd8a 7345 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
7346
7347 * m/alpha.h: Don't declare xmalloc, xrealloc.
7348
0af4f205
DL
7349 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
7350
7351 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
7352
7353 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
7354
7355 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
7356 HAVE_GETWD.
7357
074b6efe
DL
7358 * keyboard.h (poll_for_input_1): Declare.
7359
7360 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
7361
7362 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
7363
7364 * doprnt.c: Don't declare xmalloc, xrealloc.
7365
7366 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
7367 (getenv, ctime, getwd): Removed.
7368 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
7369
7370 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
7371 x_set_tool_bar_lines.
7372
7373 * config.in: Add HAVE_GETWD. Move some definitions above
7374 machine/system includes.
7375
68a5e97b
KH
73762000-06-20 Kenichi Handa <handa@etl.go.jp>
7377
95417e1e
KH
7378 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
7379
68a5e97b
KH
7380 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
7381 contain information about ENCODING.
7382
7383 * fontset.c (FONTSET_ASCII): Use the first element of char table
7384 for an ASCII font, not defalt slot.
7385 (fontset_ref_via_base): If FONTSET doesn't contain information for
7386 C, try the default fontset.
7387 (make_fontset): Don't copy the default fontset.
7388 (fontset_font_pattern): Likewise.
7389 (accumulate_font_info): If ELT is nil, use the corresponding
7390 element in the default fontset.
7391
3b4fa1b2
DL
73922000-06-19 Dave Love <fx@gnu.org>
7393
943e731c
DL
7394 * syntax.c (Fparse_partial_sexp): Doc fix.
7395
7396 * regex.h: Test PROTOTYPES as well as __STDC__.
7397
3b4fa1b2
DL
7398 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
7399 errno, strerror. Put text after #endif in comment.
7400
7401 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
7402 pcc).
7403
7404 * xterm.c (x_frame_of_widget): Likewise.
7405
cdf0357b
GM
74062000-06-19 Gerd Moellmann <gerd@gnu.org>
7407
7408 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
7409 to Vfundamental_mode_abbrev_table.
7410
7411 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
7412 bogus objects are marked. This slows down GC by ~80 percent, but
7413 it might be worth trying when debugging GC-related problems.
7414 This feature requires conservative stack marking to be enabled.
7415
7416 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
7417 returns XLookupChars, reset `modifiers' to zero.
7418
998e9f8c
DL
74192000-06-19 Dave Love <fx@gnu.org>
7420
7421 * mktime.c: Unprotoized.
7422
18e21ce8 74232000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
7424
7425 * data.c (set_internal): If variable is frame-local,
7426 store the new value immediately into the frame parameter alist.
7427
140c4ac6
KR
74282000-06-19 Ken Raeburn <raeburn@gnu.org>
7429
14358466
KR
7430 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
7431 in the custom handler pointer.
7432
140c4ac6
KR
7433 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
7434 value, or checks for CHAR_META can fail when Lisp_Object is a
7435 union type.
7436 * keymap.c (get_keyelt): Likewise.
7437
10d7bf84
KH
74382000-06-19 Kenichi Handa <handa@etl.go.jp>
7439
7440 * ccl.h (struct ccl_program): New member eol_type.
7441 (struct ccl_spec): New member cr_carryover.
7442
7443 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
7444 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
7445
7446 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
7447 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
7448 (decode_eol_post_ccl): New function.
7449 (decode_coding): Don't detect EOL format here for CCL based coding
7450 systems.
7451 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
7452 decode_eol_post_ccl after running the CCL program.
7453 (code_convert_region): Don't detect EOL format here for CCL based
7454 coding systems.
7455 (decode_coding_string): Likewise.
7456
52e386c2
KR
74572000-06-18 Ken Raeburn <raeburn@gnu.org>
7458
7459 * charset.c (update_charset_table): Use XINT on "iso_final_char"
7460 when treating it as an integer.
7461
7462 * coding.h (encode_coding_string): Declare.
7463
7464 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
7465 it as an integer.
7466
7467 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
7468 "xkeymap" to avoid shadowing the "enum map_type" value that needs
7469 to be passed to get_local_map.
7470
7471 * sound.c (Fplay_sound): Don't call make_number on
7472 Frun_hook_with_args count argument.
7473
7474 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
7475 for lisp objects in X event structure data field, when lisp
7476 objects are represented with unions.
7477 (x_scroll_bar_to_input_event): Ditto.
7478
b357b9d4
KR
74792000-06-16 Ken Raeburn <raeburn@gnu.org>
7480
7481 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
7482 termination of string. Fix sense of test whether
7483 Vline_number_display_limit is an integer.
b357b9d4 7484
a871441d
GM
74852000-06-16 Gerd Moellmann <gerd@gnu.org>
7486
a9021acd
GM
7487 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
7488 only if HAVE_X_WINDOWS.
7489
6344985d
GM
7490 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
7491 of titles.
7492
427ec082 7493 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
7494 out of bounds.
7495
228b083e
EZ
74962000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
7497
7498 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
7499 of its headers.
7500
c25b53a2
KH
75012000-06-15 Kenichi Handa <handa@etl.go.jp>
7502
7503 * coding.c (decode_coding_emacs_mule): Always set src_base at the
7504 start of the while loop.
7505
a6981b11
GM
75062000-06-15 Gerd Moellmann <gerd@gnu.org>
7507
e9924e52
GM
7508 * atimer.c (alarm_signal_handler): Add forward declaration.
7509
a6981b11
GM
7510 * data.c (set_internal): Remove debug code.
7511
25fa6deb
GM
75122000-06-14 Gerd Moellmann <gerd@gnu.org>
7513
dce6b995
GM
7514 * Makefile.in (bootstrap-temacs): Add `-I../src'.
7515
9f817ea4
GM
7516 * unexec.c (toplevel) [COFF]: Include coff.h.
7517
7518 * s/lynxos.h: New file.
7519
7520 * keymap.c (Fsingle_key_description): Enclose function key and
7521 event symbol names in angle brackets.
7522
8a4e3c0c
GM
7523 * xdisp.c (setup_echo_area_for_printing): Call
7524 message_log_maybe_newline if message_buf_print is not set.
7525
7526 * print.c (printchar, strout): Don't check message_buf_print
427ec082 7527 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
7528 function does something useful even when message_buf_print is
7529 already set.
7530
25fa6deb
GM
7531 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
7532 variables.
7533 (ensure_echo_area_buffers): Initialize echo buffer's
7534 truncate lines setting to nil.
7535 (with_echo_area_buffer): Don't set the echo buffer's truncate
7536 lines setting here.
8a4e3c0c 7537 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
7538 of message_truncate_lines.
7539 (resize_mini_window): Handle case that lines are truncated.
7540 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
7541 message-truncate-lines.
7542
7543 * keyboard.c (read_char): Bind message-truncate-lines to t
7544 while displaying a help-echo.
7545
7546 * lisp.h (Qmessage_truncate_lines): External declaration.
7547
163dcff3
GM
75482000-06-13 Gerd Moellmann <gerd@gnu.org>
7549
1681ead6
GM
7550 * xdisp.c (Vline_number_display_limit): Renamed from
7551 line_number_display_limit.
7552 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
7553 Extend documentation string. Initialize
7554 Vline_number_display_limit to nil meaning no limit.
7555 (decode_mode_spec): Use Vline_number_display_limit with its new
7556 meaning.
7557
163dcff3
GM
7558 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
7559
18e21ce8 75602000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
7561
7562 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 7563
163dcff3
GM
7564 * xfns.c (x_set_frame_parameters): Comment fix.
7565
7566 * frame.c (store_frame_param): Call swap_in_global_binding if the
7567 variable's current binding was chosen based on this frame.
7568
7569 * data.c (swap_in_global_binding): New function.
7570
a704139d
EZ
75712000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7572
7573 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
7574 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
7575
9b6610db
EZ
75762000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
7577
7578 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
7579
c68833d2
JR
75802000-06-12 Jason Rumney <jasonr@gnu.org>
7581
7582 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
7583
7584 * w32.h (EMACS_W32_H): Renamed from _NT_H_
7585
7586 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
7587
7588 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
7589
ed1056b3
GM
75902000-06-12 Gerd Moellmann <gerd@gnu.org>
7591
7592 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
7593 (syms_of_xfaces): Defsubr Sdump_colors.
7594 (x_free_colors): Don't treat b&w specially on default visual.
7595 (x_free_dpy_colors): New function.
7596 (free_face_colors): Don't check visual class; it's done
7597 in x_free_colors.
7598
7599 * xterm.c (x_frame_of_widget): New function.
7600 (x_alloc_nearest_color_for_widget): Use it.
7601 (x_copy_dpy_color): New function.
7602 (x_destroy_window): Free various colors.
7603
5050a2ef
KH
76042000-06-12 Kenichi Handa <handa@etl.go.jp>
7605
7606 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
7607
7608 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
7609
7610 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
7611
7612 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
7613
7614 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
7615
fb1b041d
DL
76162000-06-11 Dave Love <fx@gnu.org>
7617
7618 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
7619
ff96b5f4
EZ
76202000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
7621
7622 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
7623
db8eeecd
GM
76242000-06-11 Gerd Moellmann <gerd@gnu.org>
7625
ed1056b3 7626 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
7627 to `XEvent *'.
7628
49b71c5f
KH
76292000-06-10 Kenichi Handa <handa@etl.go.jp>
7630
c479bd55
KH
7631 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
7632 (regex_compile): Fix the code for handling the case of single byte
7633 char and multibyte char being mixed in a range within [...].
7634
ff6a65c2
KH
7635 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
7636 and dst_multibyte members of coding.
7637
49b71c5f
KH
7638 * charset.c (update_charset_table): Update the table
7639 bytes_by_char_head.
7640 (init_charset_once): Initialize elements of bytes_by_char_head to
7641 1 except for leading codes for private charases.
7642
7643 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
7644 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
7645 sequence.
7646
9e80b57d
KR
76472000-06-09 Ken Raeburn <raeburn@gnu.org>
7648
7649 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
7650 access the data it doesn't point to.
7651
f83fe4b4
GM
76522000-06-08 Gerd Moellmann <gerd@gnu.org>
7653
7654 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 7655 will be translated to a switch-frame event when reading the
f83fe4b4
GM
7656 event queue. This is necessary because Emacs otherwise won't
7657 perform a switch-frame to a new frame until some other event, for
7658 example a keystroke event, forces it to do so. This has various
7659 effects, one visible being that the cursor of a frame created with
7660 C-x 5 2 or switched to with a window manager key binding like
7661 A-TAB stays hollow because selected_window isn't on the newly
7662 focused frame until the switch-frame is performed.
7663
7664 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
7665 generating a switch-frame event if necessary.
7666
7667 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
7668
7669 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
7670 it's an integer.
7671
0890801b
KH
76722000-06-08 Kenichi Handa <handa@etl.go.jp>
7673
7674 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
7675 charset.
7676
173cbca8
GM
76772000-06-07 Gerd Moellmann <gerd@gnu.org>
7678
3091c2a6
GM
7679 * window.c (displayed_window_lines): Take empty lines at
7680 the bottom of a window into account.
427ec082 7681
f38952fe
GM
7682 * window.c (displayed_window_lines): New function.
7683 (Fmove_to_window_line): Use displayed_window_lines to determine
7684 the number of lines to move, instead of using the window's height.
7685
7686 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
7687 to stop reading, even if the form read sets point to a different
7688 value when evaluated.
7689
427ec082 7690 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
7691 put the cursor.
7692
6ba6c818
KH
76932000-06-07 Kenichi Handa <handa@etl.go.jp>
7694
7695 * fileio.c (e_write): Free composition data if stored in
7696 coding->cmp_data.
7697
5f1aea9a
GM
76982000-06-06 Gerd Moellmann <gerd@gnu.org>
7699
666852af
GM
7700 * xdisp.c (display_line): Set row's and iterator's
7701 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
7702 Set cursor even if row ends in the middle of a character.
7703 (dump_glyph_row): Print values of new flags.
7704 (redisplay_window) <cursor movement in unchanged window>: When
7705 point has been moved forward, and PT is at the end of the cursor
7706 row, don't place the cursor in the next row if the cursor row ends
7707 in the middle of a character or at ZV.
7708
7709 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
7710 (struct glyph_row): Add starts_in_middle_of_char_p and
7711 ends_in_middle_of_char_p.
7712 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
7713 ends_in_middle_of_char_p flag.
7714 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
7715
d13f3e2e
GM
7716 * term.c (append_glyph): Revert change of 2000-06-06.
7717
7718 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
7719 padding glyph not fitting on line as whole character not
7720 fitting on line.
7721
5f1aea9a
GM
7722 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
7723 this isn't true for images with `:ascent 100'.
7724
10cda9b0
KH
77252000-06-06 Kenichi Handa <handa@etl.go.jp>
7726
ed00559d
KH
7727 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
7728 as modified if it is originally unmodified.
7729
10cda9b0
KH
7730 * term.c (encode_terminal_code): Change the way to check if
7731 terminal coding does any conversion.
7732 (append_glyph): Set glyph->pixel_width correctly.
7733
7734 * xdisp.c (display_line): While checking line continuation, pay
7735 attention to a padding glyph.
7736
1969fae2
GM
77372000-06-05 Gerd Moellmann <gerd@gnu.org>
7738
7739 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
7740
162ccef4
DL
77412000-06-05 Dave Love <fx@gnu.org>
7742
f19f32dd
DL
7743 * xdisp.c: Include fontset.h.
7744
7745 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
7746
7747 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7748
7749 * dispnew.c: Conditionally include term.h.
7750
7751 * coding.h: Declare code_convert_string_norecord.
7752
7753 * frame.h (struct frame): Use volatile unconditionally.
7754
7755 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
7756
7757 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
7758
7759 * systime.h: Protect against multiple inclusion.
7760 (timezone) [USG5_4]: Define as time_t.
7761
7762 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7763 (Foptimize_char_table, make_temp_name): Declare.
7764
7765 * Makefile.in (xdisp.o): Depend on fontset.h.
7766
7767 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
7768
7769 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
7770 (Foptimize_char_table, make_temp_name): Declare.
7771
427ec082 7772 * s/irix4-0.h:
162ccef4
DL
7773 * s/irix5-0.h:
7774 * s/netbsd.h: Don't define autoconfiscated MATHERR.
7775
2082fe81
DL
77762000-06-02 Dave Love <fx@gnu.org>
7777
7778 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
7779
dcf671d2
GM
77802000-06-02 Gerd Moellmann <gerd@gnu.org>
7781
7782 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 7783 result face, set flags in that face indicating that colors may not
dcf671d2
GM
7784 be freed.
7785
7786 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
7787 glyph, use the ASCII NUL character to determine the face.
7788
d42122a3
DL
77892000-06-02 Dave Love <fx@gnu.org>
7790
7791 * sysdep.c: Conditionally include stdlib.h, unistd.h.
7792 (VFORK_RETURN_TYPE): Remove.
427ec082 7793
d42122a3
DL
7794 * config.in: Add NO_MATHERR.
7795
dd432f16
DL
77962000-06-01 Dave Love <fx@gnu.org>
7797
90aa4ea8
DL
7798 * cmds.c (internal_self_insert): Don't check
7799 Vbefore_change_function, Vafter_change_function.
7800
7801 * insdel.c (signal_before_change, signal_after_change): Likewise.
7802
7803 * buffer.c (Vbefore_change_function, Vafter_change_function):
7804 Variables and their initializations deleted.
7805
2330c9d4
DL
7806 * callint.c (Fcall_interactively): Doc fix.
7807
dd432f16
DL
7808 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
7809
bf9e8804
DL
78102000-05-31 Dave Love <fx@gnu.org>
7811
7812 * textprop.c: Revert last change -- duplicated.
7813
3694b4ab
GM
78142000-05-31 Gerd Moellmann <gerd@gnu.org>
7815
7816 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
7817 in #if 0.
7818
7819 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
7820
f14156cd
JR
78212000-05-31 Jason Rumney <jasonr@gnu.org>
7822
8119aab8
JR
7823 * search.c (Fre_search_forward, Fre_search_backward)
7824 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
7825
f14156cd
JR
7826 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
7827
4aab9be3
JR
78282000-05-30 Jason Rumney <jasonr@gnu.org>
7829
7830 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
7831 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
7832
7833 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
7834 member.
7835
7836 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
7837 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
7838 expand a nil default_filename.
7839
7840 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
7841 pointer to glyph_to_pixel_coords, not a frame.
7842
7843 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
7844 coding.h to dependencies.
7845
7846 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
7847
7848 * w32console.c (glyph_to_pixel_coords): Change first parameter to
7849 window pointer to be consistent with w32term.c and xterm.c.
7850
7851 * w32fns.c: Format and doc changes to bring closer to xfns.c.
7852 (VIETNAMESE_CHARSET): Define if not defined in system headers.
7853 (Qline_spacing, Qcenter): New variables.
7854 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
7855 (x_set_line_spacing): New function.
7856 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
7857 macros.
7858 (x_specified_cursor_type): New function.
7859 (x_set_cursor_type): Use it.
7860 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
7861 and icon strings.
7862 (validate_x_resource_name, x_get_resource_string): Measure lengths
7863 of external strings in bytes.
7864 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
7865 GetTextExtentPoint32 with NULL title.
7866 (Fx_create_frame): Initialize Qline_spacing.
7867 (w32_load_system_font): Initialize font->double_byte_p.
7868 (x_to_w32_charset): Use Vw32_charset_info_alist.
7869 (Image, busy cursor, tooltip functions): Merged changes from
7870 xfns.c. Not yet functional on Windows.
7871
7872 * w32gui.h (W32FontStruct): Add double_byte_p member.
7873
7874 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
7875 (emacs_button_translation): Use it.
7876 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
7877 in `mask' to be set.
7878
7879 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
7880 menu strings.
7881
7882 * w32term.c: Format and doc changes to bring closer to xterm.c.
7883 (w32_char_font_type): New enum.
7884 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
7885 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
7886 (w32_encode_char): New function.
7887 (x_encode_char): Removed.
7888 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
7889 x_encode_char and w32_font_is_double_byte.
7890 (x_produce_image_glyph): Use image_ascent.
7891 (x_produce_glyphs): Use new version of w32_per_char_metric and
7892 handle NULL return value. Allow extra line spacing.
7893 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
7894 (w32_get_glyph_overhangs): Remove unicode_p param. Use
7895 w32_font_type member of glyph instead.
7896 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
7897 (fast_find_position): Make sure not to consider rows not visible
7898 in the window.
7899 (w32_read_socket) [WM_MENUSELECT]: Cannot call
7900 w32_menu_display_help with input blocked, as it can abort.
7901 (x_display_and_set_cursor): Choose cursor depending
7902 on buffer-local value of cursor_type.
7903 (x_draw_bar_cursor): Add parameter WIDTH.
7904
7905 * w32term.h (CP_DEFAULT): Define.
7906 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
7907
10fc3187
GM
79082000-05-30 Gerd Moellmann <gerd@gnu.org>
7909
7910 * search.c (Fre_search_forward, Fre_search_backward)
7911 (Fposix_search_backward, Fposix_search_forward): Doc fix.
7912
d0555360
KH
79132000-05-30 Kenichi Handa <handa@etl.go.jp>
7914
7915 * coding.c (detect_coding_iso2022): Fix code for checking
7916 CODING_CATEGORY_MASK_ISO_8_2.
7917
f1ad044f
SM
79182000-05-29 Stefan Monnier <monnier@cs.yale.edu>
7919
7920 * regex.c (PREFETCH_NOLIMIT): New function.
7921 (re_match_2_internal): Use it and adjust the end_match_2 logic.
7922
84ec3b4b
GM
79232000-05-29 Gerd Moellmann <gerd@gnu.org>
7924
66254a13
GM
7925 * syntax.c (find_defun_start): Move test for
7926 open_paren_in_column_0_is_defun_start outside of the loop.
7927
49e70dec
GM
7928 * xdisp.c (redisplay_window): Really switch buffers when
7929 displaying mode lines, and temporarily set selected_frame to the
7930 frame of the window that's redisplayed.
7931
84ec3b4b
GM
7932 * xfaces.c (free_realized_faces): Block/unblock input.
7933 (free_realized_multibyte_face): Ditto.
7934
869a3a14
DL
79352000-05-29 Dave Love <fx@gnu.org>
7936
7937 * textprop.c (Qkeymap): New variable.
7938 (syms_of_textprop): Intern it.
7939
7940 * keymap.c: Include intervals.h.
7941 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
7942
7943 * Makefile.in (keymap.o): Depend on intervals.h.
7944
7945 * keyboard.c (menu_bar_items, tool_bar_items)
7946 (Fexecute_extended_command): Deal with `keymap' property.
7947 (read_key_sequence): Track map from `keymap' property as well as
7948 `local_map'.
7949
7950 * intervals.c (get_local_map): Extra arg to allow looking for
7951 `keymap' too.
7952
7953 * intervals.h (map_property): New enum.
7954 (get_local_map): Extra arg using it.
7955 (Qkeymap): Declare.
7956
84ec3b4b 7957 * lisp.h (get_local_map): Don't declare here.
869a3a14 7958
89d0c844
KH
79592000-05-29 Kenichi Handa <handa@etl.go.jp>
7960
7961 * Makefile.in (callproc.o): Depend on composite.h.
7962
7963 * callproc.c: Include composite.h.
7964 (Fcall_process): Handle composition correctly.
7965
7966 * coding.h (coding_allocate_composition_data): Extern it.
7967 (coding_restore_composition): Likewise.
7968
7969 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
7970 yet allocated, finish decoding with result
7971 CODING_FINISH_INSUFFICIENT_CMP.
7972 (coding_allocate_composition_data): Make it non-static.
7973 (coding_restore_composition): Likewise.
7974
797a084a
EZ
79752000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
7976
7977 * charset.c (syms_of_charset): Revert last change.
7978
cf872af5
EZ
79792000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
7980
7981 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
7982 charsets as unibyte, with 1-column screen width. Sent by Kenichi
7983 Handa.
cf872af5 7984
5b1ae051
EZ
79852000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
7986
7987 * charset.c (syms_of_charset): Set width of character sets
7988 eight-bit-control and eight-bit-graphic to 1 column.
7989
34ec9ebe
GM
79902000-05-26 Gerd Moellmann <gerd@gnu.org>
7991
7992 * config.in (HAVE_SPEED_T): New define.
7993
7994 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
7995 `extern speed_t'.
7996
dd854dc2
DL
79972000-05-26 Dave Love <fx@gnu.org>
7998
7999 * coding.c (shrink_decoding_region): Initialize eol_conversion.
8000
8001 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
8002 (Fsubr_arity): New function.
8003 (syms_of_data): Install them.
8004
ba9f8f95
KH
80052000-05-26 Kenichi Handa <handa@etl.go.jp>
8006
0f3e0672
KH
8007 * charset.c (init_charset_once): Set the table bytes_by_char_head
8008 correctly.
8009
cebefb44
KH
8010 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
8011 the default fontset to what Emacs uses by default.
0f3e0672
KH
8012 (check_registry_encoding): This function deleted.
8013 (Fset_fontset_font): Remove the adhoc condition for the default
8014 fontset. Allow cons in FONTNAME.
cebefb44 8015
0f3e0672
KH
8016 * fns.c (map_char_table): Ignore char-table entries for
8017 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 8018
7a18af49
KR
80192000-05-25 Ken Raeburn <raeburn@gnu.org>
8020
8021 * emacs.c (main): Initialize keyboard syms before initializing
8022 window code, so face names are available.
8023
d2af47df
SM
80242000-05-25 Stefan Monnier <monnier@cs.yale.edu>
8025
8026 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
8027 of an anchor at the beginning of a shy-group.
8028
fc6a6a4e
GM
80292000-05-25 Gerd Moellmann <gerd@gnu.org>
8030
8031 * xdisp.c (handle_invisible_prop): Don't try to skip over
8032 invisible text if end of text is already reached.
8033
005f0d35
DL
80342000-05-25 Dave Love <fx@gnu.org>
8035
02513cdd
DL
8036 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
8037
005f0d35
DL
8038 * coding.c (encode_eol): Add null statement after label.
8039
89f6ca4e
EZ
80402000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
8041
8042 * w16select.c (Fw16_set_clipboard_data): Fix the change from
8043 2000-05-20.
8044
a4e1759e
KH
80452000-05-25 Kenichi Handa <handa@etl.go.jp>
8046
8047 * ccl.c (ccl_driver): Fix previous change.
8048
eacfd7fe
KH
80492000-05-25 Kenichi Handa <handa@etl.go.jp>
8050
46ab33a9
KH
8051 * coding.c (run_pre_post_conversion_on_str): Set point to the
8052 beginning of buffer before calling coding->post_read_conversion.
8053 (decode_coding_string): Give correct args to
8054 run_pre_post_conversion_on_str.
8055 (encode_coding_string): Likewise.
8056
eacfd7fe
KH
8057 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
8058 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
8059 eight-bit-graphic correctly.
8060
f8569325
DL
80612000-05-24 Kenichi HANDA <handa@etl.go.jp>
8062
8063 * fileio.c (Finsert_file_contents): Even if a file is not found,
8064 execute codes for setting up coding system. Call
8065 after-insert-file-functions unconditionally.
8066
04545643
GM
80672000-05-24 Gerd Moellmann <gerd@gnu.org>
8068
8069 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
8070 BSD_PGRPS are not defined.
8071
747d90ea
KH
80722000-05-24 Kenichi Handa <handa@etl.go.jp>
8073
8074 * charset.c (update_charset_table): Accept nil in LONG_NAME and
8075 DESCRIPTION.
8076 (syms_of_charset): Avoid building same strings.
8077
716e3b88
GM
80782000-05-23 Gerd Moellmann <gerd@gnu.org>
8079
8080 * lread.c (Fload): Add a comment about the meaning of
8081 Vuser_init_file being t.
8082
8083 * puresize.h (BASE_PURESIZE): Increase to 675000.
8084
8085 * s/gnu-linux.h (setpgrp): Don't define it here because this
8086 prevents compilation on GNU/Linux systems with glib 2.2.
8087
8088 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
8089 as setpgid.
427ec082 8090
9aeb39fa
EZ
80912000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
8092
8093 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
8094 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
8095 version.
8096 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
8097
29ced61b
KH
80982000-05-23 Kenichi Handa <handa@etl.go.jp>
8099
0574a2ed
KH
8100 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
8101 unconditionally.
8102
3d80f24d
KH
8103 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
8104
8105 * term.c (encode_terminal_code): Set coding->src_multibyte
8106 properly.
8107
29ced61b
KH
8108 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
8109
d7e00792
KH
81102000-05-22 Kenichi Handa <handa@etl.go.jp>
8111
c9d80d38
KH
8112 * keyboard.c (read_char): Allow character codes 128..255 to be
8113 handled by input-method-function.
8114
d7e00792
KH
8115 * insdel.c (adjust_markers_for_replace): Fix previous change.
8116 (adjust_after_replace): If PREV_TEXT is nil, call
8117 adjust_markers_for_insert, not adjust_markers_for_replace.
8118
087121cc 81192000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 8120
087121cc
GM
8121 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
8122 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
8123 [HAVE_GRANDPT]: Define.
8124 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
8125
8126 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
8127 like SYSV_PTYS.
8128
8129 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
8130
8131 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
8132
c9671f81
KH
81332000-05-20 Kenichi Handa <handa@etl.go.jp>
8134
8135 The following changes are to handle 8-bit characters in a
8136 multibyte buffer/string without facing with byte combining
8137 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
8138 eight-bit-graphic (for 0xA0..0xFF) are introduced.
8139
8140 * Makefile.in (fns.o): Depend on charset.h.
8141
8142 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
8143 convert it to unibyte.
8144 (make_string): Use parse_str_as_multibyte, not chars_in_text.
8145
8146 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
8147 apparent char boundary.
8148 (Fset_buffer_multibyte): Convert 8-bit characters in the range
8149 0x80..0x9F to/from multibyte form.
8150
8151 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
8152 to unibyte.
8153
8154 * callproc.c (Fcall_process): Always encode an argument string if
8155 it is multibyte. Setup src_multibyte and dst_multibyte members of
8156 process_coding properly.
ce75fd23 8157
c9671f81
KH
8158 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
8159 SPLIT_NON_ASCII_CHAR.
8160
8161 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
8162 as is.
8163 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
8164
8165 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
8166 variables.
8167 (SPLIT_CHARACTER_SEQ): This macro deleted.
8168 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
8169 valid.
8170 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
8171 and eight-bit-graphic.
8172 (char_to_string): Likewise. Signal an error for too large
8173 character code.
8174 (char_printable_p): Return 0 for 8-bit characters.
8175 (update_charset_table): Update iso_charset_table only when a final
8176 character is non-negative.
8177 (find_charset_in_text): Renamed from find_charset_in_str.
8178 Arguments and return value changed. Callers changed.
8179 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
8180 be -1 if CHARSET is used only internally.
8181 (Fmake_char_internal): Handle new charsets; eight-bit-control and
8182 eight-bit-graphic.
8183 (Fcharset_after): Simplified.
8184 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
8185 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
8186 (multibyte_chars_in_text): Simplified by assuming there's no
8187 invalid multibyte sequence.
8188 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
8189 str_as_unibyte): New functions.
8190 (Fstring): Simpified by assuming that byte combining never
8191 happens.
8192 (init_charset_once): Initialization for
8193 LEADING_CODE_8_BIT_CONTROL.
8194 (syms_of_charset): Intern and staticpro Qeight_bit_control and
8195 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
8196 eight-bit-control and eight-bit-graphic.
8197
8198 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
8199 CHARSET_8_BIT_GRAPHIC): New macros.
8200 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
8201 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
8202 (CHARSET_REVERSE_CHARSET): Likewise.
8203 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
8204 eight-bit-graphic.
8205 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
8206 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
8207 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
8208 encounter an invalid multibyte sequence.
8209 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
8210 sequence is always valid.
8211 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
8212 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
8213 macros.
8214 (CHAR_STRING): For 8-bit characters, call char_to_string.
8215 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
8216 multibyte sequence is always valid.
8217 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
8218 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
8219 str_as_unibyte): Extern them.
8220 (BCOPY_SHORT): Fix a bug.
8221 (CHAR_LEN): This macro deleted. Callers changed to use
8222 CHAR_BYTES.
8223 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
8224 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
8225 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
8226
bd4bde7f 8227 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
8228 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
8229 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
8230 EMIT_BYTES): New macros.
8231 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
8232 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
8233 macros deleted.
8234 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
8235 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
8236 check the validity of multibyte sequence.
8237 (decode_coding_emacs_mule): New function.
8238 (encode_coding_emacs_mule): New macro.
8239 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
8240 the source.
8241 (DECODE_ISO_CHARACTER): Just return a character code.
8242 (DECODE_COMPOSITION_START): Set coding->result instead of result.
8243 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
8244 EMIT_CHAR to produced decoded characters. Exit the loop only by
8245 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
8246 block here.
8247 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
8248 only position codes for an invalid character.
8249 (encode_designation_at_bol): Return new destination pointer. 5th
8250 arg DSTP is changed to DST.
8251 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
8252 from the source by ONE_MORE_CHAR. Don't handle the case of last
8253 block here.
8254 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
8255 macros deleted.
8256 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
8257 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
8258 TWO_MORE_BYTES to fetch a byte from the source.
8259 (encode_eol): Pay attention to coding->src_multibyte.
8260 (detect_coding, detect_eol): Preserve members src_multibyte and
8261 dst_multibyte.
8262 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
8263 (encoding_buffer_size): Set magnification to 3 for all coding
8264 systems that require encoding.
8265 (ccl_coding_driver): For decoding, be sure that the result is
8266 valid multibyte sequence.
8267 (decode_coding): Initialize coding->errors and coding->result.
8268 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
8269 and raw-text, always call decode_eol. Handle the case of last
8270 block here. If not coding->dst_multibyte, convert the resulting
8271 sequence to unibyte.
8272 (encode_coding): Initialize coding->errors and coding->result.
8273 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
8274 and raw-text, always call encode_eol. Handle the case of last
8275 block here.
8276 (shrink_decoding_region, shrink_encoding_region): Detect cases
8277 that we can't skip data more rigidly.
8278 (code_convert_region): Setup src_multibyte and dst_multibyte
8279 members of coding. For decoding, if the buffer is multibyte,
8280 convert the source sequence to unibyte in advance. For encoding,
8281 if the buffer is multibyte, convert the resulting sequence to
8282 multibyte afterward.
8283 (run_pre_post_conversion_on_str): New function.
8284 (code_convert_string): Deleted and divided into the following two.
8285 (decode_coding_string, encode_coding_string): New functions.
8286 (code_convert_string1, code_convert_string_norecord): Call one of
8287 above.
8288 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
8289 MAKE_NON_ASCII_CHAR.
8290 (Fset_terminal_coding_system_internal,
8291 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
8292 and dst_multibyte members.
8293 (init_coding_once): Initialize iso_code_class with new enum
8294 ISO_control_0 and ISO_control_1.
8295
8296 * coding.h (enum iso_code_class_type): Member ISO_control_code is
8297 devided into ISO_control_0 and ISO_control_1.
8298 (struct coding_system): New members src_multibyte, dst_multibyte,
8299 errors, and result. Delete member fake_multibyte.
8300 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
8301 nonzero.
8302 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
8303 nonzero.
8304
8305 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
8306 (Faset): Likewise.
8307
8308 * editfns.c (Fformat): Be sure to convert 8-bit characters to
8309 multibyte form.
8310 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
8311 combining occurs.
8312 (Ftranspose_region): Delete codes for handling byte combining.
8313
8314 * fileio.c (Finsert_file_contents): Setup src_multibyte and
8315 dst_multibyte members of coding. On handling REPLACE on unibyte
8316 buffer, convert the result of decode_coding to unibyte. On
8317 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 8318 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
8319 multibyteness of the source (buffer or string).
8320
8321 * fns.c (concat): Handle 8-bit characters correctly.
8322 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
8323 unibyte in the result.
8324 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
8325 valid multibyte form in the result.
8326 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8327 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
8328 return -1, signal an error.
8329 (base64_encode_1): New arg MULTIBYTE. Get each character by
8330 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
8331 character is found, return -1.
8332 (Fbase64_decode_region): Delete codes for handling byte-combining.
8333 Treat each decoded byte as a unibyte character.
8334 (Fbase64_decode_string): Return unibyte string.
8335 (Fcompare_strings, concat, string_byte_to_char): Use
8336 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
8337 FETCH_STRING_CHAR_ADVANCE.
8338 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8339 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
8340
8341 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
8342 SPLIT_NON_ASCII_CHAR.
8343 (fontset_ref_via_base, fontset_set): Likewise
8344
8345 * insdel.c (adjust_markers_for_record_delete): Deleted.
8346 (adjust_markers_for_insert): Argument changed. Caller changed.
8347 (adjust_markers_for_replace): Likewise.
8348 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
8349 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
8350 (copy_text): Delete unused local varialbe c_save. For converting
8351 to multibyte, be sure to make all 8-bit characters in valid
8352 multibyte form.
8353 (count_size_as_multibyte): Handle 8-bit characters correctly.
8354 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
8355 adjust_after_replace, replace_range, del_range_2)
8356 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
8357 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
8358 adjust_after_replace, replace_range, del_range_2) Delete codes for
8359 handling byte combining.
8360 (adjust_before_replace): Deleted.
427ec082 8361
c9671f81
KH
8362 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
8363 SPLIT_NON_ASCII_CHAR.
8364 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
8365 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
8366 unconditionally.
8367 (Fkey_description): Likewise.
8368
8369 * lread.c (read1): On reading multibyte string, be sure to make
8370 all 8-bit chararacters in valid multibyte form.
8371 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
8372
8373 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
8374 unconditionally.
8375
8376 * process.c (Fstart_process): GCPRO current_dir before calling
8377 Ffind_operation_coding_system. Encode arguments here.
8378 (create_process): Don't encode arguments here. Setup
8379 src_multibyte and dst_multibyte members of struct coding.
8380 (read_process_output): Setup src_multibyte and dst_multibyte
8381 members of struct coding. If the output is to multibyte buffer,
8382 always decode the output of the process. Adjust the
8383 representation of 8-bit characters to the multibyteness of the
8384 output.
8385 (send_process): Setup coding->src_multibyte according to the
8386 multibyteness of the source.
8387
8388 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
8389 unconditionally.
8390 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
8391 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
8392
8393 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
8394 CHAR_LEN.
8395
8396 * w16select.c (Fw16_set_clipboard_data): Setup members
8397 src_multibyte and dst_multibyte of coding. Adjusted for the
8398 change for find_charset_in_str.
8399 (Fw16_get_clipboard_data): Likewise.
8400
8401 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
8402 dst_multibyte of coding.
8403 (x_to_w32_font): Likewise.
8404
8405 * w32select.c (Fw32_set_clipboard_data): Setup members
8406 src_multibyte and dst_multibyte of coding. Adjusted for the
8407 change for find_charset_in_str.
8408 (Fw32_get_clipboard_data): Likewise.
8409
8410 * xdisp.c (get_next_display_element): Handle 8-bit characters
8411 correctly.
8412 (next_element_from_display_vector): Use CHAR_BYTES instead of
8413 CHAR_LEN.
8414 (disp_char_vector): Use SPLIT_CHAR instead of
8415 SPLIT_NON_ASCII_CHAR.
8416
8417 * xselect.c (selection_data_to_lisp_data): Setup members
8418 src_multibyte and dst_multibyte of coding. Adjusted for the
8419 change for find_charset_in_str.
8420 (lisp_data_to_selection_data): Likewise.
8421
5f64c9e0
GM
84222000-05-19 Gerd Moellmann <gerd@gnu.org>
8423
2b63d473
GM
8424 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
8425 buffer.
8426
5f64c9e0
GM
8427 * dispextern.h (Vimage_types): Add extern declaration.
8428
8429 * xdisp.c (Vimage_types): Moved here from xfns.c.
8430 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
8431
8432 * xfns.c (Vimages_types): Moved to xdisp.c.
8433 (syms_of_xfns): Move `image-types' to xdisp.c.
8434
8435 * w32fns.c (Vimage_types): Removed.
8436 (syms_of_w32fns): Remove `image-types'.
8437
813086ea
KH
84382000-05-18 Kenichi Handa <handa@etl.go.jp>
8439
8440 * fns.c (map_char_table): Pay attention to character number of
8441 charset. Check the validity of charset at the first level. For
8442 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
8443 the default value.
8444
8445 * fontset.c: Include "buffer.h".
8446 (fs_load_font): If the face has fontset, record the face ID in
8447 that fontset.
8448 (Finternal_char_font): New function.
8449 (accumulate_font_info): New function.
8450 (Ffontset_info): Rewritten for the new fontset implementation.
8451 (syms_of_fontset): Register Vdefault_fontset in the first element
8452 of Vfontset_table. Include Vdefault_fontset in
8453 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
8454 function.
8455
bdaebbf0
DL
84562000-05-16 Dave Love <fx@gnu.org>
8457
8458 * m/iris5d.h: Deleted -- unused.
8459
cb613bb8
GM
84602000-05-16 Gerd Moellmann <gerd@gnu.org>
8461
b15f3b77
GM
8462 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
8463 `invalid' instead of `illegal'.
8464
8465 * indent.c (Fmove_to_column): When ending within a tab, insert
8466 spaces first so that markers at the end of the tab get adjusted.
8467
835c1b36
GM
8468 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
8469 buffer list that wasn't selected in that frame.
8470
cb613bb8
GM
8471 * filelock.c (get_boot_time): To obtain an 8 char file name, which
8472 is needed on mescaline, use a 2 char prefix, and call
8473 make_temp_name with second arg non-zero.
8474
8475 * fileio.c (make_temp_name): New function, extracted from
8476 Fmake_temp_name.
8477 (Fmake_temp_name): Use it.
8478
f685bea9
EZ
84792000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
8480
8481 * window.c (coordinates_in_window): Subtract 1 when computing
8482 right_x.
8483
a1b8d58b
GM
84842000-05-15 Gerd Moellmann <gerd@gnu.org>
8485
8486 * Makefile.in (lisp): Add env.elc.
8487
8488 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
8489
a265079f
GM
84902000-05-12 Gerd Moellmann <gerd@gnu.org>
8491
8492 * search.c (Freplace_match): Handle case of `\N' in the
8493 replacement when there's no group N.
8494
da4496b6
GM
84952000-05-11 Gerd Moellmann <gerd@gnu.org>
8496
0ace421a
GM
8497 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
8498 of the message to message_dolog.
8499
1172eb8d
GM
8500 * keyboard.c (read_char): Don't clear current message for help
8501 events; let the code handling help events handle this. Change
8502 code detecting help events that should be ignored.
8503
da4496b6
GM
8504 * xdisp.c (handle_single_display_prop): Don't try to set PT if
8505 we're interating over a string.
8506
0623e40f
DL
85072000-05-09 Dave Love <fx@gnu.org>
8508
8509 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
8510 that offset before writing. Move gcpro region past call of
8511 Ffile_regular_p.
8512
bae2503b
DL
85132000-05-04 Dave Love <fx@gnu.org>
8514
8515 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
8516
ec82fb2f
GM
85172000-05-04 Gerd Moellmann <gerd@gnu.org>
8518
8519 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
8520 of inserted characters when BUF equals the current buffer, and PT
8521 is in front of or equal to FROM.
8522
cbf18892
GM
85232000-05-03 Gerd Moellmann <gerd@gnu.org>
8524
4ff40dd0
GM
8525 * xdisp.c (handle_single_display_prop): If display property value
8526 is invalid, or something not supported on the frame, restore
8527 iterator's position to what it was initially. Make sure to return
8528 0 for invalid and unsupported property values.
8529
cbf18892
GM
8530 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
8531 that x_per_char_metric returns null.
8532
1b0672c3
GM
85332000-05-02 Gerd Moellmann <gerd@gnu.org>
8534
576da55d
GM
8535 * xterm.h (struct face): Add forward declaration.
8536 (struct image): Ditto.
8537 (image_ascent): Add prototype.
8538
8539 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
8540 (x_draw_image_relief, x_draw_image_foreground_1): Call function
8541 image_ascent instead of using IMAGE_ASCENT.
8542
8543 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
8544 (IMAGE_ASCENT): Removed.
8545
8546 * xfns.c (Qcenter): New variable.
8547 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
8548 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
8549 (image_ascent): New function.
8550 (lookup_image): Recognize `:ascent center'.
8551 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
8552 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
8553 (xbm_load): Don't set image's ascent here.
8554 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
8555 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
8556 check ascent values here.
8557 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
8558 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
8559 (syms_of_xfns): Initialize Qcenter.
8560
1b0672c3
GM
8561 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
8562 to the limits, increase the limits.
8563
0d7811ed
KH
85642000-05-01 Kenichi Handa <handa@etl.go.jp>
8565
8566 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
8567 Check Vfont_encoding_alist against the full name of the opened
8568 font.
8569
a943a5ca
GM
85702000-04-28 Gerd Moellmann <gerd@gnu.org>
8571
8572 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
8573 taller than the window.
8574
5dba1e29
KH
85752000-04-28 Kenichi Handa <handa@etl.go.jp>
8576
8577 * xfaces.c (realize_x_face): Fix the argument of the second
8578 xassert. BASE_FACE may not be a face for ASCII.
8579
353964e3
GM
85802000-04-27 Gerd Moellmann <gerd@gnu.org>
8581
c76e04a8
GM
8582 * print.c (print_object): Treat print-length < 0 as nil.
8583
8584 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
8585
8586 * s/freebsd.h (TERMCAP_OBJ): Removed.
8587 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
8588
8589 * lread.c (read1): Don't treat period followed by certain
8590 characters as symbol start.
8591
8592 * xfns.c (slurp_file): New function.
8593 (xbm_image_p): Handle case of in-memory XBM files.
8594 (xbm_scan): Rewritten to work on memory buffers instead of files.
8595 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
8596 Work on memory buffers instead of files. If DATA is null test
8597 if buffer looks like an in-memory XBM file.
8598 (xbm_load_image): Renamed from xbm_load_image_file. Work on
8599 memory buffers instead of files.
8600 (xbm_file_p): New function.
8601 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
8602
353964e3
GM
8603 * lread.c (end_of_file_error): New function.
8604 (read1): Call it instead of signaling `end-of-file' directly.
8605
427ec082 8606 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
8607 with Fprinc instead of Fprin1.
8608
24d744ac
KR
86092000-04-26 Ken Raeburn <raeburn@gnu.org>
8610
8611 * window.c (freeze_window_start): Check that minibuffer scroll
8612 window isn't nil before extracting the window structure pointer
8613 from it.
8614
8615 * undo.c (record_delete): If we hit the end of the undo list, stop
8616 picking elements apart.
8617
7464346d
GM
86182000-04-26 Gerd Moellmann <gerd@gnu.org>
8619
8620 * xdisp.c (display_line): If lines are continued, restore
8621 iterator's ascent/descent information to the values before the
8622 first glyph not fitting on the line.
8623
612839b6
GM
86242000-04-25 Gerd Moellmann <gerd@gnu.org>
8625
8626 * xdisp.c (try_window_id) <all changes above window start>: Adjust
8627 positions in glyph matrix. Don't compute new window end
8628 positions.
8629
8630 * dispnew.c (increment_matrix_positions): Renamed from
8631 increment_glyph_matrix_buffer_positions.
8632 (increment_row_positions): Renamed from
8633 increment_glyph_row_buffer_positions.
8634
8635 * dispextern.h: Change names of renamed functions from dispnew.c
8636 in prototypes.
8637
cc181e95
GM
86382000-04-24 Gerd Moellmann <gerd@gnu.org>
8639
abfcc168
GM
8640 * fileio.c (Fdo_auto_save): Create directories for auto-save
8641 list file if necessary.
8642
cc181e95
GM
8643 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
8644 from buffer or frame.
8645 (automatic_hscrolling_p): New variable.
8646 (hscroll_windows): Scroll windows horizontally only if automatic
8647 hscrolling is allowed.
8648 (syms_of_xdisp): New variable `automatic-hscrolling'.
8649
8650 * frame.h (struct frame): Add member extra_line_spacing.
8651
8652 * xfns.c (x_set_line_spacing): New function.
8653 (Fx_create_frame): Set line spacing from resources.
8654 (Qline_spacing): New variable.
8655 (syms_of_xfns): Initialize Qline_spacing.
427ec082 8656
cc181e95
GM
8657 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
8658
8659 * buffer.c (init_buffer_once): Handle extra_line_spacing.
8660 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 8661 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
8662 extra_line_spacing from default value.
8663 (init_buffer_once): Initialize default value of extra_line_spacing.
8664
8665 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
8666 and extra3.
8667
8668 * xterm.c (x_produce_glyphs): Remove reference to struct it's
8669 prompt_width. Add extra line spacing.
8670
8671 * term.c (produce_glyphs): Remove reference to struct it's
8672 prompt_width.
8673
8674 * dispextern.h (struct it): Remove member prompt_width, add
8675 extra_line_spacing.
8676
58827478
GM
86772000-04-22 Gerd Moellmann <gerd@gnu.org>
8678
8679 * dispnew.c (update_frame_line): When writing a whole line, make
8680 sure cursor is in the right row afterwards, otherwise a use of
8681 capability `ch' in cmgoto might leave the cursor in the row below.
8682
25a87f42
GM
86832000-04-21 Gerd Moellmann <gerd@gnu.org>
8684
8685 * lisp.h (struct Lisp_Buffer_Cons): Remove.
8686
8687 * keyboard.c (timer_check): Fix typo in comment.
8688
54edf5c2
KH
86892000-04-21 Kenichi Handa <handa@etl.go.jp>
8690
8691 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
8692 name change: ch -> character.
8693
3a64eef5
GM
86942000-04-20 Gerd Moellmann <gerd@gnu.org>
8695
8696 * keyboard.c (echo_message_buffer): New variable.
8697 (echo_now): Set echo_message_buffer to the echo area buffer used
8698 to display the echo.
8699 (cancel_echoing): Reset echo_message_buffer to nil.
8700 (read_char): Code rewritten that handles canceling an echo or
8701 echoing a dash, respectively.
8702
8703 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
8704 directory doesn't exist.
8705
6142fdcb
DL
87062000-04-19 Dave Love <fx@gnu.org>
8707
8708 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
8709 (concat): Don't allow numeric args.
8710 (Fconcat): Doc change.
6142fdcb 8711
ac6b5352
SM
87122000-04-19 Stefan Monnier <monnier@cs.yale.edu>
8713
8714 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
8715 instead define end_match(1|2) more carefully.
8716 Use GET_CHAR_BEFORE_2 for `begline'.
8717
cb9215e4
GM
87182000-04-19 Gerd Moellmann <gerd@gnu.org>
8719
5e3dac3f
GM
8720 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
8721 on 64-bit systems where NULL is defined as `0'.
8722
8723 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
8724 the `variable argument list' to make it work on Alpha.
8725
cb9215e4
GM
8726 * m/alpha.h (_LP64) [!_LP64]: Define.
8727 (ORDINARY_LINK): Define for NetBSD.
8728
8729 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 8730
f532dca0
DL
87312000-04-19 Dave Love <fx@gnu.org>
8732
c750667e
DL
8733 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
8734 change.
8735
8736 * Makefile.in (LIBS): Don't use.
8737 (GETLOADAVG_OBJ): Define again.
8738 (otherobj): Add GETLOADAVG_OBJ.
8739
f532dca0
DL
8740 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
8741
1c7e22fd
GM
87422000-04-18 Gerd Moellmann <gerd@gnu.org>
8743
f6d3257b
GM
8744 * lread.c (read_filtered_event): Cancel and start busy cursor.
8745
427ec082 8746 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
8747 that the per-character metrics may be null.
8748
e10f64e7
GM
87492000-04-17 Gerd Moellmann <gerd@gnu.org>
8750
0daee095
GM
8751 * buffer.c (clone_per_buffer_values): New function.
8752 (Fmake_indirect_buffer): Add optional argument CLONE. Call
8753 clone_per_buffer_values if CLONE is not nil.
8754
e10f64e7
GM
8755 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
8756
38687d43
DL
87572000-04-16 Dave Love <fx@gnu.org>
8758
8759 * Makefile.in: Remove obsolete localcpp stuff.
8760 (GETLOADAVG_OBJ): Don't define.
8761 (obj): Move LIBOBJS...
8762 (otherobj): ... to here.
8763 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
8764 whitespace-only lines after the continuation (Irix).
8765
c21c7262
GM
87662000-04-14 Gerd Moellmann <gerd@gnu.org>
8767
8768 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
8769
8770 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
8771
314767c0
DL
87722000-04-14 Dave Love <fx@gnu.org>
8773
8774 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
8775 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
8776 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
8777 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
8778 NLIST_STRUCT.
8779
8780 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
8781 autoconfiscated HAVE_GETLOADAVG.
8782
8783 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
8784 BROKEN_MKTIME.
8785
a2522dca
GM
87862000-04-14 Gerd Moellmann <gerd@gnu.org>
8787
8788 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
8789 (fill_in_lock_file_name): Avoid existing files that aren't
8790 links.
8791
33744b5d
DL
87922000-04-14 Dave Love <fx@gnu.org>
8793
c21c7262 8794 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
8795 (INTERVAL_SRC): Convert to make variable.
8796 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
8797 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
8798 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
8799 add LIBOBJS.
8800 (SOME_MACHINE_OBJECTS): Remove interval stuff.
8801 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
8802 (shortlisp): Add facemenu, float-sup, frame.
8803 (SOME_MACHINE_LISP): Remove them from here.
8804 (LIBES): Change unused LDLIBS to autoconf LIBS.
8805
8806 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
8807
9d3d5916
KH
88082000-04-14 Kenichi Handa <handa@etl.go.jp>
8809
8810 * composite.c (update_compositions): If FROM and TO are not in a
8811 valid range, do nothing.
8812
198e3c7a
GM
88132000-04-13 Gerd Moellmann <gerd@gnu.org>
8814
8815 * tparam.c (tparam1): Abort when encountering an unknown
8816 `%'-specifier.
8817
8818 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
8819 terminfo.o.
8820
8821 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
8822 as TERMCAP_OBJ.
8823
055a28c9
EZ
88242000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
8825
8826 * fileio.c (a_write): Remove redundant semi-colons.
8827 (e_write): Return -1 if failed to write all the data.
8828 This fixes the changes made at 1999-12-15.
8829
f5c75033
DL
88302000-04-12 Dave Love <fx@gnu.org>
8831
8832 * fns.c (mapcar1): Test for null vals to support mapc.
8833 (Fmapc): New function.
8834
0c3cfc51
EZ
88352000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
8836
8837 * msdos.c (NUM_MOUSE_BUTTONS): Define.
8838 (IT_frame_up_to_date): Support the buffer local value of
8839 cursor-type, if defined.
8840
33465a31
DL
88412000-04-10 Dave Love <fx@gnu.org>
8842
8843 * editfns.c (preceding-char, following-char): Doc fix.
8844
6ed56568
KR
88452000-04-10 Ken Raeburn <raeburn@gnu.org>
8846
8847 * Makefile.in (temacs): Revert 2000-03-12 change.
8848
7cf80d4e
JR
88492000-04-10 Jason Rumney <jasonr@gnu.org>
8850
8851 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
8852
34f3f342
GM
88532000-04-10 Gerd Moellmann <gerd@gnu.org>
8854
1a1b1895
GM
8855 * xdisp.c (setup_echo_area_for_printing): Choose an echo
8856 area buffer, if it's not set up yet.
8857
34f3f342
GM
8858 * indent.c (compute_motion): Set immediate_quit.
8859
be0dbdab
GM
88602000-04-09 Gerd Moellmann <gerd@gnu.org>
8861
c45be9ac
GM
8862 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
8863 variable.
8864 (realize_tty_face): Suppress boldness if colors are the inverse of
8865 the default colors, and tty_suppress_bold_inverse_default_colors_p
8866 is set.
8867 (Ftty_suppress_bold_inverse_default_colors): New function.
8868 (syms_of_xfaces): Defsubr it.
8869
be0dbdab
GM
8870 * buffer.c (Frestore_buffer_modified_p): New function.
8871 (syms_of_buffer): Defsubr it.
8872
e8413c3b
KR
88732000-04-08 Ken Raeburn <raeburn@gnu.org>
8874
87f67317
KR
8875 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
8876 charset id (int) argument, not a charset (Lisp_Object).
8877
e8413c3b
KR
8878 * coding.h (code_convert_string): Declare.
8879 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
8880 object, as the fourth argument to code_convert_string.
8881
8882 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
8883 value.
8884 (Fset_fontset_font): Use EQ to compare lisp objects.
8885
7c752c80
KR
88862000-04-05 Ken Raeburn <raeburn@gnu.org>
8887
c0333abc
KR
8888 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
8889 a pointer that looks like a lisp object.
8890 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
8891 zero, instead see whether it's an integer object, since they can't
8892 have intervals.
8893 (GET_INTERVAL_OBJECT): Simply assign to the destination.
8894
7c752c80
KR
8895 * dispnew.c (allocate_matrices_for_frame_redisplay,
8896 direct_output_forward_char): Use X(U)INT and make_number as needed
8897 to convert between (unsigned) int values and lisp integers.
8898 * keyboard.c (read_key_sequence): Likewise.
8899 * lread.c (substitute_object_recurse): Likewise.
8900 * fns.c (concat, hash_lookup, hash_remove): Likewise.
8901 * minibuf.c (do_completion, Fminibuffer_complete_word,
8902 Fminibuffer_completion_help): Likewise.
8903 * term.c (produce_special_glyphs): Likewise.
8904
8905 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
8906 * print.c (print_preprocess, print_object): Likewise.
8907
8908 * search.c (compile_pattern): Use NILP when checking for nil.
8909
74e49b38
KR
8910 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
8911 __OPTIMIZE__]: Provide a GNU C macro version that handles
8912 lisp-object unions.
8913 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
8914 field, to better cope with ENABLE_CHECKING and calls that modify a
8915 Lisp_Object using its old value.
8916
685e5ed2
GM
89172000-04-04 Gerd Moellmann <gerd@gnu.org>
8918
c407c570
GM
8919 * window.c (compare_window_configurations): Signal an error
8920 if parameters C1 or C2 aren't window configurations.
8921
685e5ed2
GM
8922 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
8923 AFTER_POTENTIAL_GC calls around calls to functions that can
8924 signal an error and thus invoke the debugger.
8925
587a49ab
GM
89262000-04-03 Gerd Moellmann <gerd@gnu.org>
8927
62f20204
GM
8928 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
8929 an error if decoding fails.
8930
587a49ab
GM
8931 * keyboard.c (lispy_mouse_names): Variable removed.
8932 (Vlispy_mouse_stem): New variable.
8933 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
8934 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
8935 for any mouse button number. Increase size of mouse_syms and
8936 button_down_location as needed. Call modify_event_symbol with
8937 different arguments.
8938 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
8939 Call modify_event_symbol with different arguments.
8940 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
8941 for any button number. Call modify_event_symbol with different
8942 arguments.
8943 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
8944 Accept a string for NAME_ALIST_OR_STEM.
8945
8946 * lisp.h (larger_vector): Add prototype.
8947
8948 * fns.c (larger_vector): Make externally visible.
8949
8950 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
8951
2d1675e4
SM
89522000-04-02 Stefan Monnier <monnier@cs.yale.edu>
8953
8954 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
8955 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
8956 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
8957 we are between str1 and str2.
8958 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
8959 (PATFETCH): Use `TRANSLATE'.
8960 (PATFETCH_RAW): Fetch multibyte char if applicable.
8961 (PATUNFETCH): Remove.
8962 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
8963 When writing a char, write it directly into the pattern buffer rather
8964 than going needlessly through a temp char-array.
8965 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
8966 multibyte magic and remove the useless `#ifdef emacs'.
8967 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
8968 buffer.
8969
8970 * regex.h (struct re_pattern_buffer): Make field `multibyte'
8971 conditional on `emacs'.
8972
8973 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
8974
cc2d8c6b
KR
89752000-04-01 Ken Raeburn <raeburn@gnu.org>
8976
8977 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
8978 non-union-type versions of XMARK and friends here, because XMARK
8979 and friends won't work on an integer field if NO_UNION_TYPE is not
8980 defined.
8981 (make_number): Define as a function if it's not defined as a
8982 macro.
8983
09654086
KR
8984 * composite.c (run_composite_function): Use NILP when checking for
8985 nil.
8986 (syms_of_composite): Delete local var NARGS, pass an int as first
8987 argument to Fmake_hash_table.
8988
2387b382
KR
8989 * editfns.c (text_property_stickiness): Use NILP to test
8990 Lisp_Object boolean value.
8991 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
8992 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
8993 problems reading from and changing the same lisp value in an
8994 XSETSTRING call.
8995
27660e89
GM
89962000-04-01 Gerd Moellmann <gerd@gnu.org>
8997
8998 * term.c (TN_no_color_video): New variable.
8999 (term_init): Intitialize TN_no_color_video.
9000 (enum no_color_bit): New enumeration.
9001 (MAY_USE_WITH_COLORS_P): New macro.
9002 (turn_on_face): Use it to determine if attributes may be used
9003 combined with colors.
9004
3578db3c
KR
90052000-04-01 Ken Raeburn <raeburn@gnu.org>
9006
9007 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
9008 with int lvalues via casts; instead, just yield lisp object
9009 lvalues.
9010 (enlarge_window): Variable sizep now points to Lisp_Object. Use
9011 proper accessor macros.
9012 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
9013 (grow_mini_window): Fix typo getting int value of root->height.
9014
6fc556fd
KR
9015 * xdisp.c (compute_string_pos): Fix order of arguments to
9016 string_pos_nchars_ahead.
9017 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
9018 count arg to variable-arg routines like Frun_hook_with_args and
9019 Fformat.
587a49ab
GM
9020 (back_to_previous_visible_line_start)
9021 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
9022 fixed-arg routines like Fget_char_property and Fmake_string.
9023 (reconsider_clip_changes): Use XINT when comparing integer lisp
9024 objects, or passing them as int arguments.
587a49ab
GM
9025 (mark_window_display_accurate, insert_left_trunc_glyphs)
9026 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
9027 storing or passing integer values as lisp objects.
9028 (set_cursor_from_row, highlight_trailing_whitespace): Use
9029 INTEGERP, not implicit test against zero, for glyph object.
9030 (try_window_id): Don't use make_number when we want an int value.
9031
9032 * xfaces.c (xlfd_symbolic_value): Make last argument a
9033 Lisp_Object, to be consistent with callers.
9034 (Fbitmap_spec_p): Use XINT to get numeric value of height.
9035 (lface_hash): Apply XFASTINT to lisp values before folding in.
9036
9037 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
9038 fill in window width and height. Pass an int, not a lisp object,
9039 as first arg to Finsert.
9040
6e7b2457
GM
90412000-04-01 Gerd Moellmann <gerd@gnu.org>
9042
610d841e
GM
9043 * xfaces.c (realize_basic_faces): Block input while realizing
9044 the faces.
9045
6e7b2457
GM
9046 * keyboard.c (lispy_mouse_names): Add additional mouse names.
9047
9048 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
9049
aa110c0c
GM
90502000-03-31 Gerd Moellmann <gerd@gnu.org>
9051
9052 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 9053 or ASCII, handle case that per-char metric is null.
aa110c0c 9054
8801a864
KR
90552000-03-30 Ken Raeburn <raeburn@gnu.org>
9056
c6129d7e
KR
9057 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
9058
8801a864
KR
9059 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
9060 XSUBR, XBUFFER): Verify correct object type before returning
9061 pointer, using eassert.
9062 * frame.h (XFRAME): Likewise.
9063
9064 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
9065 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
9066 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
9067 type.
9068 * data.c (set_internal): Likewise.
9069 * dispextern.h (WINDOW_WANTS_MODELINE_P,
9070 WINDOW_WANTS_HEADER_LINE_P): Likewise.
9071 * fileio.c (auto_save_1): Likewise.
9072 * insdel.c (check_markers): Likewise.
9073 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
9074 * undo.c (record_insert): Likewise.
9075 * vmsproc.c (child_sig): Likewise.
9076 * window.c (unshow_buffer, window_loop): Likewise.
9077 * xterm.c (x_erase_phys_cursor): Likewise.
9078
8e7af858
GM
90792000-03-30 Gerd Moellmann <gerd@gnu.org>
9080
9081 * xfns.c (free_image_cache): Free the cache structure itself
9082 last, after all its members have been freed.
9083
9084 * lisp.h (xstrdup): Add prototype.
9085
9086 * alloc.c (xstrdup): Moved here from xfaces.c.
9087 (allocating_for_lisp): Variable removed.
9088 (lisp_malloc): Block input around the calls to malloc and
9089 mem_insert.
9090
9091 * xfaces.c (realize_tty_face): Use find_symbol_value instead
9092 of Fsymbol_value.
9093 (xstrdup): Moved to alloc.c.
9094
e0b8c689
KR
90952000-03-29 Ken Raeburn <raeburn@gnu.org>
9096
b96f9fb7
KR
9097 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
9098
9099 * emacs.c (main): Fix sense of no-loadup test.
9100
e0b8c689
KR
9101 * config.in (ENABLE_CHECKING): Undef.
9102
9103 * lisp.h (struct interval): Replace "parent" field with a union of
9104 interval pointer and Lisp_Object; add new bitfield to use as
9105 discriminant. Change other flag fields to bitfields.
9106 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
9107 is defined and the supplied test fails, print a message and
9108 abort.
9109 (eassert): New macro. Use CHECK to provide an assert-like
9110 facility.
9111
9112 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
9113 pointers; abort if the value looks like a lisp object.
9114 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
9115 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
9116 Modify for new interval parent definition.
9117
9118 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
9119 UNMARK_BALANCE_INTERVALS): Update references that need an
9120 addressable lisp object in the interval structure.
9121 (die): New function.
9122 (suppress_checking): New variable.
9123
9124 * intervals.c (interval_start_pos): Just return 0 if there's no
9125 parent object.
9126
f83c5440
GM
91272000-03-29 Gerd Moellmann <gerd@gnu.org>
9128
9129 * lread.c (read1): Accept `.' (period) as symbol start like in CL
9130 and earlier Emacs versions.
9131
9132 * keyboard.c (Ftop_level): Cancel busy-cursor.
9133
9134 * eval.c (call_debugger): Cancel busy-cursor.
9135
fdce64ff
KH
91362000-03-29 Kenichi Handa <handa@etl.go.jp>
9137
9138 * search.c (Freplace_match): Adjust multibyteness of the current
9139 buffer and NEWTEXT. Free allocated memory before signaling an
9140 error.
9141
f6a3f532
SM
91422000-03-28 Stefan Monnier <monnier@cs.yale.edu>
9143
9144 * regex.c (analyse_first): New function obtained by ripping out most
9145 of re_compile_fastmap and generalizing it a little bit so that it
9146 can also just return whether a given (sub)pattern can match the empty
9147 string or not.
9148 (regex_compile): Use `analyse_first' to decide whether the loop-check
9149 needs to be done or not for *, +, *? and +? (the loop check is costly
9150 for non-greedy repetition).
9151 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
9152
e9b309ac
DL
91532000-03-28 Dave Love <fx@gnu.org>
9154
bb15bd9a
DL
9155 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
9156 alpha.
9157
e9b309ac
DL
9158 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
9159
ed0767d8
SM
91602000-03-27 Stefan Monnier <monnier@cs.yale.edu>
9161
9162 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
9163 an expression.
9164 (enum re_opcode_t): Update description of succeed_n.
9165 (PATFETCH): Always define.
9166 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
9167 operators, char classes, shy-groups and intervals).
9168 Optimize special cases of intervals so as to only use succeed_n and
9169 jump_n when really needed.
9170 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
9171 that we don't have to handle the special cases any more.
9172 Simplify on_failure_jump handling as well.
9173
e11e7e46
JR
91742000-03-28 Jason Rumney <jasonr@gnu.org>
9175
9176 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
9177
88faab89
GM
91782000-03-27 Gerd Moellmann <gerd@gnu.org>
9179
182ff242
GM
9180 * s/freebsd.h (GC_SETJMP_WORKS): Define.
9181
9182 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 9183
182ff242
GM
9184 * alloc.c (mark_maybe_object): New function.
9185 (mark_memory): Use it.
9186 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
9187 (setjmp_tested_p, longjmp_done): New variables.
9188 (test_setjmp): New function.
9189 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
9190 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
9191
c1005d06
GM
9192 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
9193 to DEC_TEXT_POS and INC_TEXT_POS.
9194
9195 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
9196 with parameter MULTIBYTE_P.
9197
427ec082 9198 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
9199 MULTIBYTE_P.
9200
7439e5b9 9201 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
9202 buffers because it looks for multibyte character byte sequences
9203 which don't exist in unibyte text.
7439e5b9 9204
d9c545da
GM
9205 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
9206
11fd416e 9207 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
9208 [DEBUG_X_COLORS]: New functions.
9209 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
9210
9211 * xfns.c (x_set_cursor_color): Get color reference counts right.
9212
9213 * xterm.c (x_copy_color): New function.
9214 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
9215
9216 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
9217 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
9218 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
9219 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
9220 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
9221 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
9222 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
9223 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
9224 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
9225 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
9226
11fd416e
GM
9227 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
9228 names for handling per-buffer variables.
d9c545da
GM
9229
9230 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
9231 instead of MAX_BUFFER_LOCAL_VARS.
9232 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
9233
9234 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
9235
88faab89
GM
9236 * xfns.c (x_specified_cursor_type): New function.
9237 (x_set_cursor_type): Use it.
9238
9239 * buffer.h (struct buffer): Add cursor_type.
9240
d80f42b7
SM
92412000-03-26 Stefan Monnier <monnier@cs.yale.edu>
9242
9243 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 9244 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 9245 opcode.
d80f42b7
SM
9246 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
9247 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
9248 executing it as well as when popping it off the stack to find infinite
9249 loops in non-greedy repetition operators.
9250
89e80928
GM
92512000-03-26 Gerd Moellmann <gerd@gnu.org>
9252
3d4ff2dd
GM
9253 * doc.c (Qfunction_documentation): New variable.
9254 (syms_of_doc): Initialize Qfunction_documentation.
9255 (Fdocumentation): If FUNCTION is a symbol with non-nil
9256 `function-documentation' property, return a documentation derived
9257 from that.
9258
bd96bd79
GM
9259 * buffer.c (syms_of_buffer): Add default-cursor-type.
9260 (init_buffer_once): Don't let cursor_type have a local value
9261 in every buffer.
9262
19d1bc27
GM
9263 * xterm.c (x_display_and_set_cursor): Choose cursor depending
9264 on buffer-local value of cursor_type.
9265 (x_draw_bar_cursor): Add parameter WIDTH.
9266
9267 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
9268 (init_buffer_once): Set default cursor_type value to t.
9269 Mark cursor_type as local everywhere.
9270 (syms_of_buffer): New per-buffer variable cursor-type.
9271
89e80928
GM
9272 * buffer.h (struct buffer): Remove member local_var_flags,
9273 add local_flags.
9274 (MAX_BUFFER_LOCAL_VARS): New macro.
9275 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
9276 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
9277 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
9278 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
9279
9280 * print.c (print_object): Use new macros for per-buffer
9281 variables.
9282
9283 * category.c (Fset_category_table): Use new macros for per-buffer
9284 variables.
9285
9286 * buffer.c (buffer_permanent_local_flags): Make a char array.
9287 (max_buffer_local_idx): New variable.
9288 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
9289 for new handling of per-buffer variables.
9290 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
9291 (init_buffer_once): Initialize per-buffer vars differently.
9292 Set max_buffer_local_idx.
9293
9294 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
9295 variables.
9296
9297 * lread.c (defvar_per_buffer): Use new macros for per-buffer
9298 variables.
9299
9300 * data.c (do_symval_forwarding, store_symval_forwarding)
9301 (find_symbol_value, set_internal, default_value, Fset_default)
9302 (Fkill_local_variable, Flocal_variable_p): Use new macros for
9303 per-buffer variables.
9304
9305 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
9306
9a0dd3dc
GM
93072000-03-24 Gerd Moellmann <gerd@gnu.org>
9308
b68c375f
GM
9309 * xterm.c (x_term_init): Unblock input around call1 of
9310 Qvendor_specific_keysyms.
9311
9a0dd3dc
GM
9312 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
9313 (find_defun_start): Consider an open parenthesis in column 0
9314 a defun start only if open_paren_in_column_0_is_defun_start is set.
9315 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
9316
7973e637
SM
93172000-03-24 Stefan Monnier <monnier@cs.yale.edu>
9318
9319 * eval.c (Fautoload): Add entry in load-history (if after dump).
9320 * lread.c (load-history): Update docstring.
9321
39210e90
GM
93222000-03-24 Gerd Moellmann <gerd@gnu.org>
9323
9324 * indent.c (Fvertical_motion): Always use the current buffer.
9325 Temporarily change the window's buffer, if necessary.
9326
72db3ab5
GM
93272000-03-23 Gerd Moellmann <gerd@gnu.org>
9328
9329 * xterm.c (fast_find_position): Make sure not to consider rows
9330 not visible in the window.
9331
990b2375
SM
93322000-03-22 Stefan Monnier <monnier@cs.yale.edu>
9333
9334 * regex.c (enum syntaxcode): Provide default for non-Emacs.
9335 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
9336
ff4df011
JR
93372000-03-22 Jason Rumney <jasonr@gnu.org>
9338
9339 * w32menu.c (single_submenu): Set help string to NULL if none.
9340 (w32_menu_show): Set help string correctly.
9341 (add-menu-item): Set help string in MIIM_DATA for menu item.
9342 Load SetMenuItemInfoA explicitly.
9343 (w32_menu_display_help): New function.
427ec082 9344
ff4df011
JR
9345 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
9346 (QCdata): Moved to xdisp.c.
9347
9348 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
9349 (Vw32_charset_to_codepage_alist): Removed.
9350 (Vw32_charset_info_alist): New variable.
9351 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
9352 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
9353 greek, hebrew, thai, johab, mac, unicode]): New symbols.
9354 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
9355 with TODO comment.
9356 (w32_codepage_for_font): Use Vw32_charset_info_alist.
9357 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
9358 Define Vw32_charset_info_alist and w32_charset symbols.
9359
93602000-03-22 Jason Rumney <jasonr@gnu.org>
9361
9362 * makefile.nt (w32bdf.obj): Update dependencies.
9363
9364 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
9365
9366 * w32fns.c: Include fontset.h after dispextern.h.
9367 (Fx_create_frame): Do not create fontset.
9368 (w32_load_system_font): Doc fix.
9369 (Fx_close_connection): Free full_name if it is not shared.
9370
9371 * w32term.c: Include fontset.h after dispextern.h.
9372 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
9373 updated.
9374 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
9375 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
9376 (w32_font_is_double_byte): New function, needs body.
9377 (x_append_glyph): Set glyph->glyph_not_available_p.
9378 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9379 it->charset. If it->multibyte_p is zero and it->c is a multibyte
9380 character, convert it to a unibyte character.
9381 (struct glyph_string): Delete member `charset'.
9382 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
9383 calculating it is found.
9384 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9385 the case that per char metric is not available correctly.
9386 (x_fill_glyph_string): Handle the case that the specific glyph is
9387 not available correctly.
9388 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9389 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9390 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9391 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9392 fontset. Don't call FS_LOAD_FONT.
9393
439d5cb4
KR
93942000-03-22 Ken Raeburn <raeburn@gnu.org>
9395
9396 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
9397 (INT_LISPLIKE): New macro.
9398 (NULL_INTERVAL_P): Use it.
9399 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
9400 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
9401 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
9402
9403 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
9404 explicit references to "parent" field of struct interval and
9405 associated unclean type conversions.
9406 * intervals.c (create_root_interval, root_interval, rotate_right,
9407 rotate_left, balance_possible_root_interval, split_interval_right,
9408 split_interval_left, interval_start_pos, find_interval,
9409 next_interval, previous_interval, update_interval,
9410 adjust_intervals_for_insertion, delete_node, delete_interval,
9411 adjust_intervals_for_deletion, merge_interval_right,
9412 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
9413 copy_intervals_to_string): Likewise.
9414 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
9415 Likewise.
9416 * syntax.c (update_syntax_table): Likewise.
9417
9418 * intervals.c (reproduce_tree_obj): New function, like
9419 reproduce_tree but takes a Lisp_Object for the parent. Declare
9420 with prototype.
9421 (graft_intervals_into_buffer): Use it when appropriate.
9422 (reproduce_tree): Declare with prototype.
9423 (balance_possible_root_interval): Check that the parent is a lisp
9424 object before trying to examine its type.
9425
ee1c5b21
GM
94262000-03-22 Gerd Moellmann <gerd@gnu.org>
9427
9428 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
9429 as strings only if both are known to be strings.
9430
9431 * s/openbsd.h (LIBS_TERMCAP): Undef.
9432
1fb352e0
SM
94332000-03-21 Stefan Monnier <monnier@cs.yale.edu>
9434
9435 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
9436 definitions for non-Emacs compilation.
9437 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
9438 outside of `#ifdef emacs'.
9439 (print_partial_compiled_pattern): Update.
9440 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
9441 (re_compile_fastmap): Merge handling of charset and charset_not (for
9442 emacs and non-emacs compilation as well).
9443 Similarly for (not)categoryspec and (not)syntaxspec.
9444 Don't use the fastmap when reaching `anychar' since the added
9445 complexity is not justified.
9446 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
9447 and (not)syntaxspec. Merge (not)categoryspec.
9448
fdaa1f77
KH
94492000-03-22 Kenichi Handa <handa@etl.go.jp>
9450
ff1a0d8e
KH
9451 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
9452 FACE_FOR_CHAR): Define them differently for the configuration of
9453 --without-x.
fdaa1f77 9454
d152fb46
DL
94552000-03-21 Dave Love <fx@gnu.org>
9456
9457 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
9458 doc string.
9459
d2cafc8c
GM
94602000-03-21 Gerd Moellmann <gerd@gnu.org>
9461
9462 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
9463 (lface_fully_specified_p): Don't check contents of
9464 LFACE_FONT_INDEX because that attribute is optional.
9465 (realize_x_face): Remove now unwarranted xassert.
9466
9111d4b5
KH
94672000-03-21 Kenichi HANDA <handa@etl.go.jp>
9468
9469 The following changes are to make font selection based on
9470 characters, not charset. In addition, they recover fontset
9471 facilities while utilizing the new font selection mechanism.
9472
6c4bfdc0
KH
9473 * Makefile.in (fontset.o): Depend on dispextern.h.
9474
9475 * alloc.c (mark_face_cache): Don't mark face->registry.
9476
9111d4b5
KH
9477 * dispextern.h (struct glyph): New member glyph_not_available_p.
9478 Use 22 bits for face_id.
9479 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
9480 (struct face): Delete member registry, new member ascii_face.
9481 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
9482 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
9483 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
9484 (struct it): Delete member charset, new member
9485 glyph_not_available_p.
9486
9487 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
9488 (struct fontset_info, struct fontset_data): Structs removed.
9489 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
9490 Vglobale_fontset_alist, font_idx_temp): Externs removed.
9491 (fs_load_font, fs_query_fontset): Adjusted for new argument.
9492 (fs_free_face_fontset, fontset_font_pattern,
9493 face_suitable_for_char_p, face_for_char,
9494 make_fontset_for_ascii_face): Extern them.
9495 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
9496 (FS_LOAD_FACE_FONT): New macro.
9497
9498 * fontset.c: All codes rewritten or adjusted for the change of
9499 fontset implementation. Now fontset is represented by char table.
9500 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
9501 removed.
9502 (my_strcasecmp): Function removed.
9503 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
9504 variables.
9505 (AREF, ASIZE): New macros.
9506 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
9507 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
9508 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
9509 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
9510 fontset_id_valid_p, font_family_registry, fontset_name,
9511 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
9512 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
9513 New functions.
9514 (fs_load_font): New arg FACE. Caller changed.
9515 (fs_query_fontset): Argument changed. Caller changed.
9516 (Fquery_fontset): call fs_query_fontset.
9517 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
9518 Functions removed.
9519 (clear_fontset_elements, check_registry_encoding,
9520 check_fontset_name): New functions.
9521 (syms_of_fontset): Set char-table-extra-slots property of fontset
9522 to 3. Staticpro and initialize Vfontset_table and
9523 Vdefault_fontset. Defsubr fontset_font and fontset_list.
9524
9525 * frame.h (struct frame): Member `fontset_data' removed.
9526 (FRAME_FONTSET_DATA): Macro removed.
9527
9528 * frame.c (make_frame): Don't allocate f->fontset_data.
9529 (Fdelete_frame): Don't free f->fontset_data.
9530
6c4bfdc0
KH
9531 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
9532
9111d4b5
KH
9533 * xdisp.c (charset_at_position): Function removed.
9534 (init_iterator): Don't set member charset of struct `it'.
9535 (handle_face_prop, reseat_to_string, set_iterator_to_next,
9536 next_element_from_display_vector, insert_left_trunc_glyphs):
9537 Likewise.
9538 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
9539 FACE_FOR_CHARSET.
9540 (get_next_display_element, append_space,
9541 extend_face_to_end_of_line): Likewise.
9542
9543 * xfaces.c (Qx_charset_registry, Vface_default_registry):
9544 Variables removed.
9545 (clear_font_table, frame_update_line_height, load_face_font):
9546 Adjusted for the change of fontset implementation.
9547 (load_face_fontset_font): Function removed.
9548 (pixel_point_size): New function.
9549 (font_list): Argument type changed. Caller changed.
9550 (LFACE_FONT): New macro.
9551 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
9552 (set_lface_from_font_name): Type of arg FONTNAME is changed to
9553 Lisp_Object. Determine the font name by actually loading a font
9554 by the specified pattern. Set LFACE_FONT (lface) to the specified
9555 pattern. Even if a font is not found, don't try alternatives.
9556 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
9557 (set_font_frame_param): If `font' is specified in lface, use it.
9558 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
9559 (lface_same_font_attributes_p): Likewise.
9560 (make_realized_face): Arguent changed. Caller changed. Set
9561 face->ascii_face to face itself.
9562 (free_realized_face): Free face->fontset if face is for ASCII.
9563 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
9564 deduce_unibyte_registry, x_charset_registry): Functions removed.
9565 (free_realized_multibyte_face): New function.
9566 (lookup_face, lookup_named_face, lookup_derived_face): Argument
9567 changed. Caller changed.
9568 (try_font_list): Argument type changed.
9569 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
9570 (choose_face_font): Argument changed. Handle fontset properly.
9571 (choose_face_fontset_font): Function removed.
9572 (realize_default_face, realize_named_face): Don't remove the
9573 former face here.
9574 (realize_face): Argument changed. Caller changed. Remove face
9575 with the arg former_face_id in advance. Load font for the new
9576 face.
9577 (realize_x_face): Argument changed. Caller changed. For a
9578 multibyte character, share fontset with base_face. For a single
9579 byte character, make a new realized fontset. Don't load a font
9580 here.
9581 (realize_tty_face): Argument changed. Caller changed.
9582 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
9583 (face_at_buffer_position): Don't check multibyte_p for returning
9584 DEFAULT_FACE_ID.
9585 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
9586 FACE_SUITABLE_FOR_CHARSET_P.
9587 (syms_of_xfaces): Remove code for Qx_charset_registry and
9588 Vface_default_registry.
9589
6c4bfdc0
KH
9590 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
9591 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
9592 (x_per_char_metric): Don't try FONT->default_char. Even if
9593 pcm->width is zero, glyph bits may exist.
9594 (x_encode_char): Always initialize char2b->byte1.
9595 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
9596 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
9597 changed.
9598 (x_append_glyph): Set glyph->glyph_not_available_p.
9599 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
9600 it->charset. Handle the case that per char metric is not
9601 available. If it->multibyte_p is zero and it->c is a multibyte
9602 character, convert it to a unibyte character.
9603 (struct glyph_string): Delete member `charset'.
9604 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
9605 the case that per char metric is not available correctly.
9606 (x_fill_glyph_string): Handle the case that the specific glyph is
9607 not available correctly.
9608 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
9609 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
9610 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
9611 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
9612 fontset. Don't call FS_LOAD_FONT.
9613
9614 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
9615 (x_create_tip_frame): Likewise.
9616 (Fx_close_connection): Free full_name of font_info.
9617
9618 * fns.c (optimize_sub_char_table): New function.
9619 (Foptimize_char_table): New function.
9620 (syms_of_fns): Defsubr Soptimize_char_table.
9621
b33dd3b0
GM
96222000-03-20 Gerd Moellmann <gerd@gnu.org>
9623
9624 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
9625 only if buffer is displayed in some window.
9626
9627 * xdisp.c (handle_single_display_prop): Initialize local `value'.
9628 (try_window_reusing_current_matrix): Don't call scroll run
9629 function if run's current and desired position are the same;
9630 this prevents cursor flickering.
9631
4e8a9132
SM
96322000-03-19 Stefan Monnier <monnier@cs.yale.edu>
9633
9634 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
9635
9636 * regex.c (RE_STRING_CHAR): New macro.
9637 (GET_CHAR_AFER_2): Remove.
9638 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
9639 (enum re_opcode_t): Remove on_failure_jump_exclusive.
9640 (print_partial_compiled_pattern, re_compile_fastmap)
9641 (re_match_2_internal): Remove on_failure_jump_exclusive.
9642 (regex_compile): Turn optimizable P+ loops into PP*, so that the
9643 optimization only need to work for * (ie. can use of_keep_string_jump).
9644 Remove the special case for .*\n since it is now covered by the general
9645 optimization.
9646 (re_search_2): Don't bother with `room'.
9647 (skip_one_char): New function.
9648 (skip_noops): Simplify since `memory' is not needed any more.
9649 (mutually_exclusive_p): Restructure slightly to use `switch' and
9650 add handling for "all" remaining cases.
9651 (re_match_2_internal): Change on_failure_jump_smart to use
9652 on_failure_keep_string_jump (and redirect the end-of-loop jump)
9653 rather than on_failure_jump_exclusive.
9654
2136fdd4
GM
96552000-03-19 Gerd Moellmann <gerd@gnu.org>
9656
9657 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
9658 number of bits per RGB because it's everywhere used as the depth
9659 of the visual.
9660
9661 * term.c (calculate_costs): Remove code dealing with X frames.
9662
18e21ce8 96632000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
9664
9665 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
9666
d7b511c4
GM
96672000-03-18 Gerd Moellmann <gerd@gnu.org>
9668
9669 * lread.c (read_integer): Unread the last char not consumed.
9670
16b5d424
GM
96712000-03-17 Gerd Moellmann <gerd@gnu.org>
9672
9673 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 9674 which are in the process of being deleted.
16b5d424 9675
1fa28578
GM
96762000-03-16 Gerd Moellmann <gerd@gnu.org>
9677
83488cce
GM
9678 * Makefile.in (mostlyclean): Add `*.core'.
9679 (clean): Add `bootstrap-emacs'.
9680
1fa28578
GM
9681 * lread.c (read_integer): New function.
9682 (read1): Support read syntax #o, #x, #b, #r.
9683
99633e97
SM
96842000-03-15 Stefan Monnier <monnier@cs.yale.edu>
9685
1fa28578
GM
9686 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
9687 make sure POINTER_TO_OFFSET gives the same value before and after
9688 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
9689 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
9690 (debug): Now only active if > 0 rather than if != 0.
9691 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
9692 (print_partial_compiled_pattern): Add missing `succeed' case. Use
9693 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
9694 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
9695 (store_op1, store_op2, insert_op1, insert_op2)
9696 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
9697 (group_in_compile_stack): Move to after its arg's types are
9698 declared and add a prototype.
99633e97 9699 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
9700 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
9701 wrapper.
99633e97 9702 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
9703 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
9704 indentation of the greedy-op and shy-group code.
99633e97
SM
9705 (at_(beg|end)line_loc_p): Fix argument's types.
9706 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
9707 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
9708 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
9709 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
9710 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
9711 QUIT unconditionally.
99633e97 9712
699238d9
GM
97132000-03-15 Gerd Moellmann <gerd@gnu.org>
9714
9715 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
9716 a sole completion.
9717
9718 * process.c (send_process): Add a hint that the function
9719 can call Lisp code to its comment.
9720
9721 * lread.c (load_dangerous_libraries): New variable.
9722 (Vbytecomp_version_regexp): New variable.
9723 (safe_to_load_p): New function.
9724 (Fload): Handle files not compiled with Emacs specially.
9725 (syms_of_lread): New Lisp variable load-dangerous-libraries.
9726
34e23e5a
GM
97272000-03-14 Gerd Moellmann <gerd@gnu.org>
9728
9c763cca
GM
9729 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
9730
9731 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
9732 support functions only if HAVE_X11R6_XIM is defined.
9733 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
9734
9735 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
9736
9737 * xfns.c (X_I18N_INHIBITED): Don't define.
9738 (create_frame_xic): Remove conditional compilation on
9739 X_I18N_INHIBITED.
9740 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
9741
9742 * config.in (HAVE_X_I18N): Moved here from xterm.h.
9743 (HAVE_X11R6_XIM): Define.
9744
9745 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
9746
34e23e5a
GM
9747 * xterm.c (x_term_init): Add support for X resource `synchronous'.
9748 If set, call XSynchronize.
9749
66f0296e
SM
97502000-03-13 Stefan Monnier <monnier@cs.yale.edu>
9751
34e23e5a
GM
9752 * regex.c: Declare a new type `re_char' used throughout the code
9753 for the string char type. It's `const unsigned char' to match the
9754 rest of Emacs. Consistently make sure all pointers to strings use
9755 it and make sure all pointers into the pattern use `unsigned
9756 char'.
66f0296e 9757 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
9758 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
9759 code duplication.
66f0296e
SM
9760
9761 * charset.h (GET_CHAR_AFTER_2): Remove.
9762 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
9763
854a025c
KR
97642000-03-12 Ken Raeburn <raeburn@gnu.org>
9765
9766 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
9767 variable before the invocation of YMF_PASS_LDFLAGS, in case both
9768 of them try to use backquotes.
9769
b9d2c7e2
DL
97702000-03-12 Dave Love <fx@gnu.org>
9771
9772 * unexelf.c: Restore changes of 1999-10-19.
9773 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
9774 fix its type and alignment; copy it from current process.
9775
5e5dff44
GM
97762000-03-12 Gerd Moellmann <gerd@gnu.org>
9777
9b2f3c38
GM
9778 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
9779 has been found. Fix bug not computing timer's predecessor.
9780
427ec082 9781 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
9782 file name.
9783
e1cff360
GM
9784 * window.c (Fsave_window_excursion): Doc fix.
9785
5e5dff44
GM
9786 * xfns.c (x_defined_color): Rewritten to use
9787 x_allocate_nearest_color.
9788
e411ce4b
EZ
97892000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
9790
9791 * msdos.c (vga_installed): New function, code moved from
9792 dos_set_window_size.
9793 (Qbar, Qcursor_type, outside_cursor): New variables.
9794 (syms_of_msdos): Intern and staticpro them.
9795 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
9796 shape used outside Emacs when called for the first time.
9797 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
9798 cursor shape used outside Emacs.
9799 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
9800 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
9801 type has changed.
9802 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
9803 parameters specify the cursor. Make qreverse a global
9804 variable (renamed to Qreverse).
9805
80460654
GM
98062000-03-09 Gerd Moellmann <gerd@gnu.org>
9807
9808 * fns.c (Fy_or_n_p): Cancel busy-cursor.
9809
95cd4c40
SM
98102000-03-08 Stefan Monnier <monnier@cs.yale.edu>
9811
9812 This is a big redesign of failure-stack and register handling, prompted
9813 by bugs revealed when trying to add shy-groups. Overall, what happened
9814 is that loops are now structured a little differently, groups can be
9815 shy and the code is a little simpler.
9816
9817 * regex.h: Update the copyright.
9818 (RE_SHY_GROUPS): New value.
9819 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
9820 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
9821
80460654
GM
9822 * regex.c (enum re_opcode_t): Remove jump_past_alt,
9823 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
9824 on_failure_jump_(exclusive, loop and smart). Also fix the comment
9825 for (start|stop)_memory since they now only take one argument (the
9826 second has becomes unnecessary).
9827 (print_partial_compiled_pattern): Adjust for changes in
9828 re_opcode_t.
9829 (print_compiled_pattern): Use %ld to printf long ints and flush to
9830 make debugging a little easier.
95cd4c40
SM
9831 (union fail_stack_elt): Make the integer unsigned.
9832 (struct fail_stack_type): Add a `frame' element.
9833 (INIT_FAIL_STACK): Init `frame' as well.
9834 (POP_PATTERN_OP): New macro for re_compile_fastmap.
9835 (DEBUG_PUSH, DEBUG_POP): Remove.
9836 (NUM_REG_ITEMS): Remove.
9837 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
9838 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
9839 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 9840 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
9841 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
9842 macros.
9843 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
9844 address pushed is not the destination of the jump but the source
9845 of it instead.
95cd4c40
SM
9846 (NUM_FAILURE_ITEMS): Remove.
9847 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
9848 registers before the actual failure point). Don't hardcode any
9849 meaning for str==NULL anymore.
95cd4c40 9850 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
9851 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
9852 Remove.
95cd4c40
SM
9853 (REG_UNSET_VALUE): Use NULL (why not?).
9854 (compile_range): Remove declaration since it doesn't exist.
9855 (struct compile_stack_elt_t): Remove inner_group_offset.
9856 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
9857 (regex_grow_registers): Remove dead code.
9858 (FIXUP_ALT_JUMP): New macro.
80460654
GM
9859 (regex_compile): Add shy-groups Change loops to use
9860 on_failure_jump_smart&jump instead of
9861 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
9862 initial (dummy_failure_)jump. Remove c1_base (looks like unused
9863 variable to me). Use `jump' instead of `jump_past_alt' and don't
9864 bother with push_dummy_failure in alternatives since it is now
9865 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
9866 emacs' for (re)allocating the stack.
9867 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
9868 from loop when bufp->can_be_null rather than jumping to `done'.
9869 Avoid jumping backwards so as to ensure termination. Use
9870 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
9871 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 9872 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
9873 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
9874 improve mutually_exclusive_p to handle ".+\n".
9875 (lowest_active_reg, highest_active_reg,
9876 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
9877 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
9878 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
9879 variables. Push register (in `start_memory') on the stack rather
9880 than storing it in old_reg(start|end). Remove the cycle detection
9881 from `stop_memory', replaced by the use of on_failure_jump_loop
9882 for greedy loops. Add code for the new on_failure_jump_<foo>.
9883 Remove ad-hoc code in `on_failure_jump' to push more registers in
9884 the case of a loop. Take out code from `maybe_pop_jump' into
9885 separate functions and adapt it to the semantics of
9886 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
9887 and push_dummy_failure. Remove dummy_failure handling and
9888 handling of `failures to jump to on_failure_jump' (this last one
9889 was already dead code, it seems).
9890 (group_match_null_string_p, alt_match_null_string_p)
9891 (common_op_match_null_string_p): Remove.
95cd4c40 9892
7397acc4
DL
98932000-03-08 Dave Love <fx@gnu.org>
9894
9895 * config.in: Don't depend on __STDC__ for volatile.
9896 Add POINTER_TYPE, PTR, PROTOTYPES.
9897
9898 * hftctl.c, strftime.c: Use PROTOTYPES.
9899 * eval.c (find_handler_clause): Likewise.
9900
9901 * mem-limits.h: Use POINTER_TYPE.
9902
9903 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
9904 (memory_warnings): Declare using POINTER_TYPE.
9905
5e91ff9e
GM
99062000-03-08 Gerd Moellmann <gerd@gnu.org>
9907
feab4fba
GM
9908 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
9909
25edb08f
GM
9910 * xdisp.c (display_echo_area): Temporarily inhibit garbage
9911 collection.
9912
5e91ff9e
GM
9913 * xfns.c: Remove obsolete code in #if 0.
9914 (Fx_focus_frame): New function.
9915
a735b7e1
KH
99162000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
9917
9918 * coding.c (coding_category_name): Add coding-category-utf-8,
9919 coding-category-utf-16-be, coding-category-utf-16-le.
9920 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
9921 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
9922 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
9923 (detect_coding_utf_8): New function.
9924 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
9925 UTF_16_LOW_SURROGATE_P): New macros.
9926 (detect_coding_utf_16): New function
9927 (detect_coding_mask): When priorities are specified, skip any
9928 categories that have `nil' coding-system. Fix bug of returning
9929 wrong mask when PRIORITIES is specified and detect_coding_XXX()
9930 returns a mask not set in PRIORITIES.
9931 (detect_eol_type_in_2_octet_form): New function.
9932 (detect_eol): selects detect_eol_type_XXX to call according to
9933 cooding->category_idx.
9934 (detect_coding_system): Remove `nil' coding-system in the result.
9935 (Fupdate_coding_systems_internal): Update all coding-categories.
9936
9937 * coding.h (CODING_CATEGORY_IDX_UTF_8,
9938 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
9939 macros.
9940 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
9941 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
9942 CODING_CATEGORY_IDX_UTF_16_LE.
9943 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
9944 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
9945 (CODING_CATEGORY_MASK_ANY): Include the above macros.
9946 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
9947
9994cc69
GM
99482000-03-07 Gerd Moellmann <gerd@gnu.org>
9949
e9b4e5ff
GM
9950 * doc.c (Fdocumentation_property): If value is not a string,
9951 and doesn't refer to etc/DOC, evaluate it to obtain a string.
9952
f7daf1e1
GM
9953 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
9954 close the display with XtCloseDisplay. This caused a bus error
9955 on OpenWindows.
9956
9994cc69
GM
9957 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
9958 complete but not unique.
9959
4336c705
GM
99602000-03-06 Gerd Moellmann <gerd@gnu.org>
9961
18bb0684
GM
9962 * process.c (send_process): Remove local variable `procname' that
9963 might become invalid when a GC happens. Instead, access the
9964 process name slot directly.
9965
4336c705
GM
9966 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
9967 orig_height if set.
9968
9969 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
9970 orig_height if set.
9971
515d0d0e
EZ
99722000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
9973
9974 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
9975 glyph matrices have been freed.
9976
100b3cbb
GM
99772000-03-05 Gerd Moellmann <gerd@gnu.org>
9978
50df5e5a 9979 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 9980 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
9981
9982 * xfns.c (QCdata): Moved to xdisp.c.
9983
9984 * xdisp.c (QCdata): Moved here from xfns.c.
9985 (syms_of_xdisp): Initialize QCdata.
9986
9987 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
9988
9989 * window.c (coordinates_in_window): Use
9990 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
9991 FRAME_INTERNAL_BORDER_WIDTH.
9992
100b3cbb 9993 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 9994 it is obviously invalid.
100b3cbb
GM
9995
9996 * xterm.c (x_term_init): Create a colormap if not using the
9997 default visual.
9998
9999 * xterm.h (select_visual): Change prototype.
10000
10001 * xfns.c (select_visual): Rewritten. Recognize user-specified
10002 visual classes.
10003 (visual_classes): New variable.
10004
64d739c4
GM
100052000-03-04 Gerd Moellmann <gerd@gnu.org>
10006
10007 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
10008 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
10009 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
10010 (x_decode_color): Don't handle allocation of white and black
10011 specially.
10012 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
10013 XtNcolormap resources.
10014 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
10015 (Fx_create_frame): Initialize color members of x_output structure.
10016 (xpm_load): Pass colormap to XPM lib.
10017
10018 * xfaces.c (x_free_colors): Access colormap of frame using
10019 FRAME_X_COLORMAP. Be paranoid about freeing black and white
10020 when default colormap is used.
10021
10022 * xterm.c (x_term_init): Set Colormap member of x_display_info
10023 structure. Copy colormap if resource `privateColormap' is
10024 specified (PseudoColor only).
10025 (x_setup_relief_color): Access colormap of frame using
10026 FRAME_X_COLORMAP.
10027
10028 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
10029 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
10030
c3cee013
JR
100312000-03-04 Jason Rumney <jasonr@gnu.org>
10032
10033 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
10034 other non-platform-specific equivalents.
64d739c4 10035 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
10036 specific functions and macros as their w32 equivalents where
10037 non-platform-specifics are not available.
10038 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
10039 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
10040 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
10041 (frame_update_line_height): Use macros to access f->output_data.
10042 (defined_color): Remove FIXME comments; fixed.
10043 (x_face_list_fonts, prepare_face_for_display): Put X specifics
10044 into #ifdef blocks. Add WINDOWSNT blocks.
10045 (Fx_list_fonts): Use macros for accessing font data.
10046 (set_lface_from_font_name): Different default fonts for X and
10047 WINDOWSNT.
10048 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
10049 scalable for backward compatibility.
64d739c4 10050 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
10051 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
10052
64d739c4 10053 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
10054 syms_of_w32faces.
10055
10056 * makefile.nt (w32faces.obj): Remove.
10057 (xfaces.obj): Add.
10058
807cc41c
JR
100592000-03-03 Jason Rumney <jasonr@gnu.org>
10060
10061 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
10062 correct parameters.
10063
0007072a
KR
100642000-03-03 Ken Raeburn <raeburn@gnu.org>
10065
10066 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
10067 standard ELF definitions here if the system header does not.
10068
71a6ba55
GM
100692000-03-03 Gerd Moellmann <gerd@gnu.org>
10070
10071 * xterm.c (PER_CHAR_METRIC): Removed.
10072 (x_per_char_metric_1, x_default_char): New functions.
10073 (x_per_char_metric): If font's default char is invalid, return
10074 metrics of a suitably chosen usable default char.
10075 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
10076 char, replace occurrences of unprintable chars with a suitably
10077 chosen usable default char.
71a6ba55 10078
900fa1f1
GM
100792000-03-02 Gerd Moellmann <gerd@gnu.org>
10080
42f55fe0
GM
10081 * xterm.c (note_mouse_highlight): Return quickly if frame's
10082 glyph matrices have been freed.
10083
10084 * dispnew.c (free_glyphs): Block input while freeing matrices.
10085
900fa1f1
GM
10086 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
10087
10088 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
10089 x_free_colors.
10090
10091 * dispextern.h (x_free_colors): Add prototype.
10092
10093 * xfaces.c (x_free_colors): New function.
10094 (unload_color, free_face_colors): Use it.
10095
2f950292
EZ
100962000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
10097
10098 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
10099
10100 * window.c [MSDOS]: Include msdos.h.
10101
54d04320
DL
101022000-03-02 Dave Love <fx@gnu.org>
10103
10104 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
10105
10106 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
10107 set C_OPTIMIZE_SWITCH for gcc.
10108
0ba93ac4
KH
101092000-03-02 Kenichi Handa <handa@etl.go.jp>
10110
10111 * coding.c (coding_save_composition): Be sure to allocate
10112 composition data area in coding even if there's no composition in
10113 the current run.
10114
a2bc11d4
JR
101152000-03-01 Jason Rumney <jasonr@gnu.org>
10116
10117 * w32term.c: Equivalent changes to those made to xterm.c on
10118 2000-02-25 and 2000-02-24.
10119
10120 * w32fns.c: Equivalent changes to those made to xfns.c on
10121 2000-02-25 and 2000-02-21.
10122
10123 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
10124 correct line-end convention is followed.
10125
10126 * w32menu.c [HAVE_BOXES]: Remove #undef.
10127 (single_keymap_panes): Remove code for simulating checkmarks.
10128 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
10129 Remove code for drawing simulated checkmarks.
10130 (w32_menu_show): make unibyte help string correctly.
10131 (add_menu_item): draw standard Windows checkmarks. Draw radio
10132 buttons as radio buttons if possible.
10133
72d19d75
GM
101342000-03-01 Gerd Moellmann <gerd@gnu.org>
10135
2df636f4
GM
10136 * sysdep.c (start_of_text): Don't define this function for NetBSD
10137 with ELF.
10138
427ec082 10139 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
10140 Don't define.
10141 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
10142 (LINKER): Don't undef if __NetBSD__ is defined.
10143
10144 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
10145
10146 * fileio.c [__NetBSD__]: Define `unix'.
10147
72d19d75
GM
10148 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
10149
ed4d0512
GM
101502000-02-29 Gerd Moellmann <gerd@gnu.org>
10151
50b1039f
GM
10152 * atimer.c (start_atimer): Don't abort when timers are stopped.
10153 (append_atimer_lists): New function.
10154 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
10155 arbitrary lists of stopped and running atimers.
10156
ed4d0512
GM
10157 * atimer.c (cancel_atimer): Handle canceling an atimer when
10158 some timers are stopped.
10159
10160 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
10161 after canceling it.
10162
10163 * fns.c (maybe_resize_hash_table): Handle case of new size
10164 coming out as being the same as old size.
10165
387023ee
JR
101662000-02-27 Jason Rumney <jasonr@gnu.org>
10167
10168 * makefile.nt: Add atimer.h to dependencies.
10169 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
10170 * w32console.c: Only disable window system features for dispextern.h
10171 (initialize_w32_display): Build a display info for the console.
10172 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
10173 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
10174 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
10175 as 2 button mice.
10176 * w32gui.h (struct W32FontStruct): Revert last change after change
10177 to xdisp.c.
10178 * w32menu.c (single_submenu): Set up help string.
10179 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
10180 (w32_dialog_show): Set up help string.
10181 * w32term.c (w32_display_info_for_display): Remove unused function.
10182 (w32_draw_bitmap): Use pre-built bitmaps.
10183 (w32_initialize_display_info): New function to initialize parts of
10184 display info that are common to both GUI and console frames.
10185 (w32_term_init): Use w32_initialize_display_info. Do not set
10186 Vw32_num_mouse_buttons here, as it is not called for console
10187 frames. Build bitmaps for indicating truncated lines etc.
10188 (x_delete_display): Destroy pre-built bitmaps.
10189 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
10190 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
10191
4516715a
DL
101922000-02-27 Dave Love <fx@gnu.org>
10193
10194 * lisp.h: Add a bunch of prototypes.
10195
171ca836
KH
101962000-02-26 Kenichi Handa <handa@etl.go.jp>
10197
10198 * keyboard.c (read_char): Set `usec' correctly.
10199
4013921d
KH
102002000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
10201
10202 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
10203 `lambda', set reg[RRR] to the map index.
10204 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
10205 reg[RRR] to 0. Otherwise, set it to -1.
10206
9244a058
GM
102072000-02-25 Gerd Moellmann <gerd@gnu.org>
10208
2df636f4 10209 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 10210
18e21ce8 102112000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 10212
f43d79c1
GM
10213 * fileio.c (Ffile_symlink_p): If result starts with a `/'
10214 and contains a `:', prepend `/:'.
10215
10216 * window.c (select_window_1): If selected_window is nil,
10217 don't "swap out" the buffer's point.
10218 (Fset_window_configuration): Set selected_window to nil
10219 before calling Fselect_window.
10220 (unshow_buffer): Don't set point in buffer from window's point
10221 if another more recently selected window also shows the buffer.
10222
bed0c171
GM
102232000-02-25 Gerd Moellmann <gerd@gnu.org>
10224
449c3c52
GM
10225 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
10226
f5b58615
GM
10227 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
10228 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
10229 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
10230 variables.
10231 (DEFAULT_BUSY_CURSOR_DELAY): New define.
10232 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
10233 (hide_busy_cursor): New functions.
10234 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
10235
10236 * minibuf.c (read_minibuf): Cancel busy-cursor.
10237
10238 * keyboard.c (command_loop_1): Call start_busy_cursor before
10239 Fcommand_execute and cancel_busy_cursor after it.
10240 (timer_check): Remove busy-cursor code.
10241 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
10242 cursor timer.
10243
10244 * process.c (wait_reading_process_input): Remove busy-cursor code.
10245
10246 * eval.c (Fsignal): Call cancel_busy_cursor instead of
10247 Fx_hide_busy_cursor.
10248
10249 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
10250 Remove prototyoes.
10251 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
10252
10253 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
10254
10255 * xterm.c (XTread_socket): Remove busy-cursor code.
10256
4eb8436f
GM
10257 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
10258 (build_frame_matrix_from_leaf_window): Put code handling
10259 glyph row's not being a slice of a frame row in #if 0.
10260 (sync_window_with_frame_matrix_rows): New function.
10261 (frame_row_to_window): New function.
10262 (mirror_line_dance): Handle copies between windows.
10263
3cb65b0e
GM
10264 * lread.c (Fload): Use `xfree' instead of `free'.
10265 (init_obarray): Use `xmalloc' instead of `malloc'.
10266
bed0c171
GM
10267 * window.c (Fset_window_buffer): Set WINDOW to the window
10268 after decoding.
2add4349
GM
10269 (coordinates_in_window): Take frame's internal border width
10270 into account.
bed0c171 10271
42088c12
GM
102722000-02-24 Gerd Moellmann <gerd@gnu.org>
10273
10274 * xterm.c (x_display_and_set_cursor): Display cursor of
10275 non-selected windows depending on the setting of
10276 cursor_in_non_selected_windows.
10277
10278 * xdisp.c (cursor_in_non_selected_windows): New variable.
10279 (syms_of_xdisp): DEFVAR_BOOL it.
10280
d1e103b2
GM
102812000-02-23 Gerd Moellmann <gerd@gnu.org>
10282
723e779c
GM
10283 * data.c (Fstring_to_number): If number is greater than what
10284 fits into an integer, return a float.
10285
d1e103b2
GM
10286 * eval.c (specbind): Remove references to
10287 keyword_symbols_constant_flag.
10288
10289 * data.c (keyword_symbols_constant_flag): Removed.
10290 (Fmakunbound, set_internal, syms_of_data): Remove references to
10291 keyword_symbols_constant_flag.
10292
10293 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
10294
214f877f
KH
102952000-02-23 Kenichi Handa <handa@etl.go.jp>
10296
10297 * syntax.c (multibyte_syntax_as_symbol): New variable.
10298 (syms_of_syntax): Declare it as a Lisp variable.
10299 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
10300 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
10301 nonzero, treat all multibyte characters as symbol.
42088c12 10302 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
10303 characters.
10304
130adcb7
EZ
103052000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
10306
3cb65b0e 10307 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 10308 a deleted frame.
130adcb7 10309
17cbbf95
GM
103102000-02-21 Gerd Moellmann <gerd@gnu.org>
10311
10312 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
10313
10314 * xfns.c (x_window_to_frame, x_any_window_to_frame)
10315 (x_non_menubar_window_to_frame): Check the busy-cursor window.
10316
beb0bc36
DL
103172000-02-21 Dave Love <fx@gnu.org>
10318
10319 * frame.c (Vmouse_position_function): New variable.
10320 (Fmouse_position): Use it.
10321 (syms_of_frame): Install it.
10322
10323 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
10324
1d92afcd
GM
103252000-02-20 Gerd Moellmann <gerd@gnu.org>
10326
10327 * fileio.c (Finsert_file_contents): Unbind the binding of
10328 standard-output done by temp_output_buffer_setup.
329eed9f
GM
10329
10330 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
10331 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
10332 (specbind, unbind_to): Handle most common case of non-constant
10333 symbol with trivial value specially.
10334
10335 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
10336
18e21ce8 103372000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
10338
10339 * data.c (Fmake_variable_buffer_local): Doc fix.
10340 Init found_for_buffer to 0.
10341 (Fmake_variable_frame_local): If the variable has already
10342 been buffer-local, set the check_frame field.
10343
1d4311c3
EZ
103442000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
10345
10346 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
10347 produced for CODING_MODE_LAST_BLOCK requires.
10348
2dc95ddd
DL
103492000-02-18 Dave Love <fx@gnu.org>
10350
10351 * keyboard.c (echo_keystrokes): Remove declaration.
10352 (Vecho_keystrokes) New variable.
10353 (read_char, record_menu_key, read_key_sequence): Use it to allow
10354 use of float value.
10355 (syms_of_keyboard): Change Vecho_keystrokes declaration.
10356
10357 * lread.c: Undef feature selection macros before defining.
10358
f0930f35
GM
103592000-02-18 Gerd Moellmann <gerd@gnu.org>
10360
10361 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
10362 for symbols other than the symbol in question.
10363
e3d4de90
DL
103642000-02-17 Dave Love <fx@gnu.org>
10365
10366 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
10367
0b378936
GM
103682000-02-17 Gerd Moellmann <gerd@gnu.org>
10369
d621caf7
GM
10370 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
10371
0b378936
GM
10372 * alloc.c (enum mem_type): Compile unconditionally.
10373
3b451f74
EZ
103742000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
10375
10376 * xfaces.c (tty_defined_color): Don't return faulire indication
10377 for unspecified-fg and unspecified-bg pseudo-colors.
10378
10689a01
GM
103792000-02-17 Gerd Moellmann <gerd@gnu.org>
10380
1216f5e4
GM
10381 * alloc.c (mark_object): Don't mark symbol names in pure space.
10382 (gc_sweep): Don't unmark symbol names in pure space.
10383
10384 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
10385 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
10386 [GC_MARK_STACK]: New defines.
427ec082 10387 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
10388 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
10389
10390 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
10391
10392 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
10393 allocate_buffer instead of xmalloc.
10394
10395 * alloc.c (toplevel): Include setjmp.h.
10396 (PURE_POINTER_P): New define.
10397 (enum mem_type) [GC_MARK_STACK]: New enumeration.
10398 (Vdead) [GC_MARK_STACK]: New variable.
10399 (lisp_malloc): Add parameter TYPE, call mem_insert if
10400 GC_MARK_STACK is defined.
10401 (allocate_buffer): New function.
427ec082 10402 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
10403 (free_float) [GC_MARK_STACK]: Set type to Vdead.
10404 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
10405 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
10406 (MEM_NIL) [GC_MARK_STACK]: New define.
10407 (struct mem_node) [GC_MARK_STACK]: New structure.
10408 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
10409 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
10410 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
10411 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
10412 (mark_stack) [GC_MARK_STACK]: New functions.
10413 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
10414 (clear_marks): Removed.
10415 (gc_sweep): Set free conses' car, free floats' type, free
10416 symbols' function to Vdead. Use lisp_free to free buffers.
10417 (init_alloc_once): Initialize Vdead.
10418 (survives_gc_p): Return non-zero for pure objects.
10419
10420 * alloc.c: Add comments throughout the file.
10421
2503c8b1
GM
10422 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
10423 that unblocks alarms.
10424
8389e1e2
GM
10425 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
10426 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
10427 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
10428
10689a01 10429 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 10430
bfc17d18
KH
104312000-02-17 Kenichi Handa <handa@etl.go.jp>
10432
4a09dee0
KH
10433 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
10434 avoid infinite error signaling. Allocate sufficient memory for
10435 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 10436
2b927d02
SM
104372000-02-17 Stefan Monnier <monnier@cs.yale.edu>
10438
10439 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
10440 depends on the previous behavior.
10441
b49cb764
GM
104422000-02-16 Gerd Moellmann <gerd@gnu.org>
10443
10444 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
10445
99e95407
GM
104462000-02-15 Gerd Moellmann <gerd@gnu.org>
10447
10448 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
10449
10450 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 10451 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
10452 write(2).
10453
6ffd3cf7
RS
104542000-02-15 Richard M. Stallman <rms@gnu.org>
10455
10456 * data.c (set_internal): Don't make variable buffer-local
10457 if within a let-binding for the same buffer.
10458 (let_shadows_buffer_binding_p): New function.
10459
10460 * eval.c (specbind): For buffer-local value,
10461 record the current buffer also.
10462 (unbind_to): Cope with that change.
10463
cad53475
GM
104642000-02-15 Gerd Moellmann <gerd@gnu.org>
10465
10466 * window.c (Fsave_window_excursion): Doc fix.
10467
1aa963c8
SM
104682000-02-15 Stefan Monnier <monnier@cs.yale.edu>
10469
10470 * syntax.c (back_comment): Make sure we only consider comment-starters
10471 of the relevant style and return -1 in case of a failure to find the
10472 beginning of the comment.
10473 (Fforward_comment): If back_comment fails, go back to the position just
10474 after the comment-end.
10475 (scan_lists): Add comment describing a very minor bug.
10476
b9b84fd3
SM
104772000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10478
10479 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
10480 `completion-regexp-list' in the docstring.
10481
3a28db80
DL
104822000-02-14 Dave Love <fx@gnu.org>
10483
10484 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
10485
fb4a568d
SM
104862000-02-14 Stefan Monnier <monnier@cs.yale.edu>
10487
10488 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
10489 to Emacs' syntax. Also fix the comment about set/not-set meanings
10490 since Emacs syntax is not the value 0 any more.
10491 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
10492 since it's now part of RE_SYNTAX_EMACS.
10493
1063ebb5
DL
104942000-02-12 Dave Love <fx@gnu.org>
10495
10496 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
10497 Alpha.
10498
fb07a302
GM
104992000-02-12 Gerd Moellmann <gerd@gnu.org>
10500
10501 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
10502
aaf2320c
DL
105032000-02-12 Dave Love <fx@gnu.org>
10504
10505 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
10506
10507 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
10508 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
10509 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
10510
10511 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
10512
10513 * s/nextstep.h: Don't define HAVE_ALLOCA.
10514
10515 * config.in: Add vfork bits.
10516
eedf8bde
GM
105172000-02-12 Gerd Moellmann <gerd@gnu.org>
10518
10519 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
10520 unwind function to undo the effect of stopping atimers.
10521
10522 * keyboard.c (bind_polling_period): Stop all timers except
10523 poll_timer.
10524
10525 * atimer.c (stopped_atimers): New variable.
10526 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
10527 New functions.
10528
10529 * atimer.h (stop_other_atimers, run_all_atimers)
10530 (unwind_stop_other_atimers): Add function prototypes.
427ec082 10531
eedf8bde
GM
10532 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
10533
8476c2f8
KR
105342000-02-11 Ken Raeburn <raeburn@gnu.org>
10535
10536 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
10537 library may depend on jpeg.
10538 (atimer.o): Depends on atimer.c.
10539
0e85e4a3
KH
105402000-02-11 Kenichi Handa <handa@etl.go.jp>
10541
10542 * insdel.c (del_range_1): Call update_compositions.
10543 (del_range_both): Call update_compositions just once..
10544
97fa0cc8
DL
105452000-02-10 Dave Love <fx@gnu.org>
10546
10547 * xfns.c (create_frame_xic): Fix initialization of automatic
10548 aggregates for pcc.
10549
25566a3c
KH
105502000-02-09 Kenichi Handa <handa@etl.go.jp>
10551
10552 * ccl.c (CCL_MAKE_CHAR): New macro.
10553 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
10554 registers by CCL_MAKE_CHAR before calling translate_char.
10555 <CCL_TranslateCharacterConstTbl> Likewise.
10556
69da54ba
DL
105572000-02-08 Dave Love <fx@gnu.org>
10558
10559 * lread.c (__EXTENSIONS__): Define.
10560
f7136ee8
GM
105612000-02-08 Gerd Moellmann <gerd@gnu.org>
10562
10563 * puresize.h (BASE_PURESIZE): Increase to 650000.
10564
7768790b
EZ
105652000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10566
10567 * msdos.c (XMenuActivate): Turn off the cursor after displaying
10568 the help message.
10569
38fd211b
EZ
105702000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
10571
10572 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
10573 md, mh, mb, mr, and me to the fake termcap entry.
10574
66e4690f
KR
105752000-02-06 Ken Raeburn <raeburn@gnu.org>
10576
10577 * sound.c (sound_cleanup): Don't call device close routine if the
10578 function pointer is null.
10579
a75dfea0
AI
105802000-02-06 Andrew Innes <andrewi@gnu.org>
10581
10582 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
10583 around image definitions and prototypes.
10584 (gamma_correct) [WINDOWSNT]: New prototype.
10585
10586 * w32term.c (x_make_frame_visible): Replace call to
10587 input_poll_signal with poll_for_input.
10588
10589 * window.c [WINDOWSNT]: Include w32term.h.
10590
10591 * xdisp.c [WINDOWSNT]: Include w32term.h.
10592
10593 * makefile.nt: Add dependencies on w32gui.h.
10594 (OBJ1): Include atimer.obj.
10595 ($(BLD)\atimer.obj): New dependency rule.
10596
10597 * w32.c (sigmask): New function (does nothing).
10598 (sigunblock): Ditto.
10599
10600 * frame.c [WINDOWSNT]: Include w32term.h.
10601
10602 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
10603
10604 * lread.c (syms_of_lread): Fix literal newlines.
10605
10606 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
10607 the string constant limit (2048 bytes) in MSVC.
10608 (main): Ditto.
10609
59ddecde
GM
106102000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
10611
10612 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
10613 area.
10614 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
10615 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
10616 dispatch the event.
10617
07590973
DL
106182000-02-04 Dave Love <fx@gnu.org>
10619
10620 * fileio.c: Remove some unused vars.
10621 (_GNU_SOURCE): Define (for euidaccess).
10622
10623 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
10624
10625 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
10626 gcpro1, gcpro2.
10627 (read_minibuf): Deal with allow_props correctly.
10628
649351f9
EZ
106292000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
10630
10631 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
10632
66e4690f 106332000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
10634
10635 * search.c (compile_pattern): If a cache entry has a nil regexp,
10636 fill in that entry instead of clobbering a previously cached
10637 string regexp.
10638
66e4690f 106392000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
10640
10641 * puresize.h (BASE_PURESIZE): Increase to 610000.
10642
d240a249
GM
106432000-02-02 Gerd Moellmann <gerd@gnu.org>
10644
10645 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
10646 can GC.
10647
ca91fb26
KH
106482000-02-02 Kenichi Handa <handa@etl.go.jp>
10649
25660570
KH
10650 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
10651 instead of incrementing ic directly.
10652 <CCL_WriteExprConst> Likewise.
10653 <ccl_set_expr>: Set ic to jump_address.
10654
ca91fb26
KH
10655 * fileio.c (e_write): Fix the handling of
10656 CODING_FINISH_INSUFFICIENT_SRC.
10657
2ede9689
DL
106582000-02-01 Dave Love <fx@gnu.org>
10659
10660 * editfns.c (Fpropertize): Doc fix.
10661
10662 * process.c (Fstart_process): Doc fix.
10663
10664 * eval.c: Fix various doc strings not to duplicate information
10665 from help-manyarg-func-alist.
10666
10667 * window.c (Fset_window_margins): Don't make interactive. Doc
10668 fix.
10669
10670 * doc.c (Vhelp_manyarg_func_alist): New variable.
10671 (Fdocumentation): Use it.
10672 (syms_of_doc): Define it.
10673
b6680a0e
GM
106742000-01-31 Gerd Moellmann <gerd@gnu.org>
10675
2cb750ba
GM
10676 * xterm.c (xim_open_dpy): Remove unused local variable.
10677
74e9213b
GM
10678 * emacs.c (USAGE): Use term `display options' instead of `X
10679 options'.
10680
10681 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
10682 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
10683
b6680a0e
GM
10684 * fns.c (sweep_weak_table): New function.
10685 (sweep_weak_hash_tables): Use it. Keep on marking until there
10686 is no more change.
10687
994c5afe
GM
106882000-01-30 Gerd Moellmann <gerd@gnu.org>
10689
10690 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
10691 that XTread_socket does not crash by trying to call XNoOp on a
10692 closed display.
427ec082 10693
f00276e3
JR
106942000-01-30 Jason Rumney <jasonr@gnu.org>
10695
10696 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10697 Change selected_frame to SELECTED_FRAME ().
10698 (w32_console_mouse_position): Remove #ifndef MULE from around
10699 `insist' parameter.
10700
10701 * makefile.nt: Remove dosfns.obj.
10702
10703 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
10704
10705 * w32fns.c (w32_defined_color): Check for valid frame before
10706 applying gamma correction. Eliminate dependency on frame elsewhere.
10707 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
10708 (w32_to_x_font): Use resx and resy not height_in and width_in.
10709 (x_to_w32_font): Doc fix.
10710 (xlfd_strip_height): New function to strip and return font height.
10711 (w32_font_match): Compare height separately from rest of xlfd
10712 spec, using xlfd_strip_height.
10713
10714 * w32term.c (w32_term_init): Swap resx and height_in, resy and
10715 width_in. Use w32_defined_color in place of defined_color.
10716
10717 * w32faces.c: Merge more of DOS and X specifics in preparation for
10718 merge with xfaces.c.
10719 (defined_color): Remove FIXME comment.
10720 (tty_color_name): Provide w32-specific function.
10721 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
10722
10723 * w32console.c (turn_on_face, turn_off_face): Removed.
10724 (w32_face_attributes): New function.
10725 (Global_variables): Reduce scope where possible.
10726 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
10727 fill attribute.
10728 (hl_mode): Don't modify text attributes.
10729 (write_glyphs): Don't do anything if len <= 0. Use
10730 w32_face_attributes to get attributes for drawing. Write
10731 terminating codes using char_attr_normal.
10732 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
10733 (update_begin, update_end): Likewise.
10734 (vga_stdcolor_name): New function.
10735 (initialize_w32_display): Remove char_attr_reverse and char_attr.
10736 (Fset_screen_color): Remove char_attr_reverse.
10737
b08e8bb2
GM
107382000-01-29 Gerd Moellmann <gerd@gnu.org>
10739
10740 * xfns.c (xic_set_preeditarea): Take window parameter and
10741 window-relative pixel-positions.
10742
10743 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
10744 is its frame's selected window.
10745 (xim_instantiate_callback): Likewise.
10746
10747 * xfns.c (x_create_im): Removed.
10748 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
10749 (supported_xim_styles): Renamed from supported_styles.
10750 (best_xim_style): Renamed from best_style.
10751 (create_frame_xic): Renamed from xic_create_frame.
10752 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 10753
b08e8bb2
GM
107542000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
10755
10756 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
10757 our frames, call XFilterEvent with 2nd parameter `None'.
10758 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
10759 returning XBufferOverflow.
10760 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
10761 area.
10762 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
10763 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
10764 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
10765 (xim_initialize, xim_close)
10766 [HAVE_X_I18N && HAVE_X11R6]: New functions.
10767 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
10768 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
10769 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
10770
10771 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
10772 and `xim_styles'.
10773 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
10774 `xic_style' and `xic_xfs'.
10775 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
10776 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
10777 (FRAME_XIM): Removed.
10778
10779 * xfns.c (supported_styles): New variable.
10780 (DEFAULT_STYLE, DEFAULT_FONT): New macros
10781 (xic_create_xfontset, best_style, xic_create_frame)
10782 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
10783 (xic_set_xfontset): New functions.
10784
142e109c
DL
107852000-01-28 Dave Love <fx@gnu.org>
10786
10787 * s/irix6-5.h: Revert last change after change to irix5-0.h.
10788
10789 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
10790
b02786f9
GM
107912000-01-28 Gerd Moellmann <gerd@gnu.org>
10792
d060bc9f
GM
10793 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
10794 for *scratch* if it already existed.
10795
b02786f9
GM
10796 * emacs.c (USAGE): New macro.
10797 (main): Use it to display usage information.
10798
2c52d7e4
EZ
107992000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10800
10801 Support for the menu-help feature:
10802
10803 * msdos.h: Change prototypes of XMenuAddSelection and
10804 XMenuActivate.
10805
10806 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
10807 part of the line to the termscript file.
10808 (IT_clear_to_end): Clear the entire line, not just its beginning.
10809 (menu_help_message, prev_menu_help_message): New variables.
10810 (IT_menu_make_room): Make room for the help_text member.
10811 (IT_menu_display): New argument disp_help; all callers changed.
10812 If disp_help is non-zero, store the help text of the active menu
10813 item in menu_help_message.
10814 (XMenuAddPane): Initialize the help_text member to NULL.
10815 (XMenuAddSelection): New argument help_text. Store it in the
10816 XMenu structure.
10817 (XMenuActivate): New argument help_callback. If the value of
10818 menu_help_message has changed since the last time, display the
10819 menu help message text while waiting for the mouse to move. Clear
10820 the echo area before exiting.
10821 (XMenuDestroy): Free the help_text member.
10822
ffe0bcd1
GM
108232000-01-27 Gerd Moellmann <gerd@gnu.org>
10824
10825 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
10826 XMenuAddSelection. Pass help callback to XMenuActivate.
10827 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
10828
50dbd23f
EZ
108292000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
10830
10831 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
10832 and EMACS_SET_USECS.
10833
f5941bf8
GM
108342000-01-26 Dave Love <fx@gnu.org>
10835
6c67ddee
DL
10836 * editfns.c (Fchar_after, Fchar_before): Doc fix.
10837
f5941bf8
GM
10838 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
10839 an error may be signalled.
10840
9e49c990
GM
108412000-01-26 Gerd Moellmann <gerd@gnu.org>
10842
fc3cb460
GM
10843 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
10844 LD_SWITCH_SYSTEM inherited from irix5-0.h.
10845
9e49c990
GM
10846 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
10847
d0c037d8
GM
108482000-01-25 Gerd Moellmann <gerd@gnu.org>
10849
10850 * charset.c (Fstring): If there is a multibyte char among
10851 the args, always return a multibyte string.
10852
e12489f9
GM
108532000-01-25 Gerd Moellmann <gerd@gnu.org>
10854
10855 * sysdep.c (sys_select): Turn atimers off and on instead of
10856 recording and restoring old alarm handler
10857
10858 * process.c (toplevel): Include atimer.h.
10859 (create_process_1): Rewritten.
10860 (create_process): Use atimers instead of alarm.
10861 (wait_reading_process_input) [hpux]: Turn atimers off instead
10862 of turning off SIGALRM.
10863 (wait_reading_process_input): Turn off atimers instead off
10864 calling stop_polling.
10865
10866 * emacs.c (main): Call init_atimer.
10867
10868 * keyboard.c (toplevel): Include systime.h and atimer.h.
10869 (polling_for_input): Removed because unused.
10870 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
10871 (poll_timer): New variable.
10872 (poll_for_input, poll_for_input_1): New functions.
10873 (start_polling, stop_polling): Rewritten.
10874
10875 * keyboard.h (polling_for_input): Removed.
427ec082 10876
e12489f9
GM
10877 * atimer.h, atimer.c: New files.
10878
10879 * Makefile.in (obj): Add atimer.o.
10880 (atimer.o): New target.
10881
10882 * blockinput.h (pending_atimers): Add extern declaration.
10883 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
10884
10885 * lisp.h (popup_activated_flag): Add extern declaration.
10886
10887 * xmenu.c (popup_activated_flag): Make externally visible.
10888 (popup_activate_callback) [USE_MOTIF]: Increment
10889 popup_activated_flag.
10890 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
10891
10892 * xterm.c (toplevel): Include atimer.h.
10893 (toolkit_scroll_bar_interaction): New variable.
10894 (Fxt_process_timeouts): Removed.
10895 (x_process_timeouts): New function.
10896 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
10897 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
10898 (x_make_frame_visible): Call poll_for_input_1 instead of
10899 input_poll_signal. Don't call alarm.
10900 (x_initialize): Install timer calling x_process_timeouts.
427ec082 10901
1e5279b9
DL
109022000-01-24 Dave Love <fx@gnu.org>
10903
6c67ddee 10904 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
10905 Don't use -cckr -- apparently not now necessary.
10906
edf6aeb8
EZ
109072000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
10908
10909 * msdos.c (IT_menu_display): Truncate long menu lines at the right
10910 screen boundary.
10911
9badad41
JR
109122000-01-23 Jason Rumney <jasonr@gnu.org>
10913
10914 * w32fns.c (w32_defined_color): Apply gamma correction before
10915 trying to map to the palette.
10916 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
10917 to w32_clear_rect.
10918
10919 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
10920 here. Callers changed to always pass real device context.
10921 (w32_draw_bitmap): Likewise.
10922 (w32_get_glyph_overhangs): Likewise.
10923 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
10924 one.
10925 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
10926 pfnSetScrollInfo and SetScrollRange.
10927 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
10928 back into MULE characters after decoding them.
10929 (x_get_glyph_face_and_encoding): Likewise.
10930 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
10931 GetCharABCWidthsW fails, since this is defined on Windows 9x.
10932 (x_produce_glyphs): Calculate per char metrics for a character
10933 that we know exists in default font when font_not_found_p is true.
10934
63bd786b
JR
109352000-01-22 Jason Rumney <jasonr@gnu.org>
10936
10937 * makefile.nt (intervals.obj, composite.obj): New modules.
10938 (composite.h): Added as dependency where appropriate.
10939
10940 * w32gui.h (XGCValue): New struct for emulating X GCs.
10941
10942 * w32term.h (XCharStruct): New struct for emulating X.
10943
10944 * w32console.c (turn_on_face, turn_off_face): New functions.
10945 (change_line_highlight): New prototype for new redisplay.
10946 (write_glyphs): Support multibyte text. Support faces.
10947
10948 * w32faces.c: Complete rewrite for new redisplay based on new
10949 xfaces.c.
10950
10951 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
10952 throughout. struct frame * in place of FRAME_PTR.
10953 Skeleton support for images, toolbars, tooltips from xfns.c.
10954 (Fx_create_frame): Use system default for default scroll bar
10955 width.
10956 (w32_get_arg): Renamed from x_get_arg.
10957 (Fx_file_dialog): New function.
10958 (w32_list_fonts): Check cache before asking system.
10959 (Vw32_enable_synthesized_fonts): New variable.
10960 (Vw32_enable_italics): Obsolete, removed.
10961
10962 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
10963 Use SELECTED_FRAME macro.
10964
10965 * w32menu.c: Add skeleton support for help strings on menus.
10966 (add_menu_item): Native checkbox and radio support added, but not
10967 yet enabled due to bugs.
10968 (push_menu_item): Add parameters type, selection and help.
10969 Callers updated.
10970 Formatting changes to reduce unnecessary diffs with xmenu.c.
10971
10972 * w32select.c (Fw32_set_clipboard_data): Update call to
10973 find_charset_in_str.
10974
10975 * w32term.c: Complete rewrite for new redisplay based on new
10976 xterm.c with necessary sections merged back in from old w32term.c.
10977
6ffd3cf7 109782000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
10979
10980 * data.c (set_internal): Further fix in same criterion.
10981
6ffd3cf7 109822000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
10983
10984 * data.c (set_internal): Fix the criteria for whether
10985 to swap out the old cached binding.
10986
60af03f1
DL
109872000-01-19 Dave Love <fx@gnu.org>
10988
10989 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
10990
f9be074f
KH
109912000-01-18 Kenichi Handa <handa@etl.go.jp>
10992
10993 * regex.c (re_compile_fastmap): While checking a range table for
10994 `charset', skip flag bits for a character class correctly.
10995
52b8dbf9
GM
109962000-01-17 Gerd Moellmann <gerd@gnu.org>
10997
d36100c9
GM
10998 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
10999
52b8dbf9
GM
11000 * xfns.c (x_window): Call lw_create_widget with new parameter
11001 list.
11002
11003 * widget.c (EmacsFrameSetCharSize): Change size of children first
11004 because of problems with main window geometry management under
11005 Lesstif.
11006
11007 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
11008 MENU_ITEMS_ITEM_.*.
11009 (MENU_ITEMS_ITEM_HELP): New enumerator.
11010 (push_menu_item): Add parameter HELP. Record help in menu_items.
11011 (single_menu_item, single_submenu, list_of_items): Call
11012 push_menu_item with new parameter.
11013 (single_submenu): Set help string in widget value.
11014 (menu_highlight_callback): New function.
11015 (set_frame_menubar): Call lw_create_widget with new
11016 parameter list.
11017 (xmenu_show, xdialog_show): Ditto.
11018
3139018f
GM
110192000-01-13 Gerd Moellmann <gerd@gnu.org>
11020
11021 * sound.c (Fplay_sound): Improve doc string.
11022
83c8f461
RS
110232000-01-11 Richard M. Stallman <rms@gnu.org>
11024
11025 * lisp.h (set_internal): Enter the new arg.
11026
11027 * eval.c (specbind): Record buffer-local variables specially,
11028 indicating which buffer's binding was saved.
11029 (unbind_to): Restore buffer-local variables specially
11030 in the proper buffer.
11031
11032 * data.c (set_internal): New arg BUF.
427ec082 11033
83c8f461
RS
11034 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
11035 * data.c (Fset): Pass new arg to set_internal.
11036 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 11037
1fab1775
GM
110382000-01-11 Gerd Moellmann <gerd@gnu.org>
11039
11040 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
11041 xprintsym.
11042
83c8f461 110432000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
11044
11045 * minibuf.c (Ftry_completion): Doc fix.
11046
7a85e4df
GM
110472000-01-11 Gerd Moellmann <gerd@gnu.org>
11048
11049 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
11050 vector, too.
11051
a970dae4
AS
110522000-01-11 Andreas Schwab <schwab@suse.de>
11053
11054 * coding.c (code_convert_region): Initialize total_skip.
11055
c65d14ee
DL
110562000-01-08 Dave Love <fx@gnu.org>
11057
11058 * eval.c (Fuser_variable_p): Check customizability too.
11059
834938d2
GM
110602000-01-07 Gerd Moellmann <gerd@gnu.org>
11061
11062 * minibuf.c (Fcompleting_read): Doc fix.
11063
e0303cd6
GM
110642000-01-05 Gerd Moellmann <gerd@gnu.org>
11065
8a26744b
GM
11066 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
11067 -L /usr/local/lib.
11068
e0303cd6
GM
11069 * xfns.c (x_create_im): New function to set IM and IC of a frame.
11070 Check that input style is supported before trying to create an
11071 IC for it.
11072 (x_window): Call x_create_im.
427ec082 11073
2e471eb5
GM
110742000-01-04 Gerd Moellmann <gerd@gnu.org>
11075
560a7bd2
GM
11076 * xfns.c (current_gif_memory_src): New variable.
11077 (gif_load): Record the address of the current memory source
11078 in current_gif_memory_src.
11079 (gif_read_from_memory): Use current_gif_memory_src.
11080
f9ee84a3
GM
11081 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
11082 macros statement form.
11083
d1299cde
GM
11084 * sound.c (struct sound): Renamed from struct sound_file.
11085 (struct sound): Add members `data' and `header_size'.
11086 (enum sound_attr): Add SOUND_DATA.
11087 (current_sound, current_sound_device): Variables renamed from
11088 sound_file and sound_device.
11089 (parse_sound): Parse :data.
11090 (parse_sound): Handle sound data in strings.
11091 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 11092 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
11093 needed header size.
11094 (wav_play, au_play): Play sounds from string data.
11095
2e471eb5
GM
11096 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
11097
11098 * lisp.h: Add prototype for allocate_string_data.
11099
11100 * alloc.c (Fgarbage_collect): Return number of live and free
11101 strings.
11102
11103 * alloc.c (mark_buffer): Remove code in #if 0.
11104 (gc_sweep): Ditto.
11105 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
11106 (strings_consed): New variable.
11107 (allocate_string): Set it.
11108 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
11109 (Fmemory_use_counts): Return strings_consed. Use Flist.
11110
11111 * alloc.c: General cleanup in comments etc. Remove conditional
11112 compilation for `standalone'.
11113
11114 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
11115
11116 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
11117 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
11118 (DONT_COPY_FLAG): Removed.
11119 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
11120 (struct sdata, struct sblock): New
11121 (struct string_block): Rewritten.
11122 (STRINGS_IN_STRING_BLOCK): New macro.
11123 (oldest_sblock, current_sblock, total_strings, total_free_strings)
11124 (large_sblocks, string_blocks, string_free_list): New variables.
11125 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
11126 (init_strings): Rewritten.
11127 (allocate_string, allocate_string_data, compact_small_strings)
11128 (free_large_strings, sweep_strings): New functions.
11129 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
11130 (struct string_block_head, current_string_block)
11131 (first_string_block, large_string_blocks, STRING_FULLSIZE)
11132 (STRING_PAD): Removed.
11133 (make_uninit_multibyte_string, make_pure_string): Rewritten.
11134 (Fgarbage_collect): Don't set mark bit in large strings.
11135 (mark_object): Mark strings differently. Mark symbol names
11136 differently.
11137 (survives_gc_p): Test marked strings differently.
427ec082 11138 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
11139 symbol names.
11140 (compact_strings): Removed.
11141
42608ba8
EZ
111422000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
11143
11144 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
11145 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
11146
e0a09e1a
KH
111472000-01-04 Kenichi Handa <handa@etl.go.jp>
11148
dd9f0750 11149 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 11150 in a non-empty buffer.
dd9f0750 11151
3c0f3b15 11152 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 11153
44cd3ae5
GM
111542000-01-03 Gerd Moellmann <gerd@gnu.org>
11155
11156 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
11157 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
11158
11159 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
11160
c182a70f
EZ
111612000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11162
11163 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
11164 need to test for MSDOS frames.
11165
24480d5b
EZ
111662000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11167
11168 * dosfns.c (unspecified_colors): Remove.
11169 (msdos_stdcolor_idx): Use global variables unspecified_fg and
11170 unspecified_bg.
11171 (msdos_stdcolor_name): Return strings for unspecified fore- and
11172 back-ground colors.
11173
11174 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 11175 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
11176 (tty_color_name): Return Lisp strings for unspecified fore- and
11177 back-ground colors.
11178 (Finternal_set_lisp_face_attribute): Remove the special treatment
11179 for Qunspecified_{f,b}g.
11180 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
11181 string.
11182
047f434a
GM
111832000-01-03 Gerd Moellmann <gerd@gnu.org>
11184
11185 * xdisp.c (reseat_at_next_visible_line_start): Position before
11186 newline only if ending up on a newline.
11187 (next_element_from_ellipsis): Return success. Handle case of
11188 displaying no ellipsis. Fix case of ellipsis defined in display
11189 table.
11190 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
11191 returns 0.
11192
d684c676
EZ
111932000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
11194
11195 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
11196 (Fcolor_supported_p): Renamed from face-color-supported-p.
11197
5fe1d139
EZ
111982000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11199
11200 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
11201 list of colors renamed to tty-defined-color-alist.
11202 (tty_color_name): Pass the frame to tty-color-by-index.
11203 (realize_tty_face): tty-color-alist is now a function which
11204 accepts the frame as argument.
11205
11206 * term.c (Ftty_display_color_p): Accept an optional argument
11207 FRAME.
11208
816be8b8
EZ
112092000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11210
11211 * term.c (insert_glyphs): Pass glyph, not &glyph, to
11212 encode_terminal_code.
11213
b635321e
EZ
112142000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
11215
11216 * dispnew.c (mode_line_string): Support termcap frames as well.
11217
9b784e96
GM
112182000-01-01 Gerd Moellmann <gerd@gnu.org>
11219
27189709
GM
11220 * syntax.c (Fforward_word): Undo previous change.
11221
11222 * editfns.c (Fconstrain_to_field): Don't constrain if
11223 inhibit-field-text-motion is non-nil.
11224 (Fline_beginning_position): Undo previous change.
11225 (Fline_end_position): Ditto.
11226
11227 * syntax.c (Fforward_word): Notice field boundaries only if
11228 inhibit-field-text-motion is nil.
11229
11230 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
11231
11232 * editfns.c (Vinhibit_field_text_motion): New variable.
11233 (inhibit-field-text-motion): New DEFVAR_LISP.
11234 (Fline_beginning_position, Fline_end_position): Notice field
11235 boundaries only if inhibit-field-text-motion is nil.
11236
45158a91
GM
11237 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
11238 All calls adjusted.
11239 (x_build_heuristic_mask): Likewise.
11240 (xbm_load_image_from_file): Change error output.
11241 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
11242 (gif_load, gs_load, x_kill_gs_process): Ditto.
11243
9b784e96
GM
11244 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
11245 color indices when accessing raster pixels.
63cec32f
GM
11246 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
11247 one of :file or :data.
11248 (enum pbm_keyword_index): Add PBM_DATA.
11249 (pbm_format): Add :data.
11250 (pbm_image_p): Allow either :file or :data.
11251 (pbm_read_file): New function.
11252 (pbm_scan_number): Rewritten to read from string.
11253 (pbm_load): Support :data.
9b784e96 11254
2cb085db 11255See ChangeLog.8 for earlier changes.
6922b018
KH
11256
11257;; Local Variables:
49b3bd82 11258;; coding: iso-2022-7bit
6922b018 11259;; End: