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