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