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