(make-char): Docstring adjusted for the change of make-char-internal.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
774ba8c9
DL
12000-12-20 Dave Love <fx@gnu.org>
2
3 * s/osf5-0.h (NSIG): Don't redefine.
4
88416888
SM
52000-12-20 Stefan Monnier <monnier@cs.yale.edu>
6
7 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
8 excluding menu-bar and tool-bar.
9 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
10 (menu_item_p): Remove.
11 (where_is_internal_1): Don't ignore menu-items.
12
a6426c6f
GM
132000-12-20 Gerd Moellmann <gerd@gnu.org>
14
03ff8aab
GM
15 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
16 into account.
17
18 * window.c (make_window): Initialize window's min_hscroll.
19 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
20 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
21 to zero.
22 (struct saved_window): New member min_hscroll.
23 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
24 (Fset_window_configuration): Set window's min_hscroll.
25 (save_window_save): Save window's min_hscroll.
26 (compare_window_configurations): Compare min_hscroll values.
27
28 * window.h (struct window): New member min_hscroll.
29
30 * keyboard.c (echo_prompt): Prevent a compiler warning.
31
8de4aaf8
GM
32 * xdisp.c (try_cursor_movement): Fix last change. The real
33 condition is that PT is at the end of the row, and should
34 be displayed at the start of the next row.
35
3f7e3031
GM
36 * xdisp.c (try_cursor_movement): If we end on a partially
37 visible line, end we already decided to scroll, return -1.
38
a6426c6f
GM
39 * dispextern.h (ensure_frame_matrix): Add prototype.
40
41 * window.c (delete_window, Fsplit_window)
42 (Fset_window_configuration): Call ensure_frame_matrix.
43
44 * dispnew.c (fake_current_matrices, ensure_frame_matrix): New
45 functions.
46 (adjust_frame_glyphs_for_frame_redisplay): If display has been
47 completed, call fake_current_matrices instead of marking frame
48 garbaged.
49
57fa2774
JR
502000-12-20 Jason Rumney <jasonr@gnu.org>
51
52 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
53
d925df90
EZ
542000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
55
56 * fns.c (Frequire): Doc fix.
57
7b93a85b
GM
582000-12-19 Gerd Moellmann <gerd@gnu.org>
59
71d4497a
GM
60 * window.c (window_scroll_pixel_based): Don't use
61 move_it_vertically.
62
c74e645b
GM
63 * dispnew.c (direct_output_for_insert): Fix check for mini-window
64 currently displaying a message.
65
7b93a85b
GM
66 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
67 xterm.h.
68 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
69
90d97e64
AI
702000-12-18 Andrew Innes <andrewi@gnu.org>
71
72 * w32.c (w32_strerror): New function.
73
74 * w32.h (w32_strerror): New extern.
75
76 * w32fns.c (Fw32_shell_execute): Use it.
77
91c9e6ce
GM
782000-12-18 Gerd Moellmann <gerd@gnu.org>
79
80 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
81
6f4745e2
EZ
822000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
83
84 * msdos.c (IT_set_face): Obey inverse_video.
85
c9e088ce
KH
862000-12-18 Kenichi Handa <handa@etl.go.jp>
87
88 * dired.c (directory_files_internal): Always return decoded filenames.
89
c3695f5f
GM
902000-12-18 Gerd Moellmann <gerd@gnu.org>
91
52d8e4ff
GM
92 * xterm.c (x_connection_closed): Prevent being called recursively
93 because of an error condition in XtCloseDisplay.
94
62be9979
GM
95 * xdisp.c (init_iterator): If noninteractive, and the frame's
96 face cache is null, make one.
97
5f7a1890
GM
98 * xfns.c (show_busy_cursor): Check for live frames more
99 thoroughly.
100
c3695f5f
GM
101 * process.c (wait_reading_process_input): Check for pending
102 input when running timers.
103
78555fbe
EZ
1042000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
105
106 * msdos.c (IT_write_glyphs): Compute the glyph face from
107 str->face_id.
108
b2b36264
KH
1092000-12-18 Kenichi Handa <handa@etl.go.jp>
110
111 * process.c (read_process_output): Don't run a filter if the code
112 decoder produces nothing but carryover.
113
9c543fbf
AI
1142000-12-17 Andrew Innes <andrewi@gnu.org>
115
116 * w32.c (sys_rename): Only check errno against EEXIST, and not
117 EACCES, when determining whether rename failed because the target
118 exists. This was resulting in indefinite looping on Windows 9x if
119 the source file was locked by another process.
120
121 * w32fns.c (Ffile_system_info): New function.
122 (syms_of_w32fns): Defsubr it.
123
10c2b5a8
GM
1242000-12-17 Gerd Moellmann <gerd@gnu.org>
125
b0228ace
GM
126 * window.c (coordinates_in_window): Fix computation for
127 position on vertical line between mode lines.
128
10c2b5a8
GM
129 * xfns.c (unwind_create_frame): Return t if frame was deleted.
130 Don't alter tip_frame or tip_window.
131 (unwind_create_tip_frame): Set tip_frame to nil only if frame
132 was deleted.
133
c844a81a
GM
134 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
135 Don't alter tip_frame or tip_window.
136 (unwind_create_tip_frame): Set tip_frame to nil only if frame
137 was deleted.
138
6c825f8e
EZ
1392000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
140
141 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
142 be consistent with the doc string. Reported by NAKAJIMA Mikio
143 <minakaji@osaka.email.ne.jp>.
144
af4bb4c8
KH
1452000-12-16 Kenichi Handa <handa@etl.go.jp>
146
147 * xfaces.c (Vface_ignored_fonts): New variable.
148 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
149 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
150
8062e53a
GM
1512000-12-15 Gerd Moellmann <gerd@gnu.org>
152
e87b8809
GM
153 * dispnew.c (update_window): Detect pending input every nth line
154 updated, i.e. do it depending on real work done, and not on the
155 vpos of the line.
156
157 * xterm.c (expose_window): Don't redraw the window that's
158 currently being updated.
159
a6768cc5
GM
160 * window.c (Fset_window_point): Remove test for
161 cursor_in_non_selected_windows.
162
4ea7fdca
GM
163 * lread.c (read1): Recognize end of file after `\\'.
164
8062e53a
GM
165 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
166 not unwind_create_frame.
167
bb7959c1
GM
1682000-12-15 Dave Love <fx@gnu.org>
169
170 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
171 bcopy & al.
172
173 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
174
ced04c42
KH
1752000-12-15 Kenichi Handa <handa@etl.go.jp>
176
c5443913
KH
177 * coding.c (setup_coding_system): Clear all members of the struct
178 coding_system at first.
bc137305
KH
179 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
180 argument.
181 (code_convert_region): Don't override coding->src_multibyte and
182 coding->dst_multibyte.
c5443913 183
ced04c42
KH
184 * fns.c (Fmd5): Docstring improved.
185
c2d7f289
MB
1862000-12-15 Miles Bader <miles@gnu.org>
187
188 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
189 are actually marked as mode-lines; otherwise use
190 estimate_mode_line_height.
191
9d7d9263
GM
1922000-12-14 Gerd Moellmann <gerd@gnu.org>
193
194 * editfns.c (Fformat): Prevent a buffer overrun when the format
195 specifies a precision.
196
7cf0153a
EZ
1972000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
198
199 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
200 argument is outside the range [2..3].
201
1de0f662
AI
2022000-12-14 Andrew Innes <andrewi@gnu.org>
203
204 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
205 nothing to do. Bind inhibit-quit.
206 (tip_frame): Make it a Lisp_Object.
207 (x_create_tip_frame): Set tip_frame after it has been added to
208 Vframe_list.
209 (Fx_show_tip): Don't set tip_frame here.
210 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New
211 variables.
212 (unwind_create_frame, unwind_create_tip_frame): New functions.
213 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
214 while a frame is only partially constructed.
215
216 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
217 (x_free_frame_resources): New function.
218 (x_destroy_window): Use it.
219
02387dcc
GM
2202000-12-14 Gerd Moellmann <gerd@gnu.org>
221
222 * xfns.c (Fx_backspace_delete_keys_p): New function.
223 (syms_of_xfns): Defsubr it.
224
225 * config.in (HAVE_XKBGETKEYBOARD): Add.
226
0544ef49
KH
2272000-12-14 Kenichi Handa <handa@etl.go.jp>
228
98d62747
KH
229 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
230 Always store string in multibyte representation in echobuf.
231 (echo_char): Always store string in multibyte representation in
232 echobuf.
233 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
234 (read_key_sequence): Adjusted for the change of echo_prompt.
235
a20193cd
KH
236 * fns.c (Fmd5): Docstring improved.
237
191b83b6
KH
238 * lisp.h (detect_coding_system): Prototype adjusted.
239
0544ef49
KH
240 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
241 (detect_coding_emacs_mule, detect_coding_iso2022,)
242 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
243 (detect_coding_utf_16, detect_coding_ccl): Make them static. New
244 argument MULTIBYTEP. Callers changed.
245 (detect_coding_mask, detect_coding_system): New argument
246 MULTIBYTEP. Callers changed.
1da1bb05
KH
247 (decode_coding_string): Set coding->src_multibyte and
248 coding->dst_multibyte before calling detect_coding and detect_eol.
249 Update them after some coding system is detected.
250
d5b3eb1b
SM
2512000-12-13 Stefan Monnier <monnier@cs.yale.edu>
252
253 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
254
255 * keyboard.c (menu_bar_items, tool_bar_items):
256 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
257
f7f8bb69
GM
2582000-12-13 Gerd Moellmann <gerd@gnu.org>
259
19f71add
GM
260 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
261 New variables.
262 (unwind_create_frame, unwind_create_tip_frame): New functions.
263 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
264 while a frame is only partially constructed.
265
266 * xterm.h (x_free_frame_resources): Declare.
267
268 * xterm.c (x_free_frame_resources): New function.
269 (x_destroy_window): Use it.
270
e10da507
GM
271 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
272 don't interrupt the update for pending input initially, i.e.
273 update at least some lines.
274
275 * keyboard.c (do_mouse_tracking): Make externally visible.
276
d5b3eb1b 277 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
278
279 * xfns.c (gray_bitmap_bits): Declare `char *'.
280
90aa2856
GM
2812000-12-12 Gerd Moellmann <gerd@gnu.org>
282
283 * xdisp.c (display_tool_bar_line): Make sure that tool bar
284 lines start with a relief line.
285
a308c9cd
DL
2862000-12-12 Dave Love <fx@gnu.org>
287
288 * window.c (Fdisplay_buffer): Doc fix.
289 (Fwindow_list): Remove unused var.
290
291 * buffer.h (mmap_set_vars): Declare.
292
293 * window.h (Fset_window_point): Declare.
294
d575011f
EZ
2952000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
296
bf6282d2 297 * msdos.c (fast_find_position): Don't overstep the last window row.
d575011f
EZ
298 (IT_note_mouse_highlight): Initialize portion to -1. Remove
299 unused variable `area'. When looking for a row under (X,Y), give
300 up if some of the previous rows is not enabled.
301
ecf4d726
GM
3022000-12-12 Gerd Moellmann <gerd@gnu.org>
303
2ebf6139
GM
304 * window.c (Fset_window_point): If displaying cursors in windows
305 other than the selected window, make sure redisplay updates
306 other windows to show the new value of point in the window.
307
308 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
309
bfdb75ee
GM
310 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
311 the buffer is the sole visible buffer when in the mini-buffer.
312
4fdbd809
GM
313 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
314 Bind `inhibit-read-only' to t.
315 (unwind_with_echo_area_buffer): Use AREF.
316
c0006262
GM
317 * xfns.c (Fx_hide_tip): Simplified.
318
e9a59cad
GM
319 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use
320 GC_MAKE_GCPROS_NOOPS instead of `1'.
321
ecf4d726
GM
322 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
323
e5959a9a
GM
3242000-12-11 Gerd Moellmann <gerd@gnu.org>
325
a3642e49
GM
326 * xfns.c (Fx_hide_tip): Fix last change.
327
44b5a125
GM
328 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
329 nothing to do. Bind inhibit-quit.
330 (tip_frame): Make it a Lisp_Object.
331 (x_create_tip_frame): Set tip_frame after it has been added to
332 Vframe_list.
333 (Fx_show_tip): Don't set tip_frame here.
334
335 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
336
337 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
338 Lisp_Object.
339
340 * dispextern.h: Change external declaration of tip_frame.
341
d990421f
GM
342 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
343 return an empty string.
344
4db87380
GM
345 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
346 of the window's update_mode_line flag, since the former is set by
347 force-mode-line-update, not the latter. This makes
348 column-number-mode slightly faster.
349
e5959a9a
GM
350 * xdisp.c (try_window_id) <all changes above window start>:
351 Set the cursor.
352
169fe44e
GM
3532000-12-11 Paul Eggert <eggert@twinsun.com>
354
355 * config.in (HAVE_FTELLO): Remove.
356 (HAVE_FSEEKO): Add.
357 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
358 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
359 HAVE_FTELLO.
360 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
361 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
362
59ec59ae
MB
3632000-12-11 Miles Bader <miles@gnu.org>
364
365 * window.c (displayed_window_lines): Don't round up when
366 converting empty space at bottom to lines.
ff904dd6
MB
367 Handle non-newline-terminated final lines properly.
368 (Fwindow_text_height): New function (used to be in lisp).
369 (syms_of_window): Initialize it.
59ec59ae 370
42ebfa31
SM
3712000-12-09 Stefan Monnier <monnier@cs.yale.edu>
372
373 * syntax.c (scan_lists): Check that the right quote char has the
374 right Sstring syntax when jumping over strings.
375 (init_syntax_once): Use Smax rather than 13.
376
5cdb3cf3
MB
3772000-12-09 Miles Bader <miles@gnu.org>
378
379 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
380 with PARTIALLY, inverting the sense.
381 (window_scroll_pixel_based): Scroll partially visible lines into
382 place if we hit the beginning or end of the buffer.
a12167c5
MB
383 (displayed_window_lines): Don't include partially visible lines.
384 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 385
842b2a94
GM
3862000-12-08 Gerd Moellmann <gerd@gnu.org>
387
388 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
389
390 * tparam.c (tparam1): Change the way buffers are reallocated to be
391 portable and less obfuscated.
392
393 * termcap.c (tgetent): Change the way buffers are reallocated to
394 be portable and less obfuscated.
395
396 * macros.c (store_kbd_macro_char): Change the way buffers are
397 reallocated to be portable and less obfuscated.
398
399 * lread.c (read1): Change the way buffers are reallocated to be
400 portable and less obfuscated.
401
402 * doc.c (Fsubstitute_command_keys): Change the way buffers
403 are reallocated so that it is portable.
404
137cad7c
EZ
4052000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
406
407 * dosfns.c (Ffile_system_info): New function.
408 (syms_of_dosfns): Defsubr it.
409
5c7f629c
SM
4102000-12-07 Stefan Monnier <monnier@cs.yale.edu>
411
412 * alloc.c (gc_sweep): Add comment.
413
959e647d
GM
4142000-12-07 Gerd Moellmann <gerd@gnu.org>
415
28fcb7dc
GM
416 * sound.c (vox_configure): Change order of ioctls. Don't
417 set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
418 Ignore errors when changing volume.
419 (vox_close): Don't reset the device.
420
926b7e5e
GM
421 * process.c (read_process_output): Make sure the process marker's
422 position is valid when the process buffer is changed in
423 after-change functions. W3 does that.
424
959e647d
GM
425 * xfns.c (x_free_gcs): New function.
426
427 * xterm.h (x_free_gcs): Add prototype.
428
429 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
430 freeing GCs here.
431
432 * xterm.c (x_destroy_window): Call x_free_gcs so that
433 resources of non-toolkit X windows will be freed.
434
478ea067
AI
4352000-12-07 Andrew Innes <andrewi@gnu.org>
436
437 * w32fns.c (xlfd_charset_of_font): Fix last change.
438
fbee3231
DL
4392000-12-06 Dave Love <fx@gnu.org>
440
67292061
DL
441 * md5.h (__P): Don't define -- it comes from config.h.
442
fbee3231
DL
443 * strftime.c: Change some #if foo to #ifdef foo.
444
4ee87dbb
AI
4452000-12-06 Andrew Innes <andrewi@gnu.org>
446
447 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
448
449 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname
450 argument.
451 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
452 (w32_list_fonts): Don't choke if pattern doesn't specify a
453 codepage.
454
9765b4a4
GM
4552000-12-06 Gerd Moellmann <gerd@gnu.org>
456
d285b373
GM
457 * alloc.c (gc_sweep): Prevent symbols read during loadup
458 from being freed.
459
384333ee
GM
460 * xdisp.c (underlying_face_id): New function.
461 (handle_face_prop, face_before_or_after_it_pos): Use it
462 to determine the face ``under'' a string. Let strings inherit
463 the face of the buffer under them.
464
465 * xfaces.c (face_at_string_position): Update function comment.
466
d4b72d58
GM
467 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
468 matrix if the window's left position has changed; we need to
469 redraw it in this case.
470
471 * dispextern.h (struct glyph_matrix): Add member window_left_x.
472
e1d05387
GM
473 * window.c (coordinates_in_window): Check mouse on mode-line or
474 header-line first.
475
eb1b0c74
GM
476 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
477 advertized by the function documentation.
478
d94d636f
GM
479 * window.c (syms_of_window): Doc fix.
480
3887b449
GM
481 * sound.c (vox_configure): Set volume for left and right channel.
482 (sound_cleanup): Return nil.
483
efc8f57a
GM
484 * xdisp.c (move_it_by_lines): Fix paren typo.
485
9765b4a4
GM
486 * xterm.c (x_load_font): Don't use the font's max_bounds for
487 computing the height of the font. If max_bounds' ascent or
488 descent are greater than the font's ascent or descent, this means
489 glyphs overlap, which should be handled now by redisplay.
490
6529ed87
GM
491 * window.c (Veven_window_heights): New variable.
492 (syms_of_window): DEFVAR_LISP it.
493 (Fdisplay_buffer): Check Veven_window_heights before evening the
494 window heights.
495
0eb2ecde
MB
4962000-12-06 Miles Bader <miles@gnu.org>
497
498 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
499 update `default-frame-alist' instead of setting no frame parameters.
500
03d7a167
KH
5012000-12-06 Kenichi Handa <handa@etl.go.jp>
502
503 * composite.c (update_compositions): Fix typo (use the correct
504 variable).
505
5f8803c2
JR
5062000-12-05 Jason Rumney <jasonr@gnu.org>
507
508 * md5.h: Remove underscores from function declarations.
509 (__attribute__, __alignof__) [!__GNUC__]: Define.
510
511 * md5.c: Delay include of md5.h until after namespace cleaning.
512
c28a075b
JR
513 * makefile.w32-in (fns.o): Depend on md5.h
514 (md5.o): New target.
515 (sunfns.o): Remove.
516
517 * makefile.nt: Likewise.
518
ff3c7056
JR
5192000-12-05 Jason Rumney <jasonr@altavista.net>
520
521 * w32term.c (expose_area): Complete last change.
522
0c21eeeb
KR
5232000-12-05 Ken Raeburn <raeburn@gnu.org>
524
525 * minibuf.c: Include intervals.h.
526
f201d732
JR
5272000-12-05 Jason Rumney <jasonr@gnu.org>
528
529 * w32term.c (x_produce_glyphs): If a font for a component of
530 a composition is not found, use 1 pixel dot ascent and 0 dot
531 descent value to avoid displaying terribly tall empty boxes.
532 (expose_area): Pass x-coordinate relative to the exposed
533 area to x_draw_glyphs instead of a window-relative coordinate.
534
21999ab9
GM
5352000-12-05 Gerd Moellmann <gerd@gnu.org>
536
4d2036e4
GM
537 * xdisp.c (next_element_from_ellipsis): Save face before selective
538 display in saved_face_id, and set face_before_selective_p.
539 (reseat_1): Reset face_before_selective_p.
540 (append_space, extend_face_to_end_of_line): If iterator's
541 face_before_selective_p is set, use the face from saved_face_id.
542 (extend_face_to_end_of_line): For tty frames, make sure to
543 use the right face id when producing spaces at the end of
544 the line.
545
546 * dispextern.h (struct it): Add face_before_selective_p.
547
52be17cc
GM
548 * keyboard.c (record_char): Don't record identical help-echo
549 events in recent_keys.
550
8a4f36cc
GM
551 * xterm.c [USE_X_TOOLKIT]: Close the display.
552 (xim_close_dpy): Handle case that the display has been closed.
553
57d6e381
GM
554 * xterm.c (x_destroy_window): Reset the frame's X window after
555 destroying it.
556
21999ab9
GM
557 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
558 variable window_width.
559 (line_draw_cost): Fix code skipping over spaces at the end of the
560 line when must_write_spaces is not set.
561 (scrolling_window): Fix code inserting runs in list of all runs.
562
91372bb7
KH
5632000-12-05 Kenichi Handa <handa@etl.go.jp>
564
565 * coding.c (setup_coding_system): Be sure to initialize
566 coding->category_idx.
567
6c083b4c
GM
5682000-12-04 Gerd Moellmann <gerd@gnu.org>
569
0c68ce6f
GM
570 * xterm.c (PER_CHAR_METRIC): Removed because not used.
571
6452929e
GM
572 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
573 area to x_draw_glyphs instead of a window-relative coordinate.
574
d7f31e22
GM
575 * fileio.c (auto_save_error): Add parameter ERROR. Show the
576 error in the message.
577
ae18aa3b
GM
578 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
579 timer after having read a key. It's not good for code reading
580 several keys in a loop, like an input method.
581
caa15ef7
GM
582 * fileio.c (Finsert_file_contents): When VISIT is t, don't
583 record undo information for format-decode.
584
585 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
586 current buffer is read-only, not if it isn't.
587
6c083b4c
GM
588 * keyboard.c (record_char): Record `help-echo' input events
589 in recent_keys only if they display some help. Don't record
590 `help-echo' events as macro char.
591
caa15ef7
GM
5922000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
593
594 * editfns.c (save_excursion_restore): Don't move point
595 in another window if it is showing the wrong buffer.
596 Avoid the call to Fwindow_live_p, for speed.
597
5a13529b
KH
5982000-12-04 Kenichi Handa <handa@etl.go.jp>
599
e225faa7
KH
600 * xfaces.c (struct font_name): New member registry_priority.
601 (split_font_name): Initialize the above member to zero.
602 (concat_font_list): New function.
603 (font_list): Include fonts of all alternative registries.
604 (FONT_POINT_SIZE_QUANTUM): New macro.
605 (better_font_p): Ignore point size difference less than
606 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
607
e89648b4
KH
608 * xterm.c (x_produce_glyphs): If a font for a component of
609 a composition is not found, use 1 pixel dot ascent and 0 dot
610 descent value to avoid displaying terribly tall empty boxes.
611
5a13529b
KH
612 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
613
d7935eb6
KR
6142000-12-03 Ken Raeburn <raeburn@gnu.org>
615
616 * coding.h (code_convert_string1): Declare.
617
618 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
619
620 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name):
621 Declare.
622
0dd5e255
JR
6232000-12-02 Jason Rumney <jasonr@gnu.org>
624
625 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
626 correctly for single byte character case.
627 (w32_per_char_metric): Do not try to make any assumptions about
628 the metrics of BDF fonts.
250cfece
JR
629 (x_estimate_mode_line_height): If `mode-line' face
630 hasn't a font, use that of the frame, as drawing glyphs
631 does.
632 (note_mouse_highlight): Change the cursor shape on the vertical
633 border between windows [not enabled].
634
635 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
636
637 * w32fns.c (Fx_create_frame): Reintroduce the call to
638 face-set-after-frame-defaults.
639 (Vx_window_horizontal_drag_shape): New variable.
640 (syms_of_xfns): DEFVAR_LISP it.
641 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
642 enabled].
0dd5e255 643
b5d8d2ca
GM
6442000-12-02 Simon Josefsson <simon@josefsson.org>
645
646 * fns.c (Fmd5): Use a different logic to decide the coding system
647 to use.
648
649 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
650
fbb87147
EZ
6512000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
652
653 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is
654 NULL.
655
447e9da0
GM
6562000-12-01 Gerd Moellmann <gerd@gnu.org>
657
7708ced0
GM
658 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
659 height for YNegative.
660 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
661 height; also see comment there.
662
447e9da0
GM
663 * window.c (coordinates_in_window): Handle computations for
664 positions on the vertical bar and fringes differently for
665 window-system frames. Consider some pixels near the vertical bar
666 as on the bar if the frame doesn't have vertical scroll bars.
667 Associate positions between mode or header lines with the
668 right window, the left one.
669
86d1db20
JR
6702000-12-01 Jason Rumney <jasonr@gnu.org>
671
672 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
673
674 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
675 invalid frame.
676
a1d58e5b
GM
6772000-12-01 Gerd Moellmann <gerd@gnu.org>
678
679 * window.c (struct saved_window): Add members orig_top and
680 orig_height.
681 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
682 (save_window_save, Fset_window_configuration): Save/restore
683 window's orig_top and orig_height.
684
89c609af
JR
6852000-12-01 Jason Rumney <jasonr@gnu.org>
686
4d177746 687 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 688
89c609af
JR
689 * w32fns.c (x_set_cursor_color): Fix last change.
690
eccc05db
GM
6912000-11-30 Gerd Moellmann <gerd@gnu.org>
692
31b6671b
GM
693 * xdisp.c (echo_area_display): If cursor is in the echo area, make
694 sure that the next redisplay displays the minibuffer, so that
695 the cursor will be replaced with what the minibuffer wants.
696
eccc05db
GM
697 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
698 #ifndef instead of using #if.
699 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
700 USE_TOOLKIT_SCROLL_BARS is defined.
701
162de750
JR
7022000-11-30 Jason Rumney <jasonr@gnu.org>
703
704 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
705 x_display_cursor.
706
693c4692
GM
7072000-11-30 Gerd Moellmann <gerd@gnu.org>
708
709 * fns.c (Fmd5): Doc fix.
710
b5d8d2ca 7112000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
712
713 * fns.c (Fmd5): New function.
714 (syms_of_fns): Defsubr md5.
715
716 * Makefile.in (obj): Add md5.o
717
b02cd40b
GM
7182000-11-30 Gerd Moellmann <gerd@gnu.org>
719
edfb795e
GM
720 * md5.h, md5.c: New files, taken from glibc.
721
df3aedcf
GM
722 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
723
b02cd40b
GM
724 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
725 hasn't a font, use that of the frame, as drawing glyphs
726 does.
727
8b5176cd
SM
7282000-11-29 Stefan Monnier <monnier@cs.yale.edu>
729
730 * eval.c (Frun_hooks): Allow 0 arguments.
731
346598f1
GM
7322000-11-29 Gerd Moellmann <gerd@gnu.org>
733
f9396e03
GM
734 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
735 is over the menu bar widget, say it's not on the frame.
736
4a967a9b
GM
737 * xfns.c (Fx_create_frame): Reintroduce the call to
738 face-set-after-frame-defaults.
739
346598f1
GM
740 * eval.c (Fsignal): Reset handling_signal.
741
222456a1
JR
7422000-11-28 Jason Rumney <jasonr@gnu.org>
743
744 * w32menu.c (add_menu_item): Reset menu item text when changing
745 type to radio button.
746
8049ddc0
GM
7472000-11-28 Gerd Moellmann <gerd@gnu.org>
748
346598f1 749 * xselect.c: Update copyright.
f4f4ee4d 750
bebe4a2c
GM
751 * window.c (coordinates_in_window): If on a mode or header line,
752 but sufficiently close to its start, return ``on vertical
753 border''. This gives us a way to drag windows horizontally when
754 using toolkit scroll bars.
755
756 * xterm.c (note_mouse_highlight): Change the cursor shape
757 on the vertical border between windows.
758
759 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
760
761 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
762 (syms_of_xfns): DEFVAR_LISP it.
763 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
764
8d2c2642
GM
765 * textprop.c (text_read_only): New function.
766 (verify_interval_modification): Use it instead of signaling
767 `text-read-only'. This makes it easier to catch this error
768 with a breakpoint.:
769
8049ddc0
GM
770 * xdisp.c (forward_to_next_line_start): Check for newlines,
771 not end of line, which includes CR.
772
5a2bae6c
KH
7732000-11-28 Kenichi Handa <handa@etl.go.jp>
774
775 * coding.c (Ffind_coding_systems_region_internal): Be sure to
776 include no-conversion.
777
ae31f84d
JR
7782000-11-27 Jason Rumney <jasonr@gnu.org>
779
780 * w32fns.c (w32_load_system_font): Always mark font as double byte
781 if codepage is unicode.
782
67f1cf4c
GM
7832000-11-27 Gerd Moellmann <gerd@gnu.org>
784
4a74d071
GM
785 * xdisp.c (forward_to_next_line_start): If already on a newline,
786 just consume it to avoid unintended skipping over invisible text
787 below.
788
902ae620
GM
789 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
790 `vertical-line', `mode-line' and `header-line' events.
791
792 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
793 of a character, a TAB for instance. This is easier than to set
794 up the iterator exactly, and it's not a frequent case, so the
795 additional effort wouldn't really pay off.
796
c1e279c2
AC
7972000-11-26 Andrew Choi <akochoi@i-cable.com>
798
67f1cf4c 799 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
800 init_window_once.
801
a609568a
JR
8022000-11-25 Jason Rumney <jasonr@gnu.org>
803
48b21762
JR
804 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: Args
805 to window_from_coordinates should be pixel coordinates.
806
a609568a
JR
807 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
808 redisplay handles them properly.
809
a658d039
MB
8102000-11-25 Miles Bader <miles@gnu.org>
811
812 * indent.c (compute_motion): Keep pos_byte in sync with pos.
813
d3416cca
JR
8142000-11-24 Jason Rumney <jasonr@gnu.org>
815
816 * w32.c (init_environment): Set LANG environment variable based on
817 locale settings, if not set.
818
819 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
820 making tool bar smaller. When clearing the frame, also
821 clear current matrices. Clear frame when tool bar disappears.
822 Don't use more lines for the tool-bar than is available.
823 (x_change_window_heights): New function.
824
ba193890
GM
8252000-11-24 Gerd Moellmann <gerd@gnu.org>
826
2be8f184
GM
827 * xdisp.c (init_from_display_pos): If POS says we're already after
828 an overlay string ending at POS, make sure to pop the iterator
829 because it will be in front of that overlay string. When POS is
830 ZV, we've thereby also ``processed'' overlay strings at ZV.
831
ba193890
GM
832 * xfaces.c (lface_from_face_name): Function comment fix.
833
1862a24e
MB
8342000-11-24 Miles Bader <miles@gnu.org>
835
836 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
837 apply `mode-line-inverse-video' -- zero means force display using
838 the default face, non-zero means display using the specialized face.
839 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
840
f07fa1b8
KH
8412000-11-23 Kenichi Handa <handa@etl.go.jp>
842
843 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
844 hard coded `4'.
845
2bcdf662
EZ
8462000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
847
848 * coding.c (decode_coding_emacs_mule): Fix the case of
849 CODING_EOL_LF, which used uninitialized value of c.
850
ba8299ff
SM
8512000-11-23 Stefan Monnier <monnier@cs.yale.edu>
852
853 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
854
f4117c4d
GM
8552000-11-22 Gerd Moellmann <gerd@gnu.org>
856
03e757c1
GM
857 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
858 buffer object.
859
f4117c4d
GM
860 * frame.h (struct frame): Replace desired_tool_bar_items,
861 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 862 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
863
864 * frame.c (make_frame): Change initialization of tool bar
865 items accordingly.
866
867 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 868 Change references to members deleted from struct frame to use the
f4117c4d
GM
869 new ones.
870
871 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
cc362d76 872 references to members deleted from struct frame to use the new
f4117c4d
GM
873 ones.
874
875 * dispnew.c (update_frame): Do nothing with frame's tool bar
876 items.
877
878 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
879
880 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 881 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
882 from struct frame to use the new ones.
883
f8e2f3f2
MB
8842000-11-23 Miles Bader <miles@gnu.org>
885
886 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
887 the face's inverse-video attribute, rather than overriding it.
888
60e8e0a5
GM
8892000-11-22 Gerd Moellmann <gerd@gnu.org>
890
891 * xfns.c (x_set_tool_bar_lines): Clear internal border when
892 making tool bar smaller.
893
92dd1b29
DL
8942000-11-22 Dave Love <fx@gnu.org>
895
896 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
897
e672fdce
MB
8982000-11-22 Miles Bader <miles@gnu.org>
899
3a17d6cc
MB
900 * keyboard.c (Vminibuffer_message_timeout): New variable.
901 (command_loop_1): Use it to determine message timeout.
902 (syms_of_keyboard): Initialize it.
903
60e8e0a5 904 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 905
e9655d81
KH
9062000-11-22 Kenichi Handa <handa@etl.go.jp>
907
908 * sysdep.c: Move the code for declaring h_errno after #include
909 <netdb.h>.
910
77270fac
GM
9112000-11-21 Gerd Moellmann <gerd@gnu.org>
912
cd913aae
GM
913 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
914 the menu bar when the tooltip is unmapped.
915
77270fac
GM
916 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
917 sole visible buffer when we're currently in the mini-buffer, and
918 give up if so.
919
556635d6
JR
9202000-11-21 Jason Rumney <jasonr@gnu.org>
921
922 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
923 put on the clipboard.
924 (Fw32_get_clipboard_data): Compare data on clipboard with saved
925 copy of what Emacs last put there. If they are the same, do not
926 use the clipboard copy to avoid losing data due to coding
927 conversions.
928
5b7bde64
MB
9292000-11-22 Miles Bader <miles@gnu.org>
930
931 * minibuf.c (Vminibuffer_prompt_properties): New variable.
932 (syms_of_minibuf): Initialize it.
933 (read_minibuf): Add properties from Vminibuffer_prompt_properties
934 to prompt, don't make read-only.
935
ff23e1dd
GM
9362000-11-21 Gerd Moellmann <gerd@gnu.org>
937
3c64f287
GM
938 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: Add
939 BEFORE/AFTER_POTENTIAL_GC.
940
7aaf4388
GM
941 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
942
f5f47add 943 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 944
ff23e1dd
GM
945 * term.c, cm.c: Don't try to include termcap.h; see comment there.
946
37c35586
KH
9472000-11-21 Kenichi Handa <handa@etl.go.jp>
948
949 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
950 ... #endif scope.
951
ff9ab414
GM
9522000-11-20 Gerd Moellmann <gerd@gnu.org>
953
c51d2b5e
GM
954 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
955 screen supports it.
956
29a01b72
GM
957 * s/gnu-linux.h: Don't use `#cpu'.
958
09dfdf85
GM
959 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
960 not defined in mman.h.
961
ff9ab414
GM
962 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New
963 variables.
964 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
965 and store an index in the XClientMessageEvent. Storing a
966 Lisp_Object or pointer can fail on a 64 bit system, since X only
967 transfers 32 bits.
968 (x_scroll_bar_to_input_event): Get the window from
969 scroll_bar_windows.
970
81459ac9
DL
9712000-11-20 Dave Love <fx@gnu.org>
972
973 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
974
56c13ae6
GM
9752000-11-20 Gerd Moellmann <gerd@gnu.org>
976
977 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
978
495a6df3
KH
9792000-11-20 Kenichi Handa <handa@etl.go.jp>
980
2bcf3714
KH
981 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
982 by WIDTH.
983
495a6df3
KH
984 * alloc.c (make_string): Fix previous change. Be sure to make
985 unibyte string correctly.
986
6d950f4c
GM
9872000-11-19 Gerd Moellmann <gerd@gnu.org>
988
39b39373
GM
989 * window.c (Fwindow_list): Change parameter list to be XEmacs
990 compatible.
991 (window_list_1): New function.
992 (window_loop): Use it instead of Fwindow_list.
993
b95b34e5
GM
994 * sysdep.c (emacs_ospeed): New variable.
995 (toplevel): Don't declare ospeed extern.
996 (init_baud_rate): Use emacs_ospeed instead of ospeed.
997
998 * termcap.c (ospeed): Remove.
999 (tputs) [!emacs]: Remove unused code.
1000 (tgetent): Avoid a compiler warning.
1001
e83dc917
GM
1002 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
1003 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 1004 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
1005
1006 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
1007 removed.
1008 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
1009 Take the X display as additional argument.
1010 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
1011 `Widget' is a pointer type that's not easily stored in Lisp_Object
1012 form in a portable way.
1013
6d950f4c
GM
1014 * dispnew.c (update_text_area): Fix last change.
1015
e47306e6
GM
10162000-11-18 Gerd Moellmann <gerd@gnu.org>
1017
fb3cd89b
GM
1018 * xdisp.c: Use BINDING_STACK_SIZE throughout.
1019
1020 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
1021 clear current matrices.
1022
edaa9aed
GM
1023 * buffer.c (mmap_enlarge): Don't print a message on stderr
1024 if mapping new memory at the end of the existing region fails.
1025
e47306e6
GM
1026 * dispnew.c (update_text_area): Don't skip over equal glyphs
1027 when the last current glyph overlaps the glyph to its right.
1028
509633e3
MB
10292000-11-18 Miles Bader <miles@gnu.org>
1030
1031 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
1032 lines that *end* with "..." too (that's the most common case!).
1033
d392e9c5
GM
10342000-11-18 Gerd Moellmann <gerd@gnu.org>
1035
67988445
GM
1036 * xdisp.c (resize_mini_window): Temporarily change to the
1037 mini-window's buffer if necessary.
1bfdbe43 1038
d392e9c5
GM
1039 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
1040 the tooltip obscures less text under it.
1041
10422000-11-17 Gerd Moellmann <gerd@gnu.org>
1043
1044 * puresize.h (BASE_PURESIZE): Increase to 700000.
1045
92bb977f
JR
10462000-11-18 Jason Rumney <jasonr@gnu.org>
1047
1048 * w32term.c (w32_draw_bitmap): Use face to set colors.
1049
26fbf20b
DL
10502000-11-17 Dave Love <fx@gnu.org>
1051
1052 * lread.c (Fload): Fix #ifdef for pcc.
1053
100b593b
GM
10542000-11-17 Gerd Moellmann <gerd@gnu.org>
1055
1056 * xdisp.c (pos_visible_p): Compute the default character height
1057 differently.
1058
a288d0d1
GM
10592000-11-16 Gerd Moellmann <gerd@gnu.org>
1060
cac94de6
GM
1061 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
1062 knowing the line's height; use the default font's height in that
1063 case.
1064
a288d0d1
GM
1065 * xfaces.c (weight_table): Add `demi' with the same meaning as
1066 `demibold'.
1067
981fb6f6
KH
10682000-11-16 Kenichi Handa <handa@etl.go.jp>
1069
2cca872d 1070 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
1071 (clear_glyph_row): Delete local static variable null_row.
1072
e5fa381b
JR
10732000-11-15 Jason Rumney <jasonr@gnu.org>
1074
1075 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
1076 (w32_alloc_lighter_color): Use new brightness calculations from
1077 xterm.c. Scale delta to be in the range expected by W32.
1078 (w32_draw_relief_rect): Use frame relief colors.
1079
8e42f043
GM
10802000-11-15 Gerd Moellmann <gerd@gnu.org>
1081
6d133d1f
GM
1082 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
1083 (Qinhibit_default_face_x_resources): New variable.
1084 (syms_of_frame): Initialize it.
1085 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
1086
1087 * xdisp.c (pos_visible_p): Improve function comment.
1088
1089 * lisp.h (BINDING_STACK_SIZE): New macro.
1090
8e42f043
GM
1091 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
1092 reading the directory if readdir returns null and errno is EAGAIN
1093 or EINTR.
1094
e8c87124
SM
10952000-11-14 Stefan Monnier <monnier@cs.yale.edu>
1096
1097 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
1098 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
1099 Set amount_to_scroll to max of dx and scroll_step so that
1100 scroll-conservatively doesn't defeat scroll-step>1.
1101 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
1102 scroll-conservatively for line-at-a-time scrolling.
1103
5f0c971d
GM
11042000-11-14 Gerd Moellmann <gerd@gnu.org>
1105
1106 * window.c (Fpos_visible_in_window_p): Call pos_visible with
1107 extra argument.
1108
1109 * xdisp.c (current_mode_line_height, current_header_line_height):
1110 New variables.
1111 (init_xdisp): Initialize them.
1112 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
1113 and use exact mode line heights if it is set.
1114
1115 * lisp.h (pos_visible_p): Change prototype.
1116
1117 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
1118 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
1119 and current_header_line_height first.
1120 (current_mode_line_height, current_header_line_height): Declare
1121 extern.
1122
d7361edf
MB
11232000-11-14 Miles Bader <miles@lsi.nec.co.jp>
1124
1125 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
1126 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
1127 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
1128
ee5e440a
MB
11292000-11-14 Miles Bader <miles@gnu.org>
1130
1131 * xterm.c (x_alloc_lighter_color): Include an additive component
1132 too for dark colors, because FACTOR isn't enough.
1133 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
1134 New macros.
1135
5ca020fc
GM
11362000-11-13 Gerd Moellmann <gerd@gnu.org>
1137
1138 * keyboard.c (show_help_echo): Call message3_nolog with number of
1139 bytes in the help string as 2nd parameter, instead of the number
1140 of characters.
1141
9d348294
MB
11422000-11-13 Miles Bader <miles@gnu.org>
1143
1144 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
1145 (Fload): Use new openp return protocol.
1146 Don't try to use Vload_source_file_function to load .elc files.
1147 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
1148 openp return protocol.
1149 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
1150
1729bb9a
KH
11512000-11-11 Kenichi Handa <handa@etl.go.jp>
1152
4e677396
KH
1153 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
1154
1155 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
1156 Defined these macros.
1157 (NLIST_STRUCT): Avoid re-defining it.
1158
1729bb9a
KH
1159 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
1160 -I/usr/contrib/X11R6/include.
1161 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
1162
a82fe213
JR
11632000-11-10 Jason Rumney <jasonr@gnu.org>
1164
1165 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
1166
1167 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
1168 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
1169
1170 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
1171 (Qw32_charset_vietnamese): New symbol.
1172 (xlfd_charset_of_font): New function.
1173 (w32_load_system_font): Use it.
1174 (x_to_w32_charset): Use Fassoc to find charset info. Special case
1175 when Vw32_charset_info_alist is nil to ensure default face always
1176 has font. Use Fcar and Fcdr for safety.
1177 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
1178 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
1179 pseudo-codepages for special cases.
1180 (w32_to_x_font): New parameter to allow charset portion to be
1181 specified where there is many to one mapping. Callers changed.
1182 (w32_list_fonts): Avoid listing fonts that won't display.
1183
52d89894
GM
11842000-11-10 Gerd Moellmann <gerd@gnu.org>
1185
1186 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
1187 (font_list_1): Renamed from font_list.
1188 (font_list): New function, trying alternative registries from
1189 Vface_alternative_font_registry_alist.
1190 (Finternal_set_alternative_font_registry_alist): New function.
1191 (syms_of_xfaces): Initialize and Staticpro
1192 Vface_alternative_font_registry_alist. Defsubr
1193 Finternal_set_alternative_font_registry_alist.
1194
651cd3da
KR
11952000-11-09 Ken Raeburn <raeburn@gnu.org>
1196
1197 * lisp.h (Flooking_at): Declare.
1198
388ac098
GM
11992000-11-09 Gerd Moellmann <gerd@gnu.org>
1200
778fbc46
GM
1201 * dired.c (directory_files_internal): Fix a braino.
1202
388ac098
GM
1203 * dired.c (directory_files_internal): Add missing GCPRO's.
1204 Some cleanup.
1205
ecaedde1
GM
12062000-11-08 Gerd Moellmann <gerd@gnu.org>
1207
f7eb32aa
GM
1208 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
1209 (resize_mini_window): Return quickly if Vresize_mini_window is
1210 nil. Don't return if Vmax_mini_window_height is nil.
1211
1212 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
1213 (syms_of_xdisp): Initialize them.
1214 (resize_mini_window): Act according to the setting of
1215 Vresize_mini_window.
1216 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
1217
ecaedde1
GM
1218 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
1219 scroll bar widget after configuring it, so that it will appear at
1220 the right position from the start.
1221 (XTredeem_scroll_bar): Cleaned up.
1222
3747ef2c
KH
12232000-11-08 Kenichi Handa <handa@etl.go.jp>
1224
1225 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 1226 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
1227 division by two.
1228
1229 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
1230
03391420
DL
12312000-11-07 Dave Love <fx@gnu.org>
1232
7758f1c1 1233 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
1234
1235 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
1236
b5de343d
GM
12372000-11-07 Gerd Moellmann <gerd@gnu.org>
1238
acad3c0b
GM
1239 * window.c (Fset_window_configuration): Don't try to preserve
1240 point in the current buffer, if that buffer is displayed in more
1241 than one window.
1242
b5de343d
GM
1243 * xfaces.c (lookup_named_face): If default face isn't realized,
1244 try to realize it. Return -1 if not successful.
1245 (Fx_list_fonts): Handle case that face cannot be determined.
1246 (Fface_font): Likewise.
1247
cdb1fe49
GM
12482000-11-06 Gerd Moellmann <gerd@gnu.org>
1249
1250 * window.c (displayed_window_lines): Detect partially
1251 visible lines at the bottom correctly.
1252
d3a67486
SM
12532000-11-06 Stefan Monnier <monnier@cs.yale.edu>
1254
1255 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
1256 when ensuring we don't do visit in indirect buffer.
1257
ff8dd5d5
KH
12582000-11-06 Kenichi Handa <handa@etl.go.jp>
1259
1260 * composite.h (compose_chars_in_text): Add prototype.
1261
1262 * composite.c (Vcomposition_function_table): New variable.
1263 (Qcomposition_function_table): New variable.
1264 (run_composition_function): Call
1265 Vcompose_chars_after_function with three arguments.
1266 (compose_chars_in_text): New function.
1267 (syms_of_composite): Modified the doc-string of
1268 Vcompose_chars_after_function. Declare composition-function-table
1269 as a lisp variable, and initialize it.
1270
1271 * xfns.c (x_encode_text): Suppress producing escape sequences for
1272 composition.
1273
1274 * xselect.c: Include composite.h.
1275 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
1276
d1145f85
AI
12772000-11-05 Andrew Innes <andrewi@gnu.org>
1278
1279 * w32term.c (x_produce_glyphs): Fix typo in enum name.
1280
1281 * sysdep.c (read_input_waiting): Remove extraneous argument to
1282 read_socket_hook.
1283
1284 * w32fns.c (Fx_server_version): Include w32_build_number in the
1285 return list.
1286
1287 * w32heap.c (w32_build_number): New variable.
1288 (cache_system_info): Set it.
1289
1290 * w32heap.h (w32_build_number): Add extern.
1291
1292 * emacs.c (syms_of_emacs): Update docstring for
1293 system-configuration, to reflect the actual usage on MS-Windows.
1294
e85ee976
GM
12952000-10-31 Gerd Moellmann <gerd@gnu.org>
1296
26dcb81b
GM
1297 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
1298 process idle timers while waiting for another event.
1299
0a894bad
GM
1300 * dispnew.c (update_frame_line): Handle case where spaces in
1301 the default face are colored.
1302
e85ee976
GM
1303 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
1304 window height hasn't changed.
1305
01b220b6
JR
13062000-10-31 Jason Rumney <jasonr@gnu.org>
1307
1308 * w32term.c (x_produce_glyphs): Handle composite characters.
1309 (x_draw_glyph_string_foreground)
1310 (x_draw_composite_glyph_string_foreground): Restore old font.
1311
4e6b7204
MB
13122000-10-31 Miles Bader <miles@lsi.nec.co.jp>
1313
1314 * minibuf.c (read_minibuf): Reset the undo history just before
1315 starting the recursive-edit.
1316
d4358b37
GM
13172000-10-30 Gerd Moellmann <gerd@gnu.org>
1318
563f68f1
GM
1319 * xfaces.c (menu_face_change_count): New variable.
1320 (Finternal_set_lisp_face_attribute): Increment it for changes
1321 of the `menu' face.
1322 (realize_basic_faces): Reflect changes in the `menu' faces
1323 in menu bars.
1324
82e274d1
GM
1325 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
1326 dy obtained from the iterator's y-position after moving from
1327 scroll_margin_pos to PT; see comment there.
1328
0dbf9fd2
GM
1329 * xdisp.c (safe_eval_handler): Call add_to_log.
1330
906b3b14
GM
1331 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
1332 is not a symbol or string.
1333
d4358b37
GM
1334 * xdisp.c (echo_area_display): Don't perform a display update from
1335 inside redisplay. The update will happen anyway at the end of
1336 redisplay, and it can confuse redisplay (GC messages while
1337 redisplaying, for instance.)
1338
70c825df
SM
13392000-10-30 Stefan Monnier <monnier@cs.yale.edu>
1340
cf9b4b0b
SM
1341 * xrdb.c (x_load_resources): Use the class name in the defaults.
1342
70c825df
SM
1343 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
1344 (regex_compile): Catch bogus \(\1\).
1345
a1d34b1e
GM
13462000-10-30 Gerd Moellmann <gerd@gnu.org>
1347
cae71efe
GM
1348 * xterm.c (x_alloc_nearest_color): Fix last change to compare
1349 RGB values.
1350
35efe0a1
GM
1351 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
1352 we have a color cache, check that the cached color equals the
1353 allocated color. If not, clear the color cache.
1354
1d3baf74
GM
1355 * window.c (displayed_window_lines): Change buffers if necessary.
1356 Fix computation of displayed lines.
1357
a1d34b1e
GM
1358 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
1359 update_menu_bindings to DEFVAR_BOOL.
1360
70737ea9
KH
13612000-10-30 Kenichi Handa <handa@etl.go.jp>
1362
70c825df 1363 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 1364
fa0cb51d
KH
1365 * puresize.h (BASE_PURESIZE): Increase to 680000.
1366
70737ea9
KH
1367 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
1368
0e4c08e8
JR
13692000-10-29 Jason Rumney <jasonr@gnu.org>
1370
1371 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
1372
1373 * w32term.c (w32_bdf_per_char_metric): Negate descent.
1374 (w32_cache_char_metrics): Handle possibility that 'x' does not
1375 exist in a BDF font.
1376 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
1377
1378 * w32bdf.h (bdffont): Add nchars.
1379
1380 * w32bdf.c (set_bdf_font_info): Set it.
1381 (w32_BDF_TextOut): Swap byte order of double byte characters.
1382 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
1383
45b84006
EZ
13842000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
1385
1386 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
1387 don't override the colors in frame's param_alist, unless they are
1388 unspecified.
1389
1390 * term.c (reassert_line_highlight): If inverse_video is non-zero,
1391 reverse the effect of the highlight flag.
1392
caf9deee
KR
13932000-10-27 Ken Raeburn <raeburn@gnu.org>
1394
1395 * window.h (Fwindow_live_p): Declare.
1396
ae0b9b46
KR
1397 * undo.c (record_delete): Check that last_undo_buffer is really a
1398 buffer before applying XBUFFER to it.
1399
1400 * keymap.c (where_is_internal): Pass lisp object, not integer, to
1401 Faref.
1402
02067692
SM
14032000-10-27 Stefan Monnier <monnier@cs.yale.edu>
1404
1405 * lisp.h (KEYMAPP): New macro.
1406 (get_keymap): Remove.
1407 (get_keymap_1): Rename get_keymap.
1408
1409 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
1410
1411 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
1412
1413 * xmenu.c (single_submenu): Use KEYMAPP.
1414 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
1415 Use KEYMAPP rather than Fkeymapp.
1416
1417 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
1418
1419 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
1420 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
1421 Use KEYMAPP rather than Fkeymapp.
1422 (single_submenu): Use KEYMAPP.
1423 (w32_menu_show, w32_dialog_show): Use TRUE.
1424
1425 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
1426
1427 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
1428 (Fkeymapp): Use KEYMAPP.
1429 (get_keymap): Rename from get_keymap_1. Remove old def.
1430 Return t when autoload=0 and error=0 and the keymap needs autoloading.
1431 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
1432 (Fminor_mode_key_binding): Don't raise an error if the binding
1433 is not a keymap.
1434 (Fuse_global_map, Fuse_local_map): Allow autoloading.
1435 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
1436
1437 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
1438 Allow Vspecial_event_map to be autoloaded.
1439 (menu_bar_items): Fetch the keymap rather than using keymapp.
1440 (menu_bar_one_keymap): No need to follow func-indirect any more.
1441 (parse_menu_item): get_keymap_1 -> get_keymap.
1442 (tool_bar_items): Fetch the keymap rather than using keymapp.
1443 (read_key_sequence): Use KEYMAPP.
1444
1445 * intervals.c (get_local_map): Use get_keymap rather than following
1446 function-indirections explicitly.
1447
1448 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
1449
f9d80af3
JR
14502000-10-27 Jason Rumney <jasonr@gnu.org>
1451
1452 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
1453 point, as Windows has oversized fonts.
1454
1455 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
1456
a3ba27da
GM
14572000-10-27 Gerd Moellmann <gerd@gnu.org>
1458
1459 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
1460 (freehook, reallochook): Handle null pointer arguments.
1461 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
1462
aa3b80cc
SM
14632000-10-27 Stefan Monnier <monnier@cs.yale.edu>
1464
1465 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
1466 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
1467 Giving in to popular pressure to shut up the compiler with casts.
1468
e24e84cc
GM
14692000-10-27 Gerd Moellmann <gerd@gnu.org>
1470
1471 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
1472 signed value, and use a default value computed from the font's
1473 maximum descent.
1474
05ea7ef2
MB
14752000-10-27 Miles Bader <miles@lsi.nec.co.jp>
1476
1477 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
1478 that specify a negative underline position can still use underlines.
1479
1480 * window.c (Fpos_visible_in_window_p): Make POS default to
1481 WINDOW's point, not the current buffer's point.
1482
0b95284b
DL
14832000-10-26 Dave Love <fx@gnu.org>
1484
1485 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
1486 when it's necessary.
1487
6c5b90af
GM
14882000-10-26 Gerd Moellmann <gerd@gnu.org>
1489
8b6d9dc9
GM
1490 * window.c (size_window): Compute size difference from sum of old
1491 child window sizes instead of from parent's size.
1492
6bc92b2e
GM
1493 * xdisp.c (pos_visible_p): Change current buffer if necessary.
1494 Handle obscured lines at the top of the window.
1495
1496 * frame.c (Fdelete_frame): Doc fix. Move running the hook
1497 down after the last error condition check.
1498
6c5b90af
GM
1499 * frame.c (Fdelete_frame): Run delete-frame-hook.
1500
42f92d4d
KH
15012000-10-26 Kenichi Handa <handa@etl.go.jp>
1502
1503 * coding.c (decode_coding): Fix previous change (check also
1504 CODING_MODE_LAST_BLOCK).
1505
d97151cb
SM
15062000-10-25 Stefan Monnier <monnier@cs.yale.edu>
1507
e7efc503
SM
1508 * regex.c: More `unsigned char' -> `re_char' changes.
1509 Also change several `int' into `re_wchar_t'.
1510 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
1511 (PUSH_FAILURE_POINTER): Don't cast any more.
1512 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
1513 We want GCC to complain, since this piece of code makes
1514 re_match non-reentrant, which *should* be fixed.
1515 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
1516 (EXTEND_BUFFER): Use RETALLOC.
1517 (SET_LIST_BIT): Don't cast.
1518 (re_wchar_t): New type.
1519 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
1520 that those two functions will always properly return.
1521 (IMMEDIATE_QUIT_CHECK): Cast to void.
1522 (analyse_first): Use recursion rather than an explicit stack.
1523 (re_compile_fastmap): Can't fail anymore.
1524 (re_search_2): Don't check re_compile_fastmap for failure.
1525 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
1526 Now also sets the new value (passed in a new argument).
1527 (re_match_2_internal): Use it.
1528 Also, use a new var `reg' of type size_t when looping through regs
1529 rather than reuse the inappropriate `mcnt'.
1530
d97151cb
SM
1531 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
1532 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
1533 (where_is_internal): Renamed from Fwhere_is_internal.
1534 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
1535 (Fwhere_is_internal): New function wrapping where_is_internal.
1536 (where_is_internal_1): Handle the case where we're filling the cache.
1537 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
1538
d5789b65
MB
15392000-10-25 Miles Bader <miles@gnu.org>
1540
1541 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
1542
4ecda532
GM
15432000-10-25 Gerd Moellmann <gerd@gnu.org>
1544
1545 * window.c (pos_fully_visible_p): Removed.
1546 (Fpos_visible_in_window_p): Use pos_visible_p to determine
1547 if position is visible and/or fully visible.
1548
1549 * lisp.h (pos_visible_p): Add prototype.
1550
1551 * xdisp.c (pos_visible_p): New function.
1552
68c3a137
KH
15532000-10-25 Kenichi Handa <handa@etl.go.jp>
1554
1555 * process.c (send_process): If OBJECT is t, it means that the data
1556 is from C string, but we should encode it. Before calling
1557 setup_raw_text_coding_system, be sure to flush out data by the
1558 previous coding system.
1559
7ae1c032
MB
15602000-10-25 Miles Bader <miles@lsi.nec.co.jp>
1561
ff4dcd4b
MB
1562 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
1563 assignment of startpos to prev when startpos == pos.
1564
7ae1c032
MB
1565 * editfns.c (find_field): Set the field stickiness correctly from
1566 overlay fields. Use renamed `text_property_stickiness'.
1567 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 1568 Only check text properties, not overlays.
7ae1c032
MB
1569 * textprop.c (get_char_property_and_overlay): New function.
1570 (Fget_char_property): Use it.
1571 * intervals.h (get_char_property_and_overlay): Add declaration.
1572
49801145
SM
15732000-10-25 Stefan Monnier <monnier@cs.yale.edu>
1574
1575 * keymap.c: Use AREF, ASET and ASIZE macros.
1576 (Fmake_sparse_keymap): Docstring fix.
1577 (synkey): Remove.
1578 (shadow_lookup): Move up.
1579 Handle the case where lookup-key returns an integer.
1580 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
1581 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
1582 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
1583 Simplify/rewrite the keymap-finding code.
1584 Add check for command shadowing, using shadow_lookup.
1585
39e776cd
SM
15862000-10-24 Stefan Monnier <monnier@cs.yale.edu>
1587
1588 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
1589 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
1590 a symbol.
1591
2488aba5
AI
15922000-10-24 Andrew Innes <andrewi@gnu.org>
1593
1594 * dired.c (directory_files_internal_unwind): New function.
1595 (directory_files_internal): Use it to ensure closedir is called
1596 even if expand-file-name or file-attributes throw, eg. because of
1597 a user interrupt. Also enable immediate_quit while calling
1598 re_search, so that matching can be interrupted as well.
1599
b94fdf61
AI
16002000-10-24 Andrew Innes <andrewi@gnu.org>
1601
1602 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
1603 NT-Emacs only.
1604 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
1605 so that re_search functions only quit when callers expect them to.
1606
16072000-10-24 Kenichi Handa <handa@etl.go.jp>
1608
1609 * regex.c (regex_compile): Change the way of handling a range from
1610 a char less than 256 to a char not less than 256.
1611
1946f901
GM
16122000-10-24 Gerd Moellmann <gerd@gnu.org>
1613
7ae2f10f
GM
1614 * window.c (size_window): Prevent setting window's width or
1615 height to a negative value (esp. with XSETFASTINT).
1616
5dcab13e
GM
1617 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
1618 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
1619 (protect_malloc_state) [GC_MALLOC_CHECK &&
1620 GC_PROTECT_MALLOC_STATE]: New function.
1621 (PROTECT_MALLOC_STATE): New macro.
1622 (__malloc_initialize, morecore, _malloc_internal)
1623 (_free_internal) _realloc_internal): Use it to make _heapinfo
1624 read-only outside of gmalloc.
1625
63e1b552
GM
1626 * keymap.c: Update copyright.
1627
1946f901
GM
1628 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
1629 a symbol.
1630
4fa09beb
GM
16312000-10-24 Colin Walters <walters@cis.ohio-state.edu>
1632
1633 * filelock.c (unlock_all_files): Use unlock_file to expand each
1634 buffer's file_truename before trying remove its lock file.
1635
23afac01
EZ
16362000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
1637
1638 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
1639 or CRLF, decode EOLs.
1640
04448b95
KH
16412000-10-24 Kenichi Handa <handa@etl.go.jp>
1642
1643 * window.c (Fdisplay_buffer): Fix doc.
1644
3090a5a5
JR
16452000-10-23 Jason Rumney <jasonr@gnu.org>
1646
1647 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
1648 ASCII font of default fontset on Windows.
1649
1650 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
1651 xterm.c comment below).
1652
1653 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
1654
a83fee2c
GM
16552000-10-23 Gerd Moellmann <gerd@gnu.org>
1656
1657 * xterm.c (x_connection_closed): Reset handling_signal.
1658
1659 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
1660 null.
1661
6ffdb539
MB
16622000-10-23 Miles Bader <miles@gnu.org>
1663
1664 * window.c (window_scroll_pixel_based, window_scroll_line_based):
1665 Pass nil for FULLY argument to Fpos_visible_in_window_p to
1666 maintain old behavior.
1667 * minibuf.c (Fminibuffer_complete): Likewise.
1668
7f1c969b
MB
16692000-10-23 Miles Bader <miles@lsi.nec.co.jp>
1670
1671 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
1672 that when a font can't be exactly centered, it errs up rather than
1673 down.
1674
23afac01 16752000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
1676
1677 * fns.c (Fbase64_decode_string): The decoded result should be
1678 unibyte.
1679
1a578e9b
AC
16802000-10-23 Andrew Choi <akochoi@i-cable.com>
1681
1682 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
1683
1684 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 1685 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
1686
1687 * emacs.c (main) [macintosh]: Call syms_of_textprop,
1688 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
1689 syms_of_search, x_term_init, and init_keyboard before calling
1690 init_window_once. Also, call syms_of_xmenu.
1691
1692 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
1693 default fontset to Monaco.
1694
1695 * frame.c [macintosh]: Include macterm.h. Remove declarations of
1696 NewMacWindow and DisposeMacWindow.
1697 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
1698 instead of calling NewMacWindow and setting fields of
1699 f->output_data.mac directly. Call init_frame_faces.
1700 (Fdelete_frame) [macintosh]: Remove unused code.
1701 (Fmodify_frame_parameters) [macintosh]: Call
1702 x_set_frame_parameters instead of mac_set_frame_parameters.
1703
1704 * frame.h [macintosh]: Define menu_bar_lines field in struct
1705 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
1706
1707 * keyboard.c [macintosh]: Include macterm.h.
1708 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
1709 and menu_bar_activate_event type events as for X and NT.
1710 (make_lispy_event) [macintosh]: Construct lisp events of type
1711 MENU_BAR_EVENT as for X and NT.
1712
1713 * sysdep.c [macintosh]: Remove declaration for sys_signal.
1714 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
1715 (sys_subshell) [macintosh]: Remove definition entirely.
1716 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
1717 Vwindow_system_version here. Remove initialization of
1718 Vx_bitmap_file_path.
1719 (read_input_waiting): Correct the number of parameters passed to
1720 read_socket_hook.
1721 Move all Macintosh functions to mac/mac.c.
1722
1723 * term.c [macintosh]: Include macterm.h.
1724
1725 * window.c [macintosh]: Include macterm.h.
1726
1727 * xdisp.c [macintosh]: Include macterm.h. Declare
1728 set_frame_menubar and pending_menu_activation.
1729 (echo_area_display) [macintosh]: Do not return if terminal frame
1730 is the selected frame.
1731 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
1732 Allow only the selected frame to set menu bar.
1733 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
1734 calling FRAME_EXTERNAL_MENU_BAR (f).
1735 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
1736
1737 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
1738 and check_x. Declare XCreateGC. Define x_create_gc and
1739 x_free_gc. Initialize font_sort_order.
1740 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
1741 but call x_list_fonts instead of w32_list_fonts.
1742 (Finternal_face_x_get_resource) [macintosh]: Do not call
1743 display_x_get_resource.
1744 (prepare_face_for_display) [macintosh]: Set xgcv.font.
1745 (realize_x_face) [macintosh]: Load the font if it is specified in
1746 ATTRS.
1747 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
1748 to Qt.
1749
1ffbabe3
SM
17502000-10-22 Stefan Monnier <monnier@cs.yale.edu>
1751
1752 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
1753 is nil: since we go to the end of submap anyway, we'd end up
1754 setting nil to nil.
1755 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
1756 doesn't obey autoload.
1757
bed43f1d
EZ
17582000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1759
1ffbabe3 1760 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 1761
ea4233a7
JR
17622000-10-21 Jason Rumney <jasonr@gnu.org>
1763
1764 * w32term.c (w32_cache_char_metrics): Double check that font is
1765 really fixed pitch before trusting tmPitchAndFamily.
1766
f3d3c491
AI
17672000-10-21 Andrew Innes <andrewi@gnu.org>
1768
1769 * w32gui.h (w32_char_font_type): Move enum from w32term.c
1770
1771 * w32term.h: Extern decl for w32_cache_char_metrics.
1772
1773 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
1774
1775 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
1776 (w32_unload_font): Free per_char array if present.
1777
1778 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
1779 cached information in emulated XFontStruct to handle common cases
1780 quickly. Do not allocate XCharStruct for return.
1781 (w32_native_per_char_metric): New function.
1782 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
1783 allocating one.
1784 (x_produce_glyphs): Don't get an HDC. Change calls to
1785 w32_per_char_metric to match arg change above. Remove calls to
1786 free results.
1787 (w32_get_glyph_overhangs): Ditto.
1788 (w32_cache_char_metrics): New function.
1789
1790 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
1791 ($(BLD)/casefiddle.$(O)): Remove compile command.
1792 ($(BLD)/gmalloc.$(O)): Remove compile command.
1793 ($(BLD)/dispnew.obj):
1794 ($(BLD)/keyboard.obj):
1795 ($(BLD)/w32inevt.obj):
1796 ($(BLD)/w32bdf.obj):
1797 ($(BLD)/alloc.obj):
1798 ($(BLD)/buffer.obj):
1799 ($(BLD)/editfns.obj):
1800 ($(BLD)/emacs.obj):
1801 ($(BLD)/fileio.obj):
1802 ($(BLD)/fns.obj):
1803 ($(BLD)/indent.obj):
1804 ($(BLD)/insdel.obj):
1805 ($(BLD)/intervals.obj):
1806 ($(BLD)/minibuf.obj):
1807 ($(BLD)/print.obj):
1808 ($(BLD)/scroll.obj):
1809 ($(BLD)/sysdep.obj):
1810 ($(BLD)/textprop.obj):
1811 ($(BLD)/widget.obj):
1812 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
1813 ($(BLD)/term.obj): Add dependency on dispextern.h.
1814
1815 * makefile.nt ($(BLD)\dispnew.obj):
1816 ($(BLD)\keyboard.obj):
1817 ($(BLD)\w32inevt.obj):
1818 ($(BLD)\w32bdf.obj):
1819 ($(BLD)\alloc.obj):
1820 ($(BLD)\buffer.obj):
1821 ($(BLD)\editfns.obj):
1822 ($(BLD)\emacs.obj):
1823 ($(BLD)\fileio.obj):
1824 ($(BLD)\fns.obj):
1825 ($(BLD)\indent.obj):
1826 ($(BLD)\insdel.obj):
1827 ($(BLD)\intervals.obj):
1828 ($(BLD)\minibuf.obj):
1829 ($(BLD)\print.obj):
1830 ($(BLD)\scroll.obj):
1831 ($(BLD)\sysdep.obj):
1832 ($(BLD)\textprop.obj):
1833 ($(BLD)\widget.obj):
1834 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
1835 ($(BLD)\term.obj): Add dependency on dispextern.h
1836
18ad4821
EZ
18372000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
1838
1839 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
1840 with an additional argument of Qt.
1841
de54681a
MB
18422000-10-21 Miles Bader <miles@gnu.org>
1843
1844 * window.c (pos_fully_visible_in_window_p): New function.
1845 (Fpos_visible_in_window_p): Add FULLY argument.
1846 Use pos_fully_visible_in_window_p.
1847 (window_scroll_pixel_based, window_scroll_line_based): Update
1848 calls to Fpos_visible_in_window_p.
1849 * lisp.h (Fpos_visible_in_window_p): Update prototype
1850
13c844fb
GM
18512000-10-20 Gerd Moellmann <gerd@gnu.org>
1852
1853 * alloc.c (toplevel): Conditionalize compilation of mem_*
1854 functions differently.
1855
d9506268
JR
18562000-10-20 Jason Rumney <jasonr@gnu.org>
1857
1858 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
1859 mem_init where it used to be. mem_z etc not defined otherwise.
1860
8094989b
GM
18612000-10-20 Gerd Moellmann <gerd@gnu.org>
1862
1863 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
1864 GC_MALLOC_CHECK.
1865 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
1866 structure definition and related variabled to the top of the file.
1867 Include this code when GC_MALLOC_CHECK is defined.
1868 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
1869 register/unregister allocated region.
1870 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
1871 which isn't allocated.
1872 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
1873 something which is already in use.
1874 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
1875 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
1876 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
1877 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
1878
1879 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
1880 _malloc_internal instead of malloc.
1881 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
1882 of free.
1883
ea456eb4
AI
18842000-10-20 Andrew Innes <andrewi@gnu.org>
1885
1886 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
1887 Windows.
1888 (my_strftime) <macro>: Don't use macro arg list when redefining as
1889 _strftime_copytm.
1890 (my_strftime) <function>: Supply 0 as ut argument.
1891
e64c3a75
JR
18922000-10-19 Jason Rumney <jasonr@altavista.net>
1893
1894 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
1895 including dispextern.h, as it stops faces from working.
1896
1897 * w32fns.c (Fx_create_frame): Don't bother calling
1898 face-set-after-frame-default since the caller does it for us
1899 anyway. Clean up calls to x_get_arg to be consistent with X.
1900
1901 * w32term.c (x_produce_glyphs): Handle
1902 unibyte_display_via_language_environment correctly.
1903 (w32_draw_box_rect): Fix the calculation of width and height.
1904
1905 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
1906 as it has stopped working.
1907 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
1908 menu-bar.
1909
17401c97
GM
19102000-10-19 Gerd Moellmann <gerd@gnu.org>
1911
1912 * eval.c (skip_debugger): Prevent a compiler warning.
1913 (Fcondition_case): Likewise.
1914 (Fbacktrace_frame): Use a null interactive spec.
1915
773272d8
KH
19162000-10-19 Kenichi Handa <handa@etl.go.jp>
1917
1918 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
1919
a42943e9
GM
19202000-10-18 Gerd Moellmann <gerd@gnu.org>
1921
e50517d9
GM
1922 * strftime.c: Sync with glibc, file version 1.78.
1923 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
1924 should no longer be used according to ISO 8601.
1925
9035a35a
GM
1926 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
1927 no map for meta_prefix_char, don't try to use it as a keymap.
1928 Instead, if T_OK is non-zero, look up a default binding, if any,
1929 otherwise, if T_OK is zero, return nil.
1930
a42943e9
GM
1931 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
1932 (x_to_xcolors, png_load): Use x_query_color.
1933
1934 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
1935 functions.
1936 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
1937 which can be slow.
1938 (x_copy_color, x_alloc_lighter_color): Likewise.
1939
1940 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
1941 (x_query_color, x_query_colors): Add prototype.
1942
1943 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
1944 check_string_bytes only if not noninteractive, increase count to 50.
1945
00de2987
MB
19462000-10-18 Miles Bader <miles@lsi.nec.co.jp>
1947
1948 * insdel.c (adjust_markers_for_delete): Handle before-insertion
1949 markers correctly.
1950
54918e2b
GM
19512000-10-17 Gerd Moellmann <gerd@gnu.org>
1952
1f0b3fd2
GM
1953 * alloc.c (pure_bytes_used): Renamed from pureptr.
1954 (ALIGN): New macro.
1955 (pure_alloc): New function.
1956 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
1957 Use it.
1958 (Fpurecopy): Use PURE_POINTER_P.
1959
68c5d1db
GM
1960 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
1961 PT has moved backward.
1962
9a038881
GM
1963 * xdisp.c (cursor_row_p): Take continued lines into account.
1964
361b097f
GM
1965 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
1966 string's size_byte.
1967 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
1968 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
1969 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
1970 string allocated.
1971
54918e2b
GM
1972 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
1973 of selective display off while searching for the next line start.
1974
03ed0806
KH
19752000-10-17 Kenichi Handa <handa@etl.go.jp>
1976
1977 * Makefile.in (term.o): Depend on dispextern.h.
1978
7e05cdaf
SM
19792000-10-16 Stefan Monnier <monnier@cs.yale.edu>
1980
1981 * keymap.c (keymap_memberp): Ensure that nil is not a member.
1982
a6801fd1
GM
19832000-10-16 Gerd Moellmann <gerd@gnu.org>
1984
483de32b
GM
1985 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
1986 the iterator at the beginning, so that they can be set later on,
1987 for instance in reseat_at_next_visible_line_start, without being
1988 overwritten.
1989
a6801fd1
GM
1990 * xfns.c (pbm_format): Add :foreground and :background keywords.
1991 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 1992 (xbm_load): Recognize foreground and background color
a6801fd1
GM
1993 specifications.
1994
dbf1fcc1
EZ
19952000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
1996
1997 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
1998
1999 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
2000 declaration.
2001
2002 * msdos.c (IT_set_face): Compare highlighted face with the default
2003 face, and invert colors if these faces' colors are identical.
2004 (Fmsdos_remember_default_colors): Don't swap foreground and
2005 background colors in initial_colors[].
2006 (IT_set_frame_parameters): Don't swap frame's foreground and
2007 background pixels. If ALIST includes "(reverse . t)", swap
2008 foreground-color and background-color properties in frame's
2009 param_alist. If the original frame's param_alist doesn't specify
2010 the colors, store unspecified-fg and unspecified-bg, reversed if
2011 required.
2012
2013 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
2014 the colors are unspecified and reversed, reverse fore- and back-
2015 ground in the returned value.
2016 (Fframe_parameter): Ditto.
2017
b41fe2c3
GM
20182000-10-16 Gerd Moellmann <gerd@gnu.org>
2019
3a6b59d9
GM
2020 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
2021 get_last_unchanged_at_beg_row.
2022 (find_first_unchanged_at_end_row): Renamed from
2023 get_first_unchanged_at_end_row.
2024 (find_first_unchanged_at_end_row): Convert assertions to
2025 unconditional tests which abort. When looking for a row in
2026 unchanged text, don't go further back than first_text_row.
2027
b41fe2c3
GM
2028 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
2029 Don't add in the last line's height when deciding if the new
2030 position is below the scroll margin.
9d1af64f 2031
b41fe2c3 20322000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
2033
2034 * editfns.c (Fconstrain_to_field): Check carefully for field
2035 boundaries if either OLD_POS or NEW_POS has a non-nil field
2036 property, even if they're the same.
2037
c412cb7b
KH
20382000-10-16 Kenichi Handa <handa@etl.go.jp>
2039
2040 * xterm.c (x_draw_box_rect): Fix the calculation of width and
2041 height for XFillRectangle.
2042
5586f3eb
SM
20432000-10-15 Stefan Monnier <monnier@cs.yale.edu>
2044
2045 * syntax.c (Fstring_to_syntax): New function extracted from
2046 Fmodify_syntax_entry.
2047 (Fmodify_syntax_entry): Use it and document the ! and | fences.
2048 (skip_chars, Fforward_comment): Remove unused variables.
2049 (syms_of_syntax): Add defsubr for string-to-syntax.
2050 (describe_syntax): Add code for comment and string fences.
2051
db785038
SM
20522000-10-14 Stefan Monnier <monnier@cs.yale.edu>
2053
2054 * keymap.c (access_keymap): Add AUTOLOAD parameter.
2055 Do the meta->esc mapping. Call get_keyelt before returning.
2056 Start scanning from the second element (the first is always `keymap')
2057 to make it easier to detect when we reach a parent map.
2058 Handle the case of inheriting from a symbol whose function is a map.
2059 (Fkeymap_parent): Also handle the `inherit from symbol' case.
2060 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
2061 (get_keyelt, Flookup_key): Update call to access_keymap.
2062 Remove the meta->esc mappings.
2063 (define_as_prefix): Delete old disabled code.
2064 (menu_item_p): New function.
2065 (where_is_internal_1): Skip over the few remaining menu items.
2066 * lisp.h (access_keymap): Update prototype.
2067 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
2068 Update call to access_keymap.
2069 (follow_key, read_key_sequence): Update calls to access_keymap.
2070 Remove the meta->esc mappings.
2071
cafafe0b
GM
20722000-10-13 Gerd Moellmann <gerd@gnu.org>
2073
a2e2a7f6
GM
2074 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
2075 with additional argument.
2076
cafafe0b
GM
2077 * xdisp.c (cursor_row_p): New function.
2078 (try_cursor_movement, display_line): Use it.
2079
2080 * xdisp.c (append_space): Also save/restore iterator's current
2081 character and its length.
2082
2083 * xdisp.c (init_from_display_pos): Add an assertion.
2084 (handle_stop): Don't set iterator's add_overlay_start.
2085 (handle_invisible_prop): Likewise.
2086 (load_overlay_strings): If text under an overlay is invisible,
2087 take both before- and after-strings into account when the iterator
2088 is positioned either at the start or at the end of the overlay.
2089 (forward_to_next_line_start): Rewritten.
2090 (reseat_at_next_visible_line_start): Rewritten.
2091 (set_iterator_to_next): Add parameter RESEAT_P.
2092
2093 * dispextern.h (struct it): Remove member add_overlay_start.
2094 (set_iterator_to_next): Change prototype.
2095
c744452b
KH
20962000-10-13 Kenichi Handa <handa@etl.go.jp>
2097
2098 * coding.c (code_convert_region): Be sure to initialize
2099 coding->category_idx.
e4a3f4e1
KH
2100 (decode_coding_string): Set coding->src_multibyte and
2101 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
2102 (encode_coding_string): Set coding->src_multibyte and
2103 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 2104
321fd26f
SM
21052000-10-12 Stefan Monnier <monnier@cs.yale.edu>
2106
2107 * xfns.c (Fx_create_frame): Don't bother calling
2108 face-set-after-frame-default since the caller does it for us anyway.
2109
76832439
EZ
21102000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
2111
2112 * window.c (coordinates_in_window): Fix detection of vertical line
2113 on character terminals.
2114
2483cf58
GM
21152000-10-12 Gerd Moellmann <gerd@gnu.org>
2116
2117 * editfns.c (save_excursion_save): Additionally record the
2118 selected window.
2119 (save_excursion_restore): If buffer was visible in a window, and a
2120 different window was selected, and the old selected window is
2121 still live, restore point in that window.
2122
eb991b25
KH
21232000-10-12 Kenichi Handa <handa@etl.go.jp>
2124
8a0eba09
KH
2125 * xterm.c (x_produce_glyphs): Handle
2126 unibyte_display_via_language_environment correctly.
2127
20401fcc
KH
2128 * regex.c (regex_compile): Change the way of handling a range from
2129 unibyte char to multibyte char.
2130
2131 * syntax.c (skip_chars): Change the way of handling a range from
2132 unibyte char to multibyte char.
2133
eb991b25
KH
2134 * process.c (read_process_output): Cancel previous change.
2135
365dd325
EZ
21362000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
2137
c1b096cb
EZ
2138 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
2139
365dd325
EZ
2140 * charset.c (Ffind_charset_string): Doc fix.
2141 (Ffind_charset_region): Doc fix.
2142
eb483c2b
KH
21432000-10-11 Kenichi Handa <handa@mule.m17n.org>
2144
2145 * process.c (read_process_output): Fix previous change. Adjust
2146 multibyteness of text to insert in a buffer by
df3c11b9 2147 string_make_unibyte/multibyte instead of
eb483c2b
KH
2148 Fstring_as_unibyte/multibyte.
2149
b40bfb99
AS
21502000-10-10 Andreas Schwab <schwab@suse.de>
2151
2152 * alloc.c (mark_object): Remove all workarounds installed on
2153 1993-08-08.
2154
caff31d4
KH
21552000-10-10 Kenichi Handa <handa@etl.go.jp>
2156
2157 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
2158 returning.
2159 (base64_encode_1): Make it work for a text of multibyte form.
2160 (Fbase64_decode_region): Allocate sufficient memory for multibyte
2161 case. Don't call str_to_multibyte because base64_decode_1
2162 produces correct multibyte form for eight-bit codes.
2163 (Fbase64_decode_string): Adjusted for the change of
2164 base64_decode_1.
2165 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
2166 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
2167 codes.
2168
2169 * charset.h (CHAR_STRING): Optimized for single byte characters.
2170
cba026ef
AS
21712000-10-09 Andreas Schwab <schwab@suse.de>
2172
2173 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
2174 -1 after socket is closed, to fall through to error processing.
2175
1e21fe48
EZ
21762000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
2177
2178 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 2179 variables. If ALIST includes foreground-color or
1e21fe48
EZ
2180 background-color, change also the colors of the default face for
2181 this frame.
2182
a640322e
EZ
21832000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
2184
2185 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
2186 them extern (they are defined on xfaces.c).
2187 (syms_of_msdos): Don't intern and don't staticpro
2188 Qbackground_color and Qforeground_color.
2189
a115794c
EZ
21902000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
2191
2192 * frame.c (Fframe_parameter): For non-windowed frames, if
2193 f->param_alist says foreground or background color is unspecified,
2194 call tty_color_name to return the color name computed from the
2195 frame's current colors.
2196
f5533b63
DL
21972000-10-06 Dave Love <fx@gnu.org>
2198
2199 * terminfo.c (ospeed): Don't declare.
2200
2201 * sysdep.c: Don't include string.h.
2202 (h_errno): Declare conditional also on TRY_AGAIN.
2203
2204 * charset.c (Ffind_charset_string): Doc fix.
2205
2206 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
2207 (Fbase64_decode_region, Fbase64_decode_string): More explicit
2208 error messages.
2209
2b06561a
DL
22102000-10-05 Dave Love <fx@gnu.org>
2211
2212 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
2213 position like menu-bar.
2214
ca839c85
GM
22152000-10-05 Gerd Moellmann <gerd@gnu.org>
2216
2217 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
2218
2219 * xdisp.c (handle_single_display_prop): Use safe_call1.
2220 (safe_call): Renamed from call_function.
2221 (safe_call1): New function.
2222 (handle_fontified_prop): Use safe_call1 instead of call1.
2223 (safe_eval): Renamed from eval_form.
2224 (safe_eval_handler): Renamed from eval_handler.
2225 (handle_single_display_prop, display_mode_element): Use safe_eval
2226 instead of eval_form.
2227
2228 * xfaces.c (merge_face_heights): Use safe_call instead of
2229 call_function.
2230
2231 * keyboard.c (show_help_echo): Use safe_call instead of
2232 call_function; use safe_eval instead of eval_form.
2233
2234 * lisp.h (safe_call): Renamed from call_function.
2235 (safe_eval): Renamed from eval_form.
2236 (safe_call1): Add prototype.
2237
a3489ece
MB
22382000-10-05 Miles Bader <miles@lsi.nec.co.jp>
2239
2240 * xfns.c (image_ascent): Rearrange ascent calculation for the
2241 has-a-font case.
2242
35810b6f
SM
22432000-10-04 Stefan Monnier <monnier@cs.yale.edu>
2244
2245 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
2246 (where_is_internal_1): Don't bother ignoring menu-items any more.
2247
3dc78168
GM
22482000-10-04 Gerd Moellmann <gerd@gnu.org>
2249
2250 * keyboard.c (update_menu_bindings): New variable.
2251 (parse_menu_item): Use AREF. If update_menu_bindings
2252 is 0, don't update menu bindings.
2253 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
2254
1efc2bb9
EZ
22552000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
2256
2257 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
2258 to `mark_object'.
2259
3f679f55
SM
22602000-10-02 Stefan Monnier <monnier@cs.yale.edu>
2261
2262 * syntax.c (forw_comment): Match nestedness of ender/starter.
2263 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
2264 (prev_char_comstart_first): Remove.
2265 (back_comment): Check two-char comment markers more carefully
2266 to better handle overlapping cases like *//* or /* */* */ ...
2267 Match nestedness of ender/starter.
2268
2021ab61
DL
22692000-10-02 Dave Love <fx@gnu.org>
2270
2271 * config.in (HAVE_GAI_STRERROR): Add undef.
2272
2273 * process.c (Fopen_network_stream): Use it.
2274
2275 * m/alpha.h (NO_REMAP): Don't define.
2276
64e6cc18
GM
22772000-10-02 Gerd Moellmann <gerd@gnu.org>
2278
2279 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
2280 return with a string converted to an integer or vice versa when
2281 Vmocklisp_arguments is t.
2282 (Fsignal): Likewise. The function can return for `quit'.
2283 (struct gcpro): Declare member `var' to point to a volatile
2284 Lisp_Object.
2285
2286 * eval.c (error): Prevent compiler warning.
2287
b1904cd9
SM
22882000-09-30 Stefan Monnier <monnier@cs.yale.edu>
2289
2290 * keymap.c (keymap_memberp): New function.
2291 (Fset_keymap_parent): Use it.
2292 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
2293 Use keymap_memberp to avoid creating cycles.
2294 (access_keymap): Use KEYMAPP.
2295
71c9ec51
GM
22962000-09-30 Gerd Moellmann <gerd@gnu.org>
2297
2298 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
2299 gai_strerror. Make sure xerrno is set if connect fails. Improve
2300 error recovery.
71c9ec51 2301
c70c6b58
JR
23022000-09-29 Jason Rumney <jasonr@gnu.org>
2303
2304 * w32term.c (w32_char_font_type, w32_encode_char)
2305 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
2306 (w32_bdf_per_char_metric): New function.
2307 (w32_per_char_metric): Use it.
2308 (x_draw_glyph_string_background): Always draw background for BDF
2309 glyphs.
2310
2311 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
2312 GDI object which is a scarce resource.
2313
2314 * w32bdf.c (search_file_line): Fix skipping of whitespace.
2315 (get_quoted_string): Fix limit on memchr search.
2316 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
2317 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
2318 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
2319 (get_cached_font_char, cache_char_offset): Use macro
2320 BDF_CODEPOINT_RANGE_COVER_P.
2321 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
2322 (clear_cached_bitmap_slots): New function.
2323 (GET_HEX_VALUE): G-Z, g-z are not hex.
2324 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
2325 (get_bitmap_with_cache): Use new cache implementation.
2326 (create_offscreen_bitmap): New function.
2327 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
2328
2329 * w32term.c (x_produce_glyphs): If the distance from the current
2330 position to the next tab stop is less than a canonical character
2331 width, use the tab stop after that.
2332 (x_draw_glyphs): Handle case START and END are out of bounds more
2333 carefully.
2334 (x_clear_mouse_face): Block/unblock input.
2335 (x_display_and_set_cursor): Don't show a hollow box cursor for
2336 buffers whose cursor_type is nil.
2337
fe01239f
GM
23382000-09-29 Gerd Moellmann <gerd@gnu.org>
2339
2340 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
2341 disappears.
2342
2343 * dispextern.h (updating_frame): Declare extern.
2344
e7c52f1f
AS
23452000-09-29 Andreas Schwab <schwab@suse.de>
2346
2347 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
2348
de6e1f7c
GM
23492000-09-29 Gerd Moellmann <gerd@gnu.org>
2350
25126faa
GM
2351 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
2352 use its function definition.
2353 (tool_bar_items): Likewise.
2354
de6e1f7c
GM
2355 * lisp.h (fatal): Declare NO_RETURN.
2356
454ee39b
KH
23572000-09-29 Kenichi Handa <handa@etl.go.jp>
2358
2359 * keymap.c: Remove the line "#undef NULL".
2360
96301c5f
GM
23612000-09-28 Gerd Moellmann <gerd@gnu.org>
2362
2363 * xterm.c (x_make_frame_visible): Try harder to make the frame
2364 visible.
2365
efffeeb4
DL
23662000-09-28 Dave Love <fx@gnu.org>
2367
ecb8b666
DL
2368 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
2369
dc3cd20f
DL
2370 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
2371
2372 * .gdbinit (xreload): Note its need on GNU/Linux.
2373
efffeeb4
DL
2374 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
2375 r_alloc, r_alloc_free.
2376
8610d903
KH
23772000-09-28 Kenichi Handa <handa@etl.go.jp>
2378
2379 * syntax.c (skip_chars): Handle negation correctly.
2380
8901d1ac
GM
23812000-09-27 Gerd Moellmann <gerd@gnu.org>
2382
6f22f1ad
GM
2383 * xfaces.c (realize_default_face): Call set_lface_from_font_name
2384 with non-zero FORCE_P argument.
2385
8901d1ac
GM
2386 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
2387 Add assertions.
2388
2389 * xdisp.c (window_box_height): Add an assertion.
2390
2391 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
2392 tool-bar than is available.
2393 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
2394
36f1966f
DL
23952000-09-27 Dave Love <fx@gnu.org>
2396
efffeeb4 2397 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 2398
31d929e5
GM
23992000-09-26 Gerd Moellmann <gerd@gnu.org>
2400
c98863bf
GM
2401 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
2402 instead of BITS_PER_INT.
2403 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
2404 EMACS_UINT, respectively.
2405 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
2406
2407 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
2408
2409 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
2410
77072ab1
GM
2411 * window.c (freeze_window_starts): Construct last argument for
2412 foreach_window differently.
2413
2414 * xfns.c (x_decode_color): Don't return a Lisp_Object.
2415
2416 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
2417 EMACS_UINT instead of `int' and `unsigned int'.
2418 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
2419
2420 * frame.h (struct frame): Make the `nothing' member of union
2421 output_data an EMACS_INT.
2422
31d929e5
GM
2423 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
2424 hunting.
2425 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
2426 size in the sdata structure.
2427 (SDATA_NBYTES, SDATA_DATA): New macros.
2428 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
2429 differently for the different layout of the sdata structure.
2430 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
2431 in sdata.
2432 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
2433 Check that size recorded in the string size and size recorded in
2434 the sdata structure agree.
2435
3e60b029
DL
24362000-09-25 Dave Love <fx@gnu.org>
2437
2438 * buffer.c: Include stdio.h.
2439
2440 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
2441
2442 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
2443
2444 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
2445 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
2446 size_t.
2447 (__malloc_extra_blocks): Declare as __malloc_size_t.
2448
8ff16b4e
GM
24492000-09-25 Gerd Moellmann <gerd@gnu.org>
2450
755a2ccd
GM
2451 * alloc.c (mark_image): Use GC_NILP instead of NILP.
2452
d8b4516f
GM
2453 * keyboard.c (show_help_echo): Set help_echo_showing_p.
2454 (read_char): If help-echo is showing, preserve the echo area
2455 when redisplaying.
2456
2457 * xdisp.c (help_echo_showing_p): New variable.
2458 (set_message): Reset it to 0.
2459 (init_xdisp): Initialize help_echo_showing_p.
2460
2461 * dispextern.h (help_echo_showing_p): Declare extern.
2462
2463 * config.in: Fix typo in __GNUC_MINOR__.
2464
2465 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
2466
b11af2dd
GM
2467 * s/freebsd.h (POSIX_SIGNALS): Define.
2468
8ff16b4e
GM
2469 * xterm.c (x_clear_mouse_face): Block/unblock input.
2470
844eb643
DL
24712000-09-24 Dave Love <fx@gnu.org>
2472
2473 * fns.c (base64_encode_1): Fix last change.
2474
b30ab1b3
GM
24752000-09-22 Gerd Moellmann <gerd@gnu.org>
2476
2477 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
2478
2479 * xdisp.c (try_window_reusing_current_matrix): More fixes
2480 for the case window has a header-line.
2481
c6cbe5f0
DL
24822000-09-22 Dave Love <fx@gnu.org>
2483
4c7c1f3f
DL
2484 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
2485 a doc string.
2486
2487 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
2488
c6cbe5f0
DL
2489 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
2490
550a625e
GM
24912000-09-21 Gerd Moellmann <gerd@gnu.org>
2492
4c7c1f3f 2493 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
2494 for GCC >= 2.5.
2495
2496 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
2497 NO_RETURN.
2498
80d26f99
GM
2499 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
2500 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
2501 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
2502 warnings.
2503
2504 * marker.c (byte_char_debug_check): Return void.
2505
623a0aae
GM
2506 * xfns.c (Fx_create_frame): Set default frame parameter value
2507 for tool-bar-lines to 1.
2508
2509 * dispnew.c (scrolling_window): Compare y-positions of rows
2510 equal at the start. Some simplification.
2511
2512 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
2513 reused rows' y-position in the case window has a header-line, and
2514 new window start is greater than old window start.
2515
42ac0ae5
GM
2516 * process.c (process_sent_to): New variable.
2517 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
2518 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
2519 Declare more parameters volatile.
2520
550a625e
GM
2521 * lread.c (Vrecursive_load_depth_limit): New variable.
2522 (Fload): Check recursive loads whose recursion depth exceeds
2523 Vrecursive_load_depth_limit.
2524 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
2525
8320414c
GM
25262000-09-20 Gerd Moellmann <gerd@gnu.org>
2527
f46c275e
GM
2528 * fileio.c (Fread_file_name): Doc fix.
2529
2530 * editfns.c (Fmessage_or_box): Doc fix.
2531
2532 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
2533
b7e11c5b
GM
2534 * xfns.c (xbm_scan): Allow C-style comments.
2535
8320414c
GM
2536 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
2537 symbols are specified, add color translations to the cache.
2538 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
2539 functions.
2540 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
2541 xpm_cache_color.
2542 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
2543 structures to xpm_init_color_cache.
2544
da1608d9
GM
25452000-09-19 Gerd Moellmann <gerd@gnu.org>
2546
2547 * dispnew.c (update_window_line): Make sure to always draw
2548 mode-lines.
2549
6badfa25
AI
25502000-09-19 Andrew Innes <andrewi@gnu.org>
2551
2552 * makefile.nt (bootstrap-emacs): Don't change directory.
2553
3a5f42bb
KH
25542000-09-19 Kenichi Handa <handa@etl.go.jp>
2555
1b7649bd
KH
2556 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
2557
3a5f42bb
KH
2558 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
2559 If output buffer is too small, signal an appropriated error.
2560
9f83cf0b
DL
25612000-09-18 Dave Love <fx@gnu.org>
2562
2563 * keyboard.c (menu_bar_items, tool_bar_items)
2564 (current_active_maps): Remove redundant get_local_map call.
2565
28c7826c
GM
25662000-09-18 Gerd Moellmann <gerd@gnu.org>
2567
5cefa566
GM
2568 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
2569 cursor for buffers whose cursor_type is nil.
2570
6fed3546
GM
2571 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
2572 a feature to implement that is already implemented.
2573 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
2574 warnings.
2575
2576 * xfns.c (x_clear_image_1): New function.
2577 (x_clear_image): Use it.
2578 (x_from_xcolors): Use x_clear_image_1; don't free the image's
2579 mask.
2580
05b1f851
GM
2581 * dispnew.c (update_window): Move test for invisible lines
2582 at the top to update_window_line.
2583 (update_window_line): Handle invisible lines here.
2584
f4779de9
GM
2585 * xfns.c (clear_image_cache): Clear current matrices of all
2586 frames sharing an image cache. Block input while freeing
2587 images. Fix timestamp comparison.
2588 (x_clear_image): Also free the mask.
2589
28c7826c
GM
2590 * xfns.c (lookup_image): Block input while loading the image so
2591 that we won't get interrupted in a state where the image isn't yet
2592 set up completely.
2593 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
2594 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
2595 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
2596 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
2597 input.
2598
b7412313
GM
25992000-09-16 Gerd Moellmann <gerd@gnu.org>
2600
2601 * dispnew.c (update_window): Make sure to make desired rows
2602 current even if they are completely invisible at the top
2603 of a window.
2604
47e351a3
GM
26052000-09-15 Gerd Moellmann <gerd@gnu.org>
2606
7f8f1edc
GM
2607 * xfns.c (lookup_image): Build mask before applying an algorithm.
2608 Recognize algorithm `disabled'.
2609 (cross_disabled_images): New variable.
2610 (COLOR_INTENSITY): New macro.
2611 (x_detect_edges): Use COLOR_INTENSITY.
2612 (x_disable_image): New function.
2613 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
2614
2615 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
2616 disabled state, don't apply an image transformation algorithm if
2617 the user specified an image for the disabled state. Use
28c7826c 2618 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
2619 user hasn't specified an image.
2620
ebb8f116
GM
2621 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
2622 allocation functions with the XPM lib.
2623 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
2624 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
2625 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
2626 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
2627 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
2628 functions.
2629 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
2630 functions, if possible, because these handle color allocation
2631 failure more gracefully.
2632 (Fimage_mask_p): New function.
2633
47e351a3
GM
2634 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
2635 (Qedge_detection, Qheuristic): New symbols.
2636 (syms_of_xfns): Initialize new symbols.
2637 (lookup_image): Handle `:mask X', `:algorithm emboss', and
2638 `algorithm (edge-detection ...)'.
2639 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
2640 (tiff_format, gif_format, gs_format): Add `:mask'.
2641 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
2642 (GIF_MASK, GS_MASK): New enumerators.
2643 (x_laplace_read_row, x_laplace_write_row): Functions removed.
2644 (emboss_matrix, laplace_matrix): New variables.
2645 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
2646 (x_edge_detection): New functions.
2647 (x_laplace): Rewritten in terms of x_detect_edges.
2648 (x_build_heuristic_mask): If image has a mask, free it.
2649
fe83b953
AI
26502000-09-14 Andrew Innes <andrewi@gnu.org>
2651
2652 * makefile.w32-in: Revert to Unix line endings.
2653
3021e816
AI
26542000-09-14 Andrew Innes <andrewi@gnu.org>
2655
2656 * makefile.w32-in: Standardize indentation somewhat.
2657 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
2658 cater for differences between shells.
2659
2660 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
2661
2a32b5ea
GM
26622000-09-14 Gerd Moellmann <gerd@gnu.org>
2663
2664 * xterm.c (x_produce_glyphs): If the distance from the current
2665 position to the next tab stop is less than a canonical character
2666 width, use the tab stop after that.
2667
b4331e96
DL
26682000-09-14 Dave Love <fx@gnu.org>
2669
2670 * buffer.c (alloc_buffer_text): Fix xmalloc call.
2671
ef9e4345
GM
26722000-09-14 Gerd Moellmann <gerd@gnu.org>
2673
085536c2
GM
2674 * xdisp.c (handle_fontified_prop): While running fontification
2675 functions, bind `fontification-functions' and
2676 `after-change-functions' to nil.
2677
ef9e4345
GM
2678 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
2679 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
2680
2681 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
2682
2683 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
2684 USE_MMAP_FOR_BUFFERS.
2685
2686 * insdel.c (make_gap): Use enlarge_buffer_text.
2687
2688 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
2689 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
2690 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
2691 from former r_alloc_* functions in ralloc.c.
2692 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
2693 variables.
2694 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
2695 (mmap_init) [REL_ALLOC_MMAP]: New function.
2696 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
2697 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
2698 BUFFER_FREE.
2699
2700 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
2701 (enlarge_buffer_text): Add prototype.
2702
2703 * ralloc.c: Remove everything having to do with the use of mmap.
2704
f8608968
GM
27052000-09-13 Gerd Moellmann <gerd@gnu.org>
2706
2a494b2d
GM
2707 * sound.c (Fplay_sound): Doc fix.
2708
8c907a56
GM
2709 * keyboard.c: Avoid some more compiler warnings.
2710 (parse_tool_bar_item): Ignore cached key bindings.
2711
f8608968
GM
2712 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
2713 and allocation of Lisp data.
2714
6ab70e9a
GM
27152000-09-12 Gerd Moellmann <gerd@gnu.org>
2716
d12d0a9b
GM
2717 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
2718 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
2719 defaults first.
2720
6ab70e9a
GM
2721 * lread.c (Fload): Put code checking for recursive loads in #if 0.
2722
63c36c3c
KH
27232000-09-12 Miyashita Hisashi <himi@meadowy.org>
2724
2725 * ccl.c: Comment fixed.
2726 (MAX_MAP_SET_LEVEL): Increased to 30.
2727 (PUSH_MAPPING_STACK): Enclose with do-while block.
2728 (POP_MAPPING_STACK): Likewise.
2729 (stack_idx_of_map_multiple): New variable.
2730 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
2731 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
2732 call the corresponding CCL program by
2733 CCL_CALL_FOR_MAP_INSTRUCTION.
2734 (ccl_driver) <CCL_MapSingle>: Likewise.
2735 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
2736 with the case where looking up process reaches to the end of
2737 map-set, and call CCL programs as the above change.
2738
7ee3bd7b
GM
27392000-09-11 Gerd Moellmann <gerd@gnu.org>
2740
8ec8a5ec
GM
2741 * xfns.c (png_load, jpeg_load): Declare some variables volatile
2742 that might be clobbered by longjmp.
2743 (check_x_display_info, x_decode_color, create_frame_xic)
2744 (Fx_display_backing_store, Fx_display_visual_class)
2745 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
2746 warnings.
2747
f74b0705
GM
2748 * lread.c (init_lread): Set Vloads_in_progress to nil.
2749 (Fload): Show list of recursively loaded files, when signaling an
2750 error.
2751
7ee3bd7b
GM
2752 * lread.c (Vloads_in_progress): New variable.
2753 (record_load_unwind): New function.
2754 (Fload): Check for recursive loads.
2755 (syms_of_lread): Initialize Vloads_in_progress.
2756 (read_integer, read1): Avoid some compiler warnings.
2757
2758 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
2759 compiler warnings.
2760
974e1e5b
MB
27612000-09-11 Miles Bader <miles@gnu.org>
2762
2763 * editfns.c (Fbuffer_string): Doc fix.
2764
9824c4e3
GM
27652000-09-10 Gerd Moellmann <gerd@gnu.org>
2766
2767 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
2768
6a72fdd1
KR
27692000-09-09 Ken Raeburn <raeburn@gnu.org>
2770
2771 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
2772 whether to include other header files.
2773
28e6fb66
GM
27742000-09-09 Gerd Moellmann <gerd@gnu.org>
2775
2776 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 2777 by Fmemq as a boolean.
28e6fb66 2778
7f8b6551
SM
27792000-09-08 Stefan Monnier <monnier@cs.yale.edu>
2780
2781 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
2782
a8710abf
GM
27832000-09-08 Gerd Moellmann <gerd@gnu.org>
2784
d1a02881
GM
2785 * ralloc.c (mmap_fd): Remove initializer which can make it
2786 read-only in a dumped Emacs.
2787 (mmap_fd_1): New variable.
2788 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
2789 restore it from there.
2790 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
2791 unconditionally so that mmap_fd can be initialized there.
2792 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
2793 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
2794 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
2795
c454aac1
GM
2796 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
2797
2798 * xdisp.c (dump_glyph_row): Fix printf format string.
2799 (display_line, move_it_in_display_line_to): Avoid compiler
2800 warnings.
2801
fc653ef2
GM
2802 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
2803
3015eec0
GM
2804 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
2805 inheritance.
2806
bfe0ee88
GM
2807 * xdisp.c (try_window_id): When trying to locate cursor in
2808 unchanged rows at the top, handle the case that we can't find it.
2809
a8710abf
GM
2810 * xterm.c (x_draw_glyphs): Handle case START and END are out
2811 of bounds more carefully.
2812
6b7d4ae4
DL
28132000-09-08 Dave Love <fx@gnu.org>
2814
423193c5
DL
2815 * s/sol2.h (REL_ALLOC_MMAP): Define.
2816 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
2817
2818 * ralloc.c: Don't include string.h (redundant).
2819 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
2820 [!MAP_ANON]: Include fcntl.h.
2821 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
2822 (r_alloc, r_re_alloc, r_alloc_free)
2823 (mmap_enlarge, mmap_set_vars): Use it.
2824 (r_alloc_init_fd): New function.
2825 (__morecore) [SYSTEM_MALLOC]: Don't declare.
2826 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
2827 malloc type.
2828
2829 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
2830 Remove vm-limit.o.
2831
6b7d4ae4
DL
2832 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
2833 change to __NetBSD__.
2834
44d31981
KH
28352000-09-08 Kenichi Handa <handa@etl.go.jp>
2836
2837 * search.c (compile_pattern): Check the multibyteness of cached
2838 string and PATTERN.
2839
aad40737
MB
28402000-09-08 Miles Bader <miles@gnu.org>
2841
2842 * xfaces.c (default_face_vector): Function removed.
2843 (Finternal_merge_in_global_face): Restore old global/local
2844 attribute override order. Use inline loop instead of calling
2845 default_face_vector.
2846
91a211b5
GM
28472000-09-07 Gerd Moellmann <gerd@gnu.org>
2848
2849 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
2850 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
2851 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
2852 where necessary, in case POINTER_TYPE is `void'.
2853
03419440
EZ
28542000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
2855
2856 * frame.c (make_terminal_frame): Initialize frame foreground and
2857 background colors to unspecified, for the initial instance of an
2858 MSDOS frame.
2859
f46f845b
GM
28602000-09-07 Gerd Moellmann <gerd@gnu.org>
2861
24f76fbf
GM
2862 * ralloc.c (mmap_find): Fix overlap computation.
2863 (mmap_enlarge): Compute nbytes before trying to find an
2864 overlapping region.
2865
f46f845b
GM
2866 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
2867 instead of `!='.
2868
2869 * lread.c (syms_of_lread): Change value of regexp
2870 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
2871
2872 * xmenu.c (xdialog_show): When looking up the selection in
2873 menu_items, take `quote' boundaries into account; this corresponds
2874 to a nil ITEM in x-popup-dialog.
2875
3c014385
KH
28762000-09-07 Kenichi Handa <handa@etl.go.jp>
2877
fd6f711b
KH
2878 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
2879 not 0x81.
2880 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
2881
3c014385 2882 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
2883 encoding, not decoding. Fix the handling of latin-jisx0201.
2884 Check for the charset katakana-jisx0201 too.
3c014385 2885 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 2886 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 2887
0da3ecef
GM
28882000-09-07 Gerd Moellmann <gerd@gnu.org>
2889
ab0ee409
GM
2890 * xfaces.c (Vparam_value_alist): New variable.
2891 (syms_of_xfaces): Initialize it.
2892 (Finternal_set_lisp_face_attribute): Avoid more consing.
2893
2894 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
2895 specially.
2896 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
2897 (Qbackground_mode): New variable.
2898 (syms_of_frame_1): Initialize Qbackground_mode.
2899
2900 * lisp.h (Qdisplay): Declare extern.
1091dd67 2901
0da3ecef
GM
2902 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
2903 change face on all frames, and change the default for new frames.
2904
b14654b9
DL
29052000-09-07 Dave Love <fx@gnu.org>
2906
2907 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
2908
d24fd56f
KH
29092000-09-07 Kenichi Handa <handa@etl.go.jp>
2910
794f3670
KH
2911 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
2912
0fddd0dc
KH
2913 * charset.c: Include composite.h
2914 (lisp_string_width): New function.
2915 (Fstring_width): Call lisp_string_width instead of strwidth.
2916
2917 * Makefile.in (charset.o): Depends on composite.h.
2918
d24fd56f
KH
2919 * process.c (read_process_output): Before inserting the decoded
2920 text in the buffer, adjust the multibyteness.
2921
fa0b693c
GM
29222000-09-06 Gerd Moellmann <gerd@gnu.org>
2923
73b77ee5
GM
2924 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
2925 buffer's text buffer is null, map new memory.
2926
0a58f946
GM
2927 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
2928 POINTER_TYPE and size_t.
2929 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
2930 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
2931 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
2932 [REL_ALLOC_MMAP]: New macros.
2933 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
2934 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
2935 [REL_ALLOC_MMAP]: New functions.
2936
2937 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
2938 before and after unexec.
2939
2940 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
2941 text buffers if necessary.
2942
2943 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
2944 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
2945 in prototypes.
2946
fa0b693c
GM
2947 * config.in (HAVE_MMAP): Add #undef.
2948
877055f6
GM
29492000-09-05 Gerd Moellmann <gerd@gnu.org>
2950
08ba3862
GM
2951 * frame.c (Qdisplay_type): New variable.
2952 (syms_of_frame_1): Initialize it.
2953 (Fframe_parameter): New function that avoids consing.
2954 (syms_of_frame): Defsubr it.
2955
66ffe51c
GM
2956 * buffer.c (Fother_buffer): Consider buffers as invisible when
2957 they are displayed in a window on an invisible frame.
2958
877055f6
GM
2959 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
2960 get-largest-window always return nil.
2961
bb970e67
GM
29622000-09-04 Gerd Moellmann <gerd@gnu.org>
2963
2964 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
2965 variable; recognize Emacs 19 elc files.
2966
7a3d0e0e
MB
29672000-09-04 Miles Bader <miles@gnu.org>
2968
2969 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
2970 before initially popping up the menu, so the menu doesn't flash
2971 when the face settings are significantly different from the
2972 defaults.
2973
14473664
SM
29742000-09-04 Stefan Monnier <monnier@cs.yale.edu>
2975
2976 * regex.c (WIDE_CHAR_SUPPORT): New macro.
2977 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
2978 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
2979 (BIT_UNIBYTE): Remove.
2980 (re_match_2_internal): Delete corresponding code and streamline the
2981 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
2982 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
2983 (re_wctype_t): New type.
2984 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
2985 (regex_compile): Use them and fix handling of overly long char classes.
2986
c1174479
AI
29872000-09-03 Andrew Innes <andrewi@gnu.org>
2988
f8803e97
AI
2989 * makefile.w32-in: Change to DOS line endings.
2990
c1174479
AI
2991 * s/ms-w32.h (ORDINARY_LINK): New define.
2992
2993 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
2994 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
2995
2996 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
2997 (distclean): Delete them here instead.
2998
44ef7cf6
AI
2999 * w32proc.c (compare_env): Convert to uppercase for comparison,
3000 not lowercase, to match how the native Windows shell works.
3001
49b3bd82
JR
30022000-09-03 Jason Rumney <jasonr@gnu.org>
3003
3004 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
3005 CVS changes the line-ends when checking in/out on DOS/Windows.
3006
3007 * makefile.nt (emacs): Do not change directory to run temacs, as
3008 the load-path is set relative to current directory.
3009
a3d35a39
MB
30102000-09-03 Miles Bader <miles@gnu.org>
3011
3012 * xterm.c (x_alloc_lighter_color_for_widget): New function.
3013
d276b0cf
GM
30142000-09-02 Gerd Moellmann <gerd@gnu.org>
3015
715e84c9
GM
3016 * xdisp.c (redisplay_mode_lines): New function.
3017 (display_mode_lines): Return number of mode lines displayed.
3018 (echo_area_display): Use redisplay_mode_lines to draw garbaged
3019 mode lines. Don't temporarily bind redisplay-dont-pause to t.
3020
8892f40b
GM
3021 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
3022 string.h and strings.h.
3023 (index) [HAVE_INDEX]: Add prototype.
3024
d276b0cf
GM
3025 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
3026 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
3027
3028 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
3029 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
3030
38404229
GM
30312000-09-01 Gerd Moellmann <gerd@gnu.org>
3032
3033 * lread.c (read1): Accept `?' as symbol constituent, for
3034 compatiblity with XEmacs.
3035
c0f9ea08
SM
30362000-08-31 Stefan Monnier <monnier@cs.yale.edu>
3037
3038 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
3039 (struct re_pattern_buffer): Remove newline_anchor.
3040 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
3041 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
3042 (re_max_failures, fail_stack): Use size_t rather than unsigned.
3043 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
3044 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
3045 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
3046 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
3047 Get rid of references to newline_anchor.
3048 (regcomp): Allocate and precompute a fastmap.
3049
8c0f83fe
GM
30502000-08-31 Gerd Moellmann <gerd@gnu.org>
3051
3052 * lread.c (openp): GCPRO local variable `filename'.
3053
4bb91c68
SM
30542000-08-30 Stefan Monnier <monnier@cs.yale.edu>
3055
3056 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
3057
3058 * regex.c: Merge some changes from GNU libc. Add prototypes.
3059 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
3060 Use memcmp and memcpy instead of bcopy and bcmp.
3061 (init_syntax_once): Use ISALNUM.
3062 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
3063 (REG_UNSET_VALUE): Remove. Use NULL instead.
3064 (REG_UNSET, re_match_2_internal): Use NULL.
3065 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
3066 New macros.
3067 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
3068 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
3069 (regex_compile): In handle_interval, return an error rather than try to
3070 unfetch the interval if we can't find the closing brace.
3071 Obey the RE_NO_GNU_OPS syntax bit.
3072 (TOLOWER): New macro.
3073 (regcomp): Use it.
3074 (regexec): Allocate regs.start and regs.end as one block.
3075
5226a931
GM
30762000-08-30 Gerd Moellmann <gerd@gnu.org>
3077
868dd24b
GM
3078 * xdisp.c (echo_area_display): Check display_completed instead
3079 of calling detect_input_pending.
3080
3081 * dispnew.c (update_frame): Only set display_completed here; move
3082 the update_begin and update_end calls here from update_frame_1.
3083 (update_frame_1): Don't set display_completed here, don't call
3084 update_begin/update_end.
3085
5226a931
GM
3086 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
3087 instead of store_frame_param.
3088
2a8bd25f
GM
30892000-08-29 Gerd Moellmann <gerd@gnu.org>
3090
3091 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
3092 desired window matrix hasn't been displayed, use the current row
3093 instead. Make sure that only those frame rows are updated for
3094 which there exists a corresponding enabled desired row.
3095
ba3478d9
MB
30962000-08-29 Miles Bader <miles@gnu.org>
3097
3098 * xfaces.c (default_face_vector): New function.
3099 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
3100
87d0f685
GM
31012000-08-29 Gerd Moellmann <gerd@gnu.org>
3102
3103 * lread.c (openp): Prevent temporary string passed to
3104 Ffile_readable_p from being garbage collected.
3105
6fa86045
DL
31062000-08-28 Dave Love <fx@gnu.org>
3107
3108 * keymap.c (store_in_keymap): Add `static' to declaration.
3109
bb17930d
GM
31102000-08-28 Gerd Moellmann <gerd@gnu.org>
3111
3112 * emacs.c, callint.c, doc.c, editfns.c
3113 (toplevel) [HAVE_STRING_H]: Include string.h.
3114 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
3115 (index): Remove prototypes which might conflict with non-standard
3116 definitions of index/strchr.
3117
3118 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
3119 (rindex): Define only if !HAVE_RINDEX.
3120
3121 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
3122
3123 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
3124
87188200
MB
31252000-08-28 Miles Bader <miles@gnu.org>
3126
3127 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
3128 made inconsistent by a font-related attribute in FROM.
3129 (merge_face_inheritance): Add function comment.
3130
41a68aef
KH
31312000-08-28 Kenichi Handa <handa@etl.go.jp>
3132
3133 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
3134 the 4th arg (PREV_EVENT) Qt to suppress input method.
3135
f7c436c1
SM
31362000-08-27 Stefan Monnier <monnier@cs.yale.edu>
3137
0b32bf0e
SM
3138 * regex.c: Indent cpp directives and remove parens after `defined'.
3139 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
3140 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
3141 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
3142 (re_compile_pattern): Use size_t for length.
3143 (init_syntax_once): Move to a better place.
3144 * regex.h: Merge changes from GNU libc. Indent cpp directives.
3145 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
3146
f7c436c1
SM
3147 * syntax.c (back_comment): Detect cases where a comment-starter is
3148 actually inside another comment as in: /* a // b */ c // d \n.
3149 Make it clear that `comstart_pos' is unused for nested comments.
3150
3151 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
3152 (KEYMAPP): New macro.
3153 (Fkeymap_parent, Fset_keymap_parent): Use it.
3154 (fix_submap_inheritance): Mark it static.
3155 (define_as_prefix, describe_buffer_bindings, describe_command)
3156 (describe_translation, describe_map): Complete prototypes.
3157
3158 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
3159
3160 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
3161 to better match the key-lookup behavior.
3162
6288c62f
GM
31632000-08-27 Gerd Moellmann <gerd@gnu.org>
3164
3165 * xfaces.c (lface_fully_specified_p): Handle :inherit.
3166 (Finternal_set_lisp_face_attribute): Fix typo in error message.
3167
e931344e
EZ
31682000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
3169
3170 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
3171 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
3172 (xterm.o): Depend on coding.h
3173
d10dfeef
KH
31742000-08-26 Kenichi Handa <handa@etl.go.jp>
3175
3176 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
3177 the corresponding '#endif'.
3178
2d73e8d3
MB
31792000-08-26 Miles Bader <miles@gnu.org>
3180
3181 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
3182 * xfaces.c (QCinherit): New variable.
3183 (syms_of_xfaces): Initialize it.
3184 (LFACE_INHERIT): New macro.
3185 (Finternal_get_lisp_face_attribute)
3186 (merge_face_vector_with_property)
3187 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
3188 (check_lface_attrs): Allow new types of face height. Check
3189 inherit attribute.
3190 (CYCLE_CHECK): New macro.
3191 (merge_face_inheritance): New function.
3192 (merge_face_vectors): Merge inherited faces too. Add F and
3193 CYCLE_CHECK arguments.
3194 (merge_face_vector_with_property, Finternal_merge_in_global_face)
3195 (lookup_named_face, lookup_derived_face, realize_named_face)
3196 (face_at_string_position, face_at_buffer_position): Supply
3197 new F and CYCLE_CHECK arguments to merge_face_vectors.
3198 (merge_face_heights): New function.
3199 (merge_face_vectors, merge_face_vector_with_property)
3200 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
3201 handle relative face heights.
3202 (lface_same_font_attributes_p): Compare heights using EQ.
3203
6ce974d4
KH
32042000-08-26 Kenichi Handa <handa@etl.go.jp>
3205
3206 * charset.c (char_to_string): Check the character validity.
3207 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
3208 0.
3209
dc1e502d
SM
32102000-08-25 Stefan Monnier <monnier@cs.yale.edu>
3211
3212 * regex.c (PUSH_FAILURE_COUNT): New macro.
3213 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
3214 Handle popping of a register's or a counter's data.
3215 (POP_FAILURE_POINT): Use the new name.
3216 (re_match_2_internal): Push counter data on the stack for succeed_n,
3217 jump_n and set_number_at and remove misleading dead code in succeed_n.
3218
bd9d0f3f
GM
32192000-08-25 Gerd Moellmann <gerd@gnu.org>
3220
3221 * xdisp.c (redisplay_internal): If considering all windows on all
3222 frames, update the display for each frame as soon as possible,
3223 instead of first building all desired matrices for all frames, and
3224 then updating them all.
3225 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
3226
aa5b8e15
GM
32272000-08-24 Gerd Moellmann <gerd@gnu.org>
3228
17494071
GM
3229 * bytecode.c (mark_byte_stack): Add a comment.
3230
aa5b8e15
GM
3231 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
3232 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
3233 a graphical frame.
3234
c543db81
KH
32352000-08-24 Kenichi Handa <handa@etl.go.jp>
3236
d246d5f5
KH
3237 * minibuf.c (do_completion): Always use compare-string, not
3238 string-equal because the latter doesn't pay attention to
3239 multibyteness of strings.
3240
c543db81
KH
3241 * process.c (create_process): Don't setup raw-text coding here.
3242 (Fopen_network_stream): Don't set coding->src_multibyte and
3243 coding->dst_multibyte here.
3244 (read_process_output): For process filter, return unibyte string
3245 if default-enable-multibyte-characters is nil.
3246 (send_process): If OBJECT is multibyte text, be sure to encoded it
3247 by the specified coding system for the process. Otherwise, setup
3248 raw-text coding.
3249 (init_process): Don't initialize default-process-coding-system
3250 here.
3251
9b47cfe0
EZ
32522000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
3253
3254 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
3255 <scroll-down-aggressively>: Likewise.
3256
f5a36960
KH
32572000-08-23 Kenichi Handa <handa@etl.go.jp>
3258
3259 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
3260 zero. Set coding->produced_char correctly.
3261
69a7ffa7
AI
32622000-08-22 Andrew Innes <andrewi@gnu.org>
3263
3264 * makefile.w32-in: New file.
3265
3266 * unexw32.c (unexec): Ignore old_name, and use the actual location
3267 of the current executable instead. Base new_name on this.
3268
3269 * w32proc.c (create_child): Remove reference to security
3270 descriptor, which isn't needed and doesn't compile with mingw32.
3271
3272 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3273 up dllimport attributes.
3274 (x_update_window_end): Update prototype.
3275
3276 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
3277 extern, which screws up dllimport attributes.
3278
3279 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3280 up dllimport attributes.
3281
3282 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
3283 screws up dllimport attributes.
3284
3285 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3286 up dllimport attributes.
3287 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
3288 screws up dllimport attributes.
3289
3290 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3291 up dllimport attributes.
3292
3293 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
3294 screws up dllimport attributes.
3295
3296 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
3297 screws up dllimport attributes.
3298
3299 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3300 up dllimport attributes.
3301
3302 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
3303 unnecessary extern, which screws up dllimport attributes.
3304 (main): Ditto.
3305
3306 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3307 up dllimport attributes.
3308
3309 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
3310 unnecessary extern, which screws up dllimport attributes.
3311
3312 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
3313 screws up dllimport attributes.
3314
3315 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
3316 up dllimport attributes.
3317
3318 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
3319
3320 * w32bdf.c (search_file_line):
3321 (set_bdf_font_info):
3322 (seek_char):
3323 (w32_get_bdf_glyph):
3324 (w32_BDF_to_x_font): Fix compile warnings.
3325
3326 * w32menu.c: Include keyboard.h before frame.h. Fix compile
3327 warnings.
3328
3329 * w32select.c: Include keyboard.h before frame.h.
3330
3331 * w32fns.c (max): Define macro.
3332 (JOHAB_CHARSET): Define if not known.
3333 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
3334 (Fx_show_tip): Synch with X version.
3335
3336 * w32xfns.c: Include keyboard.h before frame.h.
3337
3338 * w32fns.c: Include keyboard.h before frame.h.
3339
3340 * w32term.c: Include keyboard.h before frame.h.
3341
3342 * fontset.c: Include keyboard.h before frame.h.
3343
3344 * w32inevt.c: Include keyboard.h before frame.h.
3345 (MOUSE_MOVED): Define if not known.
3346
3347 * minibuf.c: Include keyboard.h before frame.h.
3348
3349 * keyboard.c: Include keyboard.h before frame.h.
3350
3351 * indent.c: Include keyboard.h before frame.h.
3352
3353 * dispnew.c: Include keyboard.h before frame.h.
3354
3355 * buffer.c: Include keyboard.h before frame.h.
3356
3357 * alloc.c: Include keyboard.h before frame.h.
3358
3359 * print.c: Include keyboard.h before frame.h.
3360
3361 * process.c: Include keyboard.h before frame.h.
3362
3363 * scroll.c: Include keyboard.h before frame.h.
3364
3365 * sysdep.c: Include keyboard.h before frame.h.
3366
3367 * term.c: Include keyboard.h before frame.h.
3368
3369 * window.c: Include keyboard.h before frame.h.
3370
3371 * xdisp.c: Include keyboard.h before frame.h.
3372 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
3373
3374 * frame.c: Include keyboard.h before frame.h.
3375
3376 * w32heap.h: Undefine min, max.
3377
3378 * w32gui.h: Undefine min, max.
3379
3380 * unexw32.c: Change PUCHAR to PCHAR.
3381 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
3382 (relocate_offset):
3383 (get_section_info):
3384 (copy_executable_and_dump_data): Remove unnecessary static defs.
3385 (copy_executable_and_dump_data): Fix compile warnings.
3386
3387 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
3388
3389 * w32console.c (min): Define macro.
3390 (clear_frame, write_glyphs): Fix compile warning.
3391
3392 * w32proc.c (compare_env):
3393 (find_child_console): Fix compile warning.
3394
3395 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
3396 sys_errlist instead of _sys_errlist.
3397 (get_emacs_configuration_options): New function.
3398
3399 * s/ms-w32.h (sys_nerr): Provide default definition.
3400 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
3401 name with _ prepended.
3402 (NSIG): Define if not known.
3403 (get_emacs_configuration): Provide extern declaration.
3404 (get_emacs_configuration_options): Provide extern declaration.
3405 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
3406
3407 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
3408 (map_w32_filename):
3409 (read_unc_volume): Fix compile warning.
3410
3411 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
3412 definitions from being used.
3413
3414 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
3415
3416 * w32.c (unc_volume_file_attributes):
3417 (open_unc_volume): Make arg const.
3418
3419 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
3420 (read_input_waiting): Remove excess parameter.
3421
3422 * w32.c (init_environment): Call _access.
3423 (check_windows_init_file): Call _close.
3424 (init_user_info): Call _putenv.
3425 (init_environment): Call _putenv and _strdup.
3426 (init_ntproc): Reset volume info cache on startup.
3427
3428 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
3429 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
3430 cannot override the CRT malloc.
3431
3432 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
3433 (LINK_FLAGS): Append to original value of LINK_FLAGS.
3434
3435 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
3436 unless we are linking with a static CRT.
3437 (RVA_TO_PTR): Cast result to unsigned char*.
3438
3439 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
3440 (add_volume_info): Use xstrdup.
3441
25060080
SM
34422000-08-22 Stefan Monnier <monnier@cs.yale.edu>
3443
3444 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
3445 (do_completion, Fminibuffer_complete_word): Use it.
3446 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
3447 var so it can take non-boolean values.
3448
6917e6bb
GM
34492000-08-21 Gerd Moellmann <gerd@gnu.org>
3450
acb7cc89
GM
3451 * editfns.c (find_field): Formatting changes.
3452 (toplevel): Some old-style function forward declarations
3453 changed to prototypes, some new protypes added, some functions
3454 made static.
3455
3456 * lisp.h (set_time_zone_rule): Add prototype.
3457 (use_dialog_box): External declaration.
3458
0bbfdc25
GM
3459 * keyboard.c (gen_help_event): Add parameter SIZE.
3460 (kbd_buffer_events_waiting): Slightly rewritten.
3461 (clear_event): New function.
3462 (kbd_buffer_get_event): Use it, and clear the input_events of
3463 HELP_EVENTs.
3464 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
3465 don't fill the newly created array with nils.
3466 (toplevel): Convert some old-style function forward declarations
3467 to prototypes.
3468
3469 * keyboard.h (gen_help_event): Change prototype.
3470
3471 * xterm.c (XTread_socket): Change calls to gen_help_event.
3472
3473 * w32term.c (w32_read_socket): Change calls to gen_help_event.
3474
6917e6bb
GM
3475 * eval.c (Fmacroexpand): Doc fix.
3476
e5cd3d11
JR
34772000-08-20 Jason Rumney <jasonr@gnu.org>
3478
3479 * w32term.h (x_display_info_for_display): Remove as this function
3480 does not exist on W32.
3481
3482 * w32term.c (help_echo_window): New variable.
3483 (syms_of_w32term): staticpro it.
3484 (note_mode_line_highlight): Set it.
3485 (XTextExtents16): Removed as there is no equivalent on W32.
3486 (x_compute_glyph_string_overhangs): Incomplete body removed, as
3487 the X way of doing this will not work for W32.
3488 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
3489 (x_draw_image_foreground): Avoid drawing outside of the clip area
3490 when image doesn't have a mask.
3491 (note_mouse_highlight): Process overlays in the right order of
3492 priority. Set help_echo_window.
3493 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
3494 because that's more visible for large images.
3495
3496 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
3497 name to single_keymap_panes.
3498 (w32_menu_show): Set wv->title when dealing with titles.
3499 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
3500
6e69ab8c
MB
35012000-08-21 Miles Bader <miles@gnu.org>
3502
3503 * minibuf.c (do_completion): Try again if we rewrite the input
3504 string, but no completion was done, so that any completion message
3505 will be correct.
3506
511bd4eb
GM
35072000-08-20 Gerd Moellmann <gerd@gnu.org>
3508
3509 * xfaces.c (lface_equal_p): Compare strings differently.
3510 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
3511 (realize_tty_face): Use them.
3512 (syms_of_xfaces): Initialize new variables.
3513 (map_tty_color): New function, extracted from realize_tty_face.
3514 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
3515 foreground or background color, store the new color name in the
3516 realized face; previous code trying to do this had no effect.
3517 (realize_tty_face): Use map_tty_color.
3518 (Fclear_face_cache): Set face_change_count and ensure thorough
3519 redisplay.
3520
1433385f
GM
35212000-08-19 Gerd Moellmann <gerd@gnu.org>
3522
511bd4eb
GM
3523 * undo.c (record_first_change, record_marker_adjustment): Don't
3524 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 3525
419ac0a2
KH
35262000-08-18 Kenichi Handa <handa@etl.go.jp>
3527
3528 * coding.c (decode_coding_string): Set members consumed,
3529 consumed_char, produced, produced_char of *coding correctly. If
3530 decode_coding doesn't consume any byte, don't try anymore.
3531 (encode_coding_string): Likewise.
3532
7eb9e30d
GM
35332000-08-18 Gerd Moellmann <gerd@gnu.org>
3534
511bd4eb
GM
3535 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
3536 conditional have void type, for Standard C compilers.
7eb9e30d
GM
3537
3538 * xdisp.c (redisplay_internal): Compare windows for equality with
3539 EQ, instead of applying XWINDOW to something that might not
3540 be a window.
3541
dd34a735
KH
35422000-08-18 Kenichi Handa <handa@etl.go.jp>
3543
3544 * fontset.c (Finternal_char_font): Search only the selected frame
3545 for a window of the current buffer.
3546
385ff9e3
GM
35472000-08-18 Gerd Moellmann <gerd@gnu.org>
3548
511bd4eb 3549 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
3550 Lisp_Objects.
3551
385ff9e3
GM
3552 * keyboard.c (kbd_buffer_get_event): Handle the case that the
3553 second half of a HELP_EVENT is found at the start of kbd_buffer.
3554
d6abb4c7
MB
35552000-08-18 Miles Bader <miles@gnu.org>
3556
4618074a
MB
3557 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
3558
d6abb4c7
MB
3559 * editfns.c (save_restriction_save): Rewrite to use markers.
3560 (save_restriction_restore): Rewrite to understand new form of data
3561 saved by save_restriction_save.
3562 (Fsave_restriction): Remove cautionary note in doc-string.
3563
a7b28523
GM
35642000-08-17 Gerd Moellmann <gerd@gnu.org>
3565
3566 * fileio.c (build_annotations): Add a comment explaining the
3567 return value of format-annotate-function. Replace a spurious call
3568 to Flength with a CONSP test. Call format-annotate-function with
3569 a fifth arg specifying how many times the function is been called
3570 in a row, to let it choose temporary buffers appropriately.
3571
03c9ed77
DL
35722000-08-17 Dave Love <fx@gnu.org>
3573
3574 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
3575 declare make_temp_name twice.
3576
3577 * lread.c: Prototype readevalloop, load_unwind,
3578 load_descriptor_unwind.
3579 (unreadpure): Give it an arg.
3580
3581 * unexalpha.c: Prototype fatal_unexec, mark_x,
3582 update_dynamic_symbols. Declare unexec as void.
3583
3584 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
3585 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
3586
3587 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
3588 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
3589 DOUG_LEA_MALLOC.
3590
3591 * alloca.c: Use #error.
3592 [POINTER_TYPE]: Use it.
3593
3594 * eval.c (Fdefvar): Doc fix.
3595
3596 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
3597 INITIALIZE_INTERVAL.
3598
3599 * buffer.h: Avoid DECLARE_INTERVALS.
3600
3601 * config.in: Add size_t.
3602
aae41d97
EZ
36032000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
3604
3605 * w16select.c (set_clipboard_data): If there's not enough memory
3606 to put text into clipboard, return 1, as Fw16_set_clipboard_data
3607 expects. In case of other failures, return 3.
3608 (system_error_msg): New error message.
3609 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
3610 system_error_msg.
3611
65aa5e85
GM
36122000-08-16 Gerd Moellmann <gerd@gnu.org>
3613
3614 * term.c (write_glyphs): Also turn off inverse video after turning
3615 off other appearances in case TS_exit_attribute_mode is not equal
3616 to TS_end_standout_mode.
3617 (insert_glyphs): Turn inverse video on/off for each run of glyphs
3618 with the same face.
3619 (turn_off_face): Reset standout_mode only if
3620 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
3621 is equal to TS_end_standout_mode.
3622
ece23901
KH
36232000-08-16 Kenichi Handa <handa@etl.go.jp>
3624
9d7bcb2e
KH
3625 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
3626 sequence at the end of the source block.
3627
ece23901
KH
3628 * ccl.c (Fccl_program_p): Docstring modified.
3629 (Fccl_execute): Likewise.
3630 (Fccl_execute_on_string): Likewise.
3631
5e30eaa2
EZ
36322000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
3633
3634 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
3635
290602fd
KH
36362000-08-16 Kenichi Handa <handa@etl.go.jp>
3637
3638 The following changes are mainly to fix bugs of
3639 encode/decode-coding-string failing if encoding/decoding return
3640 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
3641 variable conversion_buffer.
3642
3643 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
3644 decrement dst_end to avoid buffer overflow in the later call of
3645 string_as_multibyte
3646
3647 * coding.h (conversion_buffer_size, conversion_buffer)
3648 (get_conversion_buffer): Extern deleted.
3649
3650 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
3651 (conversion_buffer, conversion_buffer_size): Variables deleted.
3652 (get_conversion_buffer): Function deleted.
3653 (struct conversion_buffer): New structure.
3654 (MAX_ALLOCA): New macro.
3655 (allocate_conversion_buffer): New macro.
3656 (extend_conversion_buffer, free_conversion_buffer): New functions.
3657 (ccl_coding_driver): Set coding->result.
3658 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
3659 this is the last block of source.
3660 (encode_coding): Likewise. Handle the source block as the last
3661 one only when the whole source text is consumed.
3662 (decode_coding_string): Handle the case that the output buffer is
3663 too small to decode the whole source text. Use
3664 allocate_conversion_buffer, extend_conversion_buffer and
3665 free_conversion_buffer, not get_conversion_buffer.
3666 (encode_coding_string): Likewise.
3667 (init_coding): Function deleted.
3668 (init_coding_once): Delete code to initialize
3669 conversion_buffer_size.
3670
3671 * emacs.c (main): Don't call init_coding.
3672
3673 * msdos.c (IT_write_glyphs): Use a locally declared
3674 conversion_buffer.
3675
3676 * term.c (write_glyphs): Use a locally declared conversion_buffer.
3677 (insert_glyphs): Likewise.
3678
3679 * w32console.c (write_glyphs): Use a locally declared
3680 conversion_buffer.
3681
b9f80d41
EZ
36822000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
3683
3684 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
3685 member of display_info is NULL.
3686
32dc52f7
GM
36872000-08-15 Gerd Moellmann <gerd@gnu.org>
3688
58ed0d3b
GM
3689 * alloc.c (compact_small_strings): Use safe_bcopy, add an
3690 assertion.
3691
32dc52f7 3692 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 3693 appearances with capability `me'.
32dc52f7
GM
3694 (write_glyphs): Switch on inverse video before each face change.
3695
4eb22d33
DL
36962000-08-14 Dave Love <fx@gnu.org>
3697
3698 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
3699 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
3700 (lisp_free): Declare and make static.
3701
3702 * window.c: Fix embedded comment.
3703 (syms_of_window): Fix doc string.
3704
90cbf47e
GM
37052000-08-14 Gerd Moellmann <gerd@gnu.org>
3706
3707 * keymap.c (push_key_description): If C without modifiers is < 32,
3708 make sure to print `C-' before `M-', like in the manual.
3709
440fc135
GM
37102000-08-11 Gerd Moellmann <gerd@gnu.org>
3711
3712 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
3713 since they aren't relocated anymore.
3714 (sxhash_string): Make sure returned hash code fits in a Lisp
3715 integer.
3716
3717 * xdisp.c (try_cursor_movement): Fix handling of cursor in
3718 partially visible line which is smaller than the window's
3719 height.
3720
6e264fad
KH
37212000-08-11 Kenichi Handa <handa@etl.go.jp>
3722
3723 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
3724 the multibyte form of eight-bit-control characters.
3725 (Fccl_execute_on_string): Initialize ccl->multibyte.
3726
3727 * ccl.h (struct ccl_program): New member multibyte.
3728
3729 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
3730
c371f69a
KH
37312000-08-11 Kenichi Handa <handa@etl.go.jp>
3732
3733 * regex.c (regex_compile) <normal_char>: Pay attention to
3734 multibyteness.
3735 (analyse_first) <exactn>: Setup fastmap correctly for
3736 eight-bit-control characters.
3737
37382000-08-11 Kenichi Handa <handa@etl.go.jp>
3739
3740 * termhooks.h (enum event_kind): New member
3741 multibyte_char_keystroke.
3742
3743 * keyboard.c (make_lispy_event): Handle the new event type
3744 multibyte_char_keystroke.
3745
3746 * xterm.c: Include coding.h.
3747 (XTread_socket): Work around a bug of XmbLookupString. If the
3748 input is from XIM, decode it according to the current locale. In
3749 that case, generate multibyte_char_keystroke events.
3750
b8ddbe71
KH
37512000-08-11 Kenichi Handa <handa@etl.go.jp>
3752
3753 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
3754 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
3755
47589c8c
GM
37562000-08-10 Gerd Moellmann <gerd@gnu.org>
3757
3758 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
3759 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
3760 (move_it_in_display_line_to): Record iterator's ascent and descent
3761 before producing glyphs, and restore them when we know the glyph
3762 doesn't fit on the line.
3763 (move_it_to): Restructured so that it's easier to debug. If
3764 moving to a vpos, and not moving to an x or character position,
3765 stop as soon as the specified vpos is reached; don't move further
3766 into that line because that might change the computed line height.
3767 (try_cursor_movement): New function, extracted from the cursor
3768 movement branch of redisplay_window. If ending on a partially
3769 visible line, don't try to scroll if the cursor line is taller
3770 than the window.
3771 (redisplay_window): Use try_cursor_movement.
3772
3773 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
3774 because that function doesn't cope with variable-height lines.
3775
3776 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
3777 box cursor because that's better visible for large images.
3778
c51bacd6
MB
37792000-08-10 Miles Bader <miles@gnu.org>
3780
3781 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
3782
bea56df7
GM
37832000-08-10 Gerd Moellmann <gerd@gnu.org>
3784
3785 * xdisp.c (Vmessages_buffer_name): New variable.
3786 (message_dolog): Use it.
3787 (syms_of_xdisp): Initialize it.
3788
99cd7364
EZ
37892000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
3790
3791 * msdos.c (IT_note_mouse_highlight): Update the calls to
3792 overlays_at.
3793 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
3794 redundant now that keyboard.h is included.
3795
7d093d56
EZ
37962000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
3797
3798 * keyboard.c (kbd_buffer_events_waiting): New function.
3799
3800 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
3801
3802 * msdos.c: Include keyboard.h.
3803 (XMenuActivate): Empty no_event events from the event buffer. If
3804 no events are left after that, call clear_input_pending.
3805 (mouse_clear_clicks): New function, code moved from mouse_init.
3806 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
3807 mouse driver to ``forget'' any past clicks.
3808
3809 * Makefile.in (msdos.o): Depend on keyboard.h.
3810
41e757a6
GM
38112000-08-09 Gerd Moellmann <gerd@gnu.org>
3812
8e7bd231
GM
3813 * lisp.h (input_pending): External declaration.
3814
3815 * dispextern.h (Qredisplay_dont_pause): Declare extern.
3816
3817 * xdisp.c (echo_area_display): Display thoroughly if input is
3818 pending. Bind redisplay-dont-pause to t during the redisplay.
3819 in case input is pending.
3820
3821 * dispnew.c (Qredisplay_dont_pause): New variable.
3822 (syms_of_display): Initialize and staticpro it.
3823 (update_frame_1): Don't interrupt the display for pending input if
3824 redisplay_dont_pause is set.
3825
43028b7e
GM
3826 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
3827
41e757a6
GM
3828 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
3829
2f2174fa
KH
38302000-08-09 Miles Bader <miles@lsi.nec.co.jp>
3831
3832 * callproc.c (Fcall_process): Terminate the unwind-protect around
3833 the post-read-conversion of coding system.
3834
0a6fd67e
MB
3835 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
3836 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
3837 * buffer.h (overlays_at): Update prototype.
3838 * xdisp.c (next_overlay_change): Update call to overlays_at.
3839 * xfaces.c (face_at_buffer_position): Likewise.
3840 * textprop.c (Fget_char_property): Likewise.
3841 * xterm.c (note_mouse_highlight): Likewise.
3842
0c80756e
MB
3843 * minibuf.c (do_completion): Don't consider a simple change of
3844 case as `completion'.
3845
975f250a
KR
38462000-08-08 Ken Raeburn <raeburn@gnu.org>
3847
b347b3fd
KR
3848 * keyboard.c (syms_of_keyboard): Initialize
3849 last_point_position_buffer.
3850 * undo.c (record_delete): Make sure last_point_position_buffer is
3851 a buffer before comparing pointers.
3852
3853 * coding.h (decode_coding_string): Declare.
3854
3855 * intervals.h (Fprevious_single_char_property_change): Declare.
3856
3857 * textprop.c (Fprevious_single_char_property_change): Don't do
3858 arithmetic directly on lisp objects.
3859
25ad1371 3860 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
3861 objects.
3862
3863 * keyboard.h (menu_item_eval_property): Declare.
3864
3865 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
3866 reuse as buffer name, instead of recreating (and discarding) every
3867 time a message is logged.
3868 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
3869 (current_message_1, truncate_message_1, set_message_1)
3870 (display_echo_area_1, resize_mini_window_1): Signatures changed.
3871 (current_message, truncate_echo_area, display_echo_area)
3872 (resize_echo_area_axactly): Changed calls.
b347b3fd 3873
975f250a 3874 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 3875 Lisp object.
975f250a 3876 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 3877 must be an integer, not a Lisp object.
975f250a 3878
46dc9912
KH
38792000-08-08 Kenichi Handa <handa@etl.go.jp>
3880
3881 * charset.c (Fchar_width): Doc fix.
3882
9f6d1a6c
GM
38832000-08-08 Gerd Moellmann <gerd@gnu.org>
3884
3885 * charset.c (Fstring_width): Doc fix.
3886
ff3d9573
GM
38872000-08-07 Gerd Moellmann <gerd@gnu.org>
3888
41e757a6 3889 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
3890 line, clear ascent and descent members of the iterator structure;
3891 the height of the continued line does not affect the height of the
3892 continuation line.
3893 (make_cursor_line_fully_visible): Do nothing if cursor is on a
3894 line taller than the window.
3895 (redisplay_window) <forced window start>: Handle case that the
3896 middle of the window is not found in any row.
3897 (dump_glyph_row): Show more information.
3898 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
3899 first text line in a glyph matrix.
3900
3901 * xterm.c (x_draw_image_foreground): Avoid drawing outside
3902 of the clip area when image doesn't have a mask.
3903
70fc58b3
GM
3904 * fns.c (sweep_weak_table): Fix survival conditions for
3905 key-or-value and key-and-value weakness.
3906
3907 * .gdbinit (xhashtable): New command.
3908
ac0e96ee
GM
3909 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
3910 tables out of the list of all weak hash tables.
3911
ff3d9573
GM
3912 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
3913 a new buffer is created, make sure echo_area_buffer[] references
3914 the new buffer.
3915
e0d8827b
EZ
39162000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
3917
3918 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
3919 the doc string.
3920
c6f35378
KH
39212000-08-07 Kenichi Handa <handa@etl.go.jp>
3922
3923 * syntax.c (skip_chars): Fix previous change. Make the handling
3924 of unibyte string consistent with that of regex search.
3925
1fd4c450
GM
39262000-08-05 Gerd Moellmann <gerd@gnu.org>
3927
e49aa397
GM
3928 * xmenu.c (popup_get_selection): Use xfree instead of free.
3929
3930 * fileio.c (Finsert_file_contents): Use xfree instead of free.
3931
3932 * editfns.c (Ftranspose_regions): Use xfree instead of free.
3933
3934 * callproc.c (child_setup): Use xfree instead of free.
3935
3936 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
3937 instead of malloc.
3938 (run_mac_command, closedir): Use `xfree' instead of `free'.
3939
3940 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
3941
3942 * eval.c (error): Use xfree instead of free.
3943
1fd4c450
GM
3944 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
3945
3946 * fns.c: Replace `illegal' with `invalid'.
e49aa397 3947 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 3948
82d497fc
KH
39492000-08-05 Kenichi Handa <handa@etl.go.jp>
3950
3951 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
3952 conversion.
3953
59f953a2
NF
39542000-08-04 Noah Friedman <friedman@splode.com>
3955
3956 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
3957 docstring.
3958
688351f2
GM
39592000-08-04 Gerd Moellmann <gerd@gnu.org>
3960
3961 * syntax.c (skip_chars): Fix typo in error message.
3962
2dad51cc
AS
39632000-08-04 Andreas Schwab <schwab@suse.de>
3964
3965 * m/ia64.h: Moved from s/ia64.h.
3966
99bb2c60
KH
39672000-08-04 Kenichi Handa <handa@etl.go.jp>
3968
082a1df2
KH
3969 * process.c (read_process_output): Big simplification. Handle
3970 composition and post-read-conversion of coding system correctly.
3971 (send_process): Handle composition correctly.
3972
3973 * callproc.c (Fcall_process): Handle post-read-conversion of
3974 coding system if any.
3975
99bb2c60
KH
3976 * coding.c (decode_coding_iso2022): More strict check for handling
3977 single shifting.
082a1df2
KH
3978 (coding_restore_composition): Pay attention to the case that
3979 cmp_data is not set properly (because of invalid code in the
3980 source text).
3981 (run_pre_post_conversion_on_str): Include text properties in the
3982 resulting string.
3983 (decode_coding_string): Set members of coding correctly.
99bb2c60 3984
f4988be7
GM
39852000-08-03 Gerd Moellmann <gerd@gnu.org>
3986
3987 * s/ia64.h: New file.
3988
3989 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
3990 Use NULL instead of 0 at the end of variable argument list of
3991 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
3992 sizeof (int) < sizeof (void *).
3993
3994 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
3995 of variable argument lists of XtVaGetValues and XtVaSetValues.
3996
3997 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
3998 variable argument lists of XtVaGetValues and XtVaSetValues.
3999
ead53494
GM
40002000-08-02 Gerd Moellmann <gerd@gnu.org>
4001
4002 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
4003 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
4004
4005 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
4006 prototype.
4007
4008 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
4009 in call to Fsingle_key_description.
4010
4011 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
4012 Callers changed.
4013
40142000-08-02 Colin Walters <walters@cis.ohio-state.edu>
4015
4016 * window.c (display_buffer_reuse_frames): New variable.
4017 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
4018 frames displaying BUFFER.
4019 (syms_of_window): Define Lisp variable
4020 display-buffer-reuse-frames.
4021
10b0f752
MB
40222000-08-01 Miles Bader <miles@gnu.org>
4023
4024 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
4025 when to constrain NEW_POS (they were pretty screwed up before).
4026
16425c4a
EZ
40272000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
4028
4029 * msdos.c (run_msdos_command): Save and restore the master
4030 environment, for the case that child_setup signals an error.
4031 When mirroring slashes in DOS shell commands, don't fail when
4032 argv[2] has embedded blanks.
da288c14
EZ
4033 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
4034 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
4035 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
4036
4037 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
4038 using alloca; free it after run_msdos_command returns.
4039
27f73852
DL
40402000-07-27 Dave Love <fx@gnu.org>
4041
4042 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
4043 define.
4044 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
4045 working.
4046
4047 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
4048
c0261b5e
EZ
40492000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
4050
4051 * editfns.c (lisp_time_argument): Fix last change.
4052
b548072f
GM
40532000-07-27 Gerd Moellmann <gerd@gnu.org>
4054
3ab82477
GM
4055 * fns.c (Fdelete): Make it work on vectors and strings in addition
4056 to lists.
4057
b548072f
GM
4058 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
4059 (syms_of_fns): Initialize new variables.
4060 (sweep_weak_table): Handle weakness `key-or-value' and
4061 `key-and-value'.
4062 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
4063 weakness, with t meaning the same as `key-and-value'.
4064
91ae8751
KH
40652000-07-27 Kenichi Handa <handa@etl.go.jp>
4066
4067 * coding.h (struct coding_system): Member safe_charset deleted.
4068
4069 * coding.c (Qsafe_charsets): This variable deleted.
4070 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
4071 variables.
4072 (coding_safe_chars): New function.
4073 (CODING_SAFE_CHAR_P): New macro.
4074 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
4075 checking safe_charsets member of the coding system. Caller
4076 changed.
4077 (detect_coding_iso2022): New local variable safe_chars.
4078 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
4079 safe_charsets member of the coding system.
4080 (decode_coding_iso2022): New local variable safe_chars.
4081 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
4082 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
4083 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
4084 (ENCODE_UNSAFE_CHARACTER): New macro.
4085 (encode_coding_iso2022): New local variable safe_chars. Check
4086 unsafe chars.
4087 (setup_coding_system): Delete the code to initialize
4088 coding->safe_charses
4089 (intersection, find_safe_codings): New functions.
4090 (Ffind_coding_systems_region_internal): New function.
4091 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
4092 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
4093 variable and initialize it.
4094
4095 * fns.c (char_table_ref_and_index): New function.
4096
4097 * lisp.h (char_table_ref_and_index): Add prototype.
4098
34a7a267
SS
40992000-07-26 Sam Steingold <sds@gnu.org>
4100
4101 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 4102 (Ffloat_time): New built-in Lisp function.
34a7a267 4103
a95cb10a
GM
41042000-07-26 Gerd Moellmann <gerd@gnu.org>
4105
3353ef5a
GM
4106 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
4107 for the character code.
4108
4109 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
4110 GNU/Linux.
4111
a95cb10a
GM
4112 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
4113 if called for a popup menu.
4114 (xmenu_show): Store help string in widget values.
4115
b4a12321
DL
41162000-07-26 Dave Love <fx@gnu.org>
4117
4118 * syswait.h: Move some definitions.
4119 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
4120 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
4121 perspicuous definitions.
4122 (WTERMSIG): Fix bit pattern used.
4123
13f5ad37
KH
41242000-07-26 Kenichi Handa <handa@etl.go.jp>
4125
4126 * print.c (print_object): If vector printing is truncated, print
4127 "..." to indicate it as well as the case of list printing.
4128
070fe99c
GM
41292000-07-25 Gerd Moellmann <gerd@gnu.org>
4130
969065c3
GM
4131 * xdisp.c (next_element_from_display_vector): Improve comments.
4132
4133 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
4134 for the character code, and the rest for the face id as in 20.x.
4135 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
4136
4137 * window.c (window_display_table): Cleaned up.
4138
070fe99c
GM
4139 * syntax.c (Fforward_word): Add last arg nil in call of
4140 Fconstrain_to_field.
4141
bad77ef7
EZ
41422000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
4143
969065c3 4144 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
4145 identical but for the letter-case, don't call
4146 barf_or_query_if_file_exists.
4147
c28da489
MB
41482000-07-25 Miles Bader <miles@gnu.org>
4149
4150 * editfns.c (find_field): Honor special `boundary' fields.
4151 (Qboundary): New variables.
4152 (syms_of_editfns): Initialize Qboundary.
4153 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
4154 Use scan_buffer instead of find_before_next_newline, because it
4155 allows us to detect the boundary case where there's a newline at
4156 the search limit.
4157 * lisp.h (Fconstrain_to_field): Update external declaration.
4158
e3c31fd5
GM
41592000-07-24 Gerd Moellmann <gerd@gnu.org>
4160
4161 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
4162 if that is nil.
c28da489 4163
c66c29a2
DL
41642000-07-24 Dave Love <fx@gnu.org>
4165
4166 * s/sunos4-0.h, s/sol2.h:
4167 (LIBS_TERMCAP): Move from m/sparc.h.
4168
4169 * m/sparc.h (TERMINFO): Moved to system files (probably only
4170 relevant for sunos4 judging by its vintage).
4171 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
4172 __arch64__.
4173
fbe0a958
EZ
41742000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
4175
4176 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
4177 name to single_keymap_panes.
4178
7d88e5c9
AS
41792000-07-24 Andreas Schwab <schwab@suse.de>
4180
4181 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
4182
e024b101
GM
41832000-07-24 Gerd Moellmann <gerd@gnu.org>
4184
4185 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
4186 parameters instead of using int parameters. Expect FN to accept
4187 EMACS_INT parameters.
4188 (display_echo_area, resize_echo_area_axactly, current_message)
4189 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
4190 with new argument list.
4191 (resize_mini_window_1): New callback function.
4192 (current_message_1, truncate_message_1, set_message_1): Change
4193 parameter lists to the new format expected by
4194 with_echo_area_buffer.
4195
25c1a9ce
KH
41962000-07-24 Kenichi Handa <handa@etl.go.jp>
4197
4198 * fontset.c (fontset_ref): Remove INLINE declaration.
4199 (fontset_ref_via_base): Likewise.
4200 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
4201 to downcase.
4202
7f987ac0
EZ
42032000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
4204
4205 * msdos.c (IT_note_mouse_highlight): Process overlays in the
4206 correct order of priority. If help echo was found in an overlay,
4207 use that overlay as the object in which the help echo was found.
4208
e2db3069
MB
42092000-07-22 Miles Bader <miles@gnu.org>
4210
4211 * textprop.c (Fprevious_single_char_property_change): The initial
4212 property value should be from the position preceding POSITION, not
4213 following it.
4214
5e3203e4
EZ
42152000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
4216
4217 * coding.c (syms_of_coding): Doc fix for
4218 inhibit-iso-escape-detection.
4219
62145073
GM
42202000-07-21 Gerd Moellmann <gerd@gnu.org>
4221
c20aeb83
GM
4222 * xterm.c (note_mouse_highlight): Process overlays in the right
4223 order of priority.
34a7a267 4224
743934db
GM
4225 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
4226
4227 * xterm.c (note_mouse_highlight): If help-echo was found in an
4228 overlay, use that overlay as the object in which the help was
4229 found.
4230
d1dc7e43 4231 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 4232
62145073
GM
4233 * window.c (foreach_window): Instead of a fake variable argument
4234 list, take one USER_DATA argument.
4235 (foreach_window_1): Likewise, and call callback functions with two
4236 args, the window and USER_DATA.
4237 (struct check_window_data): New struct.
4238 (check_window_containing): Use it.
4239 (window_from_coordinates): Set up a struct check_window_data for
4240 foreach_window.
4241 (add_window_to_list, freeze_window_start): Change parameters
4242 according to new calling convention.
4243
4244 * window.h (foreach_window): Change prototype.
4245
4246 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
4247
42482000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
4249
4250 * xmenu.c (menu_help_callback): Call show_help_echo with
4251 additional arguments OBJECT and POS.
4252
11270583
KH
42532000-07-21 Kenichi Handa <handa@etl.go.jp>
4254
07b14857
KH
4255 * data.c (Faset): Allow storing any multibyte character in a
4256 string. Convert unibyte string to multibyte if necessary.
4257
11270583
KH
4258 * xfns.c (x_encode_text): New function.
4259 (x_set_name): Use x_encode_text.
4260 (x_set_title): Likewise.
4261
4262 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
4263
4264 * xterm.h (x_encode_text): Add prototype.
4265
bc75b4fd
DL
42662000-07-20 Dave Love <fx@gnu.org>
4267
4268 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
4269 xfree, not free.
4270
48c14970
EZ
42712000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
4272
4273 * msdos.c (help_echo_window): New variable.
4274 (syms_of_msdos): Initialize and staticpro it.
4275 (IT_note_mode_line_highlight): Set help_echo_window.
4276 (IT_note_mouse_highlight): Ditto.
4277 (dos_rawgetc): Store help_echo_window in the second event produced
4278 for HELP_EVENTs.
4279
4280 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
4281 Record the object that generated the help echo and the position of
4282 that object in help_echo_object and help_echo_pos. Record that
4283 some glyphs in a row are displayed in mouse-face.
4284 (IT_update_begin): Don't clear mouse highlight unless one of the
4285 enabled glyph rows is marked as being displayed in mouse-face.
4286 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
4287 and position recorded in help_echo_object and help_echo_pos to the
4288 event queue.
4289 (IT_menu_display): Accept a new argument PN: the pane number of
4290 the current menu pane. Record the pane number and the item
4291 number of the item which has associated help string.
4292 (XMenuActivate): Update the prototype for help_callback in
4293 function declaration. Call IT_menu_display with the current menu
4294 pane number as an additional argument. Call help_callback with
4295 two additional arguments: the pane number and the item number of
4296 the menu item associated with the help text.
4297 (help_echo_object, help_echo_pos): New variables.
4298 (syms_of_msdos): Initialize them and staticpro help_echo_object.
4299
4300 * msdos.h (XMenuActivate): Update prototype.
4301
4279296d
GM
43022000-07-19 Gerd Moellmann <gerd@gnu.org>
4303
47db06aa
GM
4304 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
4305 Add some more prototypes.
4306
4307 * xterm.c, xterm.h: Add some more prototypes.
4308
4309 * lisp.h (Fnext_single_char_property_change): Add prototype.
4310
4311 * dispnew.c (direct_output_for_insert): Remove confusing
4312 outer local variable mouse_face_overwritten_p.
4313 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
4314
4279296d
GM
4315 * alloc.c (allocate_string_data): Don't copy old string contents.
4316
670acd62
KH
43172000-07-19 Kenichi Handa <handa@etl.go.jp>
4318
4319 * coding.c (code_convert_region): Delete text properties before
4320 shrinking the conversion region.
4321
7cea38bc
GM
43222000-07-18 Gerd Moellmann <gerd@gnu.org>
4323
dc1cac59
GM
4324 * dispnew.c (update_text_area): Write the whole row if it
4325 has mouse-face in it.
4326
85a8aca9
GM
4327 * xfaces.c (face-alternative-font-family-alist): Remove
4328 DEFVAR_LISP; staticpro instead.
4329
34a7a267 4330 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
4331 new arguments.
4332
4333 * keyboard.c (show_help_echo): Add parameter WINDOW.
4334 (read_char): Call show_help_echo with window extracted from Lisp
4335 help event.
4336 (gen_help_event): Add parameter WINDOW.
4337
4338 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
4339
4340 * xterm.c (help_echo_window): New variable.
4341 (note_mouse_highlight, note_tool_bar_highlight): Set
4342 help_echo_window.
4343 (XTread_socket): Pass help_echo_window to gen_help_event.
4344 (syms_of_xterm): Initialize and staticpro help_echo_window.
4345
f8276b77
DL
43462000-07-18 Dave Love <fx@gnu.org>
4347
4348 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
4349 systime.h.
4350
088831a6
GM
43512000-07-18 Gerd Moellmann <gerd@gnu.org>
4352
3d6cd763
GM
4353 * alloc.c (allocate_string_data): If string had already data
4354 assigned, copy old contents to new string data.
4355
4356 * coding.c (syms_of_coding): Fix typo in spelling of variable
4357 `inhibit-iso-escape-detection'.
4358
088831a6
GM
4359 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
4360
4361 * Makefile.in: Add dependencies on dispextern.h.
4362 (alloca.o): Don't define malloc and define EMACS_FREE instead of
4363 `free'; both can conflict with system header files.
4364
bc8a8d55
KH
43652000-07-18 Kenichi Handa <handa@etl.go.jp>
4366
4367 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
4368 undefined.
4369
069f5950
DL
43702000-07-18 Dave Love <fx@gnu.org>
4371
4372 * window.c (Fwindow_list): Declare arg `window'.
4373
aa96c820
KH
43742000-07-18 Kenichi Handa <handa@etl.go.jp>
4375
4376 * coding.c (setup_coding_system): Don't override the explicitly
4377 specified designations.
4378
06be8d32
MB
43792000-07-15 Miles Bader <miles@gnu.org>
4380
4381 * editfns.c (char_property_eq, char_property_stickiness): Renamed
4382 from `text_property_eq' and `text_property_stickiness', respectively.
4383 (find_field, Fconstrain_to_field, char_property_eq)
4384 (char_property_stickiness): Changed to call char-property functions
4385 instead of text-property-only ones.
4386
4387 * textprop.c (Fnext_single_char_property_change): Made a subr (was
4388 `next_single_char_property_change'). Do more error checking, and
4389 cleanup limit behavior.
4390 (Fprevious_single_char_property_change): New function.
4391 (syms_of_textprop): Initialize new subrs.
4392
4393 * xdisp.c (display_prop_end, invisible_text_between_p):
4394 Call Fnext_single_char_property_change instead of
4395 next_single_char_property_change.
4396
3fddcdc3
JR
43972000-07-15 Jason Rumney <jasonr@gnu.org>
4398
4399 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
4400 after menu is finished with.
4401 (add_menu_item): Only consider wv->title as a menu title.
4402 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
4403
4404 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
4405 null title.
4406 (FONT_REGEXP): Remove unused macro, and its sub-components.
4407 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
4408
4409 * w32term.c (help_echo_object, help_echo_pos): New variables.
4410 (note_mode_line_highlight): Store additional information about the
4411 help-echo in help_echo_object and help_echo_pos. Check both
4412 `local-map' and `keymap' properties for changing the cursor
4413 (note_mouse_highlight): Store additional information about the
4414 help-echo in help_echo_object and help_echo_pos.
4415 (note_tool_bar_highlight): Set help_echo_object to nil and
4416 help_echo_pos to -1.
4417 (w32_read_socket): Use gen_help_event instead of filling
4418 input_events manually.
4419 (syms_of_w32term): Staticpro help_echo_object.
4420 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
4421 set, arrange for a mouse-highlight redisplay in
4422 XTframe_up_to_date.
4423 (x_clear_mouse_face): New function.
4424 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
4425 (x_update_window_begin): No need to turn off the mouse
4426 highlight here.
4427 (show_mouse_face): Set the mouse_face_p flag of glyph rows
4428 depending on whether they contain glyphs highlighted in
4429 mouse-face.
4430 (x_fill_stretch_glyph_string): Consume runs of stretch
4431 glyphs instead of a single one.
4432 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
4433 with new argument list.
4434 (x_set_glyph_string_gc): Make sure the face's GC is valid.
4435 (x_append_glyph, x_append_composite_glyph)
4436 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
4437 changes in struct glyph starting 1999-12-27. See comments for
4438 xterm.c on 2000-07-05.
4439
178c5d9c
SS
44402000-07-14 Sam Steingold <sds@gnu.org>
4441
4442 * xfaces.c (realize_x_face): Fix the last patch:
4443 check `default_face' before dereferencing.
4444
6fe533f6
DL
44452000-07-14 Dave Love <fx@gnu.org>
4446
069f5950 4447 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 4448
dd7b81cf
KH
44492000-07-14 Kenichi Handa <handa@etl.go.jp>
4450
0693904a 4451 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 4452 default_face's fontset, not using the default fontset.
0693904a 4453
dd7b81cf
KH
4454 * coding.c (inhibit_iso_escape_detection): New variable.
4455 (syms_of_coding): Make it a Lisp variable.
4456 (detect_coding_iso2022): If inhibit_iso_escape_detection is
4457 nonzero, ignore ISO2022's escape sequence.
4458
d5aa31d8
GM
44592000-07-14 Gerd Moellmann <gerd@gnu.org>
4460
e5acf0ca
GM
4461 * alloca.c (malloc) [emacs]: Define as xmalloc.
4462
bd23a692
GM
4463 * xfns.c (Fx_show_tip): If frame parameters contain a position,
4464 use that instead of the mouse position. Add parameters DX and DY.
4465
4466 * dispextern.h (Fx_show_tip): Adjust number of parameters
4467 in prototype.
4468
9662da0b
GM
4469 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
4470 if HELP is a function, call it with OBJECT and POS as parameters
4471 to get the help to display.
4472 (gen_help_event, kbd_buffer_store_help_event): New functions.
4473 (kbd_buffer_get_event): Construct the Lisp help-event differently.
4474 (read_char): Call show_help_echo with new parameters.
4475
178c5d9c 4476 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
4477 Add prototypes.
4478
4479 * xterm.c (help_echo_object, help_echo_pos): New variables.
4480 (note_mode_line_highlight): Store additional information about the
4481 help-echo in help_echo_object and help_echo_pos. Check both
4482 `local-map' and `keymap' properties for changing the cursor
4483 (note_mouse_highlight): Store additional information about the
4484 help-echo in help_echo_object and help_echo_pos.
4485 (note_tool_bar_highlight): Set help_echo_object to nil and
4486 help_echo_pos to -1.
4487 (XTread_socket): Use gen_help_event instead of filling
4488 input_events manually.
4489 (syms_of_xterm): Staticpro help_echo_object.
4490
4491 * xmenu.c (menu_highlight_callback): Use
4492 kbd_buffer_store_help_event instead of setting up and input_event
4493 structure manually.
4494
4495 * xdisp.c (eval_form): GCPRO argument sexpr.
4496 (call_function): New function.
4497 (handle_single_display_prop): Use call_function and FUNCTIONP
4498 instead of checking whether if font_height is a symbol and
4499 using eval_form.
4500
4501 * eval.c (internal_condition_case_2): New function.
4502
4503 * lisp.h (FUNCTIONP): New macro.
4504 (internal_condition_case_2, call_function): Add prototypes.
4505
d5aa31d8
GM
4506 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
4507 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
4508 Always set `arg' member of input_events.
4509 (construct_menu_click): Unused function removed.
4510
4511 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
4512
4513 * w32term.c (construct_mouse_click, construct_mouse_wheel)
4514 (construct_drag_n_drop, x_scroll_bar_handle_click)
4515 (w32_read_socket): Always set `arg' member of input_events.
4516
4517 * keyboard.c (show_help_echo): Use eval_form. Add comment.
4518
4519 * lisp.h (eval_form): Add prototype.
4520
4521 * xdisp.c (eval_form): Make it externally visible.
4522
0f1a9b23
GM
45232000-07-13 Gerd Moellmann <gerd@gnu.org>
4524
4525 * xterm.c (x_handle_tool_bar_click): Store the frame in the
4526 frame_or_window slot of TOOL_BAR_EVENT input events instead of
4527 consing. For prefix events, store the frame in the `arg' slot of
4528 the event, otherwise store the key there.
4529 (XTread_socket): Instead of consing, use the frame_or_window slot
4530 of HELP_EVENTs for the frame, and the `arg' slot for the help
4531 string.
4532
4533 * xmenu.c (menu_highlight_callback): Store help string in the
4534 `arg' member of the input event; don't cons.
4535 (menubar_selection_callback): Use the `arg' slot of input events
4536 to queue additional information, instead of consing.
4537
4538 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
4539
4540 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
4541 TOOL_BAR_EVENTs.
4542 (w32_read_socket): Adapt to changes in HELP_EVENTs.
4543
4544 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
4545 input events to queue additional information, instead of consing.
4546
4547 * keyboard.c (kbd_buffer_gcpro): Renamed from
4548 kbd_buffer_frame_or_window. Now used for all Lisp objects
4549 referenced from the input queue.
4550 (kbd_buffer_store_event): Always use structure assignment for
4551 copying input events. Record all Lisp objects referenced from
4552 events in kbd_buffer_gcpro.
4553 (kbd_buffer_get_event): Construct Lisp `help-echo' events
4554 differently from input events. Test for prefix menu_bar_events
4555 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
4556 event in kbd_buffer_gcpro to nil.
4557 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
4558 frame_or_window is equal to its arg member as prefix events.
4559 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
4560 used by an input event to nil.
4561 (init_keyboard): Use two times the size of the input queue
4562 for kbd_buffer_gcpro.
4563 (syms_of_keyboard): Likewise.
4564
4565 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
4566 USER_SIGNAL_EVENT.
4567
4568 * termhooks.h (struct input_event): Add member `arg'.
4569 (MENU_BAR_EVENT): Renamed from menu_bar_event.
4570 (USER_SIGNAL_EVENT): Renamed from user_signal.
4571
4572 * xfaces.c (ASET): Remove definition.
4573
4574 * lisp.h (AREF, ASET, ASIZE): New macros.
4575
4576 * fontset.c (AREF, ASIZE): Remove definitions.
4577
4578 * fns.c (AREF): Remove definition.
178c5d9c 4579
0f1a9b23
GM
4580 * composite.c (AREF): Remove definition.
4581
712eaef2
GM
45822000-07-12 Gerd Moellmann <gerd@gnu.org>
4583
d8ee7803
GM
4584 * dispnew.c (redraw_overlapped_rows): Add missing local.
4585 (scrolling_window): Remove debug code.
4586
712eaef2
GM
4587 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
4588 Before scrolling, turn off a mouse-highlight in the window
4589 being scrolled.
4590
4591 * xterm.c (x_update_window_end): Add parameter
4592 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
4593 redisplay in XTframe_up_to_date.
4594 (x_clear_mouse_face): New function.
4595 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
4596
4597 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
4598 current glyph row.
4599 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
4600 it when any row is written to that contains glyphs highlighted in
4601 mouse-face.
4602 (update_window): Call the window update end hook with new
4603 parameter MOUSE_FACE_OVERWRITTEN_P.
4604 (direct_output_for_insert): Give up if row contains mouse-face.
4605
4606 * dispextern.h (struct redisplay_interface): Add parameter
4607 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
4608 (clear_mouse_face): New function pointer member.
4609
02010917
SM
46102000-07-11 Stefan Monnier <monnier@cs.yale.edu>
4611
4612 * syntax.c (back_comment): Use one switch rather than a few `if's.
4613 Obey open_paren_in_column_0_is_defun_start.
4614 When reverting to the `slow' method, try to nicely handle the case
4615 of nested comments by checking that the comment-starter we found
4616 does indeed match the comment-ender.
4617 (scan_sexps_forward, scan_sexps_forward):
4618 Ignore excessive opening parenthesis rather than throwing an error.
4619
d76c03ea
GM
46202000-07-11 Gerd Moellmann <gerd@gnu.org>
4621
4622 * doc.c (Fsubstitute_command_keys): Handle case that a GC
4623 in Fwhere_is_internal or get_keymap_1 relocates string contents.
4624
4625 * dispnew.c (direct_output_forward_char): Give up if currently
4626 displaying a message instead of the minibuffer contents.
4627
4628 * xterm.c (x_update_window_begin): No need to turn off the mouse
4629 highlight here.
4630 (show_mouse_face): Set the mouse_face_p flag of glyph rows
4631 depending on whether they contain glyphs highlighted in
4632 mouse-face.
4633
4634 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
4635 compare the mouse_face_p flags of both rows.
4636
4637 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
4638
d55ead18
EZ
46392000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
4640
4641 * keyboard.c (show_help_echo): Accept additional parameter
4642 ok_to_overwrite_keystroke_echo.
4643 (read_char): Call show_help_echo with a zero
4644 ok_to_overwrite_keystroke_echo argument.
4645 * keyboard.h (show_help_echo): Update prototype of
4646 show_help_echo.
4647 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
4648 ok_to_overwrite_keystroke_echo argument.
4649 * w32menu.c (w32_menu_display_help): Call show_help_echo with
4650 non-zero ok_to_overwrite_keystroke_echo argument.
4651
df75b1a3
GM
46522000-07-10 Gerd Moellmann <gerd@gnu.org>
4653
4b92c49a
GM
4654 * xdisp.c (try_window_id): If changes are all below what is
4655 displayed in the window, and point is in the window, we still
4656 might have to find point on the display.
4657
4658 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
4659 glyphs instead of a single one.
4660 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
4661 with new argument list.
4662 (x_set_glyph_string_gc): Make sure the face's GC is valid.
4663
df75b1a3
GM
4664 * keymap.c (get_keymap_1): Add comment that this function can GC.
4665 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
4666 comment that functions can GC.
4667 (Fset_keymap_parent): GCPRO arg KEYMAP.
4668
4314cf3e
EZ
46692000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
4670
4671 * msdos.c (XMenuActivate): After exiting the menu, restore the
4672 echo area message and erase it.
4673
ab49ce15
KH
46742000-07-10 Kenichi Handa <handa@etl.go.jp>
4675
4676 * fontset.c (Ffontset_info): Make the return value more compatible
4677 with that of Emacs 20.
4678
090a072f
GM
46792000-07-07 Gerd Moellmann <gerd@gnu.org>
4680
4681 * eval.c (Fsignal): Handle case that backtrace_list is null.
4682
f92de4a6
KH
46832000-07-07 Kenichi Handa <handa@etl.go.jp>
4684
4685 * ccl.c (Fccl_execute): Typo fixed.
4686
dd8888a1
GM
46872000-07-06 Gerd Moellmann <gerd@gnu.org>
4688
e5c81191 4689 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 4690
dd8888a1
GM
4691 * window.c (Fwindow_list): Reverse list at the end.
4692 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
4693 means allow windows on OWINDOW's frame, only.
4694 (window_loop): Simplified; use Fwindow_list.
4695
4696 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
4697
485266d0
GM
46982000-07-05 Gerd Moellmann <gerd@gnu.org>
4699
4700 * xterm.c (XTread_socket): Increment handling_signal at the start,
4701 decrement it at the end.
4702
4703 * eval.c (handling_signal): New variable.
4704 (Fsignal): Abort if handling_signal is non-zero.
4705
4706 * lisp.h (handling_signal): External declaration.
178c5d9c 4707
485266d0
GM
4708 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
4709
80fcd514
KR
47102000-07-05 Ken Raeburn <raeburn@gnu.org>
4711
4712 Sound support for NetBSD through "Linux emulation" support:
4713 * config.in (HAVE_SOUNDCARD_H): Undef.
4714 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
4715 * Makefile.in (LIBSOUND): New variable.
4716 (LIBES): Include it.
4717 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
4718 <soundcard.h>.
4719 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
4720 elsewhere.
4721 (vox_open): Use DEFAULT_SOUND_DEVICE.
4722 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
4723
d5c5cddd
GM
47242000-07-05 Gerd Moellmann <gerd@gnu.org>
4725
4726 * print.c (print_error_message): If Vsignaling_function is set,
4727 show it in *Messages*.
4728
4729 * lisp.h (Vsignaling_function): External declaration.
4730
4731 * eval.c (Vsignaling_function): New variable.
4732 (Fsignal): Compute it.
4733 (syms_of_eval): Staticpro it.
4734
65171e3a
DL
47352000-07-05 Dave Love <fx@gnu.org>
4736
4737 * syswait.h: Use the autoconf recommended approach. Old code
4738 #if'd out in case we need to revert.
4739
178c5d9c 4740 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 4741
e2c46326
AI
47422000-07-05 Andrew Innes <andrewi@gnu.org>
4743
4744 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
4745 when non-NULL instead of __morecore, to take account of buffer
4746 memory. This also solves a problem with spurious memory warnings
4747 on Windows.
4748
4749 * ralloc.c: Make real_morecore non-static.
4750
4751 * eval.c (internal_condition_case): Comment out abort if
4752 interrupt_input_blocked is not zero.
4753
4754 * makefile.nt: Add support for `bootstrap' and related targets.
4755 Include minimal debug info in emacs.exe in release build.
4756 Remove all dependencies on lisp.h, and fixup some others.
4757
4758 * w32.c (init_environment): Install code from 20.7 for providing
4759 default values for environment variables, based on the
4760 executable's own location.
4761 (map_w32_filename): Handle filenames that are longer than
4762 MAX_PATH.
4763 (sys_socket): Install socket inheritance bug fix from 20.7.
4764
4765 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
4766 here via blockinput.h).
4767
a027a91b
SM
47682000-07-05 Stefan Monnier <monnier@cs.yale.edu>
4769
e4b31601
SM
4770 * w32menu.c (w32_menu_display_help):
4771 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
4772
4773 * keyboard.h (show_help_echo): Declare.
4774
4775 * keyboard.c (show_help_echo): New function, extracted from read_char.
4776 Feval its `msg' argument if it's a cons cell.
4777 (read_char): Use it.
4cf8d9d5 4778 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 4779
178c5d9c 4780 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 4781 (note_tool_bar_highlight, XTread_socket):
178c5d9c 4782 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
4783 (dos_rawgetc):
4784 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
4785 (note_tool_bar_highlight, w32_read_socket):
4786 Do not gratuitously ignore non-string `help-echo' properties.
4787
88d75730
GM
47882000-07-05 Gerd Moellmann <gerd@gnu.org>
4789
969f7e79
GM
4790 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
4791
71201b00
GM
4792 * window.c (delete_all_subwindows): Reset Vwindow_list.
4793
88d75730
GM
4794 * xterm.c (x_append_glyph, x_append_composite_glyph)
4795 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
4796 changes in struct glyph starting 1999-12-27. Some bit-fields of
4797 struct glyph were not set, which made glyphs unequal when compared
4798 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
4799 effects were the result. This also depended on the contents of
4800 memory returned by xmalloc. If flickering happens again, activate
4801 the code in clear_glyph_row that's in #if 0. If the flickering is
4802 gone with that, chances are that it is caused by something
4803 similar.
4804
4805 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 4806
88d75730
GM
4807 * dispextern.h: Add some comments.
4808
4809 * window.c (add_window_to_list): Add parameter LIST.
4810 (window_list): Order list so that, for each frame, windows are
4811 in canonical order, and so that frames appear in the list in
4812 the order given by Vframe_list.
4813 (next_window): Reverse the handling of NEXT_P.
4814
53654733
GM
48152000-07-04 Gerd Moellmann <gerd@gnu.org>
4816
87efd256
GM
4817 * window.c (Vwindow_list): New variable.
4818 (make_window, delete_window): Set Vwindow_list to nil.
4819 (check_window_containing): New function.
4820 (window_from_coordinates): Rewritten.
4821 (add_window_to_list, window_list, candidate_window_p)
4822 (decode_next_window_args, next_window): New functions.
4823 (Fnext_window, Fprevious_window): Rewritten in terms of
4824 next_window.
4825 (Fwindow_list): New function.
4826 (Fother_window): Cleaned up.
4827 (foreach_window): Add a longer "variable argument list". Let
4828 callback function return 0 to indicate that cycling over windows
4829 should stop.
4830 (foreach_window_1): Likewise.
4831 (freeze_window_start): Return int.
4832 (init_window): New function.
4833 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
4834
4835 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
4836 input_event with bzero.
4837 (main): Call init_window.
4838
53654733
GM
4839 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
4840 a menu filter.
4841
4a8c194f
KH
48422000-07-04 Kenichi Handa <handa@etl.go.jp>
4843
4844 * composite.h (make_composition_value_copy): Extern it.
4845
4846 * composite.c (make_composition_value_copy): New function.
4847
4848 * editfns.c (Fformat): While copying text properties, make each
4849 composition property value a copy.
4850
4851 * fns.c (concat): While copying text properties, make each
4852 composition property value a copy.
4853
831a6cb0
GM
48542000-07-03 Gerd Moellmann <gerd@gnu.org>
4855
2f516940
GM
4856 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
4857
178c5d9c 4858 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
4859 marked already.
4860
831a6cb0
GM
4861 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
4862 include those frames as candidates which have their focus
4863 redirected to the minibuffer frame.
4864
d9c4f922
SM
48652000-07-03 Stefan Monnier <monnier@cs.yale.edu>
4866
4867 * fns.c (Fputhash): Return `value' rather than nil.
4868
3780bc22
GM
48692000-06-30 Gerd Moellmann <gerd@gnu.org>
4870
97d176db
GM
4871 * frame.c (next_frame): Don't check focus redirection in case
4872 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
4873 unless their focus is redirected, which contradicts the
4874 specification of next-frame, and leads to infinite loops in
4875 certain situations when cycling through windows with next-window.
4876
dca9961d
KH
48772000-06-30 Kenichi Handa <handa@etl.go.jp>
4878
4879 * coding.c (code_convert_region): Even if the length of text is
4880 zero, try to convert it if coding->type is coding_type_ccl.
4881 (decode_coding_string, encode_coding_string): Likewise.
4882
d5483ab1
GM
48832000-06-28 Gerd Moellmann <gerd@gnu.org>
4884
af5c25e1 4885 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 4886 the display if windows_or_buffers_changed.
af5c25e1
GM
4887
4888 * dispnew.c (struct row_entry): New structure.
4889 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
4890 (row_table_size, old_lines, new_lines, old_lines_size)
4891 (new_lines_size, run_pool, runs_size, runs): New variables.
4892 (add_row_entry): New function.
4893 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 4894 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
4895 holding them in local variables. Use a larger hash table whose
4896 size depends on glyph matrix sizes. Don't use bzero to clear the
4897 hash table; instead, clear used slots only.
4898
4899 * fns.c (next_almost_prime): Make it externally visible.
4900
4901 * lisp.h (next_almost_prime): Add prototype.
4902
d5483ab1
GM
4903 * s/isc4-0.h (sigunblock): Define.
4904
4905 * s/sco5.h (sigunblock): Define.
4906
93e40f40
DL
49072000-06-27 Dave Love <fx@gnu.org>
4908
4909 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
4910 (moved to osf5-0.h).
4911 [!NOT_C_CODE]: Protect string.h stuff.
4912
4913 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
4914 (sys_siglist, NSIG): Definitions moved here from osf1.h.
4915
3c4b7685
GM
49162000-06-27 Gerd Moellmann <gerd@gnu.org>
4917
97d176db 4918 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
4919 below the last line from the needed window height.
4920
32cad0aa
SM
49212000-06-26 Stefan Monnier <monnier@cs.yale.edu>
4922
4923 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
4924 (Fwidget_get): Use it.
4925 (syms_of_fns): Defsubr it.
4926
2c69ced2
GM
49272000-06-26 Gerd Moellmann <gerd@gnu.org>
4928
178c5d9c 4929 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
4930 display info for XIM.
4931 (xim_open_dpy): Likewise.
4932 (xim_close_dpy): Don't free the display info's XIM.
4933
4934 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
4935
4936 * config.in (USE_XIM): New define.
4937
3fc720e4
GM
4938 * keymap.c (get_keyelt): For menu-items containing a `:filter
4939 FILTER', apply FILTER to the menu-item's definition to get the
4940 real definition to use.
4941
4942 * lisp.h (QCfilter): External declaration.
4943
2c69ced2
GM
4944 * xfns.c (Fimage_size): New function.
4945 (syms_of_xfns): Defsubr it.
4946
f978b2a2
AS
49472000-06-26 Andreas Schwab <schwab@suse.de>
4948
4949 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
4950 Fstring_as_unibyte.
4951
94cc7892
DL
49522000-06-25 Dave Love <fx@gnu.org>
4953
4954 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
4955 tgetnum.
4956
4957 * Makefile.in (blockinput.h): Depend on atimer.h.
4958 (atimer.h): Depend on systime.h.
4959
4960 * blockinput.h: Protect against multiple inclusion. Include
4961 atimer.h.
4962
4963 * atimer.h: Protect against multiple inclusion. Include
4964 systime.h.
4965
4966 * lisp.h (swap_in_global_binding): Declare.
4967
b8c24556
KR
49682000-06-24 Ken Raeburn <raeburn@gnu.org>
4969
4970 * process.c (Fopen_network_stream): Turn off atimers for duration
4971 of call to connect. (Patch from Gerd.)
4972
8cf8560b
DL
49732000-06-23 Dave Love <fx@gnu.org>
4974
511c7541
DL
4975 * ralloc.c: Maybe include unistd.h
4976
8cf8560b
DL
4977 * emacs.c (setgrp): Undefine before defining.
4978 (malloc_warning, set_time_zone_rule, index): Prototype.
4979
4980 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
4981 HAVE_STRUCT_TIMEZONE.
4982
4983 * s/osf1.h: Move string.h hack here from alpha.h and make it
4984 conditional.
4985 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
4986 _XOPEN_SOURCE.
4987 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
4988 (SOCKLEN_TYPE): Don't define.
4989
4990 * m/alpha.h: Remove string.h hack.
4991
4992 * s/osf5-0.h: New file.
4993
4994 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
4995 include time.h, done by systime.h.
4996 [__FreeBSD__]: Remove redundant includes.
4997
3fc720e4 4998 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
4999 (delete_temp_file): Return Qnil to avoid warning.
5000
5001 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
5002
5003 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
5004 HAVE_X_WINDOWS.
5005
5006 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
5007
5008 * composite.h (compose_text): Declare.
5009
5010 * xterm.c: Don't include sys/types.h unconditionally. Don't
5011 protect its inclusion with !USG (following xmenu.c).
5012
ea055732
GM
50132000-06-23 Gerd Moellmann <gerd@gnu.org>
5014
5015 * xfns.c (x_create_tip_frame): Initialize frame's colors like
5016 in x_create_frame.
5017
74b01b80
EZ
50182000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
5019
5020 * coding.c (decode_eol_post_ccl): Special handling for undecided
5021 and inconsistent EOL types.
5022
64f3a166
GM
50232000-06-22 Gerd Moellmann <gerd@gnu.org>
5024
16cf31f7
GM
5025 * xrdb.c (x_load_resources): Add default resource for scroll bar's
5026 trough color and main window's background color.
5027
178c5d9c 5028 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
5029 differently.
5030
5031 * xterm.h (Xt_app_con): External declaration.
5032
5033 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 5034
486a103d
GM
5035 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
5036
64f3a166
GM
5037 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
5038 (handle_invisible_prop): Record the start of invisible text in
5039 it->add_overlay_start.
5040 (struct overlay_entry): Add member `overlay'.
5041 (handle_overlay_change): Simplify.
5042 (next_overlay_string): After having processed overlay strings at the
5043 end of the buffer, record that fact in
5044 it->overlay_strings_at_end_processed_p.
5045 (compare_overlay_entries): If before- and after-strings come
5046 from the same overlay, let before-strings come first.
5047 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
5048 (load_overlay_strings): Take it->add_overlay_start into account
5049 when adding overlay strings.
5050
5051 * dispextern.h (struct it): Add member add_overlay_start.
5052
bb746ea6
DL
50532000-06-22 Dave Love <fx@gnu.org>
5054
5055 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
5056
5057 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
5058
a8f573f3
KH
50592000-06-22 Kenichi Handa <handa@etl.go.jp>
5060
5061 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
5062 is greater than 0.
5063
9f2bbc92
DL
50642000-06-21 Dave Love <fx@gnu.org>
5065
178c5d9c 5066 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 5067
3ee5041c
SM
50682000-06-21 Stefan Monnier <monnier@cs.yale.edu>
5069
5070 * syntax.c (back_comment): Simplify string-parity counting (with
5071 the added benefit of handling multiple string-styles as long as
5072 they are not intertwined).
5073 Jump to the slow code as soon as a comment starter is found in
5074 a "string_lossage" position. Fixes the case: " /* " /* " */.
5075
4c343001
DL
50762000-06-21 Dave Love <fx@gnu.org>
5077
5078 * Makefile.in: Use GETLOADAVG_LIBS.
5079
5080 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
5081 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
5082
e6365855
SM
50832000-06-20 Stefan Monnier <monnier@cs.yale.edu>
5084
5085 * syntax.c (describe_syntax): Recognize the `n'estable bit.
5086 (Fforward_comment, scan_lists):
5087 Check the comstyle of single-char comment-starters.
5088 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
5089 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
5090 Check the comstyle of single-char comment-starters.
5091 Clarify control-flow around the Scomment case.
e6365855 5092
5700d2cc
DL
50932000-06-20 Dave Love <fx@gnu.org>
5094
d355bd8a
SM
5095 * fns.c (make_hash_table, maybe_resize_hash_table):
5096 Cast arg of next_almost_prime.
5700d2cc 5097
178c5d9c 5098 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
5099
5100 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
5101 and unistd.h.
5102
4a27bdfb
GM
51032000-06-20 Gerd Moellmann <gerd@gnu.org>
5104
a61d762c
GM
5105 * keyboard.c (adjust_point_for_property): Check if display
5106 property should be treated as intangible by looking at its
5107 value.
5108
178c5d9c 5109 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
5110 (display_prop_intangible_p): New functions.
5111
5112 * dispextern.h (display_prop_intangible_p): Add prototype.
5113
5114 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 5115
4a27bdfb
GM
5116 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
5117 argument to sigprocmask.
5118
5119 * s/sco5.h (sigblock): Redefined to pass a pointer as second
5120 argument to sigprocmask.
5121
5122 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
5123 sigprocmask_set, and pass a pointer to it to sigprocmask.
5124
5125 * sysdep.c (sigprocmask_set): New variable.
5126
5127 * fileio.c (make_temp_name): Don't use `%s' in string passed to
5128 report_file_error.
5129
427ec082
SS
51302000-06-20 Sam Steingold <sds@gnu.org>
5131
5132 * xrdb.c: Don't declare xmalloc, xrealloc.
5133
8972fe79 51342000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
5135
5136 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
5137 (re_comp): Cast gettext return value to avoid complaints when
5138 !HAVE_LIBINTL.
5139
074b6efe
DL
51402000-06-20 Dave Love <fx@gnu.org>
5141
f85c008a
DL
5142 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
5143 HAVE_GETTIMEOFDAY.
5144
5700d2cc 5145 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 5146
d355bd8a 5147 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
5148
5149 * m/alpha.h: Don't declare xmalloc, xrealloc.
5150
0af4f205
DL
5151 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
5152
5153 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
5154
5155 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
5156
5157 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
5158 HAVE_GETWD.
5159
074b6efe
DL
5160 * keyboard.h (poll_for_input_1): Declare.
5161
5162 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
5163
5164 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
5165
5166 * doprnt.c: Don't declare xmalloc, xrealloc.
5167
5168 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
5169 (getenv, ctime, getwd): Removed.
5170 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
5171
5172 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
5173 x_set_tool_bar_lines.
5174
5175 * config.in: Add HAVE_GETWD. Move some definitions above
5176 machine/system includes.
5177
68a5e97b
KH
51782000-06-20 Kenichi Handa <handa@etl.go.jp>
5179
95417e1e
KH
5180 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
5181
68a5e97b
KH
5182 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
5183 contain information about ENCODING.
5184
5185 * fontset.c (FONTSET_ASCII): Use the first element of char table
5186 for an ASCII font, not defalt slot.
5187 (fontset_ref_via_base): If FONTSET doesn't contain information for
5188 C, try the default fontset.
5189 (make_fontset): Don't copy the default fontset.
5190 (fontset_font_pattern): Likewise.
5191 (accumulate_font_info): If ELT is nil, use the corresponding
5192 element in the default fontset.
5193
3b4fa1b2
DL
51942000-06-19 Dave Love <fx@gnu.org>
5195
943e731c
DL
5196 * syntax.c (Fparse_partial_sexp): Doc fix.
5197
5198 * regex.h: Test PROTOTYPES as well as __STDC__.
5199
3b4fa1b2
DL
5200 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
5201 errno, strerror. Put text after #endif in comment.
5202
5203 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
5204 pcc).
5205
5206 * xterm.c (x_frame_of_widget): Likewise.
5207
cdf0357b
GM
52082000-06-19 Gerd Moellmann <gerd@gnu.org>
5209
5210 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
5211 to Vfundamental_mode_abbrev_table.
5212
5213 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
5214 bogus objects are marked. This slows down GC by ~80 percent, but
5215 it might be worth trying when debugging GC-related problems.
5216 This feature requires conservative stack marking to be enabled.
5217
5218 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
5219 returns XLookupChars, reset `modifiers' to zero.
5220
998e9f8c
DL
52212000-06-19 Dave Love <fx@gnu.org>
5222
5223 * mktime.c: Unprotoized.
5224
18e21ce8 52252000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
5226
5227 * data.c (set_internal): If variable is frame-local,
5228 store the new value immediately into the frame parameter alist.
5229
140c4ac6
KR
52302000-06-19 Ken Raeburn <raeburn@gnu.org>
5231
14358466
KR
5232 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
5233 in the custom handler pointer.
5234
140c4ac6
KR
5235 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
5236 value, or checks for CHAR_META can fail when Lisp_Object is a
5237 union type.
5238 * keymap.c (get_keyelt): Likewise.
5239
10d7bf84
KH
52402000-06-19 Kenichi Handa <handa@etl.go.jp>
5241
5242 * ccl.h (struct ccl_program): New member eol_type.
5243 (struct ccl_spec): New member cr_carryover.
5244
5245 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
5246 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
5247
5248 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
5249 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
5250 (decode_eol_post_ccl): New function.
5251 (decode_coding): Don't detect EOL format here for CCL based coding
5252 systems.
5253 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
5254 decode_eol_post_ccl after running the CCL program.
5255 (code_convert_region): Don't detect EOL format here for CCL based
5256 coding systems.
5257 (decode_coding_string): Likewise.
5258
52e386c2
KR
52592000-06-18 Ken Raeburn <raeburn@gnu.org>
5260
5261 * charset.c (update_charset_table): Use XINT on "iso_final_char"
5262 when treating it as an integer.
5263
5264 * coding.h (encode_coding_string): Declare.
5265
5266 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
5267 it as an integer.
5268
5269 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
5270 "xkeymap" to avoid shadowing the "enum map_type" value that needs
5271 to be passed to get_local_map.
5272
5273 * sound.c (Fplay_sound): Don't call make_number on
5274 Frun_hook_with_args count argument.
5275
5276 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
5277 for lisp objects in X event structure data field, when lisp
5278 objects are represented with unions.
5279 (x_scroll_bar_to_input_event): Ditto.
5280
b357b9d4
KR
52812000-06-16 Ken Raeburn <raeburn@gnu.org>
5282
5283 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
5284 termination of string. Fix sense of test whether
5285 Vline_number_display_limit is an integer.
b357b9d4 5286
a871441d
GM
52872000-06-16 Gerd Moellmann <gerd@gnu.org>
5288
a9021acd
GM
5289 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
5290 only if HAVE_X_WINDOWS.
5291
6344985d
GM
5292 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
5293 of titles.
5294
427ec082 5295 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
5296 out of bounds.
5297
228b083e
EZ
52982000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
5299
5300 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
5301 of its headers.
5302
c25b53a2
KH
53032000-06-15 Kenichi Handa <handa@etl.go.jp>
5304
5305 * coding.c (decode_coding_emacs_mule): Always set src_base at the
5306 start of the while loop.
5307
a6981b11
GM
53082000-06-15 Gerd Moellmann <gerd@gnu.org>
5309
e9924e52
GM
5310 * atimer.c (alarm_signal_handler): Add forward declaration.
5311
a6981b11
GM
5312 * data.c (set_internal): Remove debug code.
5313
25fa6deb
GM
53142000-06-14 Gerd Moellmann <gerd@gnu.org>
5315
dce6b995
GM
5316 * Makefile.in (bootstrap-temacs): Add `-I../src'.
5317
9f817ea4
GM
5318 * unexec.c (toplevel) [COFF]: Include coff.h.
5319
5320 * s/lynxos.h: New file.
5321
5322 * keymap.c (Fsingle_key_description): Enclose function key and
5323 event symbol names in angle brackets.
5324
8a4e3c0c
GM
5325 * xdisp.c (setup_echo_area_for_printing): Call
5326 message_log_maybe_newline if message_buf_print is not set.
5327
5328 * print.c (printchar, strout): Don't check message_buf_print
427ec082 5329 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
5330 function does something useful even when message_buf_print is
5331 already set.
5332
25fa6deb
GM
5333 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
5334 variables.
5335 (ensure_echo_area_buffers): Initialize echo buffer's
5336 truncate lines setting to nil.
5337 (with_echo_area_buffer): Don't set the echo buffer's truncate
5338 lines setting here.
8a4e3c0c 5339 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
5340 of message_truncate_lines.
5341 (resize_mini_window): Handle case that lines are truncated.
5342 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
5343 message-truncate-lines.
5344
5345 * keyboard.c (read_char): Bind message-truncate-lines to t
5346 while displaying a help-echo.
5347
5348 * lisp.h (Qmessage_truncate_lines): External declaration.
5349
163dcff3
GM
53502000-06-13 Gerd Moellmann <gerd@gnu.org>
5351
1681ead6
GM
5352 * xdisp.c (Vline_number_display_limit): Renamed from
5353 line_number_display_limit.
5354 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
5355 Extend documentation string. Initialize
5356 Vline_number_display_limit to nil meaning no limit.
5357 (decode_mode_spec): Use Vline_number_display_limit with its new
5358 meaning.
5359
163dcff3
GM
5360 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
5361
18e21ce8 53622000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
5363
5364 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 5365
163dcff3
GM
5366 * xfns.c (x_set_frame_parameters): Comment fix.
5367
5368 * frame.c (store_frame_param): Call swap_in_global_binding if the
5369 variable's current binding was chosen based on this frame.
5370
5371 * data.c (swap_in_global_binding): New function.
5372
a704139d
EZ
53732000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
5374
5375 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
5376 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
5377
9b6610db
EZ
53782000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
5379
5380 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
5381
c68833d2
JR
53822000-06-12 Jason Rumney <jasonr@gnu.org>
5383
5384 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
5385
5386 * w32.h (EMACS_W32_H): Renamed from _NT_H_
5387
5388 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
5389
5390 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
5391
ed1056b3
GM
53922000-06-12 Gerd Moellmann <gerd@gnu.org>
5393
5394 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
5395 (syms_of_xfaces): Defsubr Sdump_colors.
5396 (x_free_colors): Don't treat b&w specially on default visual.
5397 (x_free_dpy_colors): New function.
5398 (free_face_colors): Don't check visual class; it's done
5399 in x_free_colors.
5400
5401 * xterm.c (x_frame_of_widget): New function.
5402 (x_alloc_nearest_color_for_widget): Use it.
5403 (x_copy_dpy_color): New function.
5404 (x_destroy_window): Free various colors.
5405
5050a2ef
KH
54062000-06-12 Kenichi Handa <handa@etl.go.jp>
5407
5408 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
5409
5410 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
5411
5412 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
5413
5414 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
5415
5416 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
5417
fb1b041d
DL
54182000-06-11 Dave Love <fx@gnu.org>
5419
5420 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
5421
ff96b5f4
EZ
54222000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
5423
5424 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
5425
db8eeecd
GM
54262000-06-11 Gerd Moellmann <gerd@gnu.org>
5427
ed1056b3 5428 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
5429 to `XEvent *'.
5430
49b71c5f
KH
54312000-06-10 Kenichi Handa <handa@etl.go.jp>
5432
c479bd55
KH
5433 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
5434 (regex_compile): Fix the code for handling the case of single byte
5435 char and multibyte char being mixed in a range within [...].
5436
ff6a65c2
KH
5437 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
5438 and dst_multibyte members of coding.
5439
49b71c5f
KH
5440 * charset.c (update_charset_table): Update the table
5441 bytes_by_char_head.
5442 (init_charset_once): Initialize elements of bytes_by_char_head to
5443 1 except for leading codes for private charases.
5444
5445 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
5446 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
5447 sequence.
5448
9e80b57d
KR
54492000-06-09 Ken Raeburn <raeburn@gnu.org>
5450
5451 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
5452 access the data it doesn't point to.
5453
f83fe4b4
GM
54542000-06-08 Gerd Moellmann <gerd@gnu.org>
5455
5456 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 5457 will be translated to a switch-frame event when reading the
f83fe4b4
GM
5458 event queue. This is necessary because Emacs otherwise won't
5459 perform a switch-frame to a new frame until some other event, for
5460 example a keystroke event, forces it to do so. This has various
5461 effects, one visible being that the cursor of a frame created with
5462 C-x 5 2 or switched to with a window manager key binding like
5463 A-TAB stays hollow because selected_window isn't on the newly
5464 focused frame until the switch-frame is performed.
5465
5466 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
5467 generating a switch-frame event if necessary.
5468
5469 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
5470
5471 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
5472 it's an integer.
5473
0890801b
KH
54742000-06-08 Kenichi Handa <handa@etl.go.jp>
5475
5476 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
5477 charset.
5478
173cbca8
GM
54792000-06-07 Gerd Moellmann <gerd@gnu.org>
5480
3091c2a6
GM
5481 * window.c (displayed_window_lines): Take empty lines at
5482 the bottom of a window into account.
427ec082 5483
f38952fe
GM
5484 * window.c (displayed_window_lines): New function.
5485 (Fmove_to_window_line): Use displayed_window_lines to determine
5486 the number of lines to move, instead of using the window's height.
5487
5488 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
5489 to stop reading, even if the form read sets point to a different
5490 value when evaluated.
5491
427ec082 5492 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
5493 put the cursor.
5494
6ba6c818
KH
54952000-06-07 Kenichi Handa <handa@etl.go.jp>
5496
5497 * fileio.c (e_write): Free composition data if stored in
5498 coding->cmp_data.
5499
5f1aea9a
GM
55002000-06-06 Gerd Moellmann <gerd@gnu.org>
5501
666852af
GM
5502 * xdisp.c (display_line): Set row's and iterator's
5503 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
5504 Set cursor even if row ends in the middle of a character.
5505 (dump_glyph_row): Print values of new flags.
5506 (redisplay_window) <cursor movement in unchanged window>: When
5507 point has been moved forward, and PT is at the end of the cursor
5508 row, don't place the cursor in the next row if the cursor row ends
5509 in the middle of a character or at ZV.
5510
5511 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
5512 (struct glyph_row): Add starts_in_middle_of_char_p and
5513 ends_in_middle_of_char_p.
5514 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
5515 ends_in_middle_of_char_p flag.
5516 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
5517
d13f3e2e
GM
5518 * term.c (append_glyph): Revert change of 2000-06-06.
5519
5520 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
5521 padding glyph not fitting on line as whole character not
5522 fitting on line.
5523
5f1aea9a
GM
5524 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
5525 this isn't true for images with `:ascent 100'.
5526
10cda9b0
KH
55272000-06-06 Kenichi Handa <handa@etl.go.jp>
5528
ed00559d
KH
5529 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
5530 as modified if it is originally unmodified.
5531
10cda9b0
KH
5532 * term.c (encode_terminal_code): Change the way to check if
5533 terminal coding does any conversion.
5534 (append_glyph): Set glyph->pixel_width correctly.
5535
5536 * xdisp.c (display_line): While checking line continuation, pay
5537 attention to a padding glyph.
5538
1969fae2
GM
55392000-06-05 Gerd Moellmann <gerd@gnu.org>
5540
5541 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
5542
162ccef4
DL
55432000-06-05 Dave Love <fx@gnu.org>
5544
f19f32dd
DL
5545 * xdisp.c: Include fontset.h.
5546
5547 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
5548
5549 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
5550
5551 * dispnew.c: Conditionally include term.h.
5552
5553 * coding.h: Declare code_convert_string_norecord.
5554
5555 * frame.h (struct frame): Use volatile unconditionally.
5556
5557 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
5558
5559 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
5560
5561 * systime.h: Protect against multiple inclusion.
5562 (timezone) [USG5_4]: Define as time_t.
5563
5564 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
5565 (Foptimize_char_table, make_temp_name): Declare.
5566
5567 * Makefile.in (xdisp.o): Depend on fontset.h.
5568
5569 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
5570
5571 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
5572 (Foptimize_char_table, make_temp_name): Declare.
5573
427ec082 5574 * s/irix4-0.h:
162ccef4
DL
5575 * s/irix5-0.h:
5576 * s/netbsd.h: Don't define autoconfiscated MATHERR.
5577
2082fe81
DL
55782000-06-02 Dave Love <fx@gnu.org>
5579
5580 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
5581
dcf671d2
GM
55822000-06-02 Gerd Moellmann <gerd@gnu.org>
5583
5584 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 5585 result face, set flags in that face indicating that colors may not
dcf671d2
GM
5586 be freed.
5587
5588 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
5589 glyph, use the ASCII NUL character to determine the face.
5590
d42122a3
DL
55912000-06-02 Dave Love <fx@gnu.org>
5592
5593 * sysdep.c: Conditionally include stdlib.h, unistd.h.
5594 (VFORK_RETURN_TYPE): Remove.
427ec082 5595
d42122a3
DL
5596 * config.in: Add NO_MATHERR.
5597
dd432f16
DL
55982000-06-01 Dave Love <fx@gnu.org>
5599
90aa4ea8
DL
5600 * cmds.c (internal_self_insert): Don't check
5601 Vbefore_change_function, Vafter_change_function.
5602
5603 * insdel.c (signal_before_change, signal_after_change): Likewise.
5604
5605 * buffer.c (Vbefore_change_function, Vafter_change_function):
5606 Variables and their initializations deleted.
5607
2330c9d4
DL
5608 * callint.c (Fcall_interactively): Doc fix.
5609
dd432f16
DL
5610 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
5611
bf9e8804
DL
56122000-05-31 Dave Love <fx@gnu.org>
5613
5614 * textprop.c: Revert last change -- duplicated.
5615
3694b4ab
GM
56162000-05-31 Gerd Moellmann <gerd@gnu.org>
5617
5618 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
5619 in #if 0.
5620
5621 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
5622
f14156cd
JR
56232000-05-31 Jason Rumney <jasonr@gnu.org>
5624
8119aab8
JR
5625 * search.c (Fre_search_forward, Fre_search_backward)
5626 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
5627
f14156cd
JR
5628 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
5629
4aab9be3
JR
56302000-05-30 Jason Rumney <jasonr@gnu.org>
5631
5632 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
5633 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
5634
5635 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
5636 member.
5637
5638 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
5639 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
5640 expand a nil default_filename.
5641
5642 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
5643 pointer to glyph_to_pixel_coords, not a frame.
5644
5645 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
5646 coding.h to dependencies.
5647
5648 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
5649
5650 * w32console.c (glyph_to_pixel_coords): Change first parameter to
5651 window pointer to be consistent with w32term.c and xterm.c.
5652
5653 * w32fns.c: Format and doc changes to bring closer to xfns.c.
5654 (VIETNAMESE_CHARSET): Define if not defined in system headers.
5655 (Qline_spacing, Qcenter): New variables.
5656 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
5657 (x_set_line_spacing): New function.
5658 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
5659 macros.
5660 (x_specified_cursor_type): New function.
5661 (x_set_cursor_type): Use it.
5662 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
5663 and icon strings.
5664 (validate_x_resource_name, x_get_resource_string): Measure lengths
5665 of external strings in bytes.
5666 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
5667 GetTextExtentPoint32 with NULL title.
5668 (Fx_create_frame): Initialize Qline_spacing.
5669 (w32_load_system_font): Initialize font->double_byte_p.
5670 (x_to_w32_charset): Use Vw32_charset_info_alist.
5671 (Image, busy cursor, tooltip functions): Merged changes from
5672 xfns.c. Not yet functional on Windows.
5673
5674 * w32gui.h (W32FontStruct): Add double_byte_p member.
5675
5676 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
5677 (emacs_button_translation): Use it.
5678 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
5679 in `mask' to be set.
5680
5681 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
5682 menu strings.
5683
5684 * w32term.c: Format and doc changes to bring closer to xterm.c.
5685 (w32_char_font_type): New enum.
5686 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
5687 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
5688 (w32_encode_char): New function.
5689 (x_encode_char): Removed.
5690 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
5691 x_encode_char and w32_font_is_double_byte.
5692 (x_produce_image_glyph): Use image_ascent.
5693 (x_produce_glyphs): Use new version of w32_per_char_metric and
5694 handle NULL return value. Allow extra line spacing.
5695 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
5696 (w32_get_glyph_overhangs): Remove unicode_p param. Use
5697 w32_font_type member of glyph instead.
5698 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
5699 (fast_find_position): Make sure not to consider rows not visible
5700 in the window.
5701 (w32_read_socket) [WM_MENUSELECT]: Cannot call
5702 w32_menu_display_help with input blocked, as it can abort.
5703 (x_display_and_set_cursor): Choose cursor depending
5704 on buffer-local value of cursor_type.
5705 (x_draw_bar_cursor): Add parameter WIDTH.
5706
5707 * w32term.h (CP_DEFAULT): Define.
5708 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
5709
10fc3187
GM
57102000-05-30 Gerd Moellmann <gerd@gnu.org>
5711
5712 * search.c (Fre_search_forward, Fre_search_backward)
5713 (Fposix_search_backward, Fposix_search_forward): Doc fix.
5714
d0555360
KH
57152000-05-30 Kenichi Handa <handa@etl.go.jp>
5716
5717 * coding.c (detect_coding_iso2022): Fix code for checking
5718 CODING_CATEGORY_MASK_ISO_8_2.
5719
f1ad044f
SM
57202000-05-29 Stefan Monnier <monnier@cs.yale.edu>
5721
5722 * regex.c (PREFETCH_NOLIMIT): New function.
5723 (re_match_2_internal): Use it and adjust the end_match_2 logic.
5724
84ec3b4b
GM
57252000-05-29 Gerd Moellmann <gerd@gnu.org>
5726
66254a13
GM
5727 * syntax.c (find_defun_start): Move test for
5728 open_paren_in_column_0_is_defun_start outside of the loop.
5729
49e70dec
GM
5730 * xdisp.c (redisplay_window): Really switch buffers when
5731 displaying mode lines, and temporarily set selected_frame to the
5732 frame of the window that's redisplayed.
5733
84ec3b4b
GM
5734 * xfaces.c (free_realized_faces): Block/unblock input.
5735 (free_realized_multibyte_face): Ditto.
5736
869a3a14
DL
57372000-05-29 Dave Love <fx@gnu.org>
5738
5739 * textprop.c (Qkeymap): New variable.
5740 (syms_of_textprop): Intern it.
5741
5742 * keymap.c: Include intervals.h.
5743 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
5744
5745 * Makefile.in (keymap.o): Depend on intervals.h.
5746
5747 * keyboard.c (menu_bar_items, tool_bar_items)
5748 (Fexecute_extended_command): Deal with `keymap' property.
5749 (read_key_sequence): Track map from `keymap' property as well as
5750 `local_map'.
5751
5752 * intervals.c (get_local_map): Extra arg to allow looking for
5753 `keymap' too.
5754
5755 * intervals.h (map_property): New enum.
5756 (get_local_map): Extra arg using it.
5757 (Qkeymap): Declare.
5758
84ec3b4b 5759 * lisp.h (get_local_map): Don't declare here.
869a3a14 5760
89d0c844
KH
57612000-05-29 Kenichi Handa <handa@etl.go.jp>
5762
5763 * Makefile.in (callproc.o): Depend on composite.h.
5764
5765 * callproc.c: Include composite.h.
5766 (Fcall_process): Handle composition correctly.
5767
5768 * coding.h (coding_allocate_composition_data): Extern it.
5769 (coding_restore_composition): Likewise.
5770
5771 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
5772 yet allocated, finish decoding with result
5773 CODING_FINISH_INSUFFICIENT_CMP.
5774 (coding_allocate_composition_data): Make it non-static.
5775 (coding_restore_composition): Likewise.
5776
797a084a
EZ
57772000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
5778
5779 * charset.c (syms_of_charset): Revert last change.
5780
cf872af5
EZ
57812000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
5782
5783 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
5784 charsets as unibyte, with 1-column screen width. Sent by Kenichi
5785 Handa.
cf872af5 5786
5b1ae051
EZ
57872000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
5788
5789 * charset.c (syms_of_charset): Set width of character sets
5790 eight-bit-control and eight-bit-graphic to 1 column.
5791
34ec9ebe
GM
57922000-05-26 Gerd Moellmann <gerd@gnu.org>
5793
5794 * config.in (HAVE_SPEED_T): New define.
5795
5796 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
5797 `extern speed_t'.
5798
dd854dc2
DL
57992000-05-26 Dave Love <fx@gnu.org>
5800
5801 * coding.c (shrink_decoding_region): Initialize eol_conversion.
5802
5803 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
5804 (Fsubr_arity): New function.
5805 (syms_of_data): Install them.
5806
ba9f8f95
KH
58072000-05-26 Kenichi Handa <handa@etl.go.jp>
5808
0f3e0672
KH
5809 * charset.c (init_charset_once): Set the table bytes_by_char_head
5810 correctly.
5811
cebefb44
KH
5812 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
5813 the default fontset to what Emacs uses by default.
0f3e0672
KH
5814 (check_registry_encoding): This function deleted.
5815 (Fset_fontset_font): Remove the adhoc condition for the default
5816 fontset. Allow cons in FONTNAME.
cebefb44 5817
0f3e0672
KH
5818 * fns.c (map_char_table): Ignore char-table entries for
5819 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 5820
7a18af49
KR
58212000-05-25 Ken Raeburn <raeburn@gnu.org>
5822
5823 * emacs.c (main): Initialize keyboard syms before initializing
5824 window code, so face names are available.
5825
d2af47df
SM
58262000-05-25 Stefan Monnier <monnier@cs.yale.edu>
5827
5828 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
5829 of an anchor at the beginning of a shy-group.
5830
fc6a6a4e
GM
58312000-05-25 Gerd Moellmann <gerd@gnu.org>
5832
5833 * xdisp.c (handle_invisible_prop): Don't try to skip over
5834 invisible text if end of text is already reached.
5835
005f0d35
DL
58362000-05-25 Dave Love <fx@gnu.org>
5837
02513cdd
DL
5838 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
5839
005f0d35
DL
5840 * coding.c (encode_eol): Add null statement after label.
5841
89f6ca4e
EZ
58422000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
5843
5844 * w16select.c (Fw16_set_clipboard_data): Fix the change from
5845 2000-05-20.
5846
a4e1759e
KH
58472000-05-25 Kenichi Handa <handa@etl.go.jp>
5848
5849 * ccl.c (ccl_driver): Fix previous change.
5850
eacfd7fe
KH
58512000-05-25 Kenichi Handa <handa@etl.go.jp>
5852
46ab33a9
KH
5853 * coding.c (run_pre_post_conversion_on_str): Set point to the
5854 beginning of buffer before calling coding->post_read_conversion.
5855 (decode_coding_string): Give correct args to
5856 run_pre_post_conversion_on_str.
5857 (encode_coding_string): Likewise.
5858
eacfd7fe
KH
5859 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
5860 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
5861 eight-bit-graphic correctly.
5862
f8569325
DL
58632000-05-24 Kenichi HANDA <handa@etl.go.jp>
5864
5865 * fileio.c (Finsert_file_contents): Even if a file is not found,
5866 execute codes for setting up coding system. Call
5867 after-insert-file-functions unconditionally.
5868
04545643
GM
58692000-05-24 Gerd Moellmann <gerd@gnu.org>
5870
5871 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
5872 BSD_PGRPS are not defined.
5873
747d90ea
KH
58742000-05-24 Kenichi Handa <handa@etl.go.jp>
5875
5876 * charset.c (update_charset_table): Accept nil in LONG_NAME and
5877 DESCRIPTION.
5878 (syms_of_charset): Avoid building same strings.
5879
716e3b88
GM
58802000-05-23 Gerd Moellmann <gerd@gnu.org>
5881
5882 * lread.c (Fload): Add a comment about the meaning of
5883 Vuser_init_file being t.
5884
5885 * puresize.h (BASE_PURESIZE): Increase to 675000.
5886
5887 * s/gnu-linux.h (setpgrp): Don't define it here because this
5888 prevents compilation on GNU/Linux systems with glib 2.2.
5889
5890 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
5891 as setpgid.
427ec082 5892
9aeb39fa
EZ
58932000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
5894
5895 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
5896 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
5897 version.
5898 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
5899
29ced61b
KH
59002000-05-23 Kenichi Handa <handa@etl.go.jp>
5901
0574a2ed
KH
5902 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
5903 unconditionally.
5904
3d80f24d
KH
5905 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
5906
5907 * term.c (encode_terminal_code): Set coding->src_multibyte
5908 properly.
5909
29ced61b
KH
5910 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
5911
d7e00792
KH
59122000-05-22 Kenichi Handa <handa@etl.go.jp>
5913
c9d80d38
KH
5914 * keyboard.c (read_char): Allow character codes 128..255 to be
5915 handled by input-method-function.
5916
d7e00792
KH
5917 * insdel.c (adjust_markers_for_replace): Fix previous change.
5918 (adjust_after_replace): If PREV_TEXT is nil, call
5919 adjust_markers_for_insert, not adjust_markers_for_replace.
5920
087121cc 59212000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 5922
087121cc
GM
5923 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
5924 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
5925 [HAVE_GRANDPT]: Define.
5926 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
5927
5928 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
5929 like SYSV_PTYS.
5930
5931 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
5932
5933 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
5934
c9671f81
KH
59352000-05-20 Kenichi Handa <handa@etl.go.jp>
5936
5937 The following changes are to handle 8-bit characters in a
5938 multibyte buffer/string without facing with byte combining
5939 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
5940 eight-bit-graphic (for 0xA0..0xFF) are introduced.
5941
5942 * Makefile.in (fns.o): Depend on charset.h.
5943
5944 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
5945 convert it to unibyte.
5946 (make_string): Use parse_str_as_multibyte, not chars_in_text.
5947
5948 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
5949 apparent char boundary.
5950 (Fset_buffer_multibyte): Convert 8-bit characters in the range
5951 0x80..0x9F to/from multibyte form.
5952
5953 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
5954 to unibyte.
5955
5956 * callproc.c (Fcall_process): Always encode an argument string if
5957 it is multibyte. Setup src_multibyte and dst_multibyte members of
5958 process_coding properly.
ce75fd23 5959
c9671f81
KH
5960 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
5961 SPLIT_NON_ASCII_CHAR.
5962
5963 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
5964 as is.
5965 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
5966
5967 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
5968 variables.
5969 (SPLIT_CHARACTER_SEQ): This macro deleted.
5970 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
5971 valid.
5972 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
5973 and eight-bit-graphic.
5974 (char_to_string): Likewise. Signal an error for too large
5975 character code.
5976 (char_printable_p): Return 0 for 8-bit characters.
5977 (update_charset_table): Update iso_charset_table only when a final
5978 character is non-negative.
5979 (find_charset_in_text): Renamed from find_charset_in_str.
5980 Arguments and return value changed. Callers changed.
5981 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
5982 be -1 if CHARSET is used only internally.
5983 (Fmake_char_internal): Handle new charsets; eight-bit-control and
5984 eight-bit-graphic.
5985 (Fcharset_after): Simplified.
5986 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
5987 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
5988 (multibyte_chars_in_text): Simplified by assuming there's no
5989 invalid multibyte sequence.
5990 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
5991 str_as_unibyte): New functions.
5992 (Fstring): Simpified by assuming that byte combining never
5993 happens.
5994 (init_charset_once): Initialization for
5995 LEADING_CODE_8_BIT_CONTROL.
5996 (syms_of_charset): Intern and staticpro Qeight_bit_control and
5997 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
5998 eight-bit-control and eight-bit-graphic.
5999
6000 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
6001 CHARSET_8_BIT_GRAPHIC): New macros.
6002 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
6003 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
6004 (CHARSET_REVERSE_CHARSET): Likewise.
6005 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
6006 eight-bit-graphic.
6007 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
6008 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
6009 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
6010 encounter an invalid multibyte sequence.
6011 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
6012 sequence is always valid.
6013 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
6014 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
6015 macros.
6016 (CHAR_STRING): For 8-bit characters, call char_to_string.
6017 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
6018 multibyte sequence is always valid.
6019 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
6020 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
6021 str_as_unibyte): Extern them.
6022 (BCOPY_SHORT): Fix a bug.
6023 (CHAR_LEN): This macro deleted. Callers changed to use
6024 CHAR_BYTES.
6025 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
6026 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
6027 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
6028
bd4bde7f 6029 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
6030 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
6031 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
6032 EMIT_BYTES): New macros.
6033 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
6034 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
6035 macros deleted.
6036 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
6037 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
6038 check the validity of multibyte sequence.
6039 (decode_coding_emacs_mule): New function.
6040 (encode_coding_emacs_mule): New macro.
6041 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
6042 the source.
6043 (DECODE_ISO_CHARACTER): Just return a character code.
6044 (DECODE_COMPOSITION_START): Set coding->result instead of result.
6045 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
6046 EMIT_CHAR to produced decoded characters. Exit the loop only by
6047 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
6048 block here.
6049 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
6050 only position codes for an invalid character.
6051 (encode_designation_at_bol): Return new destination pointer. 5th
6052 arg DSTP is changed to DST.
6053 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
6054 from the source by ONE_MORE_CHAR. Don't handle the case of last
6055 block here.
6056 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
6057 macros deleted.
6058 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
6059 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
6060 TWO_MORE_BYTES to fetch a byte from the source.
6061 (encode_eol): Pay attention to coding->src_multibyte.
6062 (detect_coding, detect_eol): Preserve members src_multibyte and
6063 dst_multibyte.
6064 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
6065 (encoding_buffer_size): Set magnification to 3 for all coding
6066 systems that require encoding.
6067 (ccl_coding_driver): For decoding, be sure that the result is
6068 valid multibyte sequence.
6069 (decode_coding): Initialize coding->errors and coding->result.
6070 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
6071 and raw-text, always call decode_eol. Handle the case of last
6072 block here. If not coding->dst_multibyte, convert the resulting
6073 sequence to unibyte.
6074 (encode_coding): Initialize coding->errors and coding->result.
6075 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
6076 and raw-text, always call encode_eol. Handle the case of last
6077 block here.
6078 (shrink_decoding_region, shrink_encoding_region): Detect cases
6079 that we can't skip data more rigidly.
6080 (code_convert_region): Setup src_multibyte and dst_multibyte
6081 members of coding. For decoding, if the buffer is multibyte,
6082 convert the source sequence to unibyte in advance. For encoding,
6083 if the buffer is multibyte, convert the resulting sequence to
6084 multibyte afterward.
6085 (run_pre_post_conversion_on_str): New function.
6086 (code_convert_string): Deleted and divided into the following two.
6087 (decode_coding_string, encode_coding_string): New functions.
6088 (code_convert_string1, code_convert_string_norecord): Call one of
6089 above.
6090 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
6091 MAKE_NON_ASCII_CHAR.
6092 (Fset_terminal_coding_system_internal,
6093 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
6094 and dst_multibyte members.
6095 (init_coding_once): Initialize iso_code_class with new enum
6096 ISO_control_0 and ISO_control_1.
6097
6098 * coding.h (enum iso_code_class_type): Member ISO_control_code is
6099 devided into ISO_control_0 and ISO_control_1.
6100 (struct coding_system): New members src_multibyte, dst_multibyte,
6101 errors, and result. Delete member fake_multibyte.
6102 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
6103 nonzero.
6104 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
6105 nonzero.
6106
6107 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
6108 (Faset): Likewise.
6109
6110 * editfns.c (Fformat): Be sure to convert 8-bit characters to
6111 multibyte form.
6112 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
6113 combining occurs.
6114 (Ftranspose_region): Delete codes for handling byte combining.
6115
6116 * fileio.c (Finsert_file_contents): Setup src_multibyte and
6117 dst_multibyte members of coding. On handling REPLACE on unibyte
6118 buffer, convert the result of decode_coding to unibyte. On
6119 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 6120 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
6121 multibyteness of the source (buffer or string).
6122
6123 * fns.c (concat): Handle 8-bit characters correctly.
6124 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
6125 unibyte in the result.
6126 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
6127 valid multibyte form in the result.
6128 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
6129 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
6130 return -1, signal an error.
6131 (base64_encode_1): New arg MULTIBYTE. Get each character by
6132 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
6133 character is found, return -1.
6134 (Fbase64_decode_region): Delete codes for handling byte-combining.
6135 Treat each decoded byte as a unibyte character.
6136 (Fbase64_decode_string): Return unibyte string.
6137 (Fcompare_strings, concat, string_byte_to_char): Use
6138 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
6139 FETCH_STRING_CHAR_ADVANCE.
6140 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
6141 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
6142
6143 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
6144 SPLIT_NON_ASCII_CHAR.
6145 (fontset_ref_via_base, fontset_set): Likewise
6146
6147 * insdel.c (adjust_markers_for_record_delete): Deleted.
6148 (adjust_markers_for_insert): Argument changed. Caller changed.
6149 (adjust_markers_for_replace): Likewise.
6150 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
6151 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
6152 (copy_text): Delete unused local varialbe c_save. For converting
6153 to multibyte, be sure to make all 8-bit characters in valid
6154 multibyte form.
6155 (count_size_as_multibyte): Handle 8-bit characters correctly.
6156 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
6157 adjust_after_replace, replace_range, del_range_2)
6158 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
6159 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
6160 adjust_after_replace, replace_range, del_range_2) Delete codes for
6161 handling byte combining.
6162 (adjust_before_replace): Deleted.
427ec082 6163
c9671f81
KH
6164 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
6165 SPLIT_NON_ASCII_CHAR.
6166 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
6167 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
6168 unconditionally.
6169 (Fkey_description): Likewise.
6170
6171 * lread.c (read1): On reading multibyte string, be sure to make
6172 all 8-bit chararacters in valid multibyte form.
6173 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
6174
6175 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
6176 unconditionally.
6177
6178 * process.c (Fstart_process): GCPRO current_dir before calling
6179 Ffind_operation_coding_system. Encode arguments here.
6180 (create_process): Don't encode arguments here. Setup
6181 src_multibyte and dst_multibyte members of struct coding.
6182 (read_process_output): Setup src_multibyte and dst_multibyte
6183 members of struct coding. If the output is to multibyte buffer,
6184 always decode the output of the process. Adjust the
6185 representation of 8-bit characters to the multibyteness of the
6186 output.
6187 (send_process): Setup coding->src_multibyte according to the
6188 multibyteness of the source.
6189
6190 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
6191 unconditionally.
6192 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
6193 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
6194
6195 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
6196 CHAR_LEN.
6197
6198 * w16select.c (Fw16_set_clipboard_data): Setup members
6199 src_multibyte and dst_multibyte of coding. Adjusted for the
6200 change for find_charset_in_str.
6201 (Fw16_get_clipboard_data): Likewise.
6202
6203 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
6204 dst_multibyte of coding.
6205 (x_to_w32_font): Likewise.
6206
6207 * w32select.c (Fw32_set_clipboard_data): Setup members
6208 src_multibyte and dst_multibyte of coding. Adjusted for the
6209 change for find_charset_in_str.
6210 (Fw32_get_clipboard_data): Likewise.
6211
6212 * xdisp.c (get_next_display_element): Handle 8-bit characters
6213 correctly.
6214 (next_element_from_display_vector): Use CHAR_BYTES instead of
6215 CHAR_LEN.
6216 (disp_char_vector): Use SPLIT_CHAR instead of
6217 SPLIT_NON_ASCII_CHAR.
6218
6219 * xselect.c (selection_data_to_lisp_data): Setup members
6220 src_multibyte and dst_multibyte of coding. Adjusted for the
6221 change for find_charset_in_str.
6222 (lisp_data_to_selection_data): Likewise.
6223
5f64c9e0
GM
62242000-05-19 Gerd Moellmann <gerd@gnu.org>
6225
2b63d473
GM
6226 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
6227 buffer.
6228
5f64c9e0
GM
6229 * dispextern.h (Vimage_types): Add extern declaration.
6230
6231 * xdisp.c (Vimage_types): Moved here from xfns.c.
6232 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
6233
6234 * xfns.c (Vimages_types): Moved to xdisp.c.
6235 (syms_of_xfns): Move `image-types' to xdisp.c.
6236
6237 * w32fns.c (Vimage_types): Removed.
6238 (syms_of_w32fns): Remove `image-types'.
6239
813086ea
KH
62402000-05-18 Kenichi Handa <handa@etl.go.jp>
6241
6242 * fns.c (map_char_table): Pay attention to character number of
6243 charset. Check the validity of charset at the first level. For
6244 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
6245 the default value.
6246
6247 * fontset.c: Include "buffer.h".
6248 (fs_load_font): If the face has fontset, record the face ID in
6249 that fontset.
6250 (Finternal_char_font): New function.
6251 (accumulate_font_info): New function.
6252 (Ffontset_info): Rewritten for the new fontset implementation.
6253 (syms_of_fontset): Register Vdefault_fontset in the first element
6254 of Vfontset_table. Include Vdefault_fontset in
6255 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
6256 function.
6257
bdaebbf0
DL
62582000-05-16 Dave Love <fx@gnu.org>
6259
6260 * m/iris5d.h: Deleted -- unused.
6261
cb613bb8
GM
62622000-05-16 Gerd Moellmann <gerd@gnu.org>
6263
b15f3b77
GM
6264 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
6265 `invalid' instead of `illegal'.
6266
6267 * indent.c (Fmove_to_column): When ending within a tab, insert
6268 spaces first so that markers at the end of the tab get adjusted.
6269
835c1b36
GM
6270 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
6271 buffer list that wasn't selected in that frame.
6272
cb613bb8
GM
6273 * filelock.c (get_boot_time): To obtain an 8 char file name, which
6274 is needed on mescaline, use a 2 char prefix, and call
6275 make_temp_name with second arg non-zero.
6276
6277 * fileio.c (make_temp_name): New function, extracted from
6278 Fmake_temp_name.
6279 (Fmake_temp_name): Use it.
6280
f685bea9
EZ
62812000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
6282
6283 * window.c (coordinates_in_window): Subtract 1 when computing
6284 right_x.
6285
a1b8d58b
GM
62862000-05-15 Gerd Moellmann <gerd@gnu.org>
6287
6288 * Makefile.in (lisp): Add env.elc.
6289
6290 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
6291
a265079f
GM
62922000-05-12 Gerd Moellmann <gerd@gnu.org>
6293
6294 * search.c (Freplace_match): Handle case of `\N' in the
6295 replacement when there's no group N.
6296
da4496b6
GM
62972000-05-11 Gerd Moellmann <gerd@gnu.org>
6298
0ace421a
GM
6299 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
6300 of the message to message_dolog.
6301
1172eb8d
GM
6302 * keyboard.c (read_char): Don't clear current message for help
6303 events; let the code handling help events handle this. Change
6304 code detecting help events that should be ignored.
6305
da4496b6
GM
6306 * xdisp.c (handle_single_display_prop): Don't try to set PT if
6307 we're interating over a string.
6308
0623e40f
DL
63092000-05-09 Dave Love <fx@gnu.org>
6310
6311 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
6312 that offset before writing. Move gcpro region past call of
6313 Ffile_regular_p.
6314
bae2503b
DL
63152000-05-04 Dave Love <fx@gnu.org>
6316
6317 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
6318
ec82fb2f
GM
63192000-05-04 Gerd Moellmann <gerd@gnu.org>
6320
6321 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
6322 of inserted characters when BUF equals the current buffer, and PT
6323 is in front of or equal to FROM.
6324
cbf18892
GM
63252000-05-03 Gerd Moellmann <gerd@gnu.org>
6326
4ff40dd0
GM
6327 * xdisp.c (handle_single_display_prop): If display property value
6328 is invalid, or something not supported on the frame, restore
6329 iterator's position to what it was initially. Make sure to return
6330 0 for invalid and unsupported property values.
6331
cbf18892
GM
6332 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
6333 that x_per_char_metric returns null.
6334
1b0672c3
GM
63352000-05-02 Gerd Moellmann <gerd@gnu.org>
6336
576da55d
GM
6337 * xterm.h (struct face): Add forward declaration.
6338 (struct image): Ditto.
6339 (image_ascent): Add prototype.
6340
6341 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
6342 (x_draw_image_relief, x_draw_image_foreground_1): Call function
6343 image_ascent instead of using IMAGE_ASCENT.
6344
6345 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
6346 (IMAGE_ASCENT): Removed.
6347
6348 * xfns.c (Qcenter): New variable.
6349 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
6350 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
6351 (image_ascent): New function.
6352 (lookup_image): Recognize `:ascent center'.
6353 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
6354 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
6355 (xbm_load): Don't set image's ascent here.
6356 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
6357 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
6358 check ascent values here.
6359 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
6360 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
6361 (syms_of_xfns): Initialize Qcenter.
6362
1b0672c3
GM
6363 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
6364 to the limits, increase the limits.
6365
0d7811ed
KH
63662000-05-01 Kenichi Handa <handa@etl.go.jp>
6367
6368 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
6369 Check Vfont_encoding_alist against the full name of the opened
6370 font.
6371
a943a5ca
GM
63722000-04-28 Gerd Moellmann <gerd@gnu.org>
6373
6374 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
6375 taller than the window.
6376
5dba1e29
KH
63772000-04-28 Kenichi Handa <handa@etl.go.jp>
6378
6379 * xfaces.c (realize_x_face): Fix the argument of the second
6380 xassert. BASE_FACE may not be a face for ASCII.
6381
353964e3
GM
63822000-04-27 Gerd Moellmann <gerd@gnu.org>
6383
c76e04a8
GM
6384 * print.c (print_object): Treat print-length < 0 as nil.
6385
6386 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
6387
6388 * s/freebsd.h (TERMCAP_OBJ): Removed.
6389 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
6390
6391 * lread.c (read1): Don't treat period followed by certain
6392 characters as symbol start.
6393
6394 * xfns.c (slurp_file): New function.
6395 (xbm_image_p): Handle case of in-memory XBM files.
6396 (xbm_scan): Rewritten to work on memory buffers instead of files.
6397 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
6398 Work on memory buffers instead of files. If DATA is null test
6399 if buffer looks like an in-memory XBM file.
6400 (xbm_load_image): Renamed from xbm_load_image_file. Work on
6401 memory buffers instead of files.
6402 (xbm_file_p): New function.
6403 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
6404
353964e3
GM
6405 * lread.c (end_of_file_error): New function.
6406 (read1): Call it instead of signaling `end-of-file' directly.
6407
427ec082 6408 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
6409 with Fprinc instead of Fprin1.
6410
24d744ac
KR
64112000-04-26 Ken Raeburn <raeburn@gnu.org>
6412
6413 * window.c (freeze_window_start): Check that minibuffer scroll
6414 window isn't nil before extracting the window structure pointer
6415 from it.
6416
6417 * undo.c (record_delete): If we hit the end of the undo list, stop
6418 picking elements apart.
6419
7464346d
GM
64202000-04-26 Gerd Moellmann <gerd@gnu.org>
6421
6422 * xdisp.c (display_line): If lines are continued, restore
6423 iterator's ascent/descent information to the values before the
6424 first glyph not fitting on the line.
6425
612839b6
GM
64262000-04-25 Gerd Moellmann <gerd@gnu.org>
6427
6428 * xdisp.c (try_window_id) <all changes above window start>: Adjust
6429 positions in glyph matrix. Don't compute new window end
6430 positions.
6431
6432 * dispnew.c (increment_matrix_positions): Renamed from
6433 increment_glyph_matrix_buffer_positions.
6434 (increment_row_positions): Renamed from
6435 increment_glyph_row_buffer_positions.
6436
6437 * dispextern.h: Change names of renamed functions from dispnew.c
6438 in prototypes.
6439
cc181e95
GM
64402000-04-24 Gerd Moellmann <gerd@gnu.org>
6441
abfcc168
GM
6442 * fileio.c (Fdo_auto_save): Create directories for auto-save
6443 list file if necessary.
6444
cc181e95
GM
6445 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
6446 from buffer or frame.
6447 (automatic_hscrolling_p): New variable.
6448 (hscroll_windows): Scroll windows horizontally only if automatic
6449 hscrolling is allowed.
6450 (syms_of_xdisp): New variable `automatic-hscrolling'.
6451
6452 * frame.h (struct frame): Add member extra_line_spacing.
6453
6454 * xfns.c (x_set_line_spacing): New function.
6455 (Fx_create_frame): Set line spacing from resources.
6456 (Qline_spacing): New variable.
6457 (syms_of_xfns): Initialize Qline_spacing.
427ec082 6458
cc181e95
GM
6459 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
6460
6461 * buffer.c (init_buffer_once): Handle extra_line_spacing.
6462 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 6463 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
6464 extra_line_spacing from default value.
6465 (init_buffer_once): Initialize default value of extra_line_spacing.
6466
6467 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
6468 and extra3.
6469
6470 * xterm.c (x_produce_glyphs): Remove reference to struct it's
6471 prompt_width. Add extra line spacing.
6472
6473 * term.c (produce_glyphs): Remove reference to struct it's
6474 prompt_width.
6475
6476 * dispextern.h (struct it): Remove member prompt_width, add
6477 extra_line_spacing.
6478
58827478
GM
64792000-04-22 Gerd Moellmann <gerd@gnu.org>
6480
6481 * dispnew.c (update_frame_line): When writing a whole line, make
6482 sure cursor is in the right row afterwards, otherwise a use of
6483 capability `ch' in cmgoto might leave the cursor in the row below.
6484
25a87f42
GM
64852000-04-21 Gerd Moellmann <gerd@gnu.org>
6486
6487 * lisp.h (struct Lisp_Buffer_Cons): Remove.
6488
6489 * keyboard.c (timer_check): Fix typo in comment.
6490
54edf5c2
KH
64912000-04-21 Kenichi Handa <handa@etl.go.jp>
6492
6493 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
6494 name change: ch -> character.
6495
3a64eef5
GM
64962000-04-20 Gerd Moellmann <gerd@gnu.org>
6497
6498 * keyboard.c (echo_message_buffer): New variable.
6499 (echo_now): Set echo_message_buffer to the echo area buffer used
6500 to display the echo.
6501 (cancel_echoing): Reset echo_message_buffer to nil.
6502 (read_char): Code rewritten that handles canceling an echo or
6503 echoing a dash, respectively.
6504
6505 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
6506 directory doesn't exist.
6507
6142fdcb
DL
65082000-04-19 Dave Love <fx@gnu.org>
6509
6510 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
6511 (concat): Don't allow numeric args.
6512 (Fconcat): Doc change.
6142fdcb 6513
ac6b5352
SM
65142000-04-19 Stefan Monnier <monnier@cs.yale.edu>
6515
6516 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
6517 instead define end_match(1|2) more carefully.
6518 Use GET_CHAR_BEFORE_2 for `begline'.
6519
cb9215e4
GM
65202000-04-19 Gerd Moellmann <gerd@gnu.org>
6521
5e3dac3f
GM
6522 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
6523 on 64-bit systems where NULL is defined as `0'.
6524
6525 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
6526 the `variable argument list' to make it work on Alpha.
6527
cb9215e4
GM
6528 * m/alpha.h (_LP64) [!_LP64]: Define.
6529 (ORDINARY_LINK): Define for NetBSD.
6530
6531 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 6532
f532dca0
DL
65332000-04-19 Dave Love <fx@gnu.org>
6534
c750667e
DL
6535 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
6536 change.
6537
6538 * Makefile.in (LIBS): Don't use.
6539 (GETLOADAVG_OBJ): Define again.
6540 (otherobj): Add GETLOADAVG_OBJ.
6541
f532dca0
DL
6542 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
6543
1c7e22fd
GM
65442000-04-18 Gerd Moellmann <gerd@gnu.org>
6545
f6d3257b
GM
6546 * lread.c (read_filtered_event): Cancel and start busy cursor.
6547
427ec082 6548 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
6549 that the per-character metrics may be null.
6550
e10f64e7
GM
65512000-04-17 Gerd Moellmann <gerd@gnu.org>
6552
0daee095
GM
6553 * buffer.c (clone_per_buffer_values): New function.
6554 (Fmake_indirect_buffer): Add optional argument CLONE. Call
6555 clone_per_buffer_values if CLONE is not nil.
6556
e10f64e7
GM
6557 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
6558
38687d43
DL
65592000-04-16 Dave Love <fx@gnu.org>
6560
6561 * Makefile.in: Remove obsolete localcpp stuff.
6562 (GETLOADAVG_OBJ): Don't define.
6563 (obj): Move LIBOBJS...
6564 (otherobj): ... to here.
6565 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
6566 whitespace-only lines after the continuation (Irix).
6567
c21c7262
GM
65682000-04-14 Gerd Moellmann <gerd@gnu.org>
6569
6570 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
6571
6572 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
6573
314767c0
DL
65742000-04-14 Dave Love <fx@gnu.org>
6575
6576 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
6577 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
6578 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
6579 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
6580 NLIST_STRUCT.
6581
6582 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
6583 autoconfiscated HAVE_GETLOADAVG.
6584
6585 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
6586 BROKEN_MKTIME.
6587
a2522dca
GM
65882000-04-14 Gerd Moellmann <gerd@gnu.org>
6589
6590 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
6591 (fill_in_lock_file_name): Avoid existing files that aren't
6592 links.
6593
33744b5d
DL
65942000-04-14 Dave Love <fx@gnu.org>
6595
c21c7262 6596 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
6597 (INTERVAL_SRC): Convert to make variable.
6598 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
6599 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
6600 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
6601 add LIBOBJS.
6602 (SOME_MACHINE_OBJECTS): Remove interval stuff.
6603 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
6604 (shortlisp): Add facemenu, float-sup, frame.
6605 (SOME_MACHINE_LISP): Remove them from here.
6606 (LIBES): Change unused LDLIBS to autoconf LIBS.
6607
6608 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
6609
9d3d5916
KH
66102000-04-14 Kenichi Handa <handa@etl.go.jp>
6611
6612 * composite.c (update_compositions): If FROM and TO are not in a
6613 valid range, do nothing.
6614
198e3c7a
GM
66152000-04-13 Gerd Moellmann <gerd@gnu.org>
6616
6617 * tparam.c (tparam1): Abort when encountering an unknown
6618 `%'-specifier.
6619
6620 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
6621 terminfo.o.
6622
6623 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
6624 as TERMCAP_OBJ.
6625
055a28c9
EZ
66262000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
6627
6628 * fileio.c (a_write): Remove redundant semi-colons.
6629 (e_write): Return -1 if failed to write all the data.
6630 This fixes the changes made at 1999-12-15.
6631
f5c75033
DL
66322000-04-12 Dave Love <fx@gnu.org>
6633
6634 * fns.c (mapcar1): Test for null vals to support mapc.
6635 (Fmapc): New function.
6636
0c3cfc51
EZ
66372000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
6638
6639 * msdos.c (NUM_MOUSE_BUTTONS): Define.
6640 (IT_frame_up_to_date): Support the buffer local value of
6641 cursor-type, if defined.
6642
33465a31
DL
66432000-04-10 Dave Love <fx@gnu.org>
6644
6645 * editfns.c (preceding-char, following-char): Doc fix.
6646
6ed56568
KR
66472000-04-10 Ken Raeburn <raeburn@gnu.org>
6648
6649 * Makefile.in (temacs): Revert 2000-03-12 change.
6650
7cf80d4e
JR
66512000-04-10 Jason Rumney <jasonr@gnu.org>
6652
6653 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
6654
34f3f342
GM
66552000-04-10 Gerd Moellmann <gerd@gnu.org>
6656
1a1b1895
GM
6657 * xdisp.c (setup_echo_area_for_printing): Choose an echo
6658 area buffer, if it's not set up yet.
6659
34f3f342
GM
6660 * indent.c (compute_motion): Set immediate_quit.
6661
be0dbdab
GM
66622000-04-09 Gerd Moellmann <gerd@gnu.org>
6663
c45be9ac
GM
6664 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
6665 variable.
6666 (realize_tty_face): Suppress boldness if colors are the inverse of
6667 the default colors, and tty_suppress_bold_inverse_default_colors_p
6668 is set.
6669 (Ftty_suppress_bold_inverse_default_colors): New function.
6670 (syms_of_xfaces): Defsubr it.
6671
be0dbdab
GM
6672 * buffer.c (Frestore_buffer_modified_p): New function.
6673 (syms_of_buffer): Defsubr it.
6674
e8413c3b
KR
66752000-04-08 Ken Raeburn <raeburn@gnu.org>
6676
87f67317
KR
6677 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
6678 charset id (int) argument, not a charset (Lisp_Object).
6679
e8413c3b
KR
6680 * coding.h (code_convert_string): Declare.
6681 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
6682 object, as the fourth argument to code_convert_string.
6683
6684 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
6685 value.
6686 (Fset_fontset_font): Use EQ to compare lisp objects.
6687
7c752c80
KR
66882000-04-05 Ken Raeburn <raeburn@gnu.org>
6689
c0333abc
KR
6690 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
6691 a pointer that looks like a lisp object.
6692 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
6693 zero, instead see whether it's an integer object, since they can't
6694 have intervals.
6695 (GET_INTERVAL_OBJECT): Simply assign to the destination.
6696
7c752c80
KR
6697 * dispnew.c (allocate_matrices_for_frame_redisplay,
6698 direct_output_forward_char): Use X(U)INT and make_number as needed
6699 to convert between (unsigned) int values and lisp integers.
6700 * keyboard.c (read_key_sequence): Likewise.
6701 * lread.c (substitute_object_recurse): Likewise.
6702 * fns.c (concat, hash_lookup, hash_remove): Likewise.
6703 * minibuf.c (do_completion, Fminibuffer_complete_word,
6704 Fminibuffer_completion_help): Likewise.
6705 * term.c (produce_special_glyphs): Likewise.
6706
6707 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
6708 * print.c (print_preprocess, print_object): Likewise.
6709
6710 * search.c (compile_pattern): Use NILP when checking for nil.
6711
74e49b38
KR
6712 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
6713 __OPTIMIZE__]: Provide a GNU C macro version that handles
6714 lisp-object unions.
6715 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
6716 field, to better cope with ENABLE_CHECKING and calls that modify a
6717 Lisp_Object using its old value.
6718
685e5ed2
GM
67192000-04-04 Gerd Moellmann <gerd@gnu.org>
6720
c407c570
GM
6721 * window.c (compare_window_configurations): Signal an error
6722 if parameters C1 or C2 aren't window configurations.
6723
685e5ed2
GM
6724 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
6725 AFTER_POTENTIAL_GC calls around calls to functions that can
6726 signal an error and thus invoke the debugger.
6727
587a49ab
GM
67282000-04-03 Gerd Moellmann <gerd@gnu.org>
6729
62f20204
GM
6730 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
6731 an error if decoding fails.
6732
587a49ab
GM
6733 * keyboard.c (lispy_mouse_names): Variable removed.
6734 (Vlispy_mouse_stem): New variable.
6735 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
6736 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
6737 for any mouse button number. Increase size of mouse_syms and
6738 button_down_location as needed. Call modify_event_symbol with
6739 different arguments.
6740 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
6741 Call modify_event_symbol with different arguments.
6742 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
6743 for any button number. Call modify_event_symbol with different
6744 arguments.
6745 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
6746 Accept a string for NAME_ALIST_OR_STEM.
6747
6748 * lisp.h (larger_vector): Add prototype.
6749
6750 * fns.c (larger_vector): Make externally visible.
6751
6752 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
6753
2d1675e4
SM
67542000-04-02 Stefan Monnier <monnier@cs.yale.edu>
6755
6756 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
6757 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
6758 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
6759 we are between str1 and str2.
6760 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
6761 (PATFETCH): Use `TRANSLATE'.
6762 (PATFETCH_RAW): Fetch multibyte char if applicable.
6763 (PATUNFETCH): Remove.
6764 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
6765 When writing a char, write it directly into the pattern buffer rather
6766 than going needlessly through a temp char-array.
6767 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
6768 multibyte magic and remove the useless `#ifdef emacs'.
6769 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
6770 buffer.
6771
6772 * regex.h (struct re_pattern_buffer): Make field `multibyte'
6773 conditional on `emacs'.
6774
6775 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
6776
cc2d8c6b
KR
67772000-04-01 Ken Raeburn <raeburn@gnu.org>
6778
6779 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
6780 non-union-type versions of XMARK and friends here, because XMARK
6781 and friends won't work on an integer field if NO_UNION_TYPE is not
6782 defined.
6783 (make_number): Define as a function if it's not defined as a
6784 macro.
6785
09654086
KR
6786 * composite.c (run_composite_function): Use NILP when checking for
6787 nil.
6788 (syms_of_composite): Delete local var NARGS, pass an int as first
6789 argument to Fmake_hash_table.
6790
2387b382
KR
6791 * editfns.c (text_property_stickiness): Use NILP to test
6792 Lisp_Object boolean value.
6793 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
6794 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
6795 problems reading from and changing the same lisp value in an
6796 XSETSTRING call.
6797
27660e89
GM
67982000-04-01 Gerd Moellmann <gerd@gnu.org>
6799
6800 * term.c (TN_no_color_video): New variable.
6801 (term_init): Intitialize TN_no_color_video.
6802 (enum no_color_bit): New enumeration.
6803 (MAY_USE_WITH_COLORS_P): New macro.
6804 (turn_on_face): Use it to determine if attributes may be used
6805 combined with colors.
6806
3578db3c
KR
68072000-04-01 Ken Raeburn <raeburn@gnu.org>
6808
6809 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
6810 with int lvalues via casts; instead, just yield lisp object
6811 lvalues.
6812 (enlarge_window): Variable sizep now points to Lisp_Object. Use
6813 proper accessor macros.
6814 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
6815 (grow_mini_window): Fix typo getting int value of root->height.
6816
6fc556fd
KR
6817 * xdisp.c (compute_string_pos): Fix order of arguments to
6818 string_pos_nchars_ahead.
6819 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
6820 count arg to variable-arg routines like Frun_hook_with_args and
6821 Fformat.
587a49ab
GM
6822 (back_to_previous_visible_line_start)
6823 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
6824 fixed-arg routines like Fget_char_property and Fmake_string.
6825 (reconsider_clip_changes): Use XINT when comparing integer lisp
6826 objects, or passing them as int arguments.
587a49ab
GM
6827 (mark_window_display_accurate, insert_left_trunc_glyphs)
6828 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
6829 storing or passing integer values as lisp objects.
6830 (set_cursor_from_row, highlight_trailing_whitespace): Use
6831 INTEGERP, not implicit test against zero, for glyph object.
6832 (try_window_id): Don't use make_number when we want an int value.
6833
6834 * xfaces.c (xlfd_symbolic_value): Make last argument a
6835 Lisp_Object, to be consistent with callers.
6836 (Fbitmap_spec_p): Use XINT to get numeric value of height.
6837 (lface_hash): Apply XFASTINT to lisp values before folding in.
6838
6839 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
6840 fill in window width and height. Pass an int, not a lisp object,
6841 as first arg to Finsert.
6842
6e7b2457
GM
68432000-04-01 Gerd Moellmann <gerd@gnu.org>
6844
610d841e
GM
6845 * xfaces.c (realize_basic_faces): Block input while realizing
6846 the faces.
6847
6e7b2457
GM
6848 * keyboard.c (lispy_mouse_names): Add additional mouse names.
6849
6850 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
6851
aa110c0c
GM
68522000-03-31 Gerd Moellmann <gerd@gnu.org>
6853
6854 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 6855 or ASCII, handle case that per-char metric is null.
aa110c0c 6856
8801a864
KR
68572000-03-30 Ken Raeburn <raeburn@gnu.org>
6858
c6129d7e
KR
6859 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
6860
8801a864
KR
6861 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
6862 XSUBR, XBUFFER): Verify correct object type before returning
6863 pointer, using eassert.
6864 * frame.h (XFRAME): Likewise.
6865
6866 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
6867 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
6868 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
6869 type.
6870 * data.c (set_internal): Likewise.
6871 * dispextern.h (WINDOW_WANTS_MODELINE_P,
6872 WINDOW_WANTS_HEADER_LINE_P): Likewise.
6873 * fileio.c (auto_save_1): Likewise.
6874 * insdel.c (check_markers): Likewise.
6875 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
6876 * undo.c (record_insert): Likewise.
6877 * vmsproc.c (child_sig): Likewise.
6878 * window.c (unshow_buffer, window_loop): Likewise.
6879 * xterm.c (x_erase_phys_cursor): Likewise.
6880
8e7af858
GM
68812000-03-30 Gerd Moellmann <gerd@gnu.org>
6882
6883 * xfns.c (free_image_cache): Free the cache structure itself
6884 last, after all its members have been freed.
6885
6886 * lisp.h (xstrdup): Add prototype.
6887
6888 * alloc.c (xstrdup): Moved here from xfaces.c.
6889 (allocating_for_lisp): Variable removed.
6890 (lisp_malloc): Block input around the calls to malloc and
6891 mem_insert.
6892
6893 * xfaces.c (realize_tty_face): Use find_symbol_value instead
6894 of Fsymbol_value.
6895 (xstrdup): Moved to alloc.c.
6896
e0b8c689
KR
68972000-03-29 Ken Raeburn <raeburn@gnu.org>
6898
b96f9fb7
KR
6899 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
6900
6901 * emacs.c (main): Fix sense of no-loadup test.
6902
e0b8c689
KR
6903 * config.in (ENABLE_CHECKING): Undef.
6904
6905 * lisp.h (struct interval): Replace "parent" field with a union of
6906 interval pointer and Lisp_Object; add new bitfield to use as
6907 discriminant. Change other flag fields to bitfields.
6908 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
6909 is defined and the supplied test fails, print a message and
6910 abort.
6911 (eassert): New macro. Use CHECK to provide an assert-like
6912 facility.
6913
6914 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
6915 pointers; abort if the value looks like a lisp object.
6916 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
6917 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
6918 Modify for new interval parent definition.
6919
6920 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
6921 UNMARK_BALANCE_INTERVALS): Update references that need an
6922 addressable lisp object in the interval structure.
6923 (die): New function.
6924 (suppress_checking): New variable.
6925
6926 * intervals.c (interval_start_pos): Just return 0 if there's no
6927 parent object.
6928
f83c5440
GM
69292000-03-29 Gerd Moellmann <gerd@gnu.org>
6930
6931 * lread.c (read1): Accept `.' (period) as symbol start like in CL
6932 and earlier Emacs versions.
6933
6934 * keyboard.c (Ftop_level): Cancel busy-cursor.
6935
6936 * eval.c (call_debugger): Cancel busy-cursor.
6937
fdce64ff
KH
69382000-03-29 Kenichi Handa <handa@etl.go.jp>
6939
6940 * search.c (Freplace_match): Adjust multibyteness of the current
6941 buffer and NEWTEXT. Free allocated memory before signaling an
6942 error.
6943
f6a3f532
SM
69442000-03-28 Stefan Monnier <monnier@cs.yale.edu>
6945
6946 * regex.c (analyse_first): New function obtained by ripping out most
6947 of re_compile_fastmap and generalizing it a little bit so that it
6948 can also just return whether a given (sub)pattern can match the empty
6949 string or not.
6950 (regex_compile): Use `analyse_first' to decide whether the loop-check
6951 needs to be done or not for *, +, *? and +? (the loop check is costly
6952 for non-greedy repetition).
6953 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
6954
e9b309ac
DL
69552000-03-28 Dave Love <fx@gnu.org>
6956
bb15bd9a
DL
6957 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
6958 alpha.
6959
e9b309ac
DL
6960 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
6961
ed0767d8
SM
69622000-03-27 Stefan Monnier <monnier@cs.yale.edu>
6963
6964 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
6965 an expression.
6966 (enum re_opcode_t): Update description of succeed_n.
6967 (PATFETCH): Always define.
6968 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
6969 operators, char classes, shy-groups and intervals).
6970 Optimize special cases of intervals so as to only use succeed_n and
6971 jump_n when really needed.
6972 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
6973 that we don't have to handle the special cases any more.
6974 Simplify on_failure_jump handling as well.
6975
e11e7e46
JR
69762000-03-28 Jason Rumney <jasonr@gnu.org>
6977
6978 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
6979
88faab89
GM
69802000-03-27 Gerd Moellmann <gerd@gnu.org>
6981
182ff242
GM
6982 * s/freebsd.h (GC_SETJMP_WORKS): Define.
6983
6984 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 6985
182ff242
GM
6986 * alloc.c (mark_maybe_object): New function.
6987 (mark_memory): Use it.
6988 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
6989 (setjmp_tested_p, longjmp_done): New variables.
6990 (test_setjmp): New function.
6991 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
6992 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
6993
c1005d06
GM
6994 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
6995 to DEC_TEXT_POS and INC_TEXT_POS.
6996
6997 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
6998 with parameter MULTIBYTE_P.
6999
427ec082 7000 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
7001 MULTIBYTE_P.
7002
7439e5b9 7003 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
7004 buffers because it looks for multibyte character byte sequences
7005 which don't exist in unibyte text.
7439e5b9 7006
d9c545da
GM
7007 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
7008
11fd416e 7009 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
7010 [DEBUG_X_COLORS]: New functions.
7011 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
7012
7013 * xfns.c (x_set_cursor_color): Get color reference counts right.
7014
7015 * xterm.c (x_copy_color): New function.
7016 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
7017
7018 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
7019 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
7020 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
7021 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
7022 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
7023 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
7024 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
7025 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
7026 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
7027 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
7028
11fd416e
GM
7029 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
7030 names for handling per-buffer variables.
d9c545da
GM
7031
7032 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
7033 instead of MAX_BUFFER_LOCAL_VARS.
7034 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
7035
7036 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
7037
88faab89
GM
7038 * xfns.c (x_specified_cursor_type): New function.
7039 (x_set_cursor_type): Use it.
7040
7041 * buffer.h (struct buffer): Add cursor_type.
7042
d80f42b7
SM
70432000-03-26 Stefan Monnier <monnier@cs.yale.edu>
7044
7045 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 7046 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 7047 opcode.
d80f42b7
SM
7048 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
7049 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
7050 executing it as well as when popping it off the stack to find infinite
7051 loops in non-greedy repetition operators.
7052
89e80928
GM
70532000-03-26 Gerd Moellmann <gerd@gnu.org>
7054
3d4ff2dd
GM
7055 * doc.c (Qfunction_documentation): New variable.
7056 (syms_of_doc): Initialize Qfunction_documentation.
7057 (Fdocumentation): If FUNCTION is a symbol with non-nil
7058 `function-documentation' property, return a documentation derived
7059 from that.
7060
bd96bd79
GM
7061 * buffer.c (syms_of_buffer): Add default-cursor-type.
7062 (init_buffer_once): Don't let cursor_type have a local value
7063 in every buffer.
7064
19d1bc27
GM
7065 * xterm.c (x_display_and_set_cursor): Choose cursor depending
7066 on buffer-local value of cursor_type.
7067 (x_draw_bar_cursor): Add parameter WIDTH.
7068
7069 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
7070 (init_buffer_once): Set default cursor_type value to t.
7071 Mark cursor_type as local everywhere.
7072 (syms_of_buffer): New per-buffer variable cursor-type.
7073
89e80928
GM
7074 * buffer.h (struct buffer): Remove member local_var_flags,
7075 add local_flags.
7076 (MAX_BUFFER_LOCAL_VARS): New macro.
7077 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
7078 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
7079 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
7080 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
7081
7082 * print.c (print_object): Use new macros for per-buffer
7083 variables.
7084
7085 * category.c (Fset_category_table): Use new macros for per-buffer
7086 variables.
7087
7088 * buffer.c (buffer_permanent_local_flags): Make a char array.
7089 (max_buffer_local_idx): New variable.
7090 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
7091 for new handling of per-buffer variables.
7092 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
7093 (init_buffer_once): Initialize per-buffer vars differently.
7094 Set max_buffer_local_idx.
7095
7096 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
7097 variables.
7098
7099 * lread.c (defvar_per_buffer): Use new macros for per-buffer
7100 variables.
7101
7102 * data.c (do_symval_forwarding, store_symval_forwarding)
7103 (find_symbol_value, set_internal, default_value, Fset_default)
7104 (Fkill_local_variable, Flocal_variable_p): Use new macros for
7105 per-buffer variables.
7106
7107 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
7108
9a0dd3dc
GM
71092000-03-24 Gerd Moellmann <gerd@gnu.org>
7110
b68c375f
GM
7111 * xterm.c (x_term_init): Unblock input around call1 of
7112 Qvendor_specific_keysyms.
7113
9a0dd3dc
GM
7114 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
7115 (find_defun_start): Consider an open parenthesis in column 0
7116 a defun start only if open_paren_in_column_0_is_defun_start is set.
7117 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
7118
7973e637
SM
71192000-03-24 Stefan Monnier <monnier@cs.yale.edu>
7120
7121 * eval.c (Fautoload): Add entry in load-history (if after dump).
7122 * lread.c (load-history): Update docstring.
7123
39210e90
GM
71242000-03-24 Gerd Moellmann <gerd@gnu.org>
7125
7126 * indent.c (Fvertical_motion): Always use the current buffer.
7127 Temporarily change the window's buffer, if necessary.
7128
72db3ab5
GM
71292000-03-23 Gerd Moellmann <gerd@gnu.org>
7130
7131 * xterm.c (fast_find_position): Make sure not to consider rows
7132 not visible in the window.
7133
990b2375
SM
71342000-03-22 Stefan Monnier <monnier@cs.yale.edu>
7135
7136 * regex.c (enum syntaxcode): Provide default for non-Emacs.
7137 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
7138
ff4df011
JR
71392000-03-22 Jason Rumney <jasonr@gnu.org>
7140
7141 * w32menu.c (single_submenu): Set help string to NULL if none.
7142 (w32_menu_show): Set help string correctly.
7143 (add-menu-item): Set help string in MIIM_DATA for menu item.
7144 Load SetMenuItemInfoA explicitly.
7145 (w32_menu_display_help): New function.
427ec082 7146
ff4df011
JR
7147 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
7148 (QCdata): Moved to xdisp.c.
7149
7150 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
7151 (Vw32_charset_to_codepage_alist): Removed.
7152 (Vw32_charset_info_alist): New variable.
7153 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
7154 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
7155 greek, hebrew, thai, johab, mac, unicode]): New symbols.
7156 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
7157 with TODO comment.
7158 (w32_codepage_for_font): Use Vw32_charset_info_alist.
7159 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
7160 Define Vw32_charset_info_alist and w32_charset symbols.
7161
71622000-03-22 Jason Rumney <jasonr@gnu.org>
7163
7164 * makefile.nt (w32bdf.obj): Update dependencies.
7165
7166 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
7167
7168 * w32fns.c: Include fontset.h after dispextern.h.
7169 (Fx_create_frame): Do not create fontset.
7170 (w32_load_system_font): Doc fix.
7171 (Fx_close_connection): Free full_name if it is not shared.
7172
7173 * w32term.c: Include fontset.h after dispextern.h.
7174 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
7175 updated.
7176 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
7177 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
7178 (w32_font_is_double_byte): New function, needs body.
7179 (x_append_glyph): Set glyph->glyph_not_available_p.
7180 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
7181 it->charset. If it->multibyte_p is zero and it->c is a multibyte
7182 character, convert it to a unibyte character.
7183 (struct glyph_string): Delete member `charset'.
7184 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
7185 calculating it is found.
7186 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
7187 the case that per char metric is not available correctly.
7188 (x_fill_glyph_string): Handle the case that the specific glyph is
7189 not available correctly.
7190 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
7191 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
7192 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
7193 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
7194 fontset. Don't call FS_LOAD_FONT.
7195
439d5cb4
KR
71962000-03-22 Ken Raeburn <raeburn@gnu.org>
7197
7198 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
7199 (INT_LISPLIKE): New macro.
7200 (NULL_INTERVAL_P): Use it.
7201 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
7202 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
7203 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
7204
7205 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
7206 explicit references to "parent" field of struct interval and
7207 associated unclean type conversions.
7208 * intervals.c (create_root_interval, root_interval, rotate_right,
7209 rotate_left, balance_possible_root_interval, split_interval_right,
7210 split_interval_left, interval_start_pos, find_interval,
7211 next_interval, previous_interval, update_interval,
7212 adjust_intervals_for_insertion, delete_node, delete_interval,
7213 adjust_intervals_for_deletion, merge_interval_right,
7214 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
7215 copy_intervals_to_string): Likewise.
7216 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
7217 Likewise.
7218 * syntax.c (update_syntax_table): Likewise.
7219
7220 * intervals.c (reproduce_tree_obj): New function, like
7221 reproduce_tree but takes a Lisp_Object for the parent. Declare
7222 with prototype.
7223 (graft_intervals_into_buffer): Use it when appropriate.
7224 (reproduce_tree): Declare with prototype.
7225 (balance_possible_root_interval): Check that the parent is a lisp
7226 object before trying to examine its type.
7227
ee1c5b21
GM
72282000-03-22 Gerd Moellmann <gerd@gnu.org>
7229
7230 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
7231 as strings only if both are known to be strings.
7232
7233 * s/openbsd.h (LIBS_TERMCAP): Undef.
7234
1fb352e0
SM
72352000-03-21 Stefan Monnier <monnier@cs.yale.edu>
7236
7237 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
7238 definitions for non-Emacs compilation.
7239 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
7240 outside of `#ifdef emacs'.
7241 (print_partial_compiled_pattern): Update.
7242 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
7243 (re_compile_fastmap): Merge handling of charset and charset_not (for
7244 emacs and non-emacs compilation as well).
7245 Similarly for (not)categoryspec and (not)syntaxspec.
7246 Don't use the fastmap when reaching `anychar' since the added
7247 complexity is not justified.
7248 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
7249 and (not)syntaxspec. Merge (not)categoryspec.
7250
fdaa1f77
KH
72512000-03-22 Kenichi Handa <handa@etl.go.jp>
7252
ff1a0d8e
KH
7253 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
7254 FACE_FOR_CHAR): Define them differently for the configuration of
7255 --without-x.
fdaa1f77 7256
d152fb46
DL
72572000-03-21 Dave Love <fx@gnu.org>
7258
7259 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
7260 doc string.
7261
d2cafc8c
GM
72622000-03-21 Gerd Moellmann <gerd@gnu.org>
7263
7264 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
7265 (lface_fully_specified_p): Don't check contents of
7266 LFACE_FONT_INDEX because that attribute is optional.
7267 (realize_x_face): Remove now unwarranted xassert.
7268
9111d4b5
KH
72692000-03-21 Kenichi HANDA <handa@etl.go.jp>
7270
7271 The following changes are to make font selection based on
7272 characters, not charset. In addition, they recover fontset
7273 facilities while utilizing the new font selection mechanism.
7274
6c4bfdc0
KH
7275 * Makefile.in (fontset.o): Depend on dispextern.h.
7276
7277 * alloc.c (mark_face_cache): Don't mark face->registry.
7278
9111d4b5
KH
7279 * dispextern.h (struct glyph): New member glyph_not_available_p.
7280 Use 22 bits for face_id.
7281 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
7282 (struct face): Delete member registry, new member ascii_face.
7283 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
7284 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
7285 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
7286 (struct it): Delete member charset, new member
7287 glyph_not_available_p.
7288
7289 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
7290 (struct fontset_info, struct fontset_data): Structs removed.
7291 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
7292 Vglobale_fontset_alist, font_idx_temp): Externs removed.
7293 (fs_load_font, fs_query_fontset): Adjusted for new argument.
7294 (fs_free_face_fontset, fontset_font_pattern,
7295 face_suitable_for_char_p, face_for_char,
7296 make_fontset_for_ascii_face): Extern them.
7297 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
7298 (FS_LOAD_FACE_FONT): New macro.
7299
7300 * fontset.c: All codes rewritten or adjusted for the change of
7301 fontset implementation. Now fontset is represented by char table.
7302 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
7303 removed.
7304 (my_strcasecmp): Function removed.
7305 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
7306 variables.
7307 (AREF, ASIZE): New macros.
7308 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
7309 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
7310 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
7311 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
7312 fontset_id_valid_p, font_family_registry, fontset_name,
7313 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
7314 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
7315 New functions.
7316 (fs_load_font): New arg FACE. Caller changed.
7317 (fs_query_fontset): Argument changed. Caller changed.
7318 (Fquery_fontset): call fs_query_fontset.
7319 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
7320 Functions removed.
7321 (clear_fontset_elements, check_registry_encoding,
7322 check_fontset_name): New functions.
7323 (syms_of_fontset): Set char-table-extra-slots property of fontset
7324 to 3. Staticpro and initialize Vfontset_table and
7325 Vdefault_fontset. Defsubr fontset_font and fontset_list.
7326
7327 * frame.h (struct frame): Member `fontset_data' removed.
7328 (FRAME_FONTSET_DATA): Macro removed.
7329
7330 * frame.c (make_frame): Don't allocate f->fontset_data.
7331 (Fdelete_frame): Don't free f->fontset_data.
7332
6c4bfdc0
KH
7333 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
7334
9111d4b5
KH
7335 * xdisp.c (charset_at_position): Function removed.
7336 (init_iterator): Don't set member charset of struct `it'.
7337 (handle_face_prop, reseat_to_string, set_iterator_to_next,
7338 next_element_from_display_vector, insert_left_trunc_glyphs):
7339 Likewise.
7340 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
7341 FACE_FOR_CHARSET.
7342 (get_next_display_element, append_space,
7343 extend_face_to_end_of_line): Likewise.
7344
7345 * xfaces.c (Qx_charset_registry, Vface_default_registry):
7346 Variables removed.
7347 (clear_font_table, frame_update_line_height, load_face_font):
7348 Adjusted for the change of fontset implementation.
7349 (load_face_fontset_font): Function removed.
7350 (pixel_point_size): New function.
7351 (font_list): Argument type changed. Caller changed.
7352 (LFACE_FONT): New macro.
7353 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
7354 (set_lface_from_font_name): Type of arg FONTNAME is changed to
7355 Lisp_Object. Determine the font name by actually loading a font
7356 by the specified pattern. Set LFACE_FONT (lface) to the specified
7357 pattern. Even if a font is not found, don't try alternatives.
7358 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
7359 (set_font_frame_param): If `font' is specified in lface, use it.
7360 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
7361 (lface_same_font_attributes_p): Likewise.
7362 (make_realized_face): Arguent changed. Caller changed. Set
7363 face->ascii_face to face itself.
7364 (free_realized_face): Free face->fontset if face is for ASCII.
7365 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
7366 deduce_unibyte_registry, x_charset_registry): Functions removed.
7367 (free_realized_multibyte_face): New function.
7368 (lookup_face, lookup_named_face, lookup_derived_face): Argument
7369 changed. Caller changed.
7370 (try_font_list): Argument type changed.
7371 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
7372 (choose_face_font): Argument changed. Handle fontset properly.
7373 (choose_face_fontset_font): Function removed.
7374 (realize_default_face, realize_named_face): Don't remove the
7375 former face here.
7376 (realize_face): Argument changed. Caller changed. Remove face
7377 with the arg former_face_id in advance. Load font for the new
7378 face.
7379 (realize_x_face): Argument changed. Caller changed. For a
7380 multibyte character, share fontset with base_face. For a single
7381 byte character, make a new realized fontset. Don't load a font
7382 here.
7383 (realize_tty_face): Argument changed. Caller changed.
7384 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
7385 (face_at_buffer_position): Don't check multibyte_p for returning
7386 DEFAULT_FACE_ID.
7387 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
7388 FACE_SUITABLE_FOR_CHARSET_P.
7389 (syms_of_xfaces): Remove code for Qx_charset_registry and
7390 Vface_default_registry.
7391
6c4bfdc0
KH
7392 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
7393 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
7394 (x_per_char_metric): Don't try FONT->default_char. Even if
7395 pcm->width is zero, glyph bits may exist.
7396 (x_encode_char): Always initialize char2b->byte1.
7397 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
7398 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
7399 changed.
7400 (x_append_glyph): Set glyph->glyph_not_available_p.
7401 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
7402 it->charset. Handle the case that per char metric is not
7403 available. If it->multibyte_p is zero and it->c is a multibyte
7404 character, convert it to a unibyte character.
7405 (struct glyph_string): Delete member `charset'.
7406 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
7407 the case that per char metric is not available correctly.
7408 (x_fill_glyph_string): Handle the case that the specific glyph is
7409 not available correctly.
7410 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
7411 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
7412 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
7413 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
7414 fontset. Don't call FS_LOAD_FONT.
7415
7416 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
7417 (x_create_tip_frame): Likewise.
7418 (Fx_close_connection): Free full_name of font_info.
7419
7420 * fns.c (optimize_sub_char_table): New function.
7421 (Foptimize_char_table): New function.
7422 (syms_of_fns): Defsubr Soptimize_char_table.
7423
b33dd3b0
GM
74242000-03-20 Gerd Moellmann <gerd@gnu.org>
7425
7426 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
7427 only if buffer is displayed in some window.
7428
7429 * xdisp.c (handle_single_display_prop): Initialize local `value'.
7430 (try_window_reusing_current_matrix): Don't call scroll run
7431 function if run's current and desired position are the same;
7432 this prevents cursor flickering.
7433
4e8a9132
SM
74342000-03-19 Stefan Monnier <monnier@cs.yale.edu>
7435
7436 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
7437
7438 * regex.c (RE_STRING_CHAR): New macro.
7439 (GET_CHAR_AFER_2): Remove.
7440 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
7441 (enum re_opcode_t): Remove on_failure_jump_exclusive.
7442 (print_partial_compiled_pattern, re_compile_fastmap)
7443 (re_match_2_internal): Remove on_failure_jump_exclusive.
7444 (regex_compile): Turn optimizable P+ loops into PP*, so that the
7445 optimization only need to work for * (ie. can use of_keep_string_jump).
7446 Remove the special case for .*\n since it is now covered by the general
7447 optimization.
7448 (re_search_2): Don't bother with `room'.
7449 (skip_one_char): New function.
7450 (skip_noops): Simplify since `memory' is not needed any more.
7451 (mutually_exclusive_p): Restructure slightly to use `switch' and
7452 add handling for "all" remaining cases.
7453 (re_match_2_internal): Change on_failure_jump_smart to use
7454 on_failure_keep_string_jump (and redirect the end-of-loop jump)
7455 rather than on_failure_jump_exclusive.
7456
2136fdd4
GM
74572000-03-19 Gerd Moellmann <gerd@gnu.org>
7458
7459 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
7460 number of bits per RGB because it's everywhere used as the depth
7461 of the visual.
7462
7463 * term.c (calculate_costs): Remove code dealing with X frames.
7464
18e21ce8 74652000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
7466
7467 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
7468
d7b511c4
GM
74692000-03-18 Gerd Moellmann <gerd@gnu.org>
7470
7471 * lread.c (read_integer): Unread the last char not consumed.
7472
16b5d424
GM
74732000-03-17 Gerd Moellmann <gerd@gnu.org>
7474
7475 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 7476 which are in the process of being deleted.
16b5d424 7477
1fa28578
GM
74782000-03-16 Gerd Moellmann <gerd@gnu.org>
7479
83488cce
GM
7480 * Makefile.in (mostlyclean): Add `*.core'.
7481 (clean): Add `bootstrap-emacs'.
7482
1fa28578
GM
7483 * lread.c (read_integer): New function.
7484 (read1): Support read syntax #o, #x, #b, #r.
7485
99633e97
SM
74862000-03-15 Stefan Monnier <monnier@cs.yale.edu>
7487
1fa28578
GM
7488 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
7489 make sure POINTER_TO_OFFSET gives the same value before and after
7490 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
7491 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
7492 (debug): Now only active if > 0 rather than if != 0.
7493 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
7494 (print_partial_compiled_pattern): Add missing `succeed' case. Use
7495 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
7496 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
7497 (store_op1, store_op2, insert_op1, insert_op2)
7498 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
7499 (group_in_compile_stack): Move to after its arg's types are
7500 declared and add a prototype.
99633e97 7501 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
7502 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
7503 wrapper.
99633e97 7504 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
7505 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
7506 indentation of the greedy-op and shy-group code.
99633e97
SM
7507 (at_(beg|end)line_loc_p): Fix argument's types.
7508 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
7509 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
7510 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
7511 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
7512 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
7513 QUIT unconditionally.
99633e97 7514
699238d9
GM
75152000-03-15 Gerd Moellmann <gerd@gnu.org>
7516
7517 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
7518 a sole completion.
7519
7520 * process.c (send_process): Add a hint that the function
7521 can call Lisp code to its comment.
7522
7523 * lread.c (load_dangerous_libraries): New variable.
7524 (Vbytecomp_version_regexp): New variable.
7525 (safe_to_load_p): New function.
7526 (Fload): Handle files not compiled with Emacs specially.
7527 (syms_of_lread): New Lisp variable load-dangerous-libraries.
7528
34e23e5a
GM
75292000-03-14 Gerd Moellmann <gerd@gnu.org>
7530
9c763cca
GM
7531 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
7532
7533 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
7534 support functions only if HAVE_X11R6_XIM is defined.
7535 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
7536
7537 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
7538
7539 * xfns.c (X_I18N_INHIBITED): Don't define.
7540 (create_frame_xic): Remove conditional compilation on
7541 X_I18N_INHIBITED.
7542 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
7543
7544 * config.in (HAVE_X_I18N): Moved here from xterm.h.
7545 (HAVE_X11R6_XIM): Define.
7546
7547 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
7548
34e23e5a
GM
7549 * xterm.c (x_term_init): Add support for X resource `synchronous'.
7550 If set, call XSynchronize.
7551
66f0296e
SM
75522000-03-13 Stefan Monnier <monnier@cs.yale.edu>
7553
34e23e5a
GM
7554 * regex.c: Declare a new type `re_char' used throughout the code
7555 for the string char type. It's `const unsigned char' to match the
7556 rest of Emacs. Consistently make sure all pointers to strings use
7557 it and make sure all pointers into the pattern use `unsigned
7558 char'.
66f0296e 7559 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
7560 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
7561 code duplication.
66f0296e
SM
7562
7563 * charset.h (GET_CHAR_AFTER_2): Remove.
7564 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
7565
854a025c
KR
75662000-03-12 Ken Raeburn <raeburn@gnu.org>
7567
7568 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
7569 variable before the invocation of YMF_PASS_LDFLAGS, in case both
7570 of them try to use backquotes.
7571
b9d2c7e2
DL
75722000-03-12 Dave Love <fx@gnu.org>
7573
7574 * unexelf.c: Restore changes of 1999-10-19.
7575 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
7576 fix its type and alignment; copy it from current process.
7577
5e5dff44
GM
75782000-03-12 Gerd Moellmann <gerd@gnu.org>
7579
9b2f3c38
GM
7580 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
7581 has been found. Fix bug not computing timer's predecessor.
7582
427ec082 7583 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
7584 file name.
7585
e1cff360
GM
7586 * window.c (Fsave_window_excursion): Doc fix.
7587
5e5dff44
GM
7588 * xfns.c (x_defined_color): Rewritten to use
7589 x_allocate_nearest_color.
7590
e411ce4b
EZ
75912000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
7592
7593 * msdos.c (vga_installed): New function, code moved from
7594 dos_set_window_size.
7595 (Qbar, Qcursor_type, outside_cursor): New variables.
7596 (syms_of_msdos): Intern and staticpro them.
7597 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
7598 shape used outside Emacs when called for the first time.
7599 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
7600 cursor shape used outside Emacs.
7601 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
7602 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
7603 type has changed.
7604 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
7605 parameters specify the cursor. Make qreverse a global
7606 variable (renamed to Qreverse).
7607
80460654
GM
76082000-03-09 Gerd Moellmann <gerd@gnu.org>
7609
7610 * fns.c (Fy_or_n_p): Cancel busy-cursor.
7611
95cd4c40
SM
76122000-03-08 Stefan Monnier <monnier@cs.yale.edu>
7613
7614 This is a big redesign of failure-stack and register handling, prompted
7615 by bugs revealed when trying to add shy-groups. Overall, what happened
7616 is that loops are now structured a little differently, groups can be
7617 shy and the code is a little simpler.
7618
7619 * regex.h: Update the copyright.
7620 (RE_SHY_GROUPS): New value.
7621 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
7622 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
7623
80460654
GM
7624 * regex.c (enum re_opcode_t): Remove jump_past_alt,
7625 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
7626 on_failure_jump_(exclusive, loop and smart). Also fix the comment
7627 for (start|stop)_memory since they now only take one argument (the
7628 second has becomes unnecessary).
7629 (print_partial_compiled_pattern): Adjust for changes in
7630 re_opcode_t.
7631 (print_compiled_pattern): Use %ld to printf long ints and flush to
7632 make debugging a little easier.
95cd4c40
SM
7633 (union fail_stack_elt): Make the integer unsigned.
7634 (struct fail_stack_type): Add a `frame' element.
7635 (INIT_FAIL_STACK): Init `frame' as well.
7636 (POP_PATTERN_OP): New macro for re_compile_fastmap.
7637 (DEBUG_PUSH, DEBUG_POP): Remove.
7638 (NUM_REG_ITEMS): Remove.
7639 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
7640 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
7641 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 7642 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
7643 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
7644 macros.
7645 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
7646 address pushed is not the destination of the jump but the source
7647 of it instead.
95cd4c40
SM
7648 (NUM_FAILURE_ITEMS): Remove.
7649 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
7650 registers before the actual failure point). Don't hardcode any
7651 meaning for str==NULL anymore.
95cd4c40 7652 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
7653 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
7654 Remove.
95cd4c40
SM
7655 (REG_UNSET_VALUE): Use NULL (why not?).
7656 (compile_range): Remove declaration since it doesn't exist.
7657 (struct compile_stack_elt_t): Remove inner_group_offset.
7658 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
7659 (regex_grow_registers): Remove dead code.
7660 (FIXUP_ALT_JUMP): New macro.
80460654
GM
7661 (regex_compile): Add shy-groups Change loops to use
7662 on_failure_jump_smart&jump instead of
7663 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
7664 initial (dummy_failure_)jump. Remove c1_base (looks like unused
7665 variable to me). Use `jump' instead of `jump_past_alt' and don't
7666 bother with push_dummy_failure in alternatives since it is now
7667 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
7668 emacs' for (re)allocating the stack.
7669 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
7670 from loop when bufp->can_be_null rather than jumping to `done'.
7671 Avoid jumping backwards so as to ensure termination. Use
7672 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
7673 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 7674 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
7675 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
7676 improve mutually_exclusive_p to handle ".+\n".
7677 (lowest_active_reg, highest_active_reg,
7678 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
7679 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
7680 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
7681 variables. Push register (in `start_memory') on the stack rather
7682 than storing it in old_reg(start|end). Remove the cycle detection
7683 from `stop_memory', replaced by the use of on_failure_jump_loop
7684 for greedy loops. Add code for the new on_failure_jump_<foo>.
7685 Remove ad-hoc code in `on_failure_jump' to push more registers in
7686 the case of a loop. Take out code from `maybe_pop_jump' into
7687 separate functions and adapt it to the semantics of
7688 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
7689 and push_dummy_failure. Remove dummy_failure handling and
7690 handling of `failures to jump to on_failure_jump' (this last one
7691 was already dead code, it seems).
7692 (group_match_null_string_p, alt_match_null_string_p)
7693 (common_op_match_null_string_p): Remove.
95cd4c40 7694
7397acc4
DL
76952000-03-08 Dave Love <fx@gnu.org>
7696
7697 * config.in: Don't depend on __STDC__ for volatile.
7698 Add POINTER_TYPE, PTR, PROTOTYPES.
7699
7700 * hftctl.c, strftime.c: Use PROTOTYPES.
7701 * eval.c (find_handler_clause): Likewise.
7702
7703 * mem-limits.h: Use POINTER_TYPE.
7704
7705 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
7706 (memory_warnings): Declare using POINTER_TYPE.
7707
5e91ff9e
GM
77082000-03-08 Gerd Moellmann <gerd@gnu.org>
7709
feab4fba
GM
7710 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
7711
25edb08f
GM
7712 * xdisp.c (display_echo_area): Temporarily inhibit garbage
7713 collection.
7714
5e91ff9e
GM
7715 * xfns.c: Remove obsolete code in #if 0.
7716 (Fx_focus_frame): New function.
7717
a735b7e1
KH
77182000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
7719
7720 * coding.c (coding_category_name): Add coding-category-utf-8,
7721 coding-category-utf-16-be, coding-category-utf-16-le.
7722 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
7723 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
7724 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
7725 (detect_coding_utf_8): New function.
7726 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
7727 UTF_16_LOW_SURROGATE_P): New macros.
7728 (detect_coding_utf_16): New function
7729 (detect_coding_mask): When priorities are specified, skip any
7730 categories that have `nil' coding-system. Fix bug of returning
7731 wrong mask when PRIORITIES is specified and detect_coding_XXX()
7732 returns a mask not set in PRIORITIES.
7733 (detect_eol_type_in_2_octet_form): New function.
7734 (detect_eol): selects detect_eol_type_XXX to call according to
7735 cooding->category_idx.
7736 (detect_coding_system): Remove `nil' coding-system in the result.
7737 (Fupdate_coding_systems_internal): Update all coding-categories.
7738
7739 * coding.h (CODING_CATEGORY_IDX_UTF_8,
7740 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
7741 macros.
7742 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
7743 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
7744 CODING_CATEGORY_IDX_UTF_16_LE.
7745 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
7746 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
7747 (CODING_CATEGORY_MASK_ANY): Include the above macros.
7748 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
7749
9994cc69
GM
77502000-03-07 Gerd Moellmann <gerd@gnu.org>
7751
e9b4e5ff
GM
7752 * doc.c (Fdocumentation_property): If value is not a string,
7753 and doesn't refer to etc/DOC, evaluate it to obtain a string.
7754
f7daf1e1
GM
7755 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
7756 close the display with XtCloseDisplay. This caused a bus error
7757 on OpenWindows.
7758
9994cc69
GM
7759 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
7760 complete but not unique.
7761
4336c705
GM
77622000-03-06 Gerd Moellmann <gerd@gnu.org>
7763
18bb0684
GM
7764 * process.c (send_process): Remove local variable `procname' that
7765 might become invalid when a GC happens. Instead, access the
7766 process name slot directly.
7767
4336c705
GM
7768 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
7769 orig_height if set.
7770
7771 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
7772 orig_height if set.
7773
515d0d0e
EZ
77742000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
7775
7776 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
7777 glyph matrices have been freed.
7778
100b3cbb
GM
77792000-03-05 Gerd Moellmann <gerd@gnu.org>
7780
50df5e5a 7781 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 7782 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
7783
7784 * xfns.c (QCdata): Moved to xdisp.c.
7785
7786 * xdisp.c (QCdata): Moved here from xfns.c.
7787 (syms_of_xdisp): Initialize QCdata.
7788
7789 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
7790
7791 * window.c (coordinates_in_window): Use
7792 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
7793 FRAME_INTERNAL_BORDER_WIDTH.
7794
100b3cbb 7795 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 7796 it is obviously invalid.
100b3cbb
GM
7797
7798 * xterm.c (x_term_init): Create a colormap if not using the
7799 default visual.
7800
7801 * xterm.h (select_visual): Change prototype.
7802
7803 * xfns.c (select_visual): Rewritten. Recognize user-specified
7804 visual classes.
7805 (visual_classes): New variable.
7806
64d739c4
GM
78072000-03-04 Gerd Moellmann <gerd@gnu.org>
7808
7809 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
7810 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
7811 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
7812 (x_decode_color): Don't handle allocation of white and black
7813 specially.
7814 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
7815 XtNcolormap resources.
7816 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
7817 (Fx_create_frame): Initialize color members of x_output structure.
7818 (xpm_load): Pass colormap to XPM lib.
7819
7820 * xfaces.c (x_free_colors): Access colormap of frame using
7821 FRAME_X_COLORMAP. Be paranoid about freeing black and white
7822 when default colormap is used.
7823
7824 * xterm.c (x_term_init): Set Colormap member of x_display_info
7825 structure. Copy colormap if resource `privateColormap' is
7826 specified (PseudoColor only).
7827 (x_setup_relief_color): Access colormap of frame using
7828 FRAME_X_COLORMAP.
7829
7830 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
7831 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
7832
c3cee013
JR
78332000-03-04 Jason Rumney <jasonr@gnu.org>
7834
7835 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
7836 other non-platform-specific equivalents.
64d739c4 7837 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
7838 specific functions and macros as their w32 equivalents where
7839 non-platform-specifics are not available.
7840 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
7841 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
7842 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
7843 (frame_update_line_height): Use macros to access f->output_data.
7844 (defined_color): Remove FIXME comments; fixed.
7845 (x_face_list_fonts, prepare_face_for_display): Put X specifics
7846 into #ifdef blocks. Add WINDOWSNT blocks.
7847 (Fx_list_fonts): Use macros for accessing font data.
7848 (set_lface_from_font_name): Different default fonts for X and
7849 WINDOWSNT.
7850 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
7851 scalable for backward compatibility.
64d739c4 7852 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
7853 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
7854
64d739c4 7855 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
7856 syms_of_w32faces.
7857
7858 * makefile.nt (w32faces.obj): Remove.
7859 (xfaces.obj): Add.
7860
807cc41c
JR
78612000-03-03 Jason Rumney <jasonr@gnu.org>
7862
7863 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
7864 correct parameters.
7865
0007072a
KR
78662000-03-03 Ken Raeburn <raeburn@gnu.org>
7867
7868 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
7869 standard ELF definitions here if the system header does not.
7870
71a6ba55
GM
78712000-03-03 Gerd Moellmann <gerd@gnu.org>
7872
7873 * xterm.c (PER_CHAR_METRIC): Removed.
7874 (x_per_char_metric_1, x_default_char): New functions.
7875 (x_per_char_metric): If font's default char is invalid, return
7876 metrics of a suitably chosen usable default char.
7877 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
7878 char, replace occurrences of unprintable chars with a suitably
7879 chosen usable default char.
71a6ba55 7880
900fa1f1
GM
78812000-03-02 Gerd Moellmann <gerd@gnu.org>
7882
42f55fe0
GM
7883 * xterm.c (note_mouse_highlight): Return quickly if frame's
7884 glyph matrices have been freed.
7885
7886 * dispnew.c (free_glyphs): Block input while freeing matrices.
7887
900fa1f1
GM
7888 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
7889
7890 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
7891 x_free_colors.
7892
7893 * dispextern.h (x_free_colors): Add prototype.
7894
7895 * xfaces.c (x_free_colors): New function.
7896 (unload_color, free_face_colors): Use it.
7897
2f950292
EZ
78982000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
7899
7900 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
7901
7902 * window.c [MSDOS]: Include msdos.h.
7903
54d04320
DL
79042000-03-02 Dave Love <fx@gnu.org>
7905
7906 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
7907
7908 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
7909 set C_OPTIMIZE_SWITCH for gcc.
7910
0ba93ac4
KH
79112000-03-02 Kenichi Handa <handa@etl.go.jp>
7912
7913 * coding.c (coding_save_composition): Be sure to allocate
7914 composition data area in coding even if there's no composition in
7915 the current run.
7916
a2bc11d4
JR
79172000-03-01 Jason Rumney <jasonr@gnu.org>
7918
7919 * w32term.c: Equivalent changes to those made to xterm.c on
7920 2000-02-25 and 2000-02-24.
7921
7922 * w32fns.c: Equivalent changes to those made to xfns.c on
7923 2000-02-25 and 2000-02-21.
7924
7925 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
7926 correct line-end convention is followed.
7927
7928 * w32menu.c [HAVE_BOXES]: Remove #undef.
7929 (single_keymap_panes): Remove code for simulating checkmarks.
7930 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
7931 Remove code for drawing simulated checkmarks.
7932 (w32_menu_show): make unibyte help string correctly.
7933 (add_menu_item): draw standard Windows checkmarks. Draw radio
7934 buttons as radio buttons if possible.
7935
72d19d75
GM
79362000-03-01 Gerd Moellmann <gerd@gnu.org>
7937
2df636f4
GM
7938 * sysdep.c (start_of_text): Don't define this function for NetBSD
7939 with ELF.
7940
427ec082 7941 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
7942 Don't define.
7943 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
7944 (LINKER): Don't undef if __NetBSD__ is defined.
7945
7946 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
7947
7948 * fileio.c [__NetBSD__]: Define `unix'.
7949
72d19d75
GM
7950 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
7951
ed4d0512
GM
79522000-02-29 Gerd Moellmann <gerd@gnu.org>
7953
50b1039f
GM
7954 * atimer.c (start_atimer): Don't abort when timers are stopped.
7955 (append_atimer_lists): New function.
7956 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
7957 arbitrary lists of stopped and running atimers.
7958
ed4d0512
GM
7959 * atimer.c (cancel_atimer): Handle canceling an atimer when
7960 some timers are stopped.
7961
7962 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
7963 after canceling it.
7964
7965 * fns.c (maybe_resize_hash_table): Handle case of new size
7966 coming out as being the same as old size.
7967
387023ee
JR
79682000-02-27 Jason Rumney <jasonr@gnu.org>
7969
7970 * makefile.nt: Add atimer.h to dependencies.
7971 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
7972 * w32console.c: Only disable window system features for dispextern.h
7973 (initialize_w32_display): Build a display info for the console.
7974 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
7975 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
7976 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
7977 as 2 button mice.
7978 * w32gui.h (struct W32FontStruct): Revert last change after change
7979 to xdisp.c.
7980 * w32menu.c (single_submenu): Set up help string.
7981 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
7982 (w32_dialog_show): Set up help string.
7983 * w32term.c (w32_display_info_for_display): Remove unused function.
7984 (w32_draw_bitmap): Use pre-built bitmaps.
7985 (w32_initialize_display_info): New function to initialize parts of
7986 display info that are common to both GUI and console frames.
7987 (w32_term_init): Use w32_initialize_display_info. Do not set
7988 Vw32_num_mouse_buttons here, as it is not called for console
7989 frames. Build bitmaps for indicating truncated lines etc.
7990 (x_delete_display): Destroy pre-built bitmaps.
7991 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
7992 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
7993
4516715a
DL
79942000-02-27 Dave Love <fx@gnu.org>
7995
7996 * lisp.h: Add a bunch of prototypes.
7997
171ca836
KH
79982000-02-26 Kenichi Handa <handa@etl.go.jp>
7999
8000 * keyboard.c (read_char): Set `usec' correctly.
8001
4013921d
KH
80022000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
8003
8004 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
8005 `lambda', set reg[RRR] to the map index.
8006 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
8007 reg[RRR] to 0. Otherwise, set it to -1.
8008
9244a058
GM
80092000-02-25 Gerd Moellmann <gerd@gnu.org>
8010
2df636f4 8011 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 8012
18e21ce8 80132000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 8014
f43d79c1
GM
8015 * fileio.c (Ffile_symlink_p): If result starts with a `/'
8016 and contains a `:', prepend `/:'.
8017
8018 * window.c (select_window_1): If selected_window is nil,
8019 don't "swap out" the buffer's point.
8020 (Fset_window_configuration): Set selected_window to nil
8021 before calling Fselect_window.
8022 (unshow_buffer): Don't set point in buffer from window's point
8023 if another more recently selected window also shows the buffer.
8024
bed0c171
GM
80252000-02-25 Gerd Moellmann <gerd@gnu.org>
8026
449c3c52
GM
8027 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
8028
f5b58615
GM
8029 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
8030 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
8031 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
8032 variables.
8033 (DEFAULT_BUSY_CURSOR_DELAY): New define.
8034 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
8035 (hide_busy_cursor): New functions.
8036 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
8037
8038 * minibuf.c (read_minibuf): Cancel busy-cursor.
8039
8040 * keyboard.c (command_loop_1): Call start_busy_cursor before
8041 Fcommand_execute and cancel_busy_cursor after it.
8042 (timer_check): Remove busy-cursor code.
8043 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
8044 cursor timer.
8045
8046 * process.c (wait_reading_process_input): Remove busy-cursor code.
8047
8048 * eval.c (Fsignal): Call cancel_busy_cursor instead of
8049 Fx_hide_busy_cursor.
8050
8051 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
8052 Remove prototyoes.
8053 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
8054
8055 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
8056
8057 * xterm.c (XTread_socket): Remove busy-cursor code.
8058
4eb8436f
GM
8059 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
8060 (build_frame_matrix_from_leaf_window): Put code handling
8061 glyph row's not being a slice of a frame row in #if 0.
8062 (sync_window_with_frame_matrix_rows): New function.
8063 (frame_row_to_window): New function.
8064 (mirror_line_dance): Handle copies between windows.
8065
3cb65b0e
GM
8066 * lread.c (Fload): Use `xfree' instead of `free'.
8067 (init_obarray): Use `xmalloc' instead of `malloc'.
8068
bed0c171
GM
8069 * window.c (Fset_window_buffer): Set WINDOW to the window
8070 after decoding.
2add4349
GM
8071 (coordinates_in_window): Take frame's internal border width
8072 into account.
bed0c171 8073
42088c12
GM
80742000-02-24 Gerd Moellmann <gerd@gnu.org>
8075
8076 * xterm.c (x_display_and_set_cursor): Display cursor of
8077 non-selected windows depending on the setting of
8078 cursor_in_non_selected_windows.
8079
8080 * xdisp.c (cursor_in_non_selected_windows): New variable.
8081 (syms_of_xdisp): DEFVAR_BOOL it.
8082
d1e103b2
GM
80832000-02-23 Gerd Moellmann <gerd@gnu.org>
8084
723e779c
GM
8085 * data.c (Fstring_to_number): If number is greater than what
8086 fits into an integer, return a float.
8087
d1e103b2
GM
8088 * eval.c (specbind): Remove references to
8089 keyword_symbols_constant_flag.
8090
8091 * data.c (keyword_symbols_constant_flag): Removed.
8092 (Fmakunbound, set_internal, syms_of_data): Remove references to
8093 keyword_symbols_constant_flag.
8094
8095 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
8096
214f877f
KH
80972000-02-23 Kenichi Handa <handa@etl.go.jp>
8098
8099 * syntax.c (multibyte_syntax_as_symbol): New variable.
8100 (syms_of_syntax): Declare it as a Lisp variable.
8101 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
8102 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
8103 nonzero, treat all multibyte characters as symbol.
42088c12 8104 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
8105 characters.
8106
130adcb7
EZ
81072000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
8108
3cb65b0e 8109 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 8110 a deleted frame.
130adcb7 8111
17cbbf95
GM
81122000-02-21 Gerd Moellmann <gerd@gnu.org>
8113
8114 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
8115
8116 * xfns.c (x_window_to_frame, x_any_window_to_frame)
8117 (x_non_menubar_window_to_frame): Check the busy-cursor window.
8118
beb0bc36
DL
81192000-02-21 Dave Love <fx@gnu.org>
8120
8121 * frame.c (Vmouse_position_function): New variable.
8122 (Fmouse_position): Use it.
8123 (syms_of_frame): Install it.
8124
8125 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
8126
1d92afcd
GM
81272000-02-20 Gerd Moellmann <gerd@gnu.org>
8128
8129 * fileio.c (Finsert_file_contents): Unbind the binding of
8130 standard-output done by temp_output_buffer_setup.
329eed9f
GM
8131
8132 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
8133 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
8134 (specbind, unbind_to): Handle most common case of non-constant
8135 symbol with trivial value specially.
8136
8137 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
8138
18e21ce8 81392000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
8140
8141 * data.c (Fmake_variable_buffer_local): Doc fix.
8142 Init found_for_buffer to 0.
8143 (Fmake_variable_frame_local): If the variable has already
8144 been buffer-local, set the check_frame field.
8145
1d4311c3
EZ
81462000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
8147
8148 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
8149 produced for CODING_MODE_LAST_BLOCK requires.
8150
2dc95ddd
DL
81512000-02-18 Dave Love <fx@gnu.org>
8152
8153 * keyboard.c (echo_keystrokes): Remove declaration.
8154 (Vecho_keystrokes) New variable.
8155 (read_char, record_menu_key, read_key_sequence): Use it to allow
8156 use of float value.
8157 (syms_of_keyboard): Change Vecho_keystrokes declaration.
8158
8159 * lread.c: Undef feature selection macros before defining.
8160
f0930f35
GM
81612000-02-18 Gerd Moellmann <gerd@gnu.org>
8162
8163 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
8164 for symbols other than the symbol in question.
8165
e3d4de90
DL
81662000-02-17 Dave Love <fx@gnu.org>
8167
8168 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
8169
0b378936
GM
81702000-02-17 Gerd Moellmann <gerd@gnu.org>
8171
d621caf7
GM
8172 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
8173
0b378936
GM
8174 * alloc.c (enum mem_type): Compile unconditionally.
8175
3b451f74
EZ
81762000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
8177
8178 * xfaces.c (tty_defined_color): Don't return faulire indication
8179 for unspecified-fg and unspecified-bg pseudo-colors.
8180
10689a01
GM
81812000-02-17 Gerd Moellmann <gerd@gnu.org>
8182
1216f5e4
GM
8183 * alloc.c (mark_object): Don't mark symbol names in pure space.
8184 (gc_sweep): Don't unmark symbol names in pure space.
8185
8186 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
8187 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
8188 [GC_MARK_STACK]: New defines.
427ec082 8189 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
8190 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
8191
8192 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
8193
8194 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
8195 allocate_buffer instead of xmalloc.
8196
8197 * alloc.c (toplevel): Include setjmp.h.
8198 (PURE_POINTER_P): New define.
8199 (enum mem_type) [GC_MARK_STACK]: New enumeration.
8200 (Vdead) [GC_MARK_STACK]: New variable.
8201 (lisp_malloc): Add parameter TYPE, call mem_insert if
8202 GC_MARK_STACK is defined.
8203 (allocate_buffer): New function.
427ec082 8204 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
8205 (free_float) [GC_MARK_STACK]: Set type to Vdead.
8206 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
8207 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
8208 (MEM_NIL) [GC_MARK_STACK]: New define.
8209 (struct mem_node) [GC_MARK_STACK]: New structure.
8210 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
8211 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
8212 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
8213 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
8214 (mark_stack) [GC_MARK_STACK]: New functions.
8215 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
8216 (clear_marks): Removed.
8217 (gc_sweep): Set free conses' car, free floats' type, free
8218 symbols' function to Vdead. Use lisp_free to free buffers.
8219 (init_alloc_once): Initialize Vdead.
8220 (survives_gc_p): Return non-zero for pure objects.
8221
8222 * alloc.c: Add comments throughout the file.
8223
2503c8b1
GM
8224 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
8225 that unblocks alarms.
8226
8389e1e2
GM
8227 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
8228 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
8229 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
8230
10689a01 8231 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 8232
bfc17d18
KH
82332000-02-17 Kenichi Handa <handa@etl.go.jp>
8234
4a09dee0
KH
8235 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
8236 avoid infinite error signaling. Allocate sufficient memory for
8237 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 8238
2b927d02
SM
82392000-02-17 Stefan Monnier <monnier@cs.yale.edu>
8240
8241 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
8242 depends on the previous behavior.
8243
b49cb764
GM
82442000-02-16 Gerd Moellmann <gerd@gnu.org>
8245
8246 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
8247
99e95407
GM
82482000-02-15 Gerd Moellmann <gerd@gnu.org>
8249
8250 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
8251
8252 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 8253 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
8254 write(2).
8255
6ffd3cf7
RS
82562000-02-15 Richard M. Stallman <rms@gnu.org>
8257
8258 * data.c (set_internal): Don't make variable buffer-local
8259 if within a let-binding for the same buffer.
8260 (let_shadows_buffer_binding_p): New function.
8261
8262 * eval.c (specbind): For buffer-local value,
8263 record the current buffer also.
8264 (unbind_to): Cope with that change.
8265
cad53475
GM
82662000-02-15 Gerd Moellmann <gerd@gnu.org>
8267
8268 * window.c (Fsave_window_excursion): Doc fix.
8269
1aa963c8
SM
82702000-02-15 Stefan Monnier <monnier@cs.yale.edu>
8271
8272 * syntax.c (back_comment): Make sure we only consider comment-starters
8273 of the relevant style and return -1 in case of a failure to find the
8274 beginning of the comment.
8275 (Fforward_comment): If back_comment fails, go back to the position just
8276 after the comment-end.
8277 (scan_lists): Add comment describing a very minor bug.
8278
b9b84fd3
SM
82792000-02-14 Stefan Monnier <monnier@cs.yale.edu>
8280
8281 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
8282 `completion-regexp-list' in the docstring.
8283
3a28db80
DL
82842000-02-14 Dave Love <fx@gnu.org>
8285
8286 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
8287
fb4a568d
SM
82882000-02-14 Stefan Monnier <monnier@cs.yale.edu>
8289
8290 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
8291 to Emacs' syntax. Also fix the comment about set/not-set meanings
8292 since Emacs syntax is not the value 0 any more.
8293 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
8294 since it's now part of RE_SYNTAX_EMACS.
8295
1063ebb5
DL
82962000-02-12 Dave Love <fx@gnu.org>
8297
8298 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
8299 Alpha.
8300
fb07a302
GM
83012000-02-12 Gerd Moellmann <gerd@gnu.org>
8302
8303 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
8304
aaf2320c
DL
83052000-02-12 Dave Love <fx@gnu.org>
8306
8307 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
8308
8309 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
8310 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
8311 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
8312
8313 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
8314
8315 * s/nextstep.h: Don't define HAVE_ALLOCA.
8316
8317 * config.in: Add vfork bits.
8318
eedf8bde
GM
83192000-02-12 Gerd Moellmann <gerd@gnu.org>
8320
8321 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
8322 unwind function to undo the effect of stopping atimers.
8323
8324 * keyboard.c (bind_polling_period): Stop all timers except
8325 poll_timer.
8326
8327 * atimer.c (stopped_atimers): New variable.
8328 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
8329 New functions.
8330
8331 * atimer.h (stop_other_atimers, run_all_atimers)
8332 (unwind_stop_other_atimers): Add function prototypes.
427ec082 8333
eedf8bde
GM
8334 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
8335
8476c2f8
KR
83362000-02-11 Ken Raeburn <raeburn@gnu.org>
8337
8338 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
8339 library may depend on jpeg.
8340 (atimer.o): Depends on atimer.c.
8341
0e85e4a3
KH
83422000-02-11 Kenichi Handa <handa@etl.go.jp>
8343
8344 * insdel.c (del_range_1): Call update_compositions.
8345 (del_range_both): Call update_compositions just once..
8346
97fa0cc8
DL
83472000-02-10 Dave Love <fx@gnu.org>
8348
8349 * xfns.c (create_frame_xic): Fix initialization of automatic
8350 aggregates for pcc.
8351
25566a3c
KH
83522000-02-09 Kenichi Handa <handa@etl.go.jp>
8353
8354 * ccl.c (CCL_MAKE_CHAR): New macro.
8355 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
8356 registers by CCL_MAKE_CHAR before calling translate_char.
8357 <CCL_TranslateCharacterConstTbl> Likewise.
8358
69da54ba
DL
83592000-02-08 Dave Love <fx@gnu.org>
8360
8361 * lread.c (__EXTENSIONS__): Define.
8362
f7136ee8
GM
83632000-02-08 Gerd Moellmann <gerd@gnu.org>
8364
8365 * puresize.h (BASE_PURESIZE): Increase to 650000.
8366
7768790b
EZ
83672000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
8368
8369 * msdos.c (XMenuActivate): Turn off the cursor after displaying
8370 the help message.
8371
38fd211b
EZ
83722000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
8373
8374 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
8375 md, mh, mb, mr, and me to the fake termcap entry.
8376
66e4690f
KR
83772000-02-06 Ken Raeburn <raeburn@gnu.org>
8378
8379 * sound.c (sound_cleanup): Don't call device close routine if the
8380 function pointer is null.
8381
a75dfea0
AI
83822000-02-06 Andrew Innes <andrewi@gnu.org>
8383
8384 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
8385 around image definitions and prototypes.
8386 (gamma_correct) [WINDOWSNT]: New prototype.
8387
8388 * w32term.c (x_make_frame_visible): Replace call to
8389 input_poll_signal with poll_for_input.
8390
8391 * window.c [WINDOWSNT]: Include w32term.h.
8392
8393 * xdisp.c [WINDOWSNT]: Include w32term.h.
8394
8395 * makefile.nt: Add dependencies on w32gui.h.
8396 (OBJ1): Include atimer.obj.
8397 ($(BLD)\atimer.obj): New dependency rule.
8398
8399 * w32.c (sigmask): New function (does nothing).
8400 (sigunblock): Ditto.
8401
8402 * frame.c [WINDOWSNT]: Include w32term.h.
8403
8404 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
8405
8406 * lread.c (syms_of_lread): Fix literal newlines.
8407
8408 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
8409 the string constant limit (2048 bytes) in MSVC.
8410 (main): Ditto.
8411
59ddecde
GM
84122000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
8413
8414 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
8415 area.
8416 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
8417 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
8418 dispatch the event.
8419
07590973
DL
84202000-02-04 Dave Love <fx@gnu.org>
8421
8422 * fileio.c: Remove some unused vars.
8423 (_GNU_SOURCE): Define (for euidaccess).
8424
8425 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
8426
8427 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
8428 gcpro1, gcpro2.
8429 (read_minibuf): Deal with allow_props correctly.
8430
649351f9
EZ
84312000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
8432
8433 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
8434
66e4690f 84352000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
8436
8437 * search.c (compile_pattern): If a cache entry has a nil regexp,
8438 fill in that entry instead of clobbering a previously cached
8439 string regexp.
8440
66e4690f 84412000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
8442
8443 * puresize.h (BASE_PURESIZE): Increase to 610000.
8444
d240a249
GM
84452000-02-02 Gerd Moellmann <gerd@gnu.org>
8446
8447 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
8448 can GC.
8449
ca91fb26
KH
84502000-02-02 Kenichi Handa <handa@etl.go.jp>
8451
25660570
KH
8452 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
8453 instead of incrementing ic directly.
8454 <CCL_WriteExprConst> Likewise.
8455 <ccl_set_expr>: Set ic to jump_address.
8456
ca91fb26
KH
8457 * fileio.c (e_write): Fix the handling of
8458 CODING_FINISH_INSUFFICIENT_SRC.
8459
2ede9689
DL
84602000-02-01 Dave Love <fx@gnu.org>
8461
8462 * editfns.c (Fpropertize): Doc fix.
8463
8464 * process.c (Fstart_process): Doc fix.
8465
8466 * eval.c: Fix various doc strings not to duplicate information
8467 from help-manyarg-func-alist.
8468
8469 * window.c (Fset_window_margins): Don't make interactive. Doc
8470 fix.
8471
8472 * doc.c (Vhelp_manyarg_func_alist): New variable.
8473 (Fdocumentation): Use it.
8474 (syms_of_doc): Define it.
8475
b6680a0e
GM
84762000-01-31 Gerd Moellmann <gerd@gnu.org>
8477
2cb750ba
GM
8478 * xterm.c (xim_open_dpy): Remove unused local variable.
8479
74e9213b
GM
8480 * emacs.c (USAGE): Use term `display options' instead of `X
8481 options'.
8482
8483 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
8484 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
8485
b6680a0e
GM
8486 * fns.c (sweep_weak_table): New function.
8487 (sweep_weak_hash_tables): Use it. Keep on marking until there
8488 is no more change.
8489
994c5afe
GM
84902000-01-30 Gerd Moellmann <gerd@gnu.org>
8491
8492 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
8493 that XTread_socket does not crash by trying to call XNoOp on a
8494 closed display.
427ec082 8495
f00276e3
JR
84962000-01-30 Jason Rumney <jasonr@gnu.org>
8497
8498 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
8499 Change selected_frame to SELECTED_FRAME ().
8500 (w32_console_mouse_position): Remove #ifndef MULE from around
8501 `insist' parameter.
8502
8503 * makefile.nt: Remove dosfns.obj.
8504
8505 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
8506
8507 * w32fns.c (w32_defined_color): Check for valid frame before
8508 applying gamma correction. Eliminate dependency on frame elsewhere.
8509 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
8510 (w32_to_x_font): Use resx and resy not height_in and width_in.
8511 (x_to_w32_font): Doc fix.
8512 (xlfd_strip_height): New function to strip and return font height.
8513 (w32_font_match): Compare height separately from rest of xlfd
8514 spec, using xlfd_strip_height.
8515
8516 * w32term.c (w32_term_init): Swap resx and height_in, resy and
8517 width_in. Use w32_defined_color in place of defined_color.
8518
8519 * w32faces.c: Merge more of DOS and X specifics in preparation for
8520 merge with xfaces.c.
8521 (defined_color): Remove FIXME comment.
8522 (tty_color_name): Provide w32-specific function.
8523 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
8524
8525 * w32console.c (turn_on_face, turn_off_face): Removed.
8526 (w32_face_attributes): New function.
8527 (Global_variables): Reduce scope where possible.
8528 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
8529 fill attribute.
8530 (hl_mode): Don't modify text attributes.
8531 (write_glyphs): Don't do anything if len <= 0. Use
8532 w32_face_attributes to get attributes for drawing. Write
8533 terminating codes using char_attr_normal.
8534 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
8535 (update_begin, update_end): Likewise.
8536 (vga_stdcolor_name): New function.
8537 (initialize_w32_display): Remove char_attr_reverse and char_attr.
8538 (Fset_screen_color): Remove char_attr_reverse.
8539
b08e8bb2
GM
85402000-01-29 Gerd Moellmann <gerd@gnu.org>
8541
8542 * xfns.c (xic_set_preeditarea): Take window parameter and
8543 window-relative pixel-positions.
8544
8545 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
8546 is its frame's selected window.
8547 (xim_instantiate_callback): Likewise.
8548
8549 * xfns.c (x_create_im): Removed.
8550 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
8551 (supported_xim_styles): Renamed from supported_styles.
8552 (best_xim_style): Renamed from best_style.
8553 (create_frame_xic): Renamed from xic_create_frame.
8554 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 8555
b08e8bb2
GM
85562000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
8557
8558 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
8559 our frames, call XFilterEvent with 2nd parameter `None'.
8560 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
8561 returning XBufferOverflow.
8562 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
8563 area.
8564 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
8565 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
8566 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
8567 (xim_initialize, xim_close)
8568 [HAVE_X_I18N && HAVE_X11R6]: New functions.
8569 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
8570 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
8571 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
8572
8573 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
8574 and `xim_styles'.
8575 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
8576 `xic_style' and `xic_xfs'.
8577 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
8578 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
8579 (FRAME_XIM): Removed.
8580
8581 * xfns.c (supported_styles): New variable.
8582 (DEFAULT_STYLE, DEFAULT_FONT): New macros
8583 (xic_create_xfontset, best_style, xic_create_frame)
8584 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
8585 (xic_set_xfontset): New functions.
8586
142e109c
DL
85872000-01-28 Dave Love <fx@gnu.org>
8588
8589 * s/irix6-5.h: Revert last change after change to irix5-0.h.
8590
8591 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
8592
b02786f9
GM
85932000-01-28 Gerd Moellmann <gerd@gnu.org>
8594
d060bc9f
GM
8595 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
8596 for *scratch* if it already existed.
8597
b02786f9
GM
8598 * emacs.c (USAGE): New macro.
8599 (main): Use it to display usage information.
8600
2c52d7e4
EZ
86012000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
8602
8603 Support for the menu-help feature:
8604
8605 * msdos.h: Change prototypes of XMenuAddSelection and
8606 XMenuActivate.
8607
8608 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
8609 part of the line to the termscript file.
8610 (IT_clear_to_end): Clear the entire line, not just its beginning.
8611 (menu_help_message, prev_menu_help_message): New variables.
8612 (IT_menu_make_room): Make room for the help_text member.
8613 (IT_menu_display): New argument disp_help; all callers changed.
8614 If disp_help is non-zero, store the help text of the active menu
8615 item in menu_help_message.
8616 (XMenuAddPane): Initialize the help_text member to NULL.
8617 (XMenuAddSelection): New argument help_text. Store it in the
8618 XMenu structure.
8619 (XMenuActivate): New argument help_callback. If the value of
8620 menu_help_message has changed since the last time, display the
8621 menu help message text while waiting for the mouse to move. Clear
8622 the echo area before exiting.
8623 (XMenuDestroy): Free the help_text member.
8624
ffe0bcd1
GM
86252000-01-27 Gerd Moellmann <gerd@gnu.org>
8626
8627 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
8628 XMenuAddSelection. Pass help callback to XMenuActivate.
8629 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
8630
50dbd23f
EZ
86312000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
8632
8633 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
8634 and EMACS_SET_USECS.
8635
f5941bf8
GM
86362000-01-26 Dave Love <fx@gnu.org>
8637
6c67ddee
DL
8638 * editfns.c (Fchar_after, Fchar_before): Doc fix.
8639
f5941bf8
GM
8640 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
8641 an error may be signalled.
8642
9e49c990
GM
86432000-01-26 Gerd Moellmann <gerd@gnu.org>
8644
fc3cb460
GM
8645 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
8646 LD_SWITCH_SYSTEM inherited from irix5-0.h.
8647
9e49c990
GM
8648 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
8649
d0c037d8
GM
86502000-01-25 Gerd Moellmann <gerd@gnu.org>
8651
8652 * charset.c (Fstring): If there is a multibyte char among
8653 the args, always return a multibyte string.
8654
e12489f9
GM
86552000-01-25 Gerd Moellmann <gerd@gnu.org>
8656
8657 * sysdep.c (sys_select): Turn atimers off and on instead of
8658 recording and restoring old alarm handler
8659
8660 * process.c (toplevel): Include atimer.h.
8661 (create_process_1): Rewritten.
8662 (create_process): Use atimers instead of alarm.
8663 (wait_reading_process_input) [hpux]: Turn atimers off instead
8664 of turning off SIGALRM.
8665 (wait_reading_process_input): Turn off atimers instead off
8666 calling stop_polling.
8667
8668 * emacs.c (main): Call init_atimer.
8669
8670 * keyboard.c (toplevel): Include systime.h and atimer.h.
8671 (polling_for_input): Removed because unused.
8672 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
8673 (poll_timer): New variable.
8674 (poll_for_input, poll_for_input_1): New functions.
8675 (start_polling, stop_polling): Rewritten.
8676
8677 * keyboard.h (polling_for_input): Removed.
427ec082 8678
e12489f9
GM
8679 * atimer.h, atimer.c: New files.
8680
8681 * Makefile.in (obj): Add atimer.o.
8682 (atimer.o): New target.
8683
8684 * blockinput.h (pending_atimers): Add extern declaration.
8685 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
8686
8687 * lisp.h (popup_activated_flag): Add extern declaration.
8688
8689 * xmenu.c (popup_activated_flag): Make externally visible.
8690 (popup_activate_callback) [USE_MOTIF]: Increment
8691 popup_activated_flag.
8692 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
8693
8694 * xterm.c (toplevel): Include atimer.h.
8695 (toolkit_scroll_bar_interaction): New variable.
8696 (Fxt_process_timeouts): Removed.
8697 (x_process_timeouts): New function.
8698 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
8699 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
8700 (x_make_frame_visible): Call poll_for_input_1 instead of
8701 input_poll_signal. Don't call alarm.
8702 (x_initialize): Install timer calling x_process_timeouts.
427ec082 8703
1e5279b9
DL
87042000-01-24 Dave Love <fx@gnu.org>
8705
6c67ddee 8706 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
8707 Don't use -cckr -- apparently not now necessary.
8708
edf6aeb8
EZ
87092000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
8710
8711 * msdos.c (IT_menu_display): Truncate long menu lines at the right
8712 screen boundary.
8713
9badad41
JR
87142000-01-23 Jason Rumney <jasonr@gnu.org>
8715
8716 * w32fns.c (w32_defined_color): Apply gamma correction before
8717 trying to map to the palette.
8718 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
8719 to w32_clear_rect.
8720
8721 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
8722 here. Callers changed to always pass real device context.
8723 (w32_draw_bitmap): Likewise.
8724 (w32_get_glyph_overhangs): Likewise.
8725 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
8726 one.
8727 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
8728 pfnSetScrollInfo and SetScrollRange.
8729 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
8730 back into MULE characters after decoding them.
8731 (x_get_glyph_face_and_encoding): Likewise.
8732 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
8733 GetCharABCWidthsW fails, since this is defined on Windows 9x.
8734 (x_produce_glyphs): Calculate per char metrics for a character
8735 that we know exists in default font when font_not_found_p is true.
8736
63bd786b
JR
87372000-01-22 Jason Rumney <jasonr@gnu.org>
8738
8739 * makefile.nt (intervals.obj, composite.obj): New modules.
8740 (composite.h): Added as dependency where appropriate.
8741
8742 * w32gui.h (XGCValue): New struct for emulating X GCs.
8743
8744 * w32term.h (XCharStruct): New struct for emulating X.
8745
8746 * w32console.c (turn_on_face, turn_off_face): New functions.
8747 (change_line_highlight): New prototype for new redisplay.
8748 (write_glyphs): Support multibyte text. Support faces.
8749
8750 * w32faces.c: Complete rewrite for new redisplay based on new
8751 xfaces.c.
8752
8753 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
8754 throughout. struct frame * in place of FRAME_PTR.
8755 Skeleton support for images, toolbars, tooltips from xfns.c.
8756 (Fx_create_frame): Use system default for default scroll bar
8757 width.
8758 (w32_get_arg): Renamed from x_get_arg.
8759 (Fx_file_dialog): New function.
8760 (w32_list_fonts): Check cache before asking system.
8761 (Vw32_enable_synthesized_fonts): New variable.
8762 (Vw32_enable_italics): Obsolete, removed.
8763
8764 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
8765 Use SELECTED_FRAME macro.
8766
8767 * w32menu.c: Add skeleton support for help strings on menus.
8768 (add_menu_item): Native checkbox and radio support added, but not
8769 yet enabled due to bugs.
8770 (push_menu_item): Add parameters type, selection and help.
8771 Callers updated.
8772 Formatting changes to reduce unnecessary diffs with xmenu.c.
8773
8774 * w32select.c (Fw32_set_clipboard_data): Update call to
8775 find_charset_in_str.
8776
8777 * w32term.c: Complete rewrite for new redisplay based on new
8778 xterm.c with necessary sections merged back in from old w32term.c.
8779
6ffd3cf7 87802000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
8781
8782 * data.c (set_internal): Further fix in same criterion.
8783
6ffd3cf7 87842000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
8785
8786 * data.c (set_internal): Fix the criteria for whether
8787 to swap out the old cached binding.
8788
60af03f1
DL
87892000-01-19 Dave Love <fx@gnu.org>
8790
8791 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
8792
f9be074f
KH
87932000-01-18 Kenichi Handa <handa@etl.go.jp>
8794
8795 * regex.c (re_compile_fastmap): While checking a range table for
8796 `charset', skip flag bits for a character class correctly.
8797
52b8dbf9
GM
87982000-01-17 Gerd Moellmann <gerd@gnu.org>
8799
d36100c9
GM
8800 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
8801
52b8dbf9
GM
8802 * xfns.c (x_window): Call lw_create_widget with new parameter
8803 list.
8804
8805 * widget.c (EmacsFrameSetCharSize): Change size of children first
8806 because of problems with main window geometry management under
8807 Lesstif.
8808
8809 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
8810 MENU_ITEMS_ITEM_.*.
8811 (MENU_ITEMS_ITEM_HELP): New enumerator.
8812 (push_menu_item): Add parameter HELP. Record help in menu_items.
8813 (single_menu_item, single_submenu, list_of_items): Call
8814 push_menu_item with new parameter.
8815 (single_submenu): Set help string in widget value.
8816 (menu_highlight_callback): New function.
8817 (set_frame_menubar): Call lw_create_widget with new
8818 parameter list.
8819 (xmenu_show, xdialog_show): Ditto.
8820
3139018f
GM
88212000-01-13 Gerd Moellmann <gerd@gnu.org>
8822
8823 * sound.c (Fplay_sound): Improve doc string.
8824
83c8f461
RS
88252000-01-11 Richard M. Stallman <rms@gnu.org>
8826
8827 * lisp.h (set_internal): Enter the new arg.
8828
8829 * eval.c (specbind): Record buffer-local variables specially,
8830 indicating which buffer's binding was saved.
8831 (unbind_to): Restore buffer-local variables specially
8832 in the proper buffer.
8833
8834 * data.c (set_internal): New arg BUF.
427ec082 8835
83c8f461
RS
8836 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
8837 * data.c (Fset): Pass new arg to set_internal.
8838 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 8839
1fab1775
GM
88402000-01-11 Gerd Moellmann <gerd@gnu.org>
8841
8842 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
8843 xprintsym.
8844
83c8f461 88452000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
8846
8847 * minibuf.c (Ftry_completion): Doc fix.
8848
7a85e4df
GM
88492000-01-11 Gerd Moellmann <gerd@gnu.org>
8850
8851 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
8852 vector, too.
8853
a970dae4
AS
88542000-01-11 Andreas Schwab <schwab@suse.de>
8855
8856 * coding.c (code_convert_region): Initialize total_skip.
8857
c65d14ee
DL
88582000-01-08 Dave Love <fx@gnu.org>
8859
8860 * eval.c (Fuser_variable_p): Check customizability too.
8861
834938d2
GM
88622000-01-07 Gerd Moellmann <gerd@gnu.org>
8863
8864 * minibuf.c (Fcompleting_read): Doc fix.
8865
e0303cd6
GM
88662000-01-05 Gerd Moellmann <gerd@gnu.org>
8867
8a26744b
GM
8868 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
8869 -L /usr/local/lib.
8870
e0303cd6
GM
8871 * xfns.c (x_create_im): New function to set IM and IC of a frame.
8872 Check that input style is supported before trying to create an
8873 IC for it.
8874 (x_window): Call x_create_im.
427ec082 8875
2e471eb5
GM
88762000-01-04 Gerd Moellmann <gerd@gnu.org>
8877
560a7bd2
GM
8878 * xfns.c (current_gif_memory_src): New variable.
8879 (gif_load): Record the address of the current memory source
8880 in current_gif_memory_src.
8881 (gif_read_from_memory): Use current_gif_memory_src.
8882
f9ee84a3
GM
8883 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
8884 macros statement form.
8885
d1299cde
GM
8886 * sound.c (struct sound): Renamed from struct sound_file.
8887 (struct sound): Add members `data' and `header_size'.
8888 (enum sound_attr): Add SOUND_DATA.
8889 (current_sound, current_sound_device): Variables renamed from
8890 sound_file and sound_device.
8891 (parse_sound): Parse :data.
8892 (parse_sound): Handle sound data in strings.
8893 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 8894 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
8895 needed header size.
8896 (wav_play, au_play): Play sounds from string data.
8897
2e471eb5
GM
8898 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
8899
8900 * lisp.h: Add prototype for allocate_string_data.
8901
8902 * alloc.c (Fgarbage_collect): Return number of live and free
8903 strings.
8904
8905 * alloc.c (mark_buffer): Remove code in #if 0.
8906 (gc_sweep): Ditto.
8907 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
8908 (strings_consed): New variable.
8909 (allocate_string): Set it.
8910 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
8911 (Fmemory_use_counts): Return strings_consed. Use Flist.
8912
8913 * alloc.c: General cleanup in comments etc. Remove conditional
8914 compilation for `standalone'.
8915
8916 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
8917
8918 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
8919 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
8920 (DONT_COPY_FLAG): Removed.
8921 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
8922 (struct sdata, struct sblock): New
8923 (struct string_block): Rewritten.
8924 (STRINGS_IN_STRING_BLOCK): New macro.
8925 (oldest_sblock, current_sblock, total_strings, total_free_strings)
8926 (large_sblocks, string_blocks, string_free_list): New variables.
8927 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
8928 (init_strings): Rewritten.
8929 (allocate_string, allocate_string_data, compact_small_strings)
8930 (free_large_strings, sweep_strings): New functions.
8931 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
8932 (struct string_block_head, current_string_block)
8933 (first_string_block, large_string_blocks, STRING_FULLSIZE)
8934 (STRING_PAD): Removed.
8935 (make_uninit_multibyte_string, make_pure_string): Rewritten.
8936 (Fgarbage_collect): Don't set mark bit in large strings.
8937 (mark_object): Mark strings differently. Mark symbol names
8938 differently.
8939 (survives_gc_p): Test marked strings differently.
427ec082 8940 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
8941 symbol names.
8942 (compact_strings): Removed.
8943
42608ba8
EZ
89442000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
8945
8946 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
8947 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
8948
e0a09e1a
KH
89492000-01-04 Kenichi Handa <handa@etl.go.jp>
8950
dd9f0750 8951 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 8952 in a non-empty buffer.
dd9f0750 8953
3c0f3b15 8954 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 8955
44cd3ae5
GM
89562000-01-03 Gerd Moellmann <gerd@gnu.org>
8957
8958 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
8959 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
8960
8961 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
8962
c182a70f
EZ
89632000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
8964
8965 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
8966 need to test for MSDOS frames.
8967
24480d5b
EZ
89682000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
8969
8970 * dosfns.c (unspecified_colors): Remove.
8971 (msdos_stdcolor_idx): Use global variables unspecified_fg and
8972 unspecified_bg.
8973 (msdos_stdcolor_name): Return strings for unspecified fore- and
8974 back-ground colors.
8975
8976 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 8977 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
8978 (tty_color_name): Return Lisp strings for unspecified fore- and
8979 back-ground colors.
8980 (Finternal_set_lisp_face_attribute): Remove the special treatment
8981 for Qunspecified_{f,b}g.
8982 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
8983 string.
8984
047f434a
GM
89852000-01-03 Gerd Moellmann <gerd@gnu.org>
8986
8987 * xdisp.c (reseat_at_next_visible_line_start): Position before
8988 newline only if ending up on a newline.
8989 (next_element_from_ellipsis): Return success. Handle case of
8990 displaying no ellipsis. Fix case of ellipsis defined in display
8991 table.
8992 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
8993 returns 0.
8994
d684c676
EZ
89952000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
8996
8997 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
8998 (Fcolor_supported_p): Renamed from face-color-supported-p.
8999
5fe1d139
EZ
90002000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
9001
9002 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
9003 list of colors renamed to tty-defined-color-alist.
9004 (tty_color_name): Pass the frame to tty-color-by-index.
9005 (realize_tty_face): tty-color-alist is now a function which
9006 accepts the frame as argument.
9007
9008 * term.c (Ftty_display_color_p): Accept an optional argument
9009 FRAME.
9010
816be8b8
EZ
90112000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
9012
9013 * term.c (insert_glyphs): Pass glyph, not &glyph, to
9014 encode_terminal_code.
9015
b635321e
EZ
90162000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
9017
9018 * dispnew.c (mode_line_string): Support termcap frames as well.
9019
9b784e96
GM
90202000-01-01 Gerd Moellmann <gerd@gnu.org>
9021
27189709
GM
9022 * syntax.c (Fforward_word): Undo previous change.
9023
9024 * editfns.c (Fconstrain_to_field): Don't constrain if
9025 inhibit-field-text-motion is non-nil.
9026 (Fline_beginning_position): Undo previous change.
9027 (Fline_end_position): Ditto.
9028
9029 * syntax.c (Fforward_word): Notice field boundaries only if
9030 inhibit-field-text-motion is nil.
9031
9032 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
9033
9034 * editfns.c (Vinhibit_field_text_motion): New variable.
9035 (inhibit-field-text-motion): New DEFVAR_LISP.
9036 (Fline_beginning_position, Fline_end_position): Notice field
9037 boundaries only if inhibit-field-text-motion is nil.
9038
45158a91
GM
9039 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
9040 All calls adjusted.
9041 (x_build_heuristic_mask): Likewise.
9042 (xbm_load_image_from_file): Change error output.
9043 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
9044 (gif_load, gs_load, x_kill_gs_process): Ditto.
9045
9b784e96
GM
9046 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
9047 color indices when accessing raster pixels.
63cec32f
GM
9048 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
9049 one of :file or :data.
9050 (enum pbm_keyword_index): Add PBM_DATA.
9051 (pbm_format): Add :data.
9052 (pbm_image_p): Allow either :file or :data.
9053 (pbm_read_file): New function.
9054 (pbm_scan_number): Rewritten to read from string.
9055 (pbm_load): Support :data.
9b784e96 9056
2cb085db 9057See ChangeLog.8 for earlier changes.
6922b018
KH
9058
9059;; Local Variables:
49b3bd82 9060;; coding: iso-2022-7bit
6922b018 9061;; End: