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