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