*** empty log message ***
[bpt/emacs.git] / src / ChangeLog
CommitLineData
388ac098
GM
12000-11-09 Gerd Moellmann <gerd@gnu.org>
2
778fbc46
GM
3 * dired.c (directory_files_internal): Fix a braino.
4
388ac098
GM
5 * dired.c (directory_files_internal): Add missing GCPRO's.
6 Some cleanup.
7
ecaedde1
GM
82000-11-08 Gerd Moellmann <gerd@gnu.org>
9
f7eb32aa
GM
10 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
11 (resize_mini_window): Return quickly if Vresize_mini_window is
12 nil. Don't return if Vmax_mini_window_height is nil.
13
14 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
15 (syms_of_xdisp): Initialize them.
16 (resize_mini_window): Act according to the setting of
17 Vresize_mini_window.
18 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
19
ecaedde1
GM
20 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
21 scroll bar widget after configuring it, so that it will appear at
22 the right position from the start.
23 (XTredeem_scroll_bar): Cleaned up.
24
3747ef2c
KH
252000-11-08 Kenichi Handa <handa@etl.go.jp>
26
27 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 28 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
29 division by two.
30
31 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
32
03391420
DL
332000-11-07 Dave Love <fx@gnu.org>
34
35 * config.in (HAVE_MKDIR): Add.
36
37 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
38
b5de343d
GM
392000-11-07 Gerd Moellmann <gerd@gnu.org>
40
acad3c0b
GM
41 * window.c (Fset_window_configuration): Don't try to preserve
42 point in the current buffer, if that buffer is displayed in more
43 than one window.
44
b5de343d
GM
45 * xfaces.c (lookup_named_face): If default face isn't realized,
46 try to realize it. Return -1 if not successful.
47 (Fx_list_fonts): Handle case that face cannot be determined.
48 (Fface_font): Likewise.
49
cdb1fe49
GM
502000-11-06 Gerd Moellmann <gerd@gnu.org>
51
52 * window.c (displayed_window_lines): Detect partially
53 visible lines at the bottom correctly.
54
d3a67486
SM
552000-11-06 Stefan Monnier <monnier@cs.yale.edu>
56
57 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
58 when ensuring we don't do visit in indirect buffer.
59
ff8dd5d5
KH
602000-11-06 Kenichi Handa <handa@etl.go.jp>
61
62 * composite.h (compose_chars_in_text): Add prototype.
63
64 * composite.c (Vcomposition_function_table): New variable.
65 (Qcomposition_function_table): New variable.
66 (run_composition_function): Call
67 Vcompose_chars_after_function with three arguments.
68 (compose_chars_in_text): New function.
69 (syms_of_composite): Modified the doc-string of
70 Vcompose_chars_after_function. Declare composition-function-table
71 as a lisp variable, and initialize it.
72
73 * xfns.c (x_encode_text): Suppress producing escape sequences for
74 composition.
75
76 * xselect.c: Include composite.h.
77 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
78
d1145f85
AI
792000-11-05 Andrew Innes <andrewi@gnu.org>
80
81 * w32term.c (x_produce_glyphs): Fix typo in enum name.
82
83 * sysdep.c (read_input_waiting): Remove extraneous argument to
84 read_socket_hook.
85
86 * w32fns.c (Fx_server_version): Include w32_build_number in the
87 return list.
88
89 * w32heap.c (w32_build_number): New variable.
90 (cache_system_info): Set it.
91
92 * w32heap.h (w32_build_number): Add extern.
93
94 * emacs.c (syms_of_emacs): Update docstring for
95 system-configuration, to reflect the actual usage on MS-Windows.
96
e85ee976
GM
972000-10-31 Gerd Moellmann <gerd@gnu.org>
98
26dcb81b
GM
99 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
100 process idle timers while waiting for another event.
101
0a894bad
GM
102 * dispnew.c (update_frame_line): Handle case where spaces in
103 the default face are colored.
104
e85ee976
GM
105 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
106 window height hasn't changed.
107
01b220b6
JR
1082000-10-31 Jason Rumney <jasonr@gnu.org>
109
110 * w32term.c (x_produce_glyphs): Handle composite characters.
111 (x_draw_glyph_string_foreground)
112 (x_draw_composite_glyph_string_foreground): Restore old font.
113
4e6b7204
MB
1142000-10-31 Miles Bader <miles@lsi.nec.co.jp>
115
116 * minibuf.c (read_minibuf): Reset the undo history just before
117 starting the recursive-edit.
118
d4358b37
GM
1192000-10-30 Gerd Moellmann <gerd@gnu.org>
120
563f68f1
GM
121 * xfaces.c (menu_face_change_count): New variable.
122 (Finternal_set_lisp_face_attribute): Increment it for changes
123 of the `menu' face.
124 (realize_basic_faces): Reflect changes in the `menu' faces
125 in menu bars.
126
82e274d1
GM
127 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
128 dy obtained from the iterator's y-position after moving from
129 scroll_margin_pos to PT; see comment there.
130
0dbf9fd2
GM
131 * xdisp.c (safe_eval_handler): Call add_to_log.
132
906b3b14
GM
133 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
134 is not a symbol or string.
135
d4358b37
GM
136 * xdisp.c (echo_area_display): Don't perform a display update from
137 inside redisplay. The update will happen anyway at the end of
138 redisplay, and it can confuse redisplay (GC messages while
139 redisplaying, for instance.)
140
70c825df
SM
1412000-10-30 Stefan Monnier <monnier@cs.yale.edu>
142
cf9b4b0b
SM
143 * xrdb.c (x_load_resources): Use the class name in the defaults.
144
70c825df
SM
145 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
146 (regex_compile): Catch bogus \(\1\).
147
a1d34b1e
GM
1482000-10-30 Gerd Moellmann <gerd@gnu.org>
149
cae71efe
GM
150 * xterm.c (x_alloc_nearest_color): Fix last change to compare
151 RGB values.
152
35efe0a1
GM
153 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
154 we have a color cache, check that the cached color equals the
155 allocated color. If not, clear the color cache.
156
1d3baf74
GM
157 * window.c (displayed_window_lines): Change buffers if necessary.
158 Fix computation of displayed lines.
159
a1d34b1e
GM
160 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
161 update_menu_bindings to DEFVAR_BOOL.
162
70737ea9
KH
1632000-10-30 Kenichi Handa <handa@etl.go.jp>
164
70c825df 165 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 166
fa0cb51d
KH
167 * puresize.h (BASE_PURESIZE): Increase to 680000.
168
70737ea9
KH
169 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
170
0e4c08e8
JR
1712000-10-29 Jason Rumney <jasonr@gnu.org>
172
173 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
174
175 * w32term.c (w32_bdf_per_char_metric): Negate descent.
176 (w32_cache_char_metrics): Handle possibility that 'x' does not
177 exist in a BDF font.
178 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
179
180 * w32bdf.h (bdffont): Add nchars.
181
182 * w32bdf.c (set_bdf_font_info): Set it.
183 (w32_BDF_TextOut): Swap byte order of double byte characters.
184 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
185
45b84006
EZ
1862000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
187
188 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
189 don't override the colors in frame's param_alist, unless they are
190 unspecified.
191
192 * term.c (reassert_line_highlight): If inverse_video is non-zero,
193 reverse the effect of the highlight flag.
194
caf9deee
KR
1952000-10-27 Ken Raeburn <raeburn@gnu.org>
196
197 * window.h (Fwindow_live_p): Declare.
198
ae0b9b46
KR
199 * undo.c (record_delete): Check that last_undo_buffer is really a
200 buffer before applying XBUFFER to it.
201
202 * keymap.c (where_is_internal): Pass lisp object, not integer, to
203 Faref.
204
02067692
SM
2052000-10-27 Stefan Monnier <monnier@cs.yale.edu>
206
207 * lisp.h (KEYMAPP): New macro.
208 (get_keymap): Remove.
209 (get_keymap_1): Rename get_keymap.
210
211 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
212
213 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
214
215 * xmenu.c (single_submenu): Use KEYMAPP.
216 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
217 Use KEYMAPP rather than Fkeymapp.
218
219 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
220
221 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
222 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
223 Use KEYMAPP rather than Fkeymapp.
224 (single_submenu): Use KEYMAPP.
225 (w32_menu_show, w32_dialog_show): Use TRUE.
226
227 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
228
229 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
230 (Fkeymapp): Use KEYMAPP.
231 (get_keymap): Rename from get_keymap_1. Remove old def.
232 Return t when autoload=0 and error=0 and the keymap needs autoloading.
233 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
234 (Fminor_mode_key_binding): Don't raise an error if the binding
235 is not a keymap.
236 (Fuse_global_map, Fuse_local_map): Allow autoloading.
237 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
238
239 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
240 Allow Vspecial_event_map to be autoloaded.
241 (menu_bar_items): Fetch the keymap rather than using keymapp.
242 (menu_bar_one_keymap): No need to follow func-indirect any more.
243 (parse_menu_item): get_keymap_1 -> get_keymap.
244 (tool_bar_items): Fetch the keymap rather than using keymapp.
245 (read_key_sequence): Use KEYMAPP.
246
247 * intervals.c (get_local_map): Use get_keymap rather than following
248 function-indirections explicitly.
249
250 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
251
f9d80af3
JR
2522000-10-27 Jason Rumney <jasonr@gnu.org>
253
254 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
255 point, as Windows has oversized fonts.
256
257 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
258
a3ba27da
GM
2592000-10-27 Gerd Moellmann <gerd@gnu.org>
260
261 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
262 (freehook, reallochook): Handle null pointer arguments.
263 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
264
aa3b80cc
SM
2652000-10-27 Stefan Monnier <monnier@cs.yale.edu>
266
267 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
268 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
269 Giving in to popular pressure to shut up the compiler with casts.
270
e24e84cc
GM
2712000-10-27 Gerd Moellmann <gerd@gnu.org>
272
273 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
274 signed value, and use a default value computed from the font's
275 maximum descent.
276
05ea7ef2
MB
2772000-10-27 Miles Bader <miles@lsi.nec.co.jp>
278
279 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
280 that specify a negative underline position can still use underlines.
281
282 * window.c (Fpos_visible_in_window_p): Make POS default to
283 WINDOW's point, not the current buffer's point.
284
0b95284b
DL
2852000-10-26 Dave Love <fx@gnu.org>
286
287 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
288 when it's necessary.
289
6c5b90af
GM
2902000-10-26 Gerd Moellmann <gerd@gnu.org>
291
8b6d9dc9
GM
292 * window.c (size_window): Compute size difference from sum of old
293 child window sizes instead of from parent's size.
294
6bc92b2e
GM
295 * xdisp.c (pos_visible_p): Change current buffer if necessary.
296 Handle obscured lines at the top of the window.
297
298 * frame.c (Fdelete_frame): Doc fix. Move running the hook
299 down after the last error condition check.
300
6c5b90af
GM
301 * frame.c (Fdelete_frame): Run delete-frame-hook.
302
42f92d4d
KH
3032000-10-26 Kenichi Handa <handa@etl.go.jp>
304
305 * coding.c (decode_coding): Fix previous change (check also
306 CODING_MODE_LAST_BLOCK).
307
d97151cb
SM
3082000-10-25 Stefan Monnier <monnier@cs.yale.edu>
309
e7efc503
SM
310 * regex.c: More `unsigned char' -> `re_char' changes.
311 Also change several `int' into `re_wchar_t'.
312 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
313 (PUSH_FAILURE_POINTER): Don't cast any more.
314 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
315 We want GCC to complain, since this piece of code makes
316 re_match non-reentrant, which *should* be fixed.
317 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
318 (EXTEND_BUFFER): Use RETALLOC.
319 (SET_LIST_BIT): Don't cast.
320 (re_wchar_t): New type.
321 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
322 that those two functions will always properly return.
323 (IMMEDIATE_QUIT_CHECK): Cast to void.
324 (analyse_first): Use recursion rather than an explicit stack.
325 (re_compile_fastmap): Can't fail anymore.
326 (re_search_2): Don't check re_compile_fastmap for failure.
327 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
328 Now also sets the new value (passed in a new argument).
329 (re_match_2_internal): Use it.
330 Also, use a new var `reg' of type size_t when looping through regs
331 rather than reuse the inappropriate `mcnt'.
332
d97151cb
SM
333 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
334 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
335 (where_is_internal): Renamed from Fwhere_is_internal.
336 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
337 (Fwhere_is_internal): New function wrapping where_is_internal.
338 (where_is_internal_1): Handle the case where we're filling the cache.
339 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
340
d5789b65
MB
3412000-10-25 Miles Bader <miles@gnu.org>
342
343 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
344
4ecda532
GM
3452000-10-25 Gerd Moellmann <gerd@gnu.org>
346
347 * window.c (pos_fully_visible_p): Removed.
348 (Fpos_visible_in_window_p): Use pos_visible_p to determine
349 if position is visible and/or fully visible.
350
351 * lisp.h (pos_visible_p): Add prototype.
352
353 * xdisp.c (pos_visible_p): New function.
354
68c3a137
KH
3552000-10-25 Kenichi Handa <handa@etl.go.jp>
356
357 * process.c (send_process): If OBJECT is t, it means that the data
358 is from C string, but we should encode it. Before calling
359 setup_raw_text_coding_system, be sure to flush out data by the
360 previous coding system.
361
7ae1c032
MB
3622000-10-25 Miles Bader <miles@lsi.nec.co.jp>
363
ff4dcd4b
MB
364 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
365 assignment of startpos to prev when startpos == pos.
366
7ae1c032
MB
367 * editfns.c (find_field): Set the field stickiness correctly from
368 overlay fields. Use renamed `text_property_stickiness'.
369 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 370 Only check text properties, not overlays.
7ae1c032
MB
371 * textprop.c (get_char_property_and_overlay): New function.
372 (Fget_char_property): Use it.
373 * intervals.h (get_char_property_and_overlay): Add declaration.
374
49801145
SM
3752000-10-25 Stefan Monnier <monnier@cs.yale.edu>
376
377 * keymap.c: Use AREF, ASET and ASIZE macros.
378 (Fmake_sparse_keymap): Docstring fix.
379 (synkey): Remove.
380 (shadow_lookup): Move up.
381 Handle the case where lookup-key returns an integer.
382 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
383 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
384 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
385 Simplify/rewrite the keymap-finding code.
386 Add check for command shadowing, using shadow_lookup.
387
39e776cd
SM
3882000-10-24 Stefan Monnier <monnier@cs.yale.edu>
389
390 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
391 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
392 a symbol.
393
2488aba5
AI
3942000-10-24 Andrew Innes <andrewi@gnu.org>
395
396 * dired.c (directory_files_internal_unwind): New function.
397 (directory_files_internal): Use it to ensure closedir is called
398 even if expand-file-name or file-attributes throw, eg. because of
399 a user interrupt. Also enable immediate_quit while calling
400 re_search, so that matching can be interrupted as well.
401
b94fdf61
AI
4022000-10-24 Andrew Innes <andrewi@gnu.org>
403
404 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
405 NT-Emacs only.
406 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
407 so that re_search functions only quit when callers expect them to.
408
4092000-10-24 Kenichi Handa <handa@etl.go.jp>
410
411 * regex.c (regex_compile): Change the way of handling a range from
412 a char less than 256 to a char not less than 256.
413
1946f901
GM
4142000-10-24 Gerd Moellmann <gerd@gnu.org>
415
7ae2f10f
GM
416 * window.c (size_window): Prevent setting window's width or
417 height to a negative value (esp. with XSETFASTINT).
418
5dcab13e
GM
419 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
420 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
421 (protect_malloc_state) [GC_MALLOC_CHECK &&
422 GC_PROTECT_MALLOC_STATE]: New function.
423 (PROTECT_MALLOC_STATE): New macro.
424 (__malloc_initialize, morecore, _malloc_internal)
425 (_free_internal) _realloc_internal): Use it to make _heapinfo
426 read-only outside of gmalloc.
427
63e1b552
GM
428 * keymap.c: Update copyright.
429
1946f901
GM
430 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
431 a symbol.
432
4fa09beb
GM
4332000-10-24 Colin Walters <walters@cis.ohio-state.edu>
434
435 * filelock.c (unlock_all_files): Use unlock_file to expand each
436 buffer's file_truename before trying remove its lock file.
437
23afac01
EZ
4382000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
439
440 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
441 or CRLF, decode EOLs.
442
04448b95
KH
4432000-10-24 Kenichi Handa <handa@etl.go.jp>
444
445 * window.c (Fdisplay_buffer): Fix doc.
446
3090a5a5
JR
4472000-10-23 Jason Rumney <jasonr@gnu.org>
448
449 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
450 ASCII font of default fontset on Windows.
451
452 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
453 xterm.c comment below).
454
455 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
456
a83fee2c
GM
4572000-10-23 Gerd Moellmann <gerd@gnu.org>
458
459 * xterm.c (x_connection_closed): Reset handling_signal.
460
461 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
462 null.
463
6ffdb539
MB
4642000-10-23 Miles Bader <miles@gnu.org>
465
466 * window.c (window_scroll_pixel_based, window_scroll_line_based):
467 Pass nil for FULLY argument to Fpos_visible_in_window_p to
468 maintain old behavior.
469 * minibuf.c (Fminibuffer_complete): Likewise.
470
7f1c969b
MB
4712000-10-23 Miles Bader <miles@lsi.nec.co.jp>
472
473 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
474 that when a font can't be exactly centered, it errs up rather than
475 down.
476
23afac01 4772000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
478
479 * fns.c (Fbase64_decode_string): The decoded result should be
480 unibyte.
481
1a578e9b
AC
4822000-10-23 Andrew Choi <akochoi@i-cable.com>
483
484 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
485
486 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 487 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
488
489 * emacs.c (main) [macintosh]: Call syms_of_textprop,
490 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
491 syms_of_search, x_term_init, and init_keyboard before calling
492 init_window_once. Also, call syms_of_xmenu.
493
494 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
495 default fontset to Monaco.
496
497 * frame.c [macintosh]: Include macterm.h. Remove declarations of
498 NewMacWindow and DisposeMacWindow.
499 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
500 instead of calling NewMacWindow and setting fields of
501 f->output_data.mac directly. Call init_frame_faces.
502 (Fdelete_frame) [macintosh]: Remove unused code.
503 (Fmodify_frame_parameters) [macintosh]: Call
504 x_set_frame_parameters instead of mac_set_frame_parameters.
505
506 * frame.h [macintosh]: Define menu_bar_lines field in struct
507 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
508
509 * keyboard.c [macintosh]: Include macterm.h.
510 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
511 and menu_bar_activate_event type events as for X and NT.
512 (make_lispy_event) [macintosh]: Construct lisp events of type
513 MENU_BAR_EVENT as for X and NT.
514
515 * sysdep.c [macintosh]: Remove declaration for sys_signal.
516 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
517 (sys_subshell) [macintosh]: Remove definition entirely.
518 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
519 Vwindow_system_version here. Remove initialization of
520 Vx_bitmap_file_path.
521 (read_input_waiting): Correct the number of parameters passed to
522 read_socket_hook.
523 Move all Macintosh functions to mac/mac.c.
524
525 * term.c [macintosh]: Include macterm.h.
526
527 * window.c [macintosh]: Include macterm.h.
528
529 * xdisp.c [macintosh]: Include macterm.h. Declare
530 set_frame_menubar and pending_menu_activation.
531 (echo_area_display) [macintosh]: Do not return if terminal frame
532 is the selected frame.
533 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
534 Allow only the selected frame to set menu bar.
535 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
536 calling FRAME_EXTERNAL_MENU_BAR (f).
537 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
538
539 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
540 and check_x. Declare XCreateGC. Define x_create_gc and
541 x_free_gc. Initialize font_sort_order.
542 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
543 but call x_list_fonts instead of w32_list_fonts.
544 (Finternal_face_x_get_resource) [macintosh]: Do not call
545 display_x_get_resource.
546 (prepare_face_for_display) [macintosh]: Set xgcv.font.
547 (realize_x_face) [macintosh]: Load the font if it is specified in
548 ATTRS.
549 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
550 to Qt.
551
1ffbabe3
SM
5522000-10-22 Stefan Monnier <monnier@cs.yale.edu>
553
554 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
555 is nil: since we go to the end of submap anyway, we'd end up
556 setting nil to nil.
557 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
558 doesn't obey autoload.
559
bed43f1d
EZ
5602000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
561
1ffbabe3 562 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 563
ea4233a7
JR
5642000-10-21 Jason Rumney <jasonr@gnu.org>
565
566 * w32term.c (w32_cache_char_metrics): Double check that font is
567 really fixed pitch before trusting tmPitchAndFamily.
568
f3d3c491
AI
5692000-10-21 Andrew Innes <andrewi@gnu.org>
570
571 * w32gui.h (w32_char_font_type): Move enum from w32term.c
572
573 * w32term.h: Extern decl for w32_cache_char_metrics.
574
575 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
576
577 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
578 (w32_unload_font): Free per_char array if present.
579
580 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
581 cached information in emulated XFontStruct to handle common cases
582 quickly. Do not allocate XCharStruct for return.
583 (w32_native_per_char_metric): New function.
584 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
585 allocating one.
586 (x_produce_glyphs): Don't get an HDC. Change calls to
587 w32_per_char_metric to match arg change above. Remove calls to
588 free results.
589 (w32_get_glyph_overhangs): Ditto.
590 (w32_cache_char_metrics): New function.
591
592 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
593 ($(BLD)/casefiddle.$(O)): Remove compile command.
594 ($(BLD)/gmalloc.$(O)): Remove compile command.
595 ($(BLD)/dispnew.obj):
596 ($(BLD)/keyboard.obj):
597 ($(BLD)/w32inevt.obj):
598 ($(BLD)/w32bdf.obj):
599 ($(BLD)/alloc.obj):
600 ($(BLD)/buffer.obj):
601 ($(BLD)/editfns.obj):
602 ($(BLD)/emacs.obj):
603 ($(BLD)/fileio.obj):
604 ($(BLD)/fns.obj):
605 ($(BLD)/indent.obj):
606 ($(BLD)/insdel.obj):
607 ($(BLD)/intervals.obj):
608 ($(BLD)/minibuf.obj):
609 ($(BLD)/print.obj):
610 ($(BLD)/scroll.obj):
611 ($(BLD)/sysdep.obj):
612 ($(BLD)/textprop.obj):
613 ($(BLD)/widget.obj):
614 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
615 ($(BLD)/term.obj): Add dependency on dispextern.h.
616
617 * makefile.nt ($(BLD)\dispnew.obj):
618 ($(BLD)\keyboard.obj):
619 ($(BLD)\w32inevt.obj):
620 ($(BLD)\w32bdf.obj):
621 ($(BLD)\alloc.obj):
622 ($(BLD)\buffer.obj):
623 ($(BLD)\editfns.obj):
624 ($(BLD)\emacs.obj):
625 ($(BLD)\fileio.obj):
626 ($(BLD)\fns.obj):
627 ($(BLD)\indent.obj):
628 ($(BLD)\insdel.obj):
629 ($(BLD)\intervals.obj):
630 ($(BLD)\minibuf.obj):
631 ($(BLD)\print.obj):
632 ($(BLD)\scroll.obj):
633 ($(BLD)\sysdep.obj):
634 ($(BLD)\textprop.obj):
635 ($(BLD)\widget.obj):
636 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
637 ($(BLD)\term.obj): Add dependency on dispextern.h
638
18ad4821
EZ
6392000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
640
641 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
642 with an additional argument of Qt.
643
de54681a
MB
6442000-10-21 Miles Bader <miles@gnu.org>
645
646 * window.c (pos_fully_visible_in_window_p): New function.
647 (Fpos_visible_in_window_p): Add FULLY argument.
648 Use pos_fully_visible_in_window_p.
649 (window_scroll_pixel_based, window_scroll_line_based): Update
650 calls to Fpos_visible_in_window_p.
651 * lisp.h (Fpos_visible_in_window_p): Update prototype
652
13c844fb
GM
6532000-10-20 Gerd Moellmann <gerd@gnu.org>
654
655 * alloc.c (toplevel): Conditionalize compilation of mem_*
656 functions differently.
657
d9506268
JR
6582000-10-20 Jason Rumney <jasonr@gnu.org>
659
660 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
661 mem_init where it used to be. mem_z etc not defined otherwise.
662
8094989b
GM
6632000-10-20 Gerd Moellmann <gerd@gnu.org>
664
665 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
666 GC_MALLOC_CHECK.
667 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
668 structure definition and related variabled to the top of the file.
669 Include this code when GC_MALLOC_CHECK is defined.
670 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
671 register/unregister allocated region.
672 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
673 which isn't allocated.
674 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
675 something which is already in use.
676 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
677 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
678 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
679 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
680
681 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
682 _malloc_internal instead of malloc.
683 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
684 of free.
685
ea456eb4
AI
6862000-10-20 Andrew Innes <andrewi@gnu.org>
687
688 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
689 Windows.
690 (my_strftime) <macro>: Don't use macro arg list when redefining as
691 _strftime_copytm.
692 (my_strftime) <function>: Supply 0 as ut argument.
693
e64c3a75
JR
6942000-10-19 Jason Rumney <jasonr@altavista.net>
695
696 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
697 including dispextern.h, as it stops faces from working.
698
699 * w32fns.c (Fx_create_frame): Don't bother calling
700 face-set-after-frame-default since the caller does it for us
701 anyway. Clean up calls to x_get_arg to be consistent with X.
702
703 * w32term.c (x_produce_glyphs): Handle
704 unibyte_display_via_language_environment correctly.
705 (w32_draw_box_rect): Fix the calculation of width and height.
706
707 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
708 as it has stopped working.
709 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
710 menu-bar.
711
17401c97
GM
7122000-10-19 Gerd Moellmann <gerd@gnu.org>
713
714 * eval.c (skip_debugger): Prevent a compiler warning.
715 (Fcondition_case): Likewise.
716 (Fbacktrace_frame): Use a null interactive spec.
717
773272d8
KH
7182000-10-19 Kenichi Handa <handa@etl.go.jp>
719
720 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
721
a42943e9
GM
7222000-10-18 Gerd Moellmann <gerd@gnu.org>
723
e50517d9
GM
724 * strftime.c: Sync with glibc, file version 1.78.
725 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
726 should no longer be used according to ISO 8601.
727
9035a35a
GM
728 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
729 no map for meta_prefix_char, don't try to use it as a keymap.
730 Instead, if T_OK is non-zero, look up a default binding, if any,
731 otherwise, if T_OK is zero, return nil.
732
a42943e9
GM
733 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
734 (x_to_xcolors, png_load): Use x_query_color.
735
736 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
737 functions.
738 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
739 which can be slow.
740 (x_copy_color, x_alloc_lighter_color): Likewise.
741
742 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
743 (x_query_color, x_query_colors): Add prototype.
744
745 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
746 check_string_bytes only if not noninteractive, increase count to 50.
747
00de2987
MB
7482000-10-18 Miles Bader <miles@lsi.nec.co.jp>
749
750 * insdel.c (adjust_markers_for_delete): Handle before-insertion
751 markers correctly.
752
54918e2b
GM
7532000-10-17 Gerd Moellmann <gerd@gnu.org>
754
1f0b3fd2
GM
755 * alloc.c (pure_bytes_used): Renamed from pureptr.
756 (ALIGN): New macro.
757 (pure_alloc): New function.
758 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
759 Use it.
760 (Fpurecopy): Use PURE_POINTER_P.
761
68c5d1db
GM
762 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
763 PT has moved backward.
764
9a038881
GM
765 * xdisp.c (cursor_row_p): Take continued lines into account.
766
361b097f
GM
767 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
768 string's size_byte.
769 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
770 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
771 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
772 string allocated.
773
54918e2b
GM
774 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
775 of selective display off while searching for the next line start.
776
03ed0806
KH
7772000-10-17 Kenichi Handa <handa@etl.go.jp>
778
779 * Makefile.in (term.o): Depend on dispextern.h.
780
7e05cdaf
SM
7812000-10-16 Stefan Monnier <monnier@cs.yale.edu>
782
783 * keymap.c (keymap_memberp): Ensure that nil is not a member.
784
a6801fd1
GM
7852000-10-16 Gerd Moellmann <gerd@gnu.org>
786
483de32b
GM
787 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
788 the iterator at the beginning, so that they can be set later on,
789 for instance in reseat_at_next_visible_line_start, without being
790 overwritten.
791
a6801fd1
GM
792 * xfns.c (pbm_format): Add :foreground and :background keywords.
793 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 794 (xbm_load): Recognize foreground and background color
a6801fd1
GM
795 specifications.
796
dbf1fcc1
EZ
7972000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
798
799 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
800
801 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
802 declaration.
803
804 * msdos.c (IT_set_face): Compare highlighted face with the default
805 face, and invert colors if these faces' colors are identical.
806 (Fmsdos_remember_default_colors): Don't swap foreground and
807 background colors in initial_colors[].
808 (IT_set_frame_parameters): Don't swap frame's foreground and
809 background pixels. If ALIST includes "(reverse . t)", swap
810 foreground-color and background-color properties in frame's
811 param_alist. If the original frame's param_alist doesn't specify
812 the colors, store unspecified-fg and unspecified-bg, reversed if
813 required.
814
815 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
816 the colors are unspecified and reversed, reverse fore- and back-
817 ground in the returned value.
818 (Fframe_parameter): Ditto.
819
b41fe2c3
GM
8202000-10-16 Gerd Moellmann <gerd@gnu.org>
821
3a6b59d9
GM
822 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
823 get_last_unchanged_at_beg_row.
824 (find_first_unchanged_at_end_row): Renamed from
825 get_first_unchanged_at_end_row.
826 (find_first_unchanged_at_end_row): Convert assertions to
827 unconditional tests which abort. When looking for a row in
828 unchanged text, don't go further back than first_text_row.
829
b41fe2c3
GM
830 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
831 Don't add in the last line's height when deciding if the new
832 position is below the scroll margin.
9d1af64f 833
b41fe2c3 8342000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
835
836 * editfns.c (Fconstrain_to_field): Check carefully for field
837 boundaries if either OLD_POS or NEW_POS has a non-nil field
838 property, even if they're the same.
839
c412cb7b
KH
8402000-10-16 Kenichi Handa <handa@etl.go.jp>
841
842 * xterm.c (x_draw_box_rect): Fix the calculation of width and
843 height for XFillRectangle.
844
5586f3eb
SM
8452000-10-15 Stefan Monnier <monnier@cs.yale.edu>
846
847 * syntax.c (Fstring_to_syntax): New function extracted from
848 Fmodify_syntax_entry.
849 (Fmodify_syntax_entry): Use it and document the ! and | fences.
850 (skip_chars, Fforward_comment): Remove unused variables.
851 (syms_of_syntax): Add defsubr for string-to-syntax.
852 (describe_syntax): Add code for comment and string fences.
853
db785038
SM
8542000-10-14 Stefan Monnier <monnier@cs.yale.edu>
855
856 * keymap.c (access_keymap): Add AUTOLOAD parameter.
857 Do the meta->esc mapping. Call get_keyelt before returning.
858 Start scanning from the second element (the first is always `keymap')
859 to make it easier to detect when we reach a parent map.
860 Handle the case of inheriting from a symbol whose function is a map.
861 (Fkeymap_parent): Also handle the `inherit from symbol' case.
862 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
863 (get_keyelt, Flookup_key): Update call to access_keymap.
864 Remove the meta->esc mappings.
865 (define_as_prefix): Delete old disabled code.
866 (menu_item_p): New function.
867 (where_is_internal_1): Skip over the few remaining menu items.
868 * lisp.h (access_keymap): Update prototype.
869 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
870 Update call to access_keymap.
871 (follow_key, read_key_sequence): Update calls to access_keymap.
872 Remove the meta->esc mappings.
873
cafafe0b
GM
8742000-10-13 Gerd Moellmann <gerd@gnu.org>
875
a2e2a7f6
GM
876 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
877 with additional argument.
878
cafafe0b
GM
879 * xdisp.c (cursor_row_p): New function.
880 (try_cursor_movement, display_line): Use it.
881
882 * xdisp.c (append_space): Also save/restore iterator's current
883 character and its length.
884
885 * xdisp.c (init_from_display_pos): Add an assertion.
886 (handle_stop): Don't set iterator's add_overlay_start.
887 (handle_invisible_prop): Likewise.
888 (load_overlay_strings): If text under an overlay is invisible,
889 take both before- and after-strings into account when the iterator
890 is positioned either at the start or at the end of the overlay.
891 (forward_to_next_line_start): Rewritten.
892 (reseat_at_next_visible_line_start): Rewritten.
893 (set_iterator_to_next): Add parameter RESEAT_P.
894
895 * dispextern.h (struct it): Remove member add_overlay_start.
896 (set_iterator_to_next): Change prototype.
897
c744452b
KH
8982000-10-13 Kenichi Handa <handa@etl.go.jp>
899
900 * coding.c (code_convert_region): Be sure to initialize
901 coding->category_idx.
e4a3f4e1
KH
902 (decode_coding_string): Set coding->src_multibyte and
903 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
904 (encode_coding_string): Set coding->src_multibyte and
905 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 906
321fd26f
SM
9072000-10-12 Stefan Monnier <monnier@cs.yale.edu>
908
909 * xfns.c (Fx_create_frame): Don't bother calling
910 face-set-after-frame-default since the caller does it for us anyway.
911
76832439
EZ
9122000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
913
914 * window.c (coordinates_in_window): Fix detection of vertical line
915 on character terminals.
916
2483cf58
GM
9172000-10-12 Gerd Moellmann <gerd@gnu.org>
918
919 * editfns.c (save_excursion_save): Additionally record the
920 selected window.
921 (save_excursion_restore): If buffer was visible in a window, and a
922 different window was selected, and the old selected window is
923 still live, restore point in that window.
924
eb991b25
KH
9252000-10-12 Kenichi Handa <handa@etl.go.jp>
926
8a0eba09
KH
927 * xterm.c (x_produce_glyphs): Handle
928 unibyte_display_via_language_environment correctly.
929
20401fcc
KH
930 * regex.c (regex_compile): Change the way of handling a range from
931 unibyte char to multibyte char.
932
933 * syntax.c (skip_chars): Change the way of handling a range from
934 unibyte char to multibyte char.
935
eb991b25
KH
936 * process.c (read_process_output): Cancel previous change.
937
365dd325
EZ
9382000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
939
c1b096cb
EZ
940 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
941
365dd325
EZ
942 * charset.c (Ffind_charset_string): Doc fix.
943 (Ffind_charset_region): Doc fix.
944
eb483c2b
KH
9452000-10-11 Kenichi Handa <handa@mule.m17n.org>
946
947 * process.c (read_process_output): Fix previous change. Adjust
948 multibyteness of text to insert in a buffer by
df3c11b9 949 string_make_unibyte/multibyte instead of
eb483c2b
KH
950 Fstring_as_unibyte/multibyte.
951
b40bfb99
AS
9522000-10-10 Andreas Schwab <schwab@suse.de>
953
954 * alloc.c (mark_object): Remove all workarounds installed on
955 1993-08-08.
956
caff31d4
KH
9572000-10-10 Kenichi Handa <handa@etl.go.jp>
958
959 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
960 returning.
961 (base64_encode_1): Make it work for a text of multibyte form.
962 (Fbase64_decode_region): Allocate sufficient memory for multibyte
963 case. Don't call str_to_multibyte because base64_decode_1
964 produces correct multibyte form for eight-bit codes.
965 (Fbase64_decode_string): Adjusted for the change of
966 base64_decode_1.
967 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
968 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
969 codes.
970
971 * charset.h (CHAR_STRING): Optimized for single byte characters.
972
cba026ef
AS
9732000-10-09 Andreas Schwab <schwab@suse.de>
974
975 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
976 -1 after socket is closed, to fall through to error processing.
977
1e21fe48
EZ
9782000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
979
980 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 981 variables. If ALIST includes foreground-color or
1e21fe48
EZ
982 background-color, change also the colors of the default face for
983 this frame.
984
a640322e
EZ
9852000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
986
987 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
988 them extern (they are defined on xfaces.c).
989 (syms_of_msdos): Don't intern and don't staticpro
990 Qbackground_color and Qforeground_color.
991
a115794c
EZ
9922000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
993
994 * frame.c (Fframe_parameter): For non-windowed frames, if
995 f->param_alist says foreground or background color is unspecified,
996 call tty_color_name to return the color name computed from the
997 frame's current colors.
998
f5533b63
DL
9992000-10-06 Dave Love <fx@gnu.org>
1000
1001 * terminfo.c (ospeed): Don't declare.
1002
1003 * sysdep.c: Don't include string.h.
1004 (h_errno): Declare conditional also on TRY_AGAIN.
1005
1006 * charset.c (Ffind_charset_string): Doc fix.
1007
1008 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
1009 (Fbase64_decode_region, Fbase64_decode_string): More explicit
1010 error messages.
1011
2b06561a
DL
10122000-10-05 Dave Love <fx@gnu.org>
1013
1014 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
1015 position like menu-bar.
1016
ca839c85
GM
10172000-10-05 Gerd Moellmann <gerd@gnu.org>
1018
1019 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
1020
1021 * xdisp.c (handle_single_display_prop): Use safe_call1.
1022 (safe_call): Renamed from call_function.
1023 (safe_call1): New function.
1024 (handle_fontified_prop): Use safe_call1 instead of call1.
1025 (safe_eval): Renamed from eval_form.
1026 (safe_eval_handler): Renamed from eval_handler.
1027 (handle_single_display_prop, display_mode_element): Use safe_eval
1028 instead of eval_form.
1029
1030 * xfaces.c (merge_face_heights): Use safe_call instead of
1031 call_function.
1032
1033 * keyboard.c (show_help_echo): Use safe_call instead of
1034 call_function; use safe_eval instead of eval_form.
1035
1036 * lisp.h (safe_call): Renamed from call_function.
1037 (safe_eval): Renamed from eval_form.
1038 (safe_call1): Add prototype.
1039
a3489ece
MB
10402000-10-05 Miles Bader <miles@lsi.nec.co.jp>
1041
1042 * xfns.c (image_ascent): Rearrange ascent calculation for the
1043 has-a-font case.
1044
35810b6f
SM
10452000-10-04 Stefan Monnier <monnier@cs.yale.edu>
1046
1047 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
1048 (where_is_internal_1): Don't bother ignoring menu-items any more.
1049
3dc78168
GM
10502000-10-04 Gerd Moellmann <gerd@gnu.org>
1051
1052 * keyboard.c (update_menu_bindings): New variable.
1053 (parse_menu_item): Use AREF. If update_menu_bindings
1054 is 0, don't update menu bindings.
1055 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
1056
1efc2bb9
EZ
10572000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
1058
1059 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
1060 to `mark_object'.
1061
3f679f55
SM
10622000-10-02 Stefan Monnier <monnier@cs.yale.edu>
1063
1064 * syntax.c (forw_comment): Match nestedness of ender/starter.
1065 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
1066 (prev_char_comstart_first): Remove.
1067 (back_comment): Check two-char comment markers more carefully
1068 to better handle overlapping cases like *//* or /* */* */ ...
1069 Match nestedness of ender/starter.
1070
2021ab61
DL
10712000-10-02 Dave Love <fx@gnu.org>
1072
1073 * config.in (HAVE_GAI_STRERROR): Add undef.
1074
1075 * process.c (Fopen_network_stream): Use it.
1076
1077 * m/alpha.h (NO_REMAP): Don't define.
1078
64e6cc18
GM
10792000-10-02 Gerd Moellmann <gerd@gnu.org>
1080
1081 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
1082 return with a string converted to an integer or vice versa when
1083 Vmocklisp_arguments is t.
1084 (Fsignal): Likewise. The function can return for `quit'.
1085 (struct gcpro): Declare member `var' to point to a volatile
1086 Lisp_Object.
1087
1088 * eval.c (error): Prevent compiler warning.
1089
b1904cd9
SM
10902000-09-30 Stefan Monnier <monnier@cs.yale.edu>
1091
1092 * keymap.c (keymap_memberp): New function.
1093 (Fset_keymap_parent): Use it.
1094 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
1095 Use keymap_memberp to avoid creating cycles.
1096 (access_keymap): Use KEYMAPP.
1097
71c9ec51
GM
10982000-09-30 Gerd Moellmann <gerd@gnu.org>
1099
1100 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
1101 gai_strerror. Make sure xerrno is set if connect fails. Improve
1102 error recovery.
71c9ec51 1103
c70c6b58
JR
11042000-09-29 Jason Rumney <jasonr@gnu.org>
1105
1106 * w32term.c (w32_char_font_type, w32_encode_char)
1107 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
1108 (w32_bdf_per_char_metric): New function.
1109 (w32_per_char_metric): Use it.
1110 (x_draw_glyph_string_background): Always draw background for BDF
1111 glyphs.
1112
1113 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
1114 GDI object which is a scarce resource.
1115
1116 * w32bdf.c (search_file_line): Fix skipping of whitespace.
1117 (get_quoted_string): Fix limit on memchr search.
1118 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
1119 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
1120 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
1121 (get_cached_font_char, cache_char_offset): Use macro
1122 BDF_CODEPOINT_RANGE_COVER_P.
1123 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
1124 (clear_cached_bitmap_slots): New function.
1125 (GET_HEX_VALUE): G-Z, g-z are not hex.
1126 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
1127 (get_bitmap_with_cache): Use new cache implementation.
1128 (create_offscreen_bitmap): New function.
1129 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
1130
1131 * w32term.c (x_produce_glyphs): If the distance from the current
1132 position to the next tab stop is less than a canonical character
1133 width, use the tab stop after that.
1134 (x_draw_glyphs): Handle case START and END are out of bounds more
1135 carefully.
1136 (x_clear_mouse_face): Block/unblock input.
1137 (x_display_and_set_cursor): Don't show a hollow box cursor for
1138 buffers whose cursor_type is nil.
1139
fe01239f
GM
11402000-09-29 Gerd Moellmann <gerd@gnu.org>
1141
1142 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
1143 disappears.
1144
1145 * dispextern.h (updating_frame): Declare extern.
1146
e7c52f1f
AS
11472000-09-29 Andreas Schwab <schwab@suse.de>
1148
1149 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
1150
de6e1f7c
GM
11512000-09-29 Gerd Moellmann <gerd@gnu.org>
1152
25126faa
GM
1153 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
1154 use its function definition.
1155 (tool_bar_items): Likewise.
1156
de6e1f7c
GM
1157 * lisp.h (fatal): Declare NO_RETURN.
1158
454ee39b
KH
11592000-09-29 Kenichi Handa <handa@etl.go.jp>
1160
1161 * keymap.c: Remove the line "#undef NULL".
1162
96301c5f
GM
11632000-09-28 Gerd Moellmann <gerd@gnu.org>
1164
1165 * xterm.c (x_make_frame_visible): Try harder to make the frame
1166 visible.
1167
efffeeb4
DL
11682000-09-28 Dave Love <fx@gnu.org>
1169
ecb8b666
DL
1170 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
1171
dc3cd20f
DL
1172 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
1173
1174 * .gdbinit (xreload): Note its need on GNU/Linux.
1175
efffeeb4
DL
1176 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
1177 r_alloc, r_alloc_free.
1178
8610d903
KH
11792000-09-28 Kenichi Handa <handa@etl.go.jp>
1180
1181 * syntax.c (skip_chars): Handle negation correctly.
1182
8901d1ac
GM
11832000-09-27 Gerd Moellmann <gerd@gnu.org>
1184
6f22f1ad
GM
1185 * xfaces.c (realize_default_face): Call set_lface_from_font_name
1186 with non-zero FORCE_P argument.
1187
8901d1ac
GM
1188 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
1189 Add assertions.
1190
1191 * xdisp.c (window_box_height): Add an assertion.
1192
1193 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
1194 tool-bar than is available.
1195 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
1196
36f1966f
DL
11972000-09-27 Dave Love <fx@gnu.org>
1198
efffeeb4 1199 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 1200
31d929e5
GM
12012000-09-26 Gerd Moellmann <gerd@gnu.org>
1202
c98863bf
GM
1203 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
1204 instead of BITS_PER_INT.
1205 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
1206 EMACS_UINT, respectively.
1207 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
1208
1209 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
1210
1211 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
1212
77072ab1
GM
1213 * window.c (freeze_window_starts): Construct last argument for
1214 foreach_window differently.
1215
1216 * xfns.c (x_decode_color): Don't return a Lisp_Object.
1217
1218 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
1219 EMACS_UINT instead of `int' and `unsigned int'.
1220 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
1221
1222 * frame.h (struct frame): Make the `nothing' member of union
1223 output_data an EMACS_INT.
1224
31d929e5
GM
1225 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
1226 hunting.
1227 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
1228 size in the sdata structure.
1229 (SDATA_NBYTES, SDATA_DATA): New macros.
1230 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
1231 differently for the different layout of the sdata structure.
1232 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
1233 in sdata.
1234 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
1235 Check that size recorded in the string size and size recorded in
1236 the sdata structure agree.
1237
3e60b029
DL
12382000-09-25 Dave Love <fx@gnu.org>
1239
1240 * buffer.c: Include stdio.h.
1241
1242 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
1243
1244 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
1245
1246 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
1247 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
1248 size_t.
1249 (__malloc_extra_blocks): Declare as __malloc_size_t.
1250
8ff16b4e
GM
12512000-09-25 Gerd Moellmann <gerd@gnu.org>
1252
755a2ccd
GM
1253 * alloc.c (mark_image): Use GC_NILP instead of NILP.
1254
d8b4516f
GM
1255 * keyboard.c (show_help_echo): Set help_echo_showing_p.
1256 (read_char): If help-echo is showing, preserve the echo area
1257 when redisplaying.
1258
1259 * xdisp.c (help_echo_showing_p): New variable.
1260 (set_message): Reset it to 0.
1261 (init_xdisp): Initialize help_echo_showing_p.
1262
1263 * dispextern.h (help_echo_showing_p): Declare extern.
1264
1265 * config.in: Fix typo in __GNUC_MINOR__.
1266
1267 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
1268
b11af2dd
GM
1269 * s/freebsd.h (POSIX_SIGNALS): Define.
1270
8ff16b4e
GM
1271 * xterm.c (x_clear_mouse_face): Block/unblock input.
1272
844eb643
DL
12732000-09-24 Dave Love <fx@gnu.org>
1274
1275 * fns.c (base64_encode_1): Fix last change.
1276
b30ab1b3
GM
12772000-09-22 Gerd Moellmann <gerd@gnu.org>
1278
1279 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
1280
1281 * xdisp.c (try_window_reusing_current_matrix): More fixes
1282 for the case window has a header-line.
1283
c6cbe5f0
DL
12842000-09-22 Dave Love <fx@gnu.org>
1285
4c7c1f3f
DL
1286 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
1287 a doc string.
1288
1289 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
1290
c6cbe5f0
DL
1291 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
1292
550a625e
GM
12932000-09-21 Gerd Moellmann <gerd@gnu.org>
1294
4c7c1f3f 1295 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
1296 for GCC >= 2.5.
1297
1298 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
1299 NO_RETURN.
1300
80d26f99
GM
1301 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
1302 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
1303 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
1304 warnings.
1305
1306 * marker.c (byte_char_debug_check): Return void.
1307
623a0aae
GM
1308 * xfns.c (Fx_create_frame): Set default frame parameter value
1309 for tool-bar-lines to 1.
1310
1311 * dispnew.c (scrolling_window): Compare y-positions of rows
1312 equal at the start. Some simplification.
1313
1314 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
1315 reused rows' y-position in the case window has a header-line, and
1316 new window start is greater than old window start.
1317
42ac0ae5
GM
1318 * process.c (process_sent_to): New variable.
1319 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
1320 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
1321 Declare more parameters volatile.
1322
550a625e
GM
1323 * lread.c (Vrecursive_load_depth_limit): New variable.
1324 (Fload): Check recursive loads whose recursion depth exceeds
1325 Vrecursive_load_depth_limit.
1326 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
1327
8320414c
GM
13282000-09-20 Gerd Moellmann <gerd@gnu.org>
1329
f46c275e
GM
1330 * fileio.c (Fread_file_name): Doc fix.
1331
1332 * editfns.c (Fmessage_or_box): Doc fix.
1333
1334 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
1335
b7e11c5b
GM
1336 * xfns.c (xbm_scan): Allow C-style comments.
1337
8320414c
GM
1338 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
1339 symbols are specified, add color translations to the cache.
1340 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
1341 functions.
1342 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
1343 xpm_cache_color.
1344 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
1345 structures to xpm_init_color_cache.
1346
da1608d9
GM
13472000-09-19 Gerd Moellmann <gerd@gnu.org>
1348
1349 * dispnew.c (update_window_line): Make sure to always draw
1350 mode-lines.
1351
6badfa25
AI
13522000-09-19 Andrew Innes <andrewi@gnu.org>
1353
1354 * makefile.nt (bootstrap-emacs): Don't change directory.
1355
3a5f42bb
KH
13562000-09-19 Kenichi Handa <handa@etl.go.jp>
1357
1b7649bd
KH
1358 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
1359
3a5f42bb
KH
1360 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
1361 If output buffer is too small, signal an appropriated error.
1362
9f83cf0b
DL
13632000-09-18 Dave Love <fx@gnu.org>
1364
1365 * keyboard.c (menu_bar_items, tool_bar_items)
1366 (current_active_maps): Remove redundant get_local_map call.
1367
28c7826c
GM
13682000-09-18 Gerd Moellmann <gerd@gnu.org>
1369
5cefa566
GM
1370 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
1371 cursor for buffers whose cursor_type is nil.
1372
6fed3546
GM
1373 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
1374 a feature to implement that is already implemented.
1375 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
1376 warnings.
1377
1378 * xfns.c (x_clear_image_1): New function.
1379 (x_clear_image): Use it.
1380 (x_from_xcolors): Use x_clear_image_1; don't free the image's
1381 mask.
1382
05b1f851
GM
1383 * dispnew.c (update_window): Move test for invisible lines
1384 at the top to update_window_line.
1385 (update_window_line): Handle invisible lines here.
1386
f4779de9
GM
1387 * xfns.c (clear_image_cache): Clear current matrices of all
1388 frames sharing an image cache. Block input while freeing
1389 images. Fix timestamp comparison.
1390 (x_clear_image): Also free the mask.
1391
28c7826c
GM
1392 * xfns.c (lookup_image): Block input while loading the image so
1393 that we won't get interrupted in a state where the image isn't yet
1394 set up completely.
1395 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
1396 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
1397 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
1398 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
1399 input.
1400
b7412313
GM
14012000-09-16 Gerd Moellmann <gerd@gnu.org>
1402
1403 * dispnew.c (update_window): Make sure to make desired rows
1404 current even if they are completely invisible at the top
1405 of a window.
1406
47e351a3
GM
14072000-09-15 Gerd Moellmann <gerd@gnu.org>
1408
7f8f1edc
GM
1409 * xfns.c (lookup_image): Build mask before applying an algorithm.
1410 Recognize algorithm `disabled'.
1411 (cross_disabled_images): New variable.
1412 (COLOR_INTENSITY): New macro.
1413 (x_detect_edges): Use COLOR_INTENSITY.
1414 (x_disable_image): New function.
1415 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
1416
1417 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
1418 disabled state, don't apply an image transformation algorithm if
1419 the user specified an image for the disabled state. Use
28c7826c 1420 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
1421 user hasn't specified an image.
1422
ebb8f116
GM
1423 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
1424 allocation functions with the XPM lib.
1425 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
1426 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
1427 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
1428 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
1429 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
1430 functions.
1431 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
1432 functions, if possible, because these handle color allocation
1433 failure more gracefully.
1434 (Fimage_mask_p): New function.
1435
47e351a3
GM
1436 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
1437 (Qedge_detection, Qheuristic): New symbols.
1438 (syms_of_xfns): Initialize new symbols.
1439 (lookup_image): Handle `:mask X', `:algorithm emboss', and
1440 `algorithm (edge-detection ...)'.
1441 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
1442 (tiff_format, gif_format, gs_format): Add `:mask'.
1443 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
1444 (GIF_MASK, GS_MASK): New enumerators.
1445 (x_laplace_read_row, x_laplace_write_row): Functions removed.
1446 (emboss_matrix, laplace_matrix): New variables.
1447 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
1448 (x_edge_detection): New functions.
1449 (x_laplace): Rewritten in terms of x_detect_edges.
1450 (x_build_heuristic_mask): If image has a mask, free it.
1451
fe83b953
AI
14522000-09-14 Andrew Innes <andrewi@gnu.org>
1453
1454 * makefile.w32-in: Revert to Unix line endings.
1455
3021e816
AI
14562000-09-14 Andrew Innes <andrewi@gnu.org>
1457
1458 * makefile.w32-in: Standardize indentation somewhat.
1459 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
1460 cater for differences between shells.
1461
1462 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
1463
2a32b5ea
GM
14642000-09-14 Gerd Moellmann <gerd@gnu.org>
1465
1466 * xterm.c (x_produce_glyphs): If the distance from the current
1467 position to the next tab stop is less than a canonical character
1468 width, use the tab stop after that.
1469
b4331e96
DL
14702000-09-14 Dave Love <fx@gnu.org>
1471
1472 * buffer.c (alloc_buffer_text): Fix xmalloc call.
1473
ef9e4345
GM
14742000-09-14 Gerd Moellmann <gerd@gnu.org>
1475
085536c2
GM
1476 * xdisp.c (handle_fontified_prop): While running fontification
1477 functions, bind `fontification-functions' and
1478 `after-change-functions' to nil.
1479
ef9e4345
GM
1480 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
1481 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
1482
1483 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
1484
1485 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
1486 USE_MMAP_FOR_BUFFERS.
1487
1488 * insdel.c (make_gap): Use enlarge_buffer_text.
1489
1490 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
1491 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
1492 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
1493 from former r_alloc_* functions in ralloc.c.
1494 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
1495 variables.
1496 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
1497 (mmap_init) [REL_ALLOC_MMAP]: New function.
1498 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
1499 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
1500 BUFFER_FREE.
1501
1502 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
1503 (enlarge_buffer_text): Add prototype.
1504
1505 * ralloc.c: Remove everything having to do with the use of mmap.
1506
f8608968
GM
15072000-09-13 Gerd Moellmann <gerd@gnu.org>
1508
2a494b2d
GM
1509 * sound.c (Fplay_sound): Doc fix.
1510
8c907a56
GM
1511 * keyboard.c: Avoid some more compiler warnings.
1512 (parse_tool_bar_item): Ignore cached key bindings.
1513
f8608968
GM
1514 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
1515 and allocation of Lisp data.
1516
6ab70e9a
GM
15172000-09-12 Gerd Moellmann <gerd@gnu.org>
1518
d12d0a9b
GM
1519 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
1520 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
1521 defaults first.
1522
6ab70e9a
GM
1523 * lread.c (Fload): Put code checking for recursive loads in #if 0.
1524
63c36c3c
KH
15252000-09-12 Miyashita Hisashi <himi@meadowy.org>
1526
1527 * ccl.c: Comment fixed.
1528 (MAX_MAP_SET_LEVEL): Increased to 30.
1529 (PUSH_MAPPING_STACK): Enclose with do-while block.
1530 (POP_MAPPING_STACK): Likewise.
1531 (stack_idx_of_map_multiple): New variable.
1532 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
1533 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
1534 call the corresponding CCL program by
1535 CCL_CALL_FOR_MAP_INSTRUCTION.
1536 (ccl_driver) <CCL_MapSingle>: Likewise.
1537 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
1538 with the case where looking up process reaches to the end of
1539 map-set, and call CCL programs as the above change.
1540
7ee3bd7b
GM
15412000-09-11 Gerd Moellmann <gerd@gnu.org>
1542
8ec8a5ec
GM
1543 * xfns.c (png_load, jpeg_load): Declare some variables volatile
1544 that might be clobbered by longjmp.
1545 (check_x_display_info, x_decode_color, create_frame_xic)
1546 (Fx_display_backing_store, Fx_display_visual_class)
1547 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
1548 warnings.
1549
f74b0705
GM
1550 * lread.c (init_lread): Set Vloads_in_progress to nil.
1551 (Fload): Show list of recursively loaded files, when signaling an
1552 error.
1553
7ee3bd7b
GM
1554 * lread.c (Vloads_in_progress): New variable.
1555 (record_load_unwind): New function.
1556 (Fload): Check for recursive loads.
1557 (syms_of_lread): Initialize Vloads_in_progress.
1558 (read_integer, read1): Avoid some compiler warnings.
1559
1560 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
1561 compiler warnings.
1562
974e1e5b
MB
15632000-09-11 Miles Bader <miles@gnu.org>
1564
1565 * editfns.c (Fbuffer_string): Doc fix.
1566
9824c4e3
GM
15672000-09-10 Gerd Moellmann <gerd@gnu.org>
1568
1569 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
1570
6a72fdd1
KR
15712000-09-09 Ken Raeburn <raeburn@gnu.org>
1572
1573 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
1574 whether to include other header files.
1575
28e6fb66
GM
15762000-09-09 Gerd Moellmann <gerd@gnu.org>
1577
1578 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 1579 by Fmemq as a boolean.
28e6fb66 1580
7f8b6551
SM
15812000-09-08 Stefan Monnier <monnier@cs.yale.edu>
1582
1583 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
1584
a8710abf
GM
15852000-09-08 Gerd Moellmann <gerd@gnu.org>
1586
d1a02881
GM
1587 * ralloc.c (mmap_fd): Remove initializer which can make it
1588 read-only in a dumped Emacs.
1589 (mmap_fd_1): New variable.
1590 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
1591 restore it from there.
1592 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
1593 unconditionally so that mmap_fd can be initialized there.
1594 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
1595 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
1596 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
1597
c454aac1
GM
1598 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
1599
1600 * xdisp.c (dump_glyph_row): Fix printf format string.
1601 (display_line, move_it_in_display_line_to): Avoid compiler
1602 warnings.
1603
fc653ef2
GM
1604 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
1605
3015eec0
GM
1606 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
1607 inheritance.
1608
bfe0ee88
GM
1609 * xdisp.c (try_window_id): When trying to locate cursor in
1610 unchanged rows at the top, handle the case that we can't find it.
1611
a8710abf
GM
1612 * xterm.c (x_draw_glyphs): Handle case START and END are out
1613 of bounds more carefully.
1614
6b7d4ae4
DL
16152000-09-08 Dave Love <fx@gnu.org>
1616
423193c5
DL
1617 * s/sol2.h (REL_ALLOC_MMAP): Define.
1618 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
1619
1620 * ralloc.c: Don't include string.h (redundant).
1621 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
1622 [!MAP_ANON]: Include fcntl.h.
1623 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
1624 (r_alloc, r_re_alloc, r_alloc_free)
1625 (mmap_enlarge, mmap_set_vars): Use it.
1626 (r_alloc_init_fd): New function.
1627 (__morecore) [SYSTEM_MALLOC]: Don't declare.
1628 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
1629 malloc type.
1630
1631 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
1632 Remove vm-limit.o.
1633
6b7d4ae4
DL
1634 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
1635 change to __NetBSD__.
1636
44d31981
KH
16372000-09-08 Kenichi Handa <handa@etl.go.jp>
1638
1639 * search.c (compile_pattern): Check the multibyteness of cached
1640 string and PATTERN.
1641
aad40737
MB
16422000-09-08 Miles Bader <miles@gnu.org>
1643
1644 * xfaces.c (default_face_vector): Function removed.
1645 (Finternal_merge_in_global_face): Restore old global/local
1646 attribute override order. Use inline loop instead of calling
1647 default_face_vector.
1648
91a211b5
GM
16492000-09-07 Gerd Moellmann <gerd@gnu.org>
1650
1651 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
1652 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
1653 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
1654 where necessary, in case POINTER_TYPE is `void'.
1655
03419440
EZ
16562000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
1657
1658 * frame.c (make_terminal_frame): Initialize frame foreground and
1659 background colors to unspecified, for the initial instance of an
1660 MSDOS frame.
1661
f46f845b
GM
16622000-09-07 Gerd Moellmann <gerd@gnu.org>
1663
24f76fbf
GM
1664 * ralloc.c (mmap_find): Fix overlap computation.
1665 (mmap_enlarge): Compute nbytes before trying to find an
1666 overlapping region.
1667
f46f845b
GM
1668 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
1669 instead of `!='.
1670
1671 * lread.c (syms_of_lread): Change value of regexp
1672 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
1673
1674 * xmenu.c (xdialog_show): When looking up the selection in
1675 menu_items, take `quote' boundaries into account; this corresponds
1676 to a nil ITEM in x-popup-dialog.
1677
3c014385
KH
16782000-09-07 Kenichi Handa <handa@etl.go.jp>
1679
fd6f711b
KH
1680 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
1681 not 0x81.
1682 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
1683
3c014385 1684 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
1685 encoding, not decoding. Fix the handling of latin-jisx0201.
1686 Check for the charset katakana-jisx0201 too.
3c014385 1687 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 1688 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 1689
0da3ecef
GM
16902000-09-07 Gerd Moellmann <gerd@gnu.org>
1691
ab0ee409
GM
1692 * xfaces.c (Vparam_value_alist): New variable.
1693 (syms_of_xfaces): Initialize it.
1694 (Finternal_set_lisp_face_attribute): Avoid more consing.
1695
1696 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
1697 specially.
1698 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
1699 (Qbackground_mode): New variable.
1700 (syms_of_frame_1): Initialize Qbackground_mode.
1701
1702 * lisp.h (Qdisplay): Declare extern.
1091dd67 1703
0da3ecef
GM
1704 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
1705 change face on all frames, and change the default for new frames.
1706
b14654b9
DL
17072000-09-07 Dave Love <fx@gnu.org>
1708
1709 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
1710
d24fd56f
KH
17112000-09-07 Kenichi Handa <handa@etl.go.jp>
1712
794f3670
KH
1713 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
1714
0fddd0dc
KH
1715 * charset.c: Include composite.h
1716 (lisp_string_width): New function.
1717 (Fstring_width): Call lisp_string_width instead of strwidth.
1718
1719 * Makefile.in (charset.o): Depends on composite.h.
1720
d24fd56f
KH
1721 * process.c (read_process_output): Before inserting the decoded
1722 text in the buffer, adjust the multibyteness.
1723
fa0b693c
GM
17242000-09-06 Gerd Moellmann <gerd@gnu.org>
1725
73b77ee5
GM
1726 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
1727 buffer's text buffer is null, map new memory.
1728
0a58f946
GM
1729 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
1730 POINTER_TYPE and size_t.
1731 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
1732 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
1733 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
1734 [REL_ALLOC_MMAP]: New macros.
1735 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
1736 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
1737 [REL_ALLOC_MMAP]: New functions.
1738
1739 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
1740 before and after unexec.
1741
1742 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
1743 text buffers if necessary.
1744
1745 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
1746 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
1747 in prototypes.
1748
fa0b693c
GM
1749 * config.in (HAVE_MMAP): Add #undef.
1750
877055f6
GM
17512000-09-05 Gerd Moellmann <gerd@gnu.org>
1752
08ba3862
GM
1753 * frame.c (Qdisplay_type): New variable.
1754 (syms_of_frame_1): Initialize it.
1755 (Fframe_parameter): New function that avoids consing.
1756 (syms_of_frame): Defsubr it.
1757
66ffe51c
GM
1758 * buffer.c (Fother_buffer): Consider buffers as invisible when
1759 they are displayed in a window on an invisible frame.
1760
877055f6
GM
1761 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
1762 get-largest-window always return nil.
1763
bb970e67
GM
17642000-09-04 Gerd Moellmann <gerd@gnu.org>
1765
1766 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
1767 variable; recognize Emacs 19 elc files.
1768
7a3d0e0e
MB
17692000-09-04 Miles Bader <miles@gnu.org>
1770
1771 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
1772 before initially popping up the menu, so the menu doesn't flash
1773 when the face settings are significantly different from the
1774 defaults.
1775
14473664
SM
17762000-09-04 Stefan Monnier <monnier@cs.yale.edu>
1777
1778 * regex.c (WIDE_CHAR_SUPPORT): New macro.
1779 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
1780 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
1781 (BIT_UNIBYTE): Remove.
1782 (re_match_2_internal): Delete corresponding code and streamline the
1783 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
1784 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
1785 (re_wctype_t): New type.
1786 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
1787 (regex_compile): Use them and fix handling of overly long char classes.
1788
c1174479
AI
17892000-09-03 Andrew Innes <andrewi@gnu.org>
1790
f8803e97
AI
1791 * makefile.w32-in: Change to DOS line endings.
1792
c1174479
AI
1793 * s/ms-w32.h (ORDINARY_LINK): New define.
1794
1795 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
1796 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
1797
1798 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
1799 (distclean): Delete them here instead.
1800
44ef7cf6
AI
1801 * w32proc.c (compare_env): Convert to uppercase for comparison,
1802 not lowercase, to match how the native Windows shell works.
1803
49b3bd82
JR
18042000-09-03 Jason Rumney <jasonr@gnu.org>
1805
1806 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
1807 CVS changes the line-ends when checking in/out on DOS/Windows.
1808
1809 * makefile.nt (emacs): Do not change directory to run temacs, as
1810 the load-path is set relative to current directory.
1811
a3d35a39
MB
18122000-09-03 Miles Bader <miles@gnu.org>
1813
1814 * xterm.c (x_alloc_lighter_color_for_widget): New function.
1815
d276b0cf
GM
18162000-09-02 Gerd Moellmann <gerd@gnu.org>
1817
715e84c9
GM
1818 * xdisp.c (redisplay_mode_lines): New function.
1819 (display_mode_lines): Return number of mode lines displayed.
1820 (echo_area_display): Use redisplay_mode_lines to draw garbaged
1821 mode lines. Don't temporarily bind redisplay-dont-pause to t.
1822
8892f40b
GM
1823 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
1824 string.h and strings.h.
1825 (index) [HAVE_INDEX]: Add prototype.
1826
d276b0cf
GM
1827 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
1828 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
1829
1830 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
1831 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
1832
38404229
GM
18332000-09-01 Gerd Moellmann <gerd@gnu.org>
1834
1835 * lread.c (read1): Accept `?' as symbol constituent, for
1836 compatiblity with XEmacs.
1837
c0f9ea08
SM
18382000-08-31 Stefan Monnier <monnier@cs.yale.edu>
1839
1840 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
1841 (struct re_pattern_buffer): Remove newline_anchor.
1842 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
1843 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
1844 (re_max_failures, fail_stack): Use size_t rather than unsigned.
1845 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
1846 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
1847 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
1848 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
1849 Get rid of references to newline_anchor.
1850 (regcomp): Allocate and precompute a fastmap.
1851
8c0f83fe
GM
18522000-08-31 Gerd Moellmann <gerd@gnu.org>
1853
1854 * lread.c (openp): GCPRO local variable `filename'.
1855
4bb91c68
SM
18562000-08-30 Stefan Monnier <monnier@cs.yale.edu>
1857
1858 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
1859
1860 * regex.c: Merge some changes from GNU libc. Add prototypes.
1861 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
1862 Use memcmp and memcpy instead of bcopy and bcmp.
1863 (init_syntax_once): Use ISALNUM.
1864 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
1865 (REG_UNSET_VALUE): Remove. Use NULL instead.
1866 (REG_UNSET, re_match_2_internal): Use NULL.
1867 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
1868 New macros.
1869 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
1870 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
1871 (regex_compile): In handle_interval, return an error rather than try to
1872 unfetch the interval if we can't find the closing brace.
1873 Obey the RE_NO_GNU_OPS syntax bit.
1874 (TOLOWER): New macro.
1875 (regcomp): Use it.
1876 (regexec): Allocate regs.start and regs.end as one block.
1877
5226a931
GM
18782000-08-30 Gerd Moellmann <gerd@gnu.org>
1879
868dd24b
GM
1880 * xdisp.c (echo_area_display): Check display_completed instead
1881 of calling detect_input_pending.
1882
1883 * dispnew.c (update_frame): Only set display_completed here; move
1884 the update_begin and update_end calls here from update_frame_1.
1885 (update_frame_1): Don't set display_completed here, don't call
1886 update_begin/update_end.
1887
5226a931
GM
1888 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
1889 instead of store_frame_param.
1890
2a8bd25f
GM
18912000-08-29 Gerd Moellmann <gerd@gnu.org>
1892
1893 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
1894 desired window matrix hasn't been displayed, use the current row
1895 instead. Make sure that only those frame rows are updated for
1896 which there exists a corresponding enabled desired row.
1897
ba3478d9
MB
18982000-08-29 Miles Bader <miles@gnu.org>
1899
1900 * xfaces.c (default_face_vector): New function.
1901 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
1902
87d0f685
GM
19032000-08-29 Gerd Moellmann <gerd@gnu.org>
1904
1905 * lread.c (openp): Prevent temporary string passed to
1906 Ffile_readable_p from being garbage collected.
1907
6fa86045
DL
19082000-08-28 Dave Love <fx@gnu.org>
1909
1910 * keymap.c (store_in_keymap): Add `static' to declaration.
1911
bb17930d
GM
19122000-08-28 Gerd Moellmann <gerd@gnu.org>
1913
1914 * emacs.c, callint.c, doc.c, editfns.c
1915 (toplevel) [HAVE_STRING_H]: Include string.h.
1916 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
1917 (index): Remove prototypes which might conflict with non-standard
1918 definitions of index/strchr.
1919
1920 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
1921 (rindex): Define only if !HAVE_RINDEX.
1922
1923 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
1924
1925 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
1926
87188200
MB
19272000-08-28 Miles Bader <miles@gnu.org>
1928
1929 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
1930 made inconsistent by a font-related attribute in FROM.
1931 (merge_face_inheritance): Add function comment.
1932
41a68aef
KH
19332000-08-28 Kenichi Handa <handa@etl.go.jp>
1934
1935 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
1936 the 4th arg (PREV_EVENT) Qt to suppress input method.
1937
f7c436c1
SM
19382000-08-27 Stefan Monnier <monnier@cs.yale.edu>
1939
0b32bf0e
SM
1940 * regex.c: Indent cpp directives and remove parens after `defined'.
1941 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
1942 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
1943 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
1944 (re_compile_pattern): Use size_t for length.
1945 (init_syntax_once): Move to a better place.
1946 * regex.h: Merge changes from GNU libc. Indent cpp directives.
1947 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
1948
f7c436c1
SM
1949 * syntax.c (back_comment): Detect cases where a comment-starter is
1950 actually inside another comment as in: /* a // b */ c // d \n.
1951 Make it clear that `comstart_pos' is unused for nested comments.
1952
1953 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
1954 (KEYMAPP): New macro.
1955 (Fkeymap_parent, Fset_keymap_parent): Use it.
1956 (fix_submap_inheritance): Mark it static.
1957 (define_as_prefix, describe_buffer_bindings, describe_command)
1958 (describe_translation, describe_map): Complete prototypes.
1959
1960 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
1961
1962 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
1963 to better match the key-lookup behavior.
1964
6288c62f
GM
19652000-08-27 Gerd Moellmann <gerd@gnu.org>
1966
1967 * xfaces.c (lface_fully_specified_p): Handle :inherit.
1968 (Finternal_set_lisp_face_attribute): Fix typo in error message.
1969
e931344e
EZ
19702000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
1971
1972 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
1973 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
1974 (xterm.o): Depend on coding.h
1975
d10dfeef
KH
19762000-08-26 Kenichi Handa <handa@etl.go.jp>
1977
1978 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
1979 the corresponding '#endif'.
1980
2d73e8d3
MB
19812000-08-26 Miles Bader <miles@gnu.org>
1982
1983 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
1984 * xfaces.c (QCinherit): New variable.
1985 (syms_of_xfaces): Initialize it.
1986 (LFACE_INHERIT): New macro.
1987 (Finternal_get_lisp_face_attribute)
1988 (merge_face_vector_with_property)
1989 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
1990 (check_lface_attrs): Allow new types of face height. Check
1991 inherit attribute.
1992 (CYCLE_CHECK): New macro.
1993 (merge_face_inheritance): New function.
1994 (merge_face_vectors): Merge inherited faces too. Add F and
1995 CYCLE_CHECK arguments.
1996 (merge_face_vector_with_property, Finternal_merge_in_global_face)
1997 (lookup_named_face, lookup_derived_face, realize_named_face)
1998 (face_at_string_position, face_at_buffer_position): Supply
1999 new F and CYCLE_CHECK arguments to merge_face_vectors.
2000 (merge_face_heights): New function.
2001 (merge_face_vectors, merge_face_vector_with_property)
2002 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
2003 handle relative face heights.
2004 (lface_same_font_attributes_p): Compare heights using EQ.
2005
6ce974d4
KH
20062000-08-26 Kenichi Handa <handa@etl.go.jp>
2007
2008 * charset.c (char_to_string): Check the character validity.
2009 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
2010 0.
2011
dc1e502d
SM
20122000-08-25 Stefan Monnier <monnier@cs.yale.edu>
2013
2014 * regex.c (PUSH_FAILURE_COUNT): New macro.
2015 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
2016 Handle popping of a register's or a counter's data.
2017 (POP_FAILURE_POINT): Use the new name.
2018 (re_match_2_internal): Push counter data on the stack for succeed_n,
2019 jump_n and set_number_at and remove misleading dead code in succeed_n.
2020
bd9d0f3f
GM
20212000-08-25 Gerd Moellmann <gerd@gnu.org>
2022
2023 * xdisp.c (redisplay_internal): If considering all windows on all
2024 frames, update the display for each frame as soon as possible,
2025 instead of first building all desired matrices for all frames, and
2026 then updating them all.
2027 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
2028
aa5b8e15
GM
20292000-08-24 Gerd Moellmann <gerd@gnu.org>
2030
17494071
GM
2031 * bytecode.c (mark_byte_stack): Add a comment.
2032
aa5b8e15
GM
2033 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
2034 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
2035 a graphical frame.
2036
c543db81
KH
20372000-08-24 Kenichi Handa <handa@etl.go.jp>
2038
d246d5f5
KH
2039 * minibuf.c (do_completion): Always use compare-string, not
2040 string-equal because the latter doesn't pay attention to
2041 multibyteness of strings.
2042
c543db81
KH
2043 * process.c (create_process): Don't setup raw-text coding here.
2044 (Fopen_network_stream): Don't set coding->src_multibyte and
2045 coding->dst_multibyte here.
2046 (read_process_output): For process filter, return unibyte string
2047 if default-enable-multibyte-characters is nil.
2048 (send_process): If OBJECT is multibyte text, be sure to encoded it
2049 by the specified coding system for the process. Otherwise, setup
2050 raw-text coding.
2051 (init_process): Don't initialize default-process-coding-system
2052 here.
2053
9b47cfe0
EZ
20542000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
2055
2056 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
2057 <scroll-down-aggressively>: Likewise.
2058
f5a36960
KH
20592000-08-23 Kenichi Handa <handa@etl.go.jp>
2060
2061 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
2062 zero. Set coding->produced_char correctly.
2063
69a7ffa7
AI
20642000-08-22 Andrew Innes <andrewi@gnu.org>
2065
2066 * makefile.w32-in: New file.
2067
2068 * unexw32.c (unexec): Ignore old_name, and use the actual location
2069 of the current executable instead. Base new_name on this.
2070
2071 * w32proc.c (create_child): Remove reference to security
2072 descriptor, which isn't needed and doesn't compile with mingw32.
2073
2074 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2075 up dllimport attributes.
2076 (x_update_window_end): Update prototype.
2077
2078 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
2079 extern, which screws up dllimport attributes.
2080
2081 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2082 up dllimport attributes.
2083
2084 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
2085 screws up dllimport attributes.
2086
2087 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2088 up dllimport attributes.
2089 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
2090 screws up dllimport attributes.
2091
2092 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2093 up dllimport attributes.
2094
2095 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
2096 screws up dllimport attributes.
2097
2098 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
2099 screws up dllimport attributes.
2100
2101 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2102 up dllimport attributes.
2103
2104 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
2105 unnecessary extern, which screws up dllimport attributes.
2106 (main): Ditto.
2107
2108 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2109 up dllimport attributes.
2110
2111 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
2112 unnecessary extern, which screws up dllimport attributes.
2113
2114 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
2115 screws up dllimport attributes.
2116
2117 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
2118 up dllimport attributes.
2119
2120 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
2121
2122 * w32bdf.c (search_file_line):
2123 (set_bdf_font_info):
2124 (seek_char):
2125 (w32_get_bdf_glyph):
2126 (w32_BDF_to_x_font): Fix compile warnings.
2127
2128 * w32menu.c: Include keyboard.h before frame.h. Fix compile
2129 warnings.
2130
2131 * w32select.c: Include keyboard.h before frame.h.
2132
2133 * w32fns.c (max): Define macro.
2134 (JOHAB_CHARSET): Define if not known.
2135 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
2136 (Fx_show_tip): Synch with X version.
2137
2138 * w32xfns.c: Include keyboard.h before frame.h.
2139
2140 * w32fns.c: Include keyboard.h before frame.h.
2141
2142 * w32term.c: Include keyboard.h before frame.h.
2143
2144 * fontset.c: Include keyboard.h before frame.h.
2145
2146 * w32inevt.c: Include keyboard.h before frame.h.
2147 (MOUSE_MOVED): Define if not known.
2148
2149 * minibuf.c: Include keyboard.h before frame.h.
2150
2151 * keyboard.c: Include keyboard.h before frame.h.
2152
2153 * indent.c: Include keyboard.h before frame.h.
2154
2155 * dispnew.c: Include keyboard.h before frame.h.
2156
2157 * buffer.c: Include keyboard.h before frame.h.
2158
2159 * alloc.c: Include keyboard.h before frame.h.
2160
2161 * print.c: Include keyboard.h before frame.h.
2162
2163 * process.c: Include keyboard.h before frame.h.
2164
2165 * scroll.c: Include keyboard.h before frame.h.
2166
2167 * sysdep.c: Include keyboard.h before frame.h.
2168
2169 * term.c: Include keyboard.h before frame.h.
2170
2171 * window.c: Include keyboard.h before frame.h.
2172
2173 * xdisp.c: Include keyboard.h before frame.h.
2174 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
2175
2176 * frame.c: Include keyboard.h before frame.h.
2177
2178 * w32heap.h: Undefine min, max.
2179
2180 * w32gui.h: Undefine min, max.
2181
2182 * unexw32.c: Change PUCHAR to PCHAR.
2183 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
2184 (relocate_offset):
2185 (get_section_info):
2186 (copy_executable_and_dump_data): Remove unnecessary static defs.
2187 (copy_executable_and_dump_data): Fix compile warnings.
2188
2189 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
2190
2191 * w32console.c (min): Define macro.
2192 (clear_frame, write_glyphs): Fix compile warning.
2193
2194 * w32proc.c (compare_env):
2195 (find_child_console): Fix compile warning.
2196
2197 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
2198 sys_errlist instead of _sys_errlist.
2199 (get_emacs_configuration_options): New function.
2200
2201 * s/ms-w32.h (sys_nerr): Provide default definition.
2202 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
2203 name with _ prepended.
2204 (NSIG): Define if not known.
2205 (get_emacs_configuration): Provide extern declaration.
2206 (get_emacs_configuration_options): Provide extern declaration.
2207 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
2208
2209 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
2210 (map_w32_filename):
2211 (read_unc_volume): Fix compile warning.
2212
2213 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
2214 definitions from being used.
2215
2216 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
2217
2218 * w32.c (unc_volume_file_attributes):
2219 (open_unc_volume): Make arg const.
2220
2221 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
2222 (read_input_waiting): Remove excess parameter.
2223
2224 * w32.c (init_environment): Call _access.
2225 (check_windows_init_file): Call _close.
2226 (init_user_info): Call _putenv.
2227 (init_environment): Call _putenv and _strdup.
2228 (init_ntproc): Reset volume info cache on startup.
2229
2230 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
2231 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
2232 cannot override the CRT malloc.
2233
2234 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
2235 (LINK_FLAGS): Append to original value of LINK_FLAGS.
2236
2237 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
2238 unless we are linking with a static CRT.
2239 (RVA_TO_PTR): Cast result to unsigned char*.
2240
2241 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
2242 (add_volume_info): Use xstrdup.
2243
25060080
SM
22442000-08-22 Stefan Monnier <monnier@cs.yale.edu>
2245
2246 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
2247 (do_completion, Fminibuffer_complete_word): Use it.
2248 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
2249 var so it can take non-boolean values.
2250
6917e6bb
GM
22512000-08-21 Gerd Moellmann <gerd@gnu.org>
2252
acb7cc89
GM
2253 * editfns.c (find_field): Formatting changes.
2254 (toplevel): Some old-style function forward declarations
2255 changed to prototypes, some new protypes added, some functions
2256 made static.
2257
2258 * lisp.h (set_time_zone_rule): Add prototype.
2259 (use_dialog_box): External declaration.
2260
0bbfdc25
GM
2261 * keyboard.c (gen_help_event): Add parameter SIZE.
2262 (kbd_buffer_events_waiting): Slightly rewritten.
2263 (clear_event): New function.
2264 (kbd_buffer_get_event): Use it, and clear the input_events of
2265 HELP_EVENTs.
2266 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
2267 don't fill the newly created array with nils.
2268 (toplevel): Convert some old-style function forward declarations
2269 to prototypes.
2270
2271 * keyboard.h (gen_help_event): Change prototype.
2272
2273 * xterm.c (XTread_socket): Change calls to gen_help_event.
2274
2275 * w32term.c (w32_read_socket): Change calls to gen_help_event.
2276
6917e6bb
GM
2277 * eval.c (Fmacroexpand): Doc fix.
2278
e5cd3d11
JR
22792000-08-20 Jason Rumney <jasonr@gnu.org>
2280
2281 * w32term.h (x_display_info_for_display): Remove as this function
2282 does not exist on W32.
2283
2284 * w32term.c (help_echo_window): New variable.
2285 (syms_of_w32term): staticpro it.
2286 (note_mode_line_highlight): Set it.
2287 (XTextExtents16): Removed as there is no equivalent on W32.
2288 (x_compute_glyph_string_overhangs): Incomplete body removed, as
2289 the X way of doing this will not work for W32.
2290 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
2291 (x_draw_image_foreground): Avoid drawing outside of the clip area
2292 when image doesn't have a mask.
2293 (note_mouse_highlight): Process overlays in the right order of
2294 priority. Set help_echo_window.
2295 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
2296 because that's more visible for large images.
2297
2298 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
2299 name to single_keymap_panes.
2300 (w32_menu_show): Set wv->title when dealing with titles.
2301 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
2302
6e69ab8c
MB
23032000-08-21 Miles Bader <miles@gnu.org>
2304
2305 * minibuf.c (do_completion): Try again if we rewrite the input
2306 string, but no completion was done, so that any completion message
2307 will be correct.
2308
511bd4eb
GM
23092000-08-20 Gerd Moellmann <gerd@gnu.org>
2310
2311 * xfaces.c (lface_equal_p): Compare strings differently.
2312 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
2313 (realize_tty_face): Use them.
2314 (syms_of_xfaces): Initialize new variables.
2315 (map_tty_color): New function, extracted from realize_tty_face.
2316 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
2317 foreground or background color, store the new color name in the
2318 realized face; previous code trying to do this had no effect.
2319 (realize_tty_face): Use map_tty_color.
2320 (Fclear_face_cache): Set face_change_count and ensure thorough
2321 redisplay.
2322
1433385f
GM
23232000-08-19 Gerd Moellmann <gerd@gnu.org>
2324
511bd4eb
GM
2325 * undo.c (record_first_change, record_marker_adjustment): Don't
2326 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 2327
419ac0a2
KH
23282000-08-18 Kenichi Handa <handa@etl.go.jp>
2329
2330 * coding.c (decode_coding_string): Set members consumed,
2331 consumed_char, produced, produced_char of *coding correctly. If
2332 decode_coding doesn't consume any byte, don't try anymore.
2333 (encode_coding_string): Likewise.
2334
7eb9e30d
GM
23352000-08-18 Gerd Moellmann <gerd@gnu.org>
2336
511bd4eb
GM
2337 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
2338 conditional have void type, for Standard C compilers.
7eb9e30d
GM
2339
2340 * xdisp.c (redisplay_internal): Compare windows for equality with
2341 EQ, instead of applying XWINDOW to something that might not
2342 be a window.
2343
dd34a735
KH
23442000-08-18 Kenichi Handa <handa@etl.go.jp>
2345
2346 * fontset.c (Finternal_char_font): Search only the selected frame
2347 for a window of the current buffer.
2348
385ff9e3
GM
23492000-08-18 Gerd Moellmann <gerd@gnu.org>
2350
511bd4eb 2351 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
2352 Lisp_Objects.
2353
385ff9e3
GM
2354 * keyboard.c (kbd_buffer_get_event): Handle the case that the
2355 second half of a HELP_EVENT is found at the start of kbd_buffer.
2356
d6abb4c7
MB
23572000-08-18 Miles Bader <miles@gnu.org>
2358
4618074a
MB
2359 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
2360
d6abb4c7
MB
2361 * editfns.c (save_restriction_save): Rewrite to use markers.
2362 (save_restriction_restore): Rewrite to understand new form of data
2363 saved by save_restriction_save.
2364 (Fsave_restriction): Remove cautionary note in doc-string.
2365
a7b28523
GM
23662000-08-17 Gerd Moellmann <gerd@gnu.org>
2367
2368 * fileio.c (build_annotations): Add a comment explaining the
2369 return value of format-annotate-function. Replace a spurious call
2370 to Flength with a CONSP test. Call format-annotate-function with
2371 a fifth arg specifying how many times the function is been called
2372 in a row, to let it choose temporary buffers appropriately.
2373
03c9ed77
DL
23742000-08-17 Dave Love <fx@gnu.org>
2375
2376 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
2377 declare make_temp_name twice.
2378
2379 * lread.c: Prototype readevalloop, load_unwind,
2380 load_descriptor_unwind.
2381 (unreadpure): Give it an arg.
2382
2383 * unexalpha.c: Prototype fatal_unexec, mark_x,
2384 update_dynamic_symbols. Declare unexec as void.
2385
2386 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
2387 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
2388
2389 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
2390 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
2391 DOUG_LEA_MALLOC.
2392
2393 * alloca.c: Use #error.
2394 [POINTER_TYPE]: Use it.
2395
2396 * eval.c (Fdefvar): Doc fix.
2397
2398 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
2399 INITIALIZE_INTERVAL.
2400
2401 * buffer.h: Avoid DECLARE_INTERVALS.
2402
2403 * config.in: Add size_t.
2404
aae41d97
EZ
24052000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
2406
2407 * w16select.c (set_clipboard_data): If there's not enough memory
2408 to put text into clipboard, return 1, as Fw16_set_clipboard_data
2409 expects. In case of other failures, return 3.
2410 (system_error_msg): New error message.
2411 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
2412 system_error_msg.
2413
65aa5e85
GM
24142000-08-16 Gerd Moellmann <gerd@gnu.org>
2415
2416 * term.c (write_glyphs): Also turn off inverse video after turning
2417 off other appearances in case TS_exit_attribute_mode is not equal
2418 to TS_end_standout_mode.
2419 (insert_glyphs): Turn inverse video on/off for each run of glyphs
2420 with the same face.
2421 (turn_off_face): Reset standout_mode only if
2422 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
2423 is equal to TS_end_standout_mode.
2424
ece23901
KH
24252000-08-16 Kenichi Handa <handa@etl.go.jp>
2426
9d7bcb2e
KH
2427 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
2428 sequence at the end of the source block.
2429
ece23901
KH
2430 * ccl.c (Fccl_program_p): Docstring modified.
2431 (Fccl_execute): Likewise.
2432 (Fccl_execute_on_string): Likewise.
2433
5e30eaa2
EZ
24342000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
2435
2436 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
2437
290602fd
KH
24382000-08-16 Kenichi Handa <handa@etl.go.jp>
2439
2440 The following changes are mainly to fix bugs of
2441 encode/decode-coding-string failing if encoding/decoding return
2442 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
2443 variable conversion_buffer.
2444
2445 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
2446 decrement dst_end to avoid buffer overflow in the later call of
2447 string_as_multibyte
2448
2449 * coding.h (conversion_buffer_size, conversion_buffer)
2450 (get_conversion_buffer): Extern deleted.
2451
2452 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
2453 (conversion_buffer, conversion_buffer_size): Variables deleted.
2454 (get_conversion_buffer): Function deleted.
2455 (struct conversion_buffer): New structure.
2456 (MAX_ALLOCA): New macro.
2457 (allocate_conversion_buffer): New macro.
2458 (extend_conversion_buffer, free_conversion_buffer): New functions.
2459 (ccl_coding_driver): Set coding->result.
2460 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
2461 this is the last block of source.
2462 (encode_coding): Likewise. Handle the source block as the last
2463 one only when the whole source text is consumed.
2464 (decode_coding_string): Handle the case that the output buffer is
2465 too small to decode the whole source text. Use
2466 allocate_conversion_buffer, extend_conversion_buffer and
2467 free_conversion_buffer, not get_conversion_buffer.
2468 (encode_coding_string): Likewise.
2469 (init_coding): Function deleted.
2470 (init_coding_once): Delete code to initialize
2471 conversion_buffer_size.
2472
2473 * emacs.c (main): Don't call init_coding.
2474
2475 * msdos.c (IT_write_glyphs): Use a locally declared
2476 conversion_buffer.
2477
2478 * term.c (write_glyphs): Use a locally declared conversion_buffer.
2479 (insert_glyphs): Likewise.
2480
2481 * w32console.c (write_glyphs): Use a locally declared
2482 conversion_buffer.
2483
b9f80d41
EZ
24842000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
2485
2486 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
2487 member of display_info is NULL.
2488
32dc52f7
GM
24892000-08-15 Gerd Moellmann <gerd@gnu.org>
2490
58ed0d3b
GM
2491 * alloc.c (compact_small_strings): Use safe_bcopy, add an
2492 assertion.
2493
32dc52f7 2494 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 2495 appearances with capability `me'.
32dc52f7
GM
2496 (write_glyphs): Switch on inverse video before each face change.
2497
4eb22d33
DL
24982000-08-14 Dave Love <fx@gnu.org>
2499
2500 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
2501 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
2502 (lisp_free): Declare and make static.
2503
2504 * window.c: Fix embedded comment.
2505 (syms_of_window): Fix doc string.
2506
90cbf47e
GM
25072000-08-14 Gerd Moellmann <gerd@gnu.org>
2508
2509 * keymap.c (push_key_description): If C without modifiers is < 32,
2510 make sure to print `C-' before `M-', like in the manual.
2511
440fc135
GM
25122000-08-11 Gerd Moellmann <gerd@gnu.org>
2513
2514 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
2515 since they aren't relocated anymore.
2516 (sxhash_string): Make sure returned hash code fits in a Lisp
2517 integer.
2518
2519 * xdisp.c (try_cursor_movement): Fix handling of cursor in
2520 partially visible line which is smaller than the window's
2521 height.
2522
6e264fad
KH
25232000-08-11 Kenichi Handa <handa@etl.go.jp>
2524
2525 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
2526 the multibyte form of eight-bit-control characters.
2527 (Fccl_execute_on_string): Initialize ccl->multibyte.
2528
2529 * ccl.h (struct ccl_program): New member multibyte.
2530
2531 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
2532
c371f69a
KH
25332000-08-11 Kenichi Handa <handa@etl.go.jp>
2534
2535 * regex.c (regex_compile) <normal_char>: Pay attention to
2536 multibyteness.
2537 (analyse_first) <exactn>: Setup fastmap correctly for
2538 eight-bit-control characters.
2539
25402000-08-11 Kenichi Handa <handa@etl.go.jp>
2541
2542 * termhooks.h (enum event_kind): New member
2543 multibyte_char_keystroke.
2544
2545 * keyboard.c (make_lispy_event): Handle the new event type
2546 multibyte_char_keystroke.
2547
2548 * xterm.c: Include coding.h.
2549 (XTread_socket): Work around a bug of XmbLookupString. If the
2550 input is from XIM, decode it according to the current locale. In
2551 that case, generate multibyte_char_keystroke events.
2552
b8ddbe71
KH
25532000-08-11 Kenichi Handa <handa@etl.go.jp>
2554
2555 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
2556 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
2557
47589c8c
GM
25582000-08-10 Gerd Moellmann <gerd@gnu.org>
2559
2560 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
2561 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
2562 (move_it_in_display_line_to): Record iterator's ascent and descent
2563 before producing glyphs, and restore them when we know the glyph
2564 doesn't fit on the line.
2565 (move_it_to): Restructured so that it's easier to debug. If
2566 moving to a vpos, and not moving to an x or character position,
2567 stop as soon as the specified vpos is reached; don't move further
2568 into that line because that might change the computed line height.
2569 (try_cursor_movement): New function, extracted from the cursor
2570 movement branch of redisplay_window. If ending on a partially
2571 visible line, don't try to scroll if the cursor line is taller
2572 than the window.
2573 (redisplay_window): Use try_cursor_movement.
2574
2575 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
2576 because that function doesn't cope with variable-height lines.
2577
2578 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
2579 box cursor because that's better visible for large images.
2580
c51bacd6
MB
25812000-08-10 Miles Bader <miles@gnu.org>
2582
2583 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
2584
bea56df7
GM
25852000-08-10 Gerd Moellmann <gerd@gnu.org>
2586
2587 * xdisp.c (Vmessages_buffer_name): New variable.
2588 (message_dolog): Use it.
2589 (syms_of_xdisp): Initialize it.
2590
99cd7364
EZ
25912000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
2592
2593 * msdos.c (IT_note_mouse_highlight): Update the calls to
2594 overlays_at.
2595 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
2596 redundant now that keyboard.h is included.
2597
7d093d56
EZ
25982000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
2599
2600 * keyboard.c (kbd_buffer_events_waiting): New function.
2601
2602 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
2603
2604 * msdos.c: Include keyboard.h.
2605 (XMenuActivate): Empty no_event events from the event buffer. If
2606 no events are left after that, call clear_input_pending.
2607 (mouse_clear_clicks): New function, code moved from mouse_init.
2608 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
2609 mouse driver to ``forget'' any past clicks.
2610
2611 * Makefile.in (msdos.o): Depend on keyboard.h.
2612
41e757a6
GM
26132000-08-09 Gerd Moellmann <gerd@gnu.org>
2614
8e7bd231
GM
2615 * lisp.h (input_pending): External declaration.
2616
2617 * dispextern.h (Qredisplay_dont_pause): Declare extern.
2618
2619 * xdisp.c (echo_area_display): Display thoroughly if input is
2620 pending. Bind redisplay-dont-pause to t during the redisplay.
2621 in case input is pending.
2622
2623 * dispnew.c (Qredisplay_dont_pause): New variable.
2624 (syms_of_display): Initialize and staticpro it.
2625 (update_frame_1): Don't interrupt the display for pending input if
2626 redisplay_dont_pause is set.
2627
43028b7e
GM
2628 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
2629
41e757a6
GM
2630 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
2631
2f2174fa
KH
26322000-08-09 Miles Bader <miles@lsi.nec.co.jp>
2633
2634 * callproc.c (Fcall_process): Terminate the unwind-protect around
2635 the post-read-conversion of coding system.
2636
0a6fd67e
MB
2637 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
2638 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
2639 * buffer.h (overlays_at): Update prototype.
2640 * xdisp.c (next_overlay_change): Update call to overlays_at.
2641 * xfaces.c (face_at_buffer_position): Likewise.
2642 * textprop.c (Fget_char_property): Likewise.
2643 * xterm.c (note_mouse_highlight): Likewise.
2644
0c80756e
MB
2645 * minibuf.c (do_completion): Don't consider a simple change of
2646 case as `completion'.
2647
975f250a
KR
26482000-08-08 Ken Raeburn <raeburn@gnu.org>
2649
b347b3fd
KR
2650 * keyboard.c (syms_of_keyboard): Initialize
2651 last_point_position_buffer.
2652 * undo.c (record_delete): Make sure last_point_position_buffer is
2653 a buffer before comparing pointers.
2654
2655 * coding.h (decode_coding_string): Declare.
2656
2657 * intervals.h (Fprevious_single_char_property_change): Declare.
2658
2659 * textprop.c (Fprevious_single_char_property_change): Don't do
2660 arithmetic directly on lisp objects.
2661
25ad1371 2662 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
2663 objects.
2664
2665 * keyboard.h (menu_item_eval_property): Declare.
2666
2667 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
2668 reuse as buffer name, instead of recreating (and discarding) every
2669 time a message is logged.
2670 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
2671 (current_message_1, truncate_message_1, set_message_1)
2672 (display_echo_area_1, resize_mini_window_1): Signatures changed.
2673 (current_message, truncate_echo_area, display_echo_area)
2674 (resize_echo_area_axactly): Changed calls.
b347b3fd 2675
975f250a 2676 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 2677 Lisp object.
975f250a 2678 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 2679 must be an integer, not a Lisp object.
975f250a 2680
46dc9912
KH
26812000-08-08 Kenichi Handa <handa@etl.go.jp>
2682
2683 * charset.c (Fchar_width): Doc fix.
2684
9f6d1a6c
GM
26852000-08-08 Gerd Moellmann <gerd@gnu.org>
2686
2687 * charset.c (Fstring_width): Doc fix.
2688
ff3d9573
GM
26892000-08-07 Gerd Moellmann <gerd@gnu.org>
2690
41e757a6 2691 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
2692 line, clear ascent and descent members of the iterator structure;
2693 the height of the continued line does not affect the height of the
2694 continuation line.
2695 (make_cursor_line_fully_visible): Do nothing if cursor is on a
2696 line taller than the window.
2697 (redisplay_window) <forced window start>: Handle case that the
2698 middle of the window is not found in any row.
2699 (dump_glyph_row): Show more information.
2700 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
2701 first text line in a glyph matrix.
2702
2703 * xterm.c (x_draw_image_foreground): Avoid drawing outside
2704 of the clip area when image doesn't have a mask.
2705
70fc58b3
GM
2706 * fns.c (sweep_weak_table): Fix survival conditions for
2707 key-or-value and key-and-value weakness.
2708
2709 * .gdbinit (xhashtable): New command.
2710
ac0e96ee
GM
2711 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
2712 tables out of the list of all weak hash tables.
2713
ff3d9573
GM
2714 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
2715 a new buffer is created, make sure echo_area_buffer[] references
2716 the new buffer.
2717
e0d8827b
EZ
27182000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
2719
2720 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
2721 the doc string.
2722
c6f35378
KH
27232000-08-07 Kenichi Handa <handa@etl.go.jp>
2724
2725 * syntax.c (skip_chars): Fix previous change. Make the handling
2726 of unibyte string consistent with that of regex search.
2727
1fd4c450
GM
27282000-08-05 Gerd Moellmann <gerd@gnu.org>
2729
e49aa397
GM
2730 * xmenu.c (popup_get_selection): Use xfree instead of free.
2731
2732 * fileio.c (Finsert_file_contents): Use xfree instead of free.
2733
2734 * editfns.c (Ftranspose_regions): Use xfree instead of free.
2735
2736 * callproc.c (child_setup): Use xfree instead of free.
2737
2738 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
2739 instead of malloc.
2740 (run_mac_command, closedir): Use `xfree' instead of `free'.
2741
2742 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
2743
2744 * eval.c (error): Use xfree instead of free.
2745
1fd4c450
GM
2746 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
2747
2748 * fns.c: Replace `illegal' with `invalid'.
e49aa397 2749 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 2750
82d497fc
KH
27512000-08-05 Kenichi Handa <handa@etl.go.jp>
2752
2753 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
2754 conversion.
2755
59f953a2
NF
27562000-08-04 Noah Friedman <friedman@splode.com>
2757
2758 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
2759 docstring.
2760
688351f2
GM
27612000-08-04 Gerd Moellmann <gerd@gnu.org>
2762
2763 * syntax.c (skip_chars): Fix typo in error message.
2764
2dad51cc
AS
27652000-08-04 Andreas Schwab <schwab@suse.de>
2766
2767 * m/ia64.h: Moved from s/ia64.h.
2768
99bb2c60
KH
27692000-08-04 Kenichi Handa <handa@etl.go.jp>
2770
082a1df2
KH
2771 * process.c (read_process_output): Big simplification. Handle
2772 composition and post-read-conversion of coding system correctly.
2773 (send_process): Handle composition correctly.
2774
2775 * callproc.c (Fcall_process): Handle post-read-conversion of
2776 coding system if any.
2777
99bb2c60
KH
2778 * coding.c (decode_coding_iso2022): More strict check for handling
2779 single shifting.
082a1df2
KH
2780 (coding_restore_composition): Pay attention to the case that
2781 cmp_data is not set properly (because of invalid code in the
2782 source text).
2783 (run_pre_post_conversion_on_str): Include text properties in the
2784 resulting string.
2785 (decode_coding_string): Set members of coding correctly.
99bb2c60 2786
f4988be7
GM
27872000-08-03 Gerd Moellmann <gerd@gnu.org>
2788
2789 * s/ia64.h: New file.
2790
2791 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
2792 Use NULL instead of 0 at the end of variable argument list of
2793 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
2794 sizeof (int) < sizeof (void *).
2795
2796 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
2797 of variable argument lists of XtVaGetValues and XtVaSetValues.
2798
2799 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
2800 variable argument lists of XtVaGetValues and XtVaSetValues.
2801
ead53494
GM
28022000-08-02 Gerd Moellmann <gerd@gnu.org>
2803
2804 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
2805 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
2806
2807 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
2808 prototype.
2809
2810 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
2811 in call to Fsingle_key_description.
2812
2813 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
2814 Callers changed.
2815
28162000-08-02 Colin Walters <walters@cis.ohio-state.edu>
2817
2818 * window.c (display_buffer_reuse_frames): New variable.
2819 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
2820 frames displaying BUFFER.
2821 (syms_of_window): Define Lisp variable
2822 display-buffer-reuse-frames.
2823
10b0f752
MB
28242000-08-01 Miles Bader <miles@gnu.org>
2825
2826 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
2827 when to constrain NEW_POS (they were pretty screwed up before).
2828
16425c4a
EZ
28292000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
2830
2831 * msdos.c (run_msdos_command): Save and restore the master
2832 environment, for the case that child_setup signals an error.
2833 When mirroring slashes in DOS shell commands, don't fail when
2834 argv[2] has embedded blanks.
da288c14
EZ
2835 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
2836 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
2837 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
2838
2839 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
2840 using alloca; free it after run_msdos_command returns.
2841
27f73852
DL
28422000-07-27 Dave Love <fx@gnu.org>
2843
2844 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
2845 define.
2846 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
2847 working.
2848
2849 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
2850
c0261b5e
EZ
28512000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
2852
2853 * editfns.c (lisp_time_argument): Fix last change.
2854
b548072f
GM
28552000-07-27 Gerd Moellmann <gerd@gnu.org>
2856
3ab82477
GM
2857 * fns.c (Fdelete): Make it work on vectors and strings in addition
2858 to lists.
2859
b548072f
GM
2860 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
2861 (syms_of_fns): Initialize new variables.
2862 (sweep_weak_table): Handle weakness `key-or-value' and
2863 `key-and-value'.
2864 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
2865 weakness, with t meaning the same as `key-and-value'.
2866
91ae8751
KH
28672000-07-27 Kenichi Handa <handa@etl.go.jp>
2868
2869 * coding.h (struct coding_system): Member safe_charset deleted.
2870
2871 * coding.c (Qsafe_charsets): This variable deleted.
2872 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
2873 variables.
2874 (coding_safe_chars): New function.
2875 (CODING_SAFE_CHAR_P): New macro.
2876 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
2877 checking safe_charsets member of the coding system. Caller
2878 changed.
2879 (detect_coding_iso2022): New local variable safe_chars.
2880 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
2881 safe_charsets member of the coding system.
2882 (decode_coding_iso2022): New local variable safe_chars.
2883 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
2884 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
2885 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
2886 (ENCODE_UNSAFE_CHARACTER): New macro.
2887 (encode_coding_iso2022): New local variable safe_chars. Check
2888 unsafe chars.
2889 (setup_coding_system): Delete the code to initialize
2890 coding->safe_charses
2891 (intersection, find_safe_codings): New functions.
2892 (Ffind_coding_systems_region_internal): New function.
2893 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
2894 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
2895 variable and initialize it.
2896
2897 * fns.c (char_table_ref_and_index): New function.
2898
2899 * lisp.h (char_table_ref_and_index): Add prototype.
2900
34a7a267
SS
29012000-07-26 Sam Steingold <sds@gnu.org>
2902
2903 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 2904 (Ffloat_time): New built-in Lisp function.
34a7a267 2905
a95cb10a
GM
29062000-07-26 Gerd Moellmann <gerd@gnu.org>
2907
3353ef5a
GM
2908 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
2909 for the character code.
2910
2911 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
2912 GNU/Linux.
2913
a95cb10a
GM
2914 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
2915 if called for a popup menu.
2916 (xmenu_show): Store help string in widget values.
2917
b4a12321
DL
29182000-07-26 Dave Love <fx@gnu.org>
2919
2920 * syswait.h: Move some definitions.
2921 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
2922 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
2923 perspicuous definitions.
2924 (WTERMSIG): Fix bit pattern used.
2925
13f5ad37
KH
29262000-07-26 Kenichi Handa <handa@etl.go.jp>
2927
2928 * print.c (print_object): If vector printing is truncated, print
2929 "..." to indicate it as well as the case of list printing.
2930
070fe99c
GM
29312000-07-25 Gerd Moellmann <gerd@gnu.org>
2932
969065c3
GM
2933 * xdisp.c (next_element_from_display_vector): Improve comments.
2934
2935 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
2936 for the character code, and the rest for the face id as in 20.x.
2937 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
2938
2939 * window.c (window_display_table): Cleaned up.
2940
070fe99c
GM
2941 * syntax.c (Fforward_word): Add last arg nil in call of
2942 Fconstrain_to_field.
2943
bad77ef7
EZ
29442000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
2945
969065c3 2946 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
2947 identical but for the letter-case, don't call
2948 barf_or_query_if_file_exists.
2949
c28da489
MB
29502000-07-25 Miles Bader <miles@gnu.org>
2951
2952 * editfns.c (find_field): Honor special `boundary' fields.
2953 (Qboundary): New variables.
2954 (syms_of_editfns): Initialize Qboundary.
2955 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
2956 Use scan_buffer instead of find_before_next_newline, because it
2957 allows us to detect the boundary case where there's a newline at
2958 the search limit.
2959 * lisp.h (Fconstrain_to_field): Update external declaration.
2960
e3c31fd5
GM
29612000-07-24 Gerd Moellmann <gerd@gnu.org>
2962
2963 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
2964 if that is nil.
c28da489 2965
c66c29a2
DL
29662000-07-24 Dave Love <fx@gnu.org>
2967
2968 * s/sunos4-0.h, s/sol2.h:
2969 (LIBS_TERMCAP): Move from m/sparc.h.
2970
2971 * m/sparc.h (TERMINFO): Moved to system files (probably only
2972 relevant for sunos4 judging by its vintage).
2973 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
2974 __arch64__.
2975
fbe0a958
EZ
29762000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
2977
2978 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
2979 name to single_keymap_panes.
2980
7d88e5c9
AS
29812000-07-24 Andreas Schwab <schwab@suse.de>
2982
2983 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
2984
e024b101
GM
29852000-07-24 Gerd Moellmann <gerd@gnu.org>
2986
2987 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
2988 parameters instead of using int parameters. Expect FN to accept
2989 EMACS_INT parameters.
2990 (display_echo_area, resize_echo_area_axactly, current_message)
2991 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
2992 with new argument list.
2993 (resize_mini_window_1): New callback function.
2994 (current_message_1, truncate_message_1, set_message_1): Change
2995 parameter lists to the new format expected by
2996 with_echo_area_buffer.
2997
25c1a9ce
KH
29982000-07-24 Kenichi Handa <handa@etl.go.jp>
2999
3000 * fontset.c (fontset_ref): Remove INLINE declaration.
3001 (fontset_ref_via_base): Likewise.
3002 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
3003 to downcase.
3004
7f987ac0
EZ
30052000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
3006
3007 * msdos.c (IT_note_mouse_highlight): Process overlays in the
3008 correct order of priority. If help echo was found in an overlay,
3009 use that overlay as the object in which the help echo was found.
3010
e2db3069
MB
30112000-07-22 Miles Bader <miles@gnu.org>
3012
3013 * textprop.c (Fprevious_single_char_property_change): The initial
3014 property value should be from the position preceding POSITION, not
3015 following it.
3016
5e3203e4
EZ
30172000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
3018
3019 * coding.c (syms_of_coding): Doc fix for
3020 inhibit-iso-escape-detection.
3021
62145073
GM
30222000-07-21 Gerd Moellmann <gerd@gnu.org>
3023
c20aeb83
GM
3024 * xterm.c (note_mouse_highlight): Process overlays in the right
3025 order of priority.
34a7a267 3026
743934db
GM
3027 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
3028
3029 * xterm.c (note_mouse_highlight): If help-echo was found in an
3030 overlay, use that overlay as the object in which the help was
3031 found.
3032
d1dc7e43 3033 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 3034
62145073
GM
3035 * window.c (foreach_window): Instead of a fake variable argument
3036 list, take one USER_DATA argument.
3037 (foreach_window_1): Likewise, and call callback functions with two
3038 args, the window and USER_DATA.
3039 (struct check_window_data): New struct.
3040 (check_window_containing): Use it.
3041 (window_from_coordinates): Set up a struct check_window_data for
3042 foreach_window.
3043 (add_window_to_list, freeze_window_start): Change parameters
3044 according to new calling convention.
3045
3046 * window.h (foreach_window): Change prototype.
3047
3048 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
3049
30502000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
3051
3052 * xmenu.c (menu_help_callback): Call show_help_echo with
3053 additional arguments OBJECT and POS.
3054
11270583
KH
30552000-07-21 Kenichi Handa <handa@etl.go.jp>
3056
07b14857
KH
3057 * data.c (Faset): Allow storing any multibyte character in a
3058 string. Convert unibyte string to multibyte if necessary.
3059
11270583
KH
3060 * xfns.c (x_encode_text): New function.
3061 (x_set_name): Use x_encode_text.
3062 (x_set_title): Likewise.
3063
3064 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
3065
3066 * xterm.h (x_encode_text): Add prototype.
3067
bc75b4fd
DL
30682000-07-20 Dave Love <fx@gnu.org>
3069
3070 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
3071 xfree, not free.
3072
48c14970
EZ
30732000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
3074
3075 * msdos.c (help_echo_window): New variable.
3076 (syms_of_msdos): Initialize and staticpro it.
3077 (IT_note_mode_line_highlight): Set help_echo_window.
3078 (IT_note_mouse_highlight): Ditto.
3079 (dos_rawgetc): Store help_echo_window in the second event produced
3080 for HELP_EVENTs.
3081
3082 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
3083 Record the object that generated the help echo and the position of
3084 that object in help_echo_object and help_echo_pos. Record that
3085 some glyphs in a row are displayed in mouse-face.
3086 (IT_update_begin): Don't clear mouse highlight unless one of the
3087 enabled glyph rows is marked as being displayed in mouse-face.
3088 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
3089 and position recorded in help_echo_object and help_echo_pos to the
3090 event queue.
3091 (IT_menu_display): Accept a new argument PN: the pane number of
3092 the current menu pane. Record the pane number and the item
3093 number of the item which has associated help string.
3094 (XMenuActivate): Update the prototype for help_callback in
3095 function declaration. Call IT_menu_display with the current menu
3096 pane number as an additional argument. Call help_callback with
3097 two additional arguments: the pane number and the item number of
3098 the menu item associated with the help text.
3099 (help_echo_object, help_echo_pos): New variables.
3100 (syms_of_msdos): Initialize them and staticpro help_echo_object.
3101
3102 * msdos.h (XMenuActivate): Update prototype.
3103
4279296d
GM
31042000-07-19 Gerd Moellmann <gerd@gnu.org>
3105
47db06aa
GM
3106 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
3107 Add some more prototypes.
3108
3109 * xterm.c, xterm.h: Add some more prototypes.
3110
3111 * lisp.h (Fnext_single_char_property_change): Add prototype.
3112
3113 * dispnew.c (direct_output_for_insert): Remove confusing
3114 outer local variable mouse_face_overwritten_p.
3115 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
3116
4279296d
GM
3117 * alloc.c (allocate_string_data): Don't copy old string contents.
3118
670acd62
KH
31192000-07-19 Kenichi Handa <handa@etl.go.jp>
3120
3121 * coding.c (code_convert_region): Delete text properties before
3122 shrinking the conversion region.
3123
7cea38bc
GM
31242000-07-18 Gerd Moellmann <gerd@gnu.org>
3125
dc1cac59
GM
3126 * dispnew.c (update_text_area): Write the whole row if it
3127 has mouse-face in it.
3128
85a8aca9
GM
3129 * xfaces.c (face-alternative-font-family-alist): Remove
3130 DEFVAR_LISP; staticpro instead.
3131
34a7a267 3132 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
3133 new arguments.
3134
3135 * keyboard.c (show_help_echo): Add parameter WINDOW.
3136 (read_char): Call show_help_echo with window extracted from Lisp
3137 help event.
3138 (gen_help_event): Add parameter WINDOW.
3139
3140 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
3141
3142 * xterm.c (help_echo_window): New variable.
3143 (note_mouse_highlight, note_tool_bar_highlight): Set
3144 help_echo_window.
3145 (XTread_socket): Pass help_echo_window to gen_help_event.
3146 (syms_of_xterm): Initialize and staticpro help_echo_window.
3147
f8276b77
DL
31482000-07-18 Dave Love <fx@gnu.org>
3149
3150 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
3151 systime.h.
3152
088831a6
GM
31532000-07-18 Gerd Moellmann <gerd@gnu.org>
3154
3d6cd763
GM
3155 * alloc.c (allocate_string_data): If string had already data
3156 assigned, copy old contents to new string data.
3157
3158 * coding.c (syms_of_coding): Fix typo in spelling of variable
3159 `inhibit-iso-escape-detection'.
3160
088831a6
GM
3161 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
3162
3163 * Makefile.in: Add dependencies on dispextern.h.
3164 (alloca.o): Don't define malloc and define EMACS_FREE instead of
3165 `free'; both can conflict with system header files.
3166
bc8a8d55
KH
31672000-07-18 Kenichi Handa <handa@etl.go.jp>
3168
3169 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
3170 undefined.
3171
069f5950
DL
31722000-07-18 Dave Love <fx@gnu.org>
3173
3174 * window.c (Fwindow_list): Declare arg `window'.
3175
aa96c820
KH
31762000-07-18 Kenichi Handa <handa@etl.go.jp>
3177
3178 * coding.c (setup_coding_system): Don't override the explicitly
3179 specified designations.
3180
06be8d32
MB
31812000-07-15 Miles Bader <miles@gnu.org>
3182
3183 * editfns.c (char_property_eq, char_property_stickiness): Renamed
3184 from `text_property_eq' and `text_property_stickiness', respectively.
3185 (find_field, Fconstrain_to_field, char_property_eq)
3186 (char_property_stickiness): Changed to call char-property functions
3187 instead of text-property-only ones.
3188
3189 * textprop.c (Fnext_single_char_property_change): Made a subr (was
3190 `next_single_char_property_change'). Do more error checking, and
3191 cleanup limit behavior.
3192 (Fprevious_single_char_property_change): New function.
3193 (syms_of_textprop): Initialize new subrs.
3194
3195 * xdisp.c (display_prop_end, invisible_text_between_p):
3196 Call Fnext_single_char_property_change instead of
3197 next_single_char_property_change.
3198
3fddcdc3
JR
31992000-07-15 Jason Rumney <jasonr@gnu.org>
3200
3201 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
3202 after menu is finished with.
3203 (add_menu_item): Only consider wv->title as a menu title.
3204 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
3205
3206 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
3207 null title.
3208 (FONT_REGEXP): Remove unused macro, and its sub-components.
3209 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
3210
3211 * w32term.c (help_echo_object, help_echo_pos): New variables.
3212 (note_mode_line_highlight): Store additional information about the
3213 help-echo in help_echo_object and help_echo_pos. Check both
3214 `local-map' and `keymap' properties for changing the cursor
3215 (note_mouse_highlight): Store additional information about the
3216 help-echo in help_echo_object and help_echo_pos.
3217 (note_tool_bar_highlight): Set help_echo_object to nil and
3218 help_echo_pos to -1.
3219 (w32_read_socket): Use gen_help_event instead of filling
3220 input_events manually.
3221 (syms_of_w32term): Staticpro help_echo_object.
3222 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
3223 set, arrange for a mouse-highlight redisplay in
3224 XTframe_up_to_date.
3225 (x_clear_mouse_face): New function.
3226 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
3227 (x_update_window_begin): No need to turn off the mouse
3228 highlight here.
3229 (show_mouse_face): Set the mouse_face_p flag of glyph rows
3230 depending on whether they contain glyphs highlighted in
3231 mouse-face.
3232 (x_fill_stretch_glyph_string): Consume runs of stretch
3233 glyphs instead of a single one.
3234 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
3235 with new argument list.
3236 (x_set_glyph_string_gc): Make sure the face's GC is valid.
3237 (x_append_glyph, x_append_composite_glyph)
3238 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
3239 changes in struct glyph starting 1999-12-27. See comments for
3240 xterm.c on 2000-07-05.
3241
178c5d9c
SS
32422000-07-14 Sam Steingold <sds@gnu.org>
3243
3244 * xfaces.c (realize_x_face): Fix the last patch:
3245 check `default_face' before dereferencing.
3246
6fe533f6
DL
32472000-07-14 Dave Love <fx@gnu.org>
3248
069f5950 3249 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 3250
dd7b81cf
KH
32512000-07-14 Kenichi Handa <handa@etl.go.jp>
3252
0693904a 3253 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 3254 default_face's fontset, not using the default fontset.
0693904a 3255
dd7b81cf
KH
3256 * coding.c (inhibit_iso_escape_detection): New variable.
3257 (syms_of_coding): Make it a Lisp variable.
3258 (detect_coding_iso2022): If inhibit_iso_escape_detection is
3259 nonzero, ignore ISO2022's escape sequence.
3260
d5aa31d8
GM
32612000-07-14 Gerd Moellmann <gerd@gnu.org>
3262
e5acf0ca
GM
3263 * alloca.c (malloc) [emacs]: Define as xmalloc.
3264
bd23a692
GM
3265 * xfns.c (Fx_show_tip): If frame parameters contain a position,
3266 use that instead of the mouse position. Add parameters DX and DY.
3267
3268 * dispextern.h (Fx_show_tip): Adjust number of parameters
3269 in prototype.
3270
9662da0b
GM
3271 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
3272 if HELP is a function, call it with OBJECT and POS as parameters
3273 to get the help to display.
3274 (gen_help_event, kbd_buffer_store_help_event): New functions.
3275 (kbd_buffer_get_event): Construct the Lisp help-event differently.
3276 (read_char): Call show_help_echo with new parameters.
3277
178c5d9c 3278 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
3279 Add prototypes.
3280
3281 * xterm.c (help_echo_object, help_echo_pos): New variables.
3282 (note_mode_line_highlight): Store additional information about the
3283 help-echo in help_echo_object and help_echo_pos. Check both
3284 `local-map' and `keymap' properties for changing the cursor
3285 (note_mouse_highlight): Store additional information about the
3286 help-echo in help_echo_object and help_echo_pos.
3287 (note_tool_bar_highlight): Set help_echo_object to nil and
3288 help_echo_pos to -1.
3289 (XTread_socket): Use gen_help_event instead of filling
3290 input_events manually.
3291 (syms_of_xterm): Staticpro help_echo_object.
3292
3293 * xmenu.c (menu_highlight_callback): Use
3294 kbd_buffer_store_help_event instead of setting up and input_event
3295 structure manually.
3296
3297 * xdisp.c (eval_form): GCPRO argument sexpr.
3298 (call_function): New function.
3299 (handle_single_display_prop): Use call_function and FUNCTIONP
3300 instead of checking whether if font_height is a symbol and
3301 using eval_form.
3302
3303 * eval.c (internal_condition_case_2): New function.
3304
3305 * lisp.h (FUNCTIONP): New macro.
3306 (internal_condition_case_2, call_function): Add prototypes.
3307
d5aa31d8
GM
3308 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
3309 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
3310 Always set `arg' member of input_events.
3311 (construct_menu_click): Unused function removed.
3312
3313 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
3314
3315 * w32term.c (construct_mouse_click, construct_mouse_wheel)
3316 (construct_drag_n_drop, x_scroll_bar_handle_click)
3317 (w32_read_socket): Always set `arg' member of input_events.
3318
3319 * keyboard.c (show_help_echo): Use eval_form. Add comment.
3320
3321 * lisp.h (eval_form): Add prototype.
3322
3323 * xdisp.c (eval_form): Make it externally visible.
3324
0f1a9b23
GM
33252000-07-13 Gerd Moellmann <gerd@gnu.org>
3326
3327 * xterm.c (x_handle_tool_bar_click): Store the frame in the
3328 frame_or_window slot of TOOL_BAR_EVENT input events instead of
3329 consing. For prefix events, store the frame in the `arg' slot of
3330 the event, otherwise store the key there.
3331 (XTread_socket): Instead of consing, use the frame_or_window slot
3332 of HELP_EVENTs for the frame, and the `arg' slot for the help
3333 string.
3334
3335 * xmenu.c (menu_highlight_callback): Store help string in the
3336 `arg' member of the input event; don't cons.
3337 (menubar_selection_callback): Use the `arg' slot of input events
3338 to queue additional information, instead of consing.
3339
3340 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
3341
3342 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
3343 TOOL_BAR_EVENTs.
3344 (w32_read_socket): Adapt to changes in HELP_EVENTs.
3345
3346 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
3347 input events to queue additional information, instead of consing.
3348
3349 * keyboard.c (kbd_buffer_gcpro): Renamed from
3350 kbd_buffer_frame_or_window. Now used for all Lisp objects
3351 referenced from the input queue.
3352 (kbd_buffer_store_event): Always use structure assignment for
3353 copying input events. Record all Lisp objects referenced from
3354 events in kbd_buffer_gcpro.
3355 (kbd_buffer_get_event): Construct Lisp `help-echo' events
3356 differently from input events. Test for prefix menu_bar_events
3357 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
3358 event in kbd_buffer_gcpro to nil.
3359 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
3360 frame_or_window is equal to its arg member as prefix events.
3361 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
3362 used by an input event to nil.
3363 (init_keyboard): Use two times the size of the input queue
3364 for kbd_buffer_gcpro.
3365 (syms_of_keyboard): Likewise.
3366
3367 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
3368 USER_SIGNAL_EVENT.
3369
3370 * termhooks.h (struct input_event): Add member `arg'.
3371 (MENU_BAR_EVENT): Renamed from menu_bar_event.
3372 (USER_SIGNAL_EVENT): Renamed from user_signal.
3373
3374 * xfaces.c (ASET): Remove definition.
3375
3376 * lisp.h (AREF, ASET, ASIZE): New macros.
3377
3378 * fontset.c (AREF, ASIZE): Remove definitions.
3379
3380 * fns.c (AREF): Remove definition.
178c5d9c 3381
0f1a9b23
GM
3382 * composite.c (AREF): Remove definition.
3383
712eaef2
GM
33842000-07-12 Gerd Moellmann <gerd@gnu.org>
3385
d8ee7803
GM
3386 * dispnew.c (redraw_overlapped_rows): Add missing local.
3387 (scrolling_window): Remove debug code.
3388
712eaef2
GM
3389 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
3390 Before scrolling, turn off a mouse-highlight in the window
3391 being scrolled.
3392
3393 * xterm.c (x_update_window_end): Add parameter
3394 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
3395 redisplay in XTframe_up_to_date.
3396 (x_clear_mouse_face): New function.
3397 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
3398
3399 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
3400 current glyph row.
3401 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
3402 it when any row is written to that contains glyphs highlighted in
3403 mouse-face.
3404 (update_window): Call the window update end hook with new
3405 parameter MOUSE_FACE_OVERWRITTEN_P.
3406 (direct_output_for_insert): Give up if row contains mouse-face.
3407
3408 * dispextern.h (struct redisplay_interface): Add parameter
3409 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
3410 (clear_mouse_face): New function pointer member.
3411
02010917
SM
34122000-07-11 Stefan Monnier <monnier@cs.yale.edu>
3413
3414 * syntax.c (back_comment): Use one switch rather than a few `if's.
3415 Obey open_paren_in_column_0_is_defun_start.
3416 When reverting to the `slow' method, try to nicely handle the case
3417 of nested comments by checking that the comment-starter we found
3418 does indeed match the comment-ender.
3419 (scan_sexps_forward, scan_sexps_forward):
3420 Ignore excessive opening parenthesis rather than throwing an error.
3421
d76c03ea
GM
34222000-07-11 Gerd Moellmann <gerd@gnu.org>
3423
3424 * doc.c (Fsubstitute_command_keys): Handle case that a GC
3425 in Fwhere_is_internal or get_keymap_1 relocates string contents.
3426
3427 * dispnew.c (direct_output_forward_char): Give up if currently
3428 displaying a message instead of the minibuffer contents.
3429
3430 * xterm.c (x_update_window_begin): No need to turn off the mouse
3431 highlight here.
3432 (show_mouse_face): Set the mouse_face_p flag of glyph rows
3433 depending on whether they contain glyphs highlighted in
3434 mouse-face.
3435
3436 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
3437 compare the mouse_face_p flags of both rows.
3438
3439 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
3440
d55ead18
EZ
34412000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
3442
3443 * keyboard.c (show_help_echo): Accept additional parameter
3444 ok_to_overwrite_keystroke_echo.
3445 (read_char): Call show_help_echo with a zero
3446 ok_to_overwrite_keystroke_echo argument.
3447 * keyboard.h (show_help_echo): Update prototype of
3448 show_help_echo.
3449 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
3450 ok_to_overwrite_keystroke_echo argument.
3451 * w32menu.c (w32_menu_display_help): Call show_help_echo with
3452 non-zero ok_to_overwrite_keystroke_echo argument.
3453
df75b1a3
GM
34542000-07-10 Gerd Moellmann <gerd@gnu.org>
3455
4b92c49a
GM
3456 * xdisp.c (try_window_id): If changes are all below what is
3457 displayed in the window, and point is in the window, we still
3458 might have to find point on the display.
3459
3460 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
3461 glyphs instead of a single one.
3462 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
3463 with new argument list.
3464 (x_set_glyph_string_gc): Make sure the face's GC is valid.
3465
df75b1a3
GM
3466 * keymap.c (get_keymap_1): Add comment that this function can GC.
3467 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
3468 comment that functions can GC.
3469 (Fset_keymap_parent): GCPRO arg KEYMAP.
3470
4314cf3e
EZ
34712000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
3472
3473 * msdos.c (XMenuActivate): After exiting the menu, restore the
3474 echo area message and erase it.
3475
ab49ce15
KH
34762000-07-10 Kenichi Handa <handa@etl.go.jp>
3477
3478 * fontset.c (Ffontset_info): Make the return value more compatible
3479 with that of Emacs 20.
3480
090a072f
GM
34812000-07-07 Gerd Moellmann <gerd@gnu.org>
3482
3483 * eval.c (Fsignal): Handle case that backtrace_list is null.
3484
f92de4a6
KH
34852000-07-07 Kenichi Handa <handa@etl.go.jp>
3486
3487 * ccl.c (Fccl_execute): Typo fixed.
3488
dd8888a1
GM
34892000-07-06 Gerd Moellmann <gerd@gnu.org>
3490
e5c81191 3491 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 3492
dd8888a1
GM
3493 * window.c (Fwindow_list): Reverse list at the end.
3494 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
3495 means allow windows on OWINDOW's frame, only.
3496 (window_loop): Simplified; use Fwindow_list.
3497
3498 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
3499
485266d0
GM
35002000-07-05 Gerd Moellmann <gerd@gnu.org>
3501
3502 * xterm.c (XTread_socket): Increment handling_signal at the start,
3503 decrement it at the end.
3504
3505 * eval.c (handling_signal): New variable.
3506 (Fsignal): Abort if handling_signal is non-zero.
3507
3508 * lisp.h (handling_signal): External declaration.
178c5d9c 3509
485266d0
GM
3510 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
3511
80fcd514
KR
35122000-07-05 Ken Raeburn <raeburn@gnu.org>
3513
3514 Sound support for NetBSD through "Linux emulation" support:
3515 * config.in (HAVE_SOUNDCARD_H): Undef.
3516 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
3517 * Makefile.in (LIBSOUND): New variable.
3518 (LIBES): Include it.
3519 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
3520 <soundcard.h>.
3521 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
3522 elsewhere.
3523 (vox_open): Use DEFAULT_SOUND_DEVICE.
3524 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
3525
d5c5cddd
GM
35262000-07-05 Gerd Moellmann <gerd@gnu.org>
3527
3528 * print.c (print_error_message): If Vsignaling_function is set,
3529 show it in *Messages*.
3530
3531 * lisp.h (Vsignaling_function): External declaration.
3532
3533 * eval.c (Vsignaling_function): New variable.
3534 (Fsignal): Compute it.
3535 (syms_of_eval): Staticpro it.
3536
65171e3a
DL
35372000-07-05 Dave Love <fx@gnu.org>
3538
3539 * syswait.h: Use the autoconf recommended approach. Old code
3540 #if'd out in case we need to revert.
3541
178c5d9c 3542 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 3543
e2c46326
AI
35442000-07-05 Andrew Innes <andrewi@gnu.org>
3545
3546 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
3547 when non-NULL instead of __morecore, to take account of buffer
3548 memory. This also solves a problem with spurious memory warnings
3549 on Windows.
3550
3551 * ralloc.c: Make real_morecore non-static.
3552
3553 * eval.c (internal_condition_case): Comment out abort if
3554 interrupt_input_blocked is not zero.
3555
3556 * makefile.nt: Add support for `bootstrap' and related targets.
3557 Include minimal debug info in emacs.exe in release build.
3558 Remove all dependencies on lisp.h, and fixup some others.
3559
3560 * w32.c (init_environment): Install code from 20.7 for providing
3561 default values for environment variables, based on the
3562 executable's own location.
3563 (map_w32_filename): Handle filenames that are longer than
3564 MAX_PATH.
3565 (sys_socket): Install socket inheritance bug fix from 20.7.
3566
3567 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
3568 here via blockinput.h).
3569
a027a91b
SM
35702000-07-05 Stefan Monnier <monnier@cs.yale.edu>
3571
e4b31601
SM
3572 * w32menu.c (w32_menu_display_help):
3573 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
3574
3575 * keyboard.h (show_help_echo): Declare.
3576
3577 * keyboard.c (show_help_echo): New function, extracted from read_char.
3578 Feval its `msg' argument if it's a cons cell.
3579 (read_char): Use it.
4cf8d9d5 3580 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 3581
178c5d9c 3582 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 3583 (note_tool_bar_highlight, XTread_socket):
178c5d9c 3584 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
3585 (dos_rawgetc):
3586 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
3587 (note_tool_bar_highlight, w32_read_socket):
3588 Do not gratuitously ignore non-string `help-echo' properties.
3589
88d75730
GM
35902000-07-05 Gerd Moellmann <gerd@gnu.org>
3591
969f7e79
GM
3592 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
3593
71201b00
GM
3594 * window.c (delete_all_subwindows): Reset Vwindow_list.
3595
88d75730
GM
3596 * xterm.c (x_append_glyph, x_append_composite_glyph)
3597 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
3598 changes in struct glyph starting 1999-12-27. Some bit-fields of
3599 struct glyph were not set, which made glyphs unequal when compared
3600 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
3601 effects were the result. This also depended on the contents of
3602 memory returned by xmalloc. If flickering happens again, activate
3603 the code in clear_glyph_row that's in #if 0. If the flickering is
3604 gone with that, chances are that it is caused by something
3605 similar.
3606
3607 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 3608
88d75730
GM
3609 * dispextern.h: Add some comments.
3610
3611 * window.c (add_window_to_list): Add parameter LIST.
3612 (window_list): Order list so that, for each frame, windows are
3613 in canonical order, and so that frames appear in the list in
3614 the order given by Vframe_list.
3615 (next_window): Reverse the handling of NEXT_P.
3616
53654733
GM
36172000-07-04 Gerd Moellmann <gerd@gnu.org>
3618
87efd256
GM
3619 * window.c (Vwindow_list): New variable.
3620 (make_window, delete_window): Set Vwindow_list to nil.
3621 (check_window_containing): New function.
3622 (window_from_coordinates): Rewritten.
3623 (add_window_to_list, window_list, candidate_window_p)
3624 (decode_next_window_args, next_window): New functions.
3625 (Fnext_window, Fprevious_window): Rewritten in terms of
3626 next_window.
3627 (Fwindow_list): New function.
3628 (Fother_window): Cleaned up.
3629 (foreach_window): Add a longer "variable argument list". Let
3630 callback function return 0 to indicate that cycling over windows
3631 should stop.
3632 (foreach_window_1): Likewise.
3633 (freeze_window_start): Return int.
3634 (init_window): New function.
3635 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
3636
3637 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
3638 input_event with bzero.
3639 (main): Call init_window.
3640
53654733
GM
3641 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
3642 a menu filter.
3643
4a8c194f
KH
36442000-07-04 Kenichi Handa <handa@etl.go.jp>
3645
3646 * composite.h (make_composition_value_copy): Extern it.
3647
3648 * composite.c (make_composition_value_copy): New function.
3649
3650 * editfns.c (Fformat): While copying text properties, make each
3651 composition property value a copy.
3652
3653 * fns.c (concat): While copying text properties, make each
3654 composition property value a copy.
3655
831a6cb0
GM
36562000-07-03 Gerd Moellmann <gerd@gnu.org>
3657
2f516940
GM
3658 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
3659
178c5d9c 3660 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
3661 marked already.
3662
831a6cb0
GM
3663 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
3664 include those frames as candidates which have their focus
3665 redirected to the minibuffer frame.
3666
d9c4f922
SM
36672000-07-03 Stefan Monnier <monnier@cs.yale.edu>
3668
3669 * fns.c (Fputhash): Return `value' rather than nil.
3670
3780bc22
GM
36712000-06-30 Gerd Moellmann <gerd@gnu.org>
3672
97d176db
GM
3673 * frame.c (next_frame): Don't check focus redirection in case
3674 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
3675 unless their focus is redirected, which contradicts the
3676 specification of next-frame, and leads to infinite loops in
3677 certain situations when cycling through windows with next-window.
3678
dca9961d
KH
36792000-06-30 Kenichi Handa <handa@etl.go.jp>
3680
3681 * coding.c (code_convert_region): Even if the length of text is
3682 zero, try to convert it if coding->type is coding_type_ccl.
3683 (decode_coding_string, encode_coding_string): Likewise.
3684
d5483ab1
GM
36852000-06-28 Gerd Moellmann <gerd@gnu.org>
3686
af5c25e1 3687 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 3688 the display if windows_or_buffers_changed.
af5c25e1
GM
3689
3690 * dispnew.c (struct row_entry): New structure.
3691 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
3692 (row_table_size, old_lines, new_lines, old_lines_size)
3693 (new_lines_size, run_pool, runs_size, runs): New variables.
3694 (add_row_entry): New function.
3695 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 3696 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
3697 holding them in local variables. Use a larger hash table whose
3698 size depends on glyph matrix sizes. Don't use bzero to clear the
3699 hash table; instead, clear used slots only.
3700
3701 * fns.c (next_almost_prime): Make it externally visible.
3702
3703 * lisp.h (next_almost_prime): Add prototype.
3704
d5483ab1
GM
3705 * s/isc4-0.h (sigunblock): Define.
3706
3707 * s/sco5.h (sigunblock): Define.
3708
93e40f40
DL
37092000-06-27 Dave Love <fx@gnu.org>
3710
3711 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
3712 (moved to osf5-0.h).
3713 [!NOT_C_CODE]: Protect string.h stuff.
3714
3715 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
3716 (sys_siglist, NSIG): Definitions moved here from osf1.h.
3717
3c4b7685
GM
37182000-06-27 Gerd Moellmann <gerd@gnu.org>
3719
97d176db 3720 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
3721 below the last line from the needed window height.
3722
32cad0aa
SM
37232000-06-26 Stefan Monnier <monnier@cs.yale.edu>
3724
3725 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
3726 (Fwidget_get): Use it.
3727 (syms_of_fns): Defsubr it.
3728
2c69ced2
GM
37292000-06-26 Gerd Moellmann <gerd@gnu.org>
3730
178c5d9c 3731 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
3732 display info for XIM.
3733 (xim_open_dpy): Likewise.
3734 (xim_close_dpy): Don't free the display info's XIM.
3735
3736 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
3737
3738 * config.in (USE_XIM): New define.
3739
3fc720e4
GM
3740 * keymap.c (get_keyelt): For menu-items containing a `:filter
3741 FILTER', apply FILTER to the menu-item's definition to get the
3742 real definition to use.
3743
3744 * lisp.h (QCfilter): External declaration.
3745
2c69ced2
GM
3746 * xfns.c (Fimage_size): New function.
3747 (syms_of_xfns): Defsubr it.
3748
f978b2a2
AS
37492000-06-26 Andreas Schwab <schwab@suse.de>
3750
3751 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
3752 Fstring_as_unibyte.
3753
94cc7892
DL
37542000-06-25 Dave Love <fx@gnu.org>
3755
3756 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
3757 tgetnum.
3758
3759 * Makefile.in (blockinput.h): Depend on atimer.h.
3760 (atimer.h): Depend on systime.h.
3761
3762 * blockinput.h: Protect against multiple inclusion. Include
3763 atimer.h.
3764
3765 * atimer.h: Protect against multiple inclusion. Include
3766 systime.h.
3767
3768 * lisp.h (swap_in_global_binding): Declare.
3769
b8c24556
KR
37702000-06-24 Ken Raeburn <raeburn@gnu.org>
3771
3772 * process.c (Fopen_network_stream): Turn off atimers for duration
3773 of call to connect. (Patch from Gerd.)
3774
8cf8560b
DL
37752000-06-23 Dave Love <fx@gnu.org>
3776
511c7541
DL
3777 * ralloc.c: Maybe include unistd.h
3778
8cf8560b
DL
3779 * emacs.c (setgrp): Undefine before defining.
3780 (malloc_warning, set_time_zone_rule, index): Prototype.
3781
3782 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
3783 HAVE_STRUCT_TIMEZONE.
3784
3785 * s/osf1.h: Move string.h hack here from alpha.h and make it
3786 conditional.
3787 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
3788 _XOPEN_SOURCE.
3789 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
3790 (SOCKLEN_TYPE): Don't define.
3791
3792 * m/alpha.h: Remove string.h hack.
3793
3794 * s/osf5-0.h: New file.
3795
3796 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
3797 include time.h, done by systime.h.
3798 [__FreeBSD__]: Remove redundant includes.
3799
3fc720e4 3800 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
3801 (delete_temp_file): Return Qnil to avoid warning.
3802
3803 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
3804
3805 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
3806 HAVE_X_WINDOWS.
3807
3808 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
3809
3810 * composite.h (compose_text): Declare.
3811
3812 * xterm.c: Don't include sys/types.h unconditionally. Don't
3813 protect its inclusion with !USG (following xmenu.c).
3814
ea055732
GM
38152000-06-23 Gerd Moellmann <gerd@gnu.org>
3816
3817 * xfns.c (x_create_tip_frame): Initialize frame's colors like
3818 in x_create_frame.
3819
74b01b80
EZ
38202000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
3821
3822 * coding.c (decode_eol_post_ccl): Special handling for undecided
3823 and inconsistent EOL types.
3824
64f3a166
GM
38252000-06-22 Gerd Moellmann <gerd@gnu.org>
3826
16cf31f7
GM
3827 * xrdb.c (x_load_resources): Add default resource for scroll bar's
3828 trough color and main window's background color.
3829
178c5d9c 3830 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
3831 differently.
3832
3833 * xterm.h (Xt_app_con): External declaration.
3834
3835 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 3836
486a103d
GM
3837 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
3838
64f3a166
GM
3839 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
3840 (handle_invisible_prop): Record the start of invisible text in
3841 it->add_overlay_start.
3842 (struct overlay_entry): Add member `overlay'.
3843 (handle_overlay_change): Simplify.
3844 (next_overlay_string): After having processed overlay strings at the
3845 end of the buffer, record that fact in
3846 it->overlay_strings_at_end_processed_p.
3847 (compare_overlay_entries): If before- and after-strings come
3848 from the same overlay, let before-strings come first.
3849 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
3850 (load_overlay_strings): Take it->add_overlay_start into account
3851 when adding overlay strings.
3852
3853 * dispextern.h (struct it): Add member add_overlay_start.
3854
bb746ea6
DL
38552000-06-22 Dave Love <fx@gnu.org>
3856
3857 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
3858
3859 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
3860
a8f573f3
KH
38612000-06-22 Kenichi Handa <handa@etl.go.jp>
3862
3863 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
3864 is greater than 0.
3865
9f2bbc92
DL
38662000-06-21 Dave Love <fx@gnu.org>
3867
178c5d9c 3868 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 3869
3ee5041c
SM
38702000-06-21 Stefan Monnier <monnier@cs.yale.edu>
3871
3872 * syntax.c (back_comment): Simplify string-parity counting (with
3873 the added benefit of handling multiple string-styles as long as
3874 they are not intertwined).
3875 Jump to the slow code as soon as a comment starter is found in
3876 a "string_lossage" position. Fixes the case: " /* " /* " */.
3877
4c343001
DL
38782000-06-21 Dave Love <fx@gnu.org>
3879
3880 * Makefile.in: Use GETLOADAVG_LIBS.
3881
3882 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
3883 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
3884
e6365855
SM
38852000-06-20 Stefan Monnier <monnier@cs.yale.edu>
3886
3887 * syntax.c (describe_syntax): Recognize the `n'estable bit.
3888 (Fforward_comment, scan_lists):
3889 Check the comstyle of single-char comment-starters.
3890 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
3891 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
3892 Check the comstyle of single-char comment-starters.
3893 Clarify control-flow around the Scomment case.
e6365855 3894
5700d2cc
DL
38952000-06-20 Dave Love <fx@gnu.org>
3896
d355bd8a
SM
3897 * fns.c (make_hash_table, maybe_resize_hash_table):
3898 Cast arg of next_almost_prime.
5700d2cc 3899
178c5d9c 3900 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
3901
3902 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
3903 and unistd.h.
3904
4a27bdfb
GM
39052000-06-20 Gerd Moellmann <gerd@gnu.org>
3906
a61d762c
GM
3907 * keyboard.c (adjust_point_for_property): Check if display
3908 property should be treated as intangible by looking at its
3909 value.
3910
178c5d9c 3911 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
3912 (display_prop_intangible_p): New functions.
3913
3914 * dispextern.h (display_prop_intangible_p): Add prototype.
3915
3916 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 3917
4a27bdfb
GM
3918 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
3919 argument to sigprocmask.
3920
3921 * s/sco5.h (sigblock): Redefined to pass a pointer as second
3922 argument to sigprocmask.
3923
3924 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
3925 sigprocmask_set, and pass a pointer to it to sigprocmask.
3926
3927 * sysdep.c (sigprocmask_set): New variable.
3928
3929 * fileio.c (make_temp_name): Don't use `%s' in string passed to
3930 report_file_error.
3931
427ec082
SS
39322000-06-20 Sam Steingold <sds@gnu.org>
3933
3934 * xrdb.c: Don't declare xmalloc, xrealloc.
3935
8972fe79 39362000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
3937
3938 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
3939 (re_comp): Cast gettext return value to avoid complaints when
3940 !HAVE_LIBINTL.
3941
074b6efe
DL
39422000-06-20 Dave Love <fx@gnu.org>
3943
f85c008a
DL
3944 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
3945 HAVE_GETTIMEOFDAY.
3946
5700d2cc 3947 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 3948
d355bd8a 3949 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
3950
3951 * m/alpha.h: Don't declare xmalloc, xrealloc.
3952
0af4f205
DL
3953 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
3954
3955 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
3956
3957 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
3958
3959 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
3960 HAVE_GETWD.
3961
074b6efe
DL
3962 * keyboard.h (poll_for_input_1): Declare.
3963
3964 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
3965
3966 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
3967
3968 * doprnt.c: Don't declare xmalloc, xrealloc.
3969
3970 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
3971 (getenv, ctime, getwd): Removed.
3972 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
3973
3974 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
3975 x_set_tool_bar_lines.
3976
3977 * config.in: Add HAVE_GETWD. Move some definitions above
3978 machine/system includes.
3979
68a5e97b
KH
39802000-06-20 Kenichi Handa <handa@etl.go.jp>
3981
95417e1e
KH
3982 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
3983
68a5e97b
KH
3984 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
3985 contain information about ENCODING.
3986
3987 * fontset.c (FONTSET_ASCII): Use the first element of char table
3988 for an ASCII font, not defalt slot.
3989 (fontset_ref_via_base): If FONTSET doesn't contain information for
3990 C, try the default fontset.
3991 (make_fontset): Don't copy the default fontset.
3992 (fontset_font_pattern): Likewise.
3993 (accumulate_font_info): If ELT is nil, use the corresponding
3994 element in the default fontset.
3995
3b4fa1b2
DL
39962000-06-19 Dave Love <fx@gnu.org>
3997
943e731c
DL
3998 * syntax.c (Fparse_partial_sexp): Doc fix.
3999
4000 * regex.h: Test PROTOTYPES as well as __STDC__.
4001
3b4fa1b2
DL
4002 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
4003 errno, strerror. Put text after #endif in comment.
4004
4005 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
4006 pcc).
4007
4008 * xterm.c (x_frame_of_widget): Likewise.
4009
cdf0357b
GM
40102000-06-19 Gerd Moellmann <gerd@gnu.org>
4011
4012 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
4013 to Vfundamental_mode_abbrev_table.
4014
4015 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
4016 bogus objects are marked. This slows down GC by ~80 percent, but
4017 it might be worth trying when debugging GC-related problems.
4018 This feature requires conservative stack marking to be enabled.
4019
4020 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
4021 returns XLookupChars, reset `modifiers' to zero.
4022
998e9f8c
DL
40232000-06-19 Dave Love <fx@gnu.org>
4024
4025 * mktime.c: Unprotoized.
4026
18e21ce8 40272000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
4028
4029 * data.c (set_internal): If variable is frame-local,
4030 store the new value immediately into the frame parameter alist.
4031
140c4ac6
KR
40322000-06-19 Ken Raeburn <raeburn@gnu.org>
4033
14358466
KR
4034 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
4035 in the custom handler pointer.
4036
140c4ac6
KR
4037 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
4038 value, or checks for CHAR_META can fail when Lisp_Object is a
4039 union type.
4040 * keymap.c (get_keyelt): Likewise.
4041
10d7bf84
KH
40422000-06-19 Kenichi Handa <handa@etl.go.jp>
4043
4044 * ccl.h (struct ccl_program): New member eol_type.
4045 (struct ccl_spec): New member cr_carryover.
4046
4047 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
4048 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
4049
4050 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
4051 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
4052 (decode_eol_post_ccl): New function.
4053 (decode_coding): Don't detect EOL format here for CCL based coding
4054 systems.
4055 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
4056 decode_eol_post_ccl after running the CCL program.
4057 (code_convert_region): Don't detect EOL format here for CCL based
4058 coding systems.
4059 (decode_coding_string): Likewise.
4060
52e386c2
KR
40612000-06-18 Ken Raeburn <raeburn@gnu.org>
4062
4063 * charset.c (update_charset_table): Use XINT on "iso_final_char"
4064 when treating it as an integer.
4065
4066 * coding.h (encode_coding_string): Declare.
4067
4068 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
4069 it as an integer.
4070
4071 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
4072 "xkeymap" to avoid shadowing the "enum map_type" value that needs
4073 to be passed to get_local_map.
4074
4075 * sound.c (Fplay_sound): Don't call make_number on
4076 Frun_hook_with_args count argument.
4077
4078 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
4079 for lisp objects in X event structure data field, when lisp
4080 objects are represented with unions.
4081 (x_scroll_bar_to_input_event): Ditto.
4082
b357b9d4
KR
40832000-06-16 Ken Raeburn <raeburn@gnu.org>
4084
4085 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
4086 termination of string. Fix sense of test whether
4087 Vline_number_display_limit is an integer.
b357b9d4 4088
a871441d
GM
40892000-06-16 Gerd Moellmann <gerd@gnu.org>
4090
a9021acd
GM
4091 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
4092 only if HAVE_X_WINDOWS.
4093
6344985d
GM
4094 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
4095 of titles.
4096
427ec082 4097 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
4098 out of bounds.
4099
228b083e
EZ
41002000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
4101
4102 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
4103 of its headers.
4104
c25b53a2
KH
41052000-06-15 Kenichi Handa <handa@etl.go.jp>
4106
4107 * coding.c (decode_coding_emacs_mule): Always set src_base at the
4108 start of the while loop.
4109
a6981b11
GM
41102000-06-15 Gerd Moellmann <gerd@gnu.org>
4111
e9924e52
GM
4112 * atimer.c (alarm_signal_handler): Add forward declaration.
4113
a6981b11
GM
4114 * data.c (set_internal): Remove debug code.
4115
25fa6deb
GM
41162000-06-14 Gerd Moellmann <gerd@gnu.org>
4117
dce6b995
GM
4118 * Makefile.in (bootstrap-temacs): Add `-I../src'.
4119
9f817ea4
GM
4120 * unexec.c (toplevel) [COFF]: Include coff.h.
4121
4122 * s/lynxos.h: New file.
4123
4124 * keymap.c (Fsingle_key_description): Enclose function key and
4125 event symbol names in angle brackets.
4126
8a4e3c0c
GM
4127 * xdisp.c (setup_echo_area_for_printing): Call
4128 message_log_maybe_newline if message_buf_print is not set.
4129
4130 * print.c (printchar, strout): Don't check message_buf_print
427ec082 4131 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
4132 function does something useful even when message_buf_print is
4133 already set.
4134
25fa6deb
GM
4135 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
4136 variables.
4137 (ensure_echo_area_buffers): Initialize echo buffer's
4138 truncate lines setting to nil.
4139 (with_echo_area_buffer): Don't set the echo buffer's truncate
4140 lines setting here.
8a4e3c0c 4141 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
4142 of message_truncate_lines.
4143 (resize_mini_window): Handle case that lines are truncated.
4144 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
4145 message-truncate-lines.
4146
4147 * keyboard.c (read_char): Bind message-truncate-lines to t
4148 while displaying a help-echo.
4149
4150 * lisp.h (Qmessage_truncate_lines): External declaration.
4151
163dcff3
GM
41522000-06-13 Gerd Moellmann <gerd@gnu.org>
4153
1681ead6
GM
4154 * xdisp.c (Vline_number_display_limit): Renamed from
4155 line_number_display_limit.
4156 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
4157 Extend documentation string. Initialize
4158 Vline_number_display_limit to nil meaning no limit.
4159 (decode_mode_spec): Use Vline_number_display_limit with its new
4160 meaning.
4161
163dcff3
GM
4162 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
4163
18e21ce8 41642000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
4165
4166 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 4167
163dcff3
GM
4168 * xfns.c (x_set_frame_parameters): Comment fix.
4169
4170 * frame.c (store_frame_param): Call swap_in_global_binding if the
4171 variable's current binding was chosen based on this frame.
4172
4173 * data.c (swap_in_global_binding): New function.
4174
a704139d
EZ
41752000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
4176
4177 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
4178 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
4179
9b6610db
EZ
41802000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
4181
4182 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
4183
c68833d2
JR
41842000-06-12 Jason Rumney <jasonr@gnu.org>
4185
4186 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
4187
4188 * w32.h (EMACS_W32_H): Renamed from _NT_H_
4189
4190 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
4191
4192 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
4193
ed1056b3
GM
41942000-06-12 Gerd Moellmann <gerd@gnu.org>
4195
4196 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
4197 (syms_of_xfaces): Defsubr Sdump_colors.
4198 (x_free_colors): Don't treat b&w specially on default visual.
4199 (x_free_dpy_colors): New function.
4200 (free_face_colors): Don't check visual class; it's done
4201 in x_free_colors.
4202
4203 * xterm.c (x_frame_of_widget): New function.
4204 (x_alloc_nearest_color_for_widget): Use it.
4205 (x_copy_dpy_color): New function.
4206 (x_destroy_window): Free various colors.
4207
5050a2ef
KH
42082000-06-12 Kenichi Handa <handa@etl.go.jp>
4209
4210 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
4211
4212 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
4213
4214 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
4215
4216 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
4217
4218 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
4219
fb1b041d
DL
42202000-06-11 Dave Love <fx@gnu.org>
4221
4222 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
4223
ff96b5f4
EZ
42242000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
4225
4226 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
4227
db8eeecd
GM
42282000-06-11 Gerd Moellmann <gerd@gnu.org>
4229
ed1056b3 4230 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
4231 to `XEvent *'.
4232
49b71c5f
KH
42332000-06-10 Kenichi Handa <handa@etl.go.jp>
4234
c479bd55
KH
4235 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
4236 (regex_compile): Fix the code for handling the case of single byte
4237 char and multibyte char being mixed in a range within [...].
4238
ff6a65c2
KH
4239 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
4240 and dst_multibyte members of coding.
4241
49b71c5f
KH
4242 * charset.c (update_charset_table): Update the table
4243 bytes_by_char_head.
4244 (init_charset_once): Initialize elements of bytes_by_char_head to
4245 1 except for leading codes for private charases.
4246
4247 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
4248 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
4249 sequence.
4250
9e80b57d
KR
42512000-06-09 Ken Raeburn <raeburn@gnu.org>
4252
4253 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
4254 access the data it doesn't point to.
4255
f83fe4b4
GM
42562000-06-08 Gerd Moellmann <gerd@gnu.org>
4257
4258 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 4259 will be translated to a switch-frame event when reading the
f83fe4b4
GM
4260 event queue. This is necessary because Emacs otherwise won't
4261 perform a switch-frame to a new frame until some other event, for
4262 example a keystroke event, forces it to do so. This has various
4263 effects, one visible being that the cursor of a frame created with
4264 C-x 5 2 or switched to with a window manager key binding like
4265 A-TAB stays hollow because selected_window isn't on the newly
4266 focused frame until the switch-frame is performed.
4267
4268 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
4269 generating a switch-frame event if necessary.
4270
4271 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
4272
4273 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
4274 it's an integer.
4275
0890801b
KH
42762000-06-08 Kenichi Handa <handa@etl.go.jp>
4277
4278 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
4279 charset.
4280
173cbca8
GM
42812000-06-07 Gerd Moellmann <gerd@gnu.org>
4282
3091c2a6
GM
4283 * window.c (displayed_window_lines): Take empty lines at
4284 the bottom of a window into account.
427ec082 4285
f38952fe
GM
4286 * window.c (displayed_window_lines): New function.
4287 (Fmove_to_window_line): Use displayed_window_lines to determine
4288 the number of lines to move, instead of using the window's height.
4289
4290 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
4291 to stop reading, even if the form read sets point to a different
4292 value when evaluated.
4293
427ec082 4294 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
4295 put the cursor.
4296
6ba6c818
KH
42972000-06-07 Kenichi Handa <handa@etl.go.jp>
4298
4299 * fileio.c (e_write): Free composition data if stored in
4300 coding->cmp_data.
4301
5f1aea9a
GM
43022000-06-06 Gerd Moellmann <gerd@gnu.org>
4303
666852af
GM
4304 * xdisp.c (display_line): Set row's and iterator's
4305 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
4306 Set cursor even if row ends in the middle of a character.
4307 (dump_glyph_row): Print values of new flags.
4308 (redisplay_window) <cursor movement in unchanged window>: When
4309 point has been moved forward, and PT is at the end of the cursor
4310 row, don't place the cursor in the next row if the cursor row ends
4311 in the middle of a character or at ZV.
4312
4313 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
4314 (struct glyph_row): Add starts_in_middle_of_char_p and
4315 ends_in_middle_of_char_p.
4316 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
4317 ends_in_middle_of_char_p flag.
4318 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
4319
d13f3e2e
GM
4320 * term.c (append_glyph): Revert change of 2000-06-06.
4321
4322 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
4323 padding glyph not fitting on line as whole character not
4324 fitting on line.
4325
5f1aea9a
GM
4326 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
4327 this isn't true for images with `:ascent 100'.
4328
10cda9b0
KH
43292000-06-06 Kenichi Handa <handa@etl.go.jp>
4330
ed00559d
KH
4331 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
4332 as modified if it is originally unmodified.
4333
10cda9b0
KH
4334 * term.c (encode_terminal_code): Change the way to check if
4335 terminal coding does any conversion.
4336 (append_glyph): Set glyph->pixel_width correctly.
4337
4338 * xdisp.c (display_line): While checking line continuation, pay
4339 attention to a padding glyph.
4340
1969fae2
GM
43412000-06-05 Gerd Moellmann <gerd@gnu.org>
4342
4343 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
4344
162ccef4
DL
43452000-06-05 Dave Love <fx@gnu.org>
4346
f19f32dd
DL
4347 * xdisp.c: Include fontset.h.
4348
4349 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
4350
4351 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
4352
4353 * dispnew.c: Conditionally include term.h.
4354
4355 * coding.h: Declare code_convert_string_norecord.
4356
4357 * frame.h (struct frame): Use volatile unconditionally.
4358
4359 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
4360
4361 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
4362
4363 * systime.h: Protect against multiple inclusion.
4364 (timezone) [USG5_4]: Define as time_t.
4365
4366 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
4367 (Foptimize_char_table, make_temp_name): Declare.
4368
4369 * Makefile.in (xdisp.o): Depend on fontset.h.
4370
4371 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
4372
4373 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
4374 (Foptimize_char_table, make_temp_name): Declare.
4375
427ec082 4376 * s/irix4-0.h:
162ccef4
DL
4377 * s/irix5-0.h:
4378 * s/netbsd.h: Don't define autoconfiscated MATHERR.
4379
2082fe81
DL
43802000-06-02 Dave Love <fx@gnu.org>
4381
4382 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
4383
dcf671d2
GM
43842000-06-02 Gerd Moellmann <gerd@gnu.org>
4385
4386 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 4387 result face, set flags in that face indicating that colors may not
dcf671d2
GM
4388 be freed.
4389
4390 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
4391 glyph, use the ASCII NUL character to determine the face.
4392
d42122a3
DL
43932000-06-02 Dave Love <fx@gnu.org>
4394
4395 * sysdep.c: Conditionally include stdlib.h, unistd.h.
4396 (VFORK_RETURN_TYPE): Remove.
427ec082 4397
d42122a3
DL
4398 * config.in: Add NO_MATHERR.
4399
dd432f16
DL
44002000-06-01 Dave Love <fx@gnu.org>
4401
90aa4ea8
DL
4402 * cmds.c (internal_self_insert): Don't check
4403 Vbefore_change_function, Vafter_change_function.
4404
4405 * insdel.c (signal_before_change, signal_after_change): Likewise.
4406
4407 * buffer.c (Vbefore_change_function, Vafter_change_function):
4408 Variables and their initializations deleted.
4409
2330c9d4
DL
4410 * callint.c (Fcall_interactively): Doc fix.
4411
dd432f16
DL
4412 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
4413
bf9e8804
DL
44142000-05-31 Dave Love <fx@gnu.org>
4415
4416 * textprop.c: Revert last change -- duplicated.
4417
3694b4ab
GM
44182000-05-31 Gerd Moellmann <gerd@gnu.org>
4419
4420 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
4421 in #if 0.
4422
4423 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
4424
f14156cd
JR
44252000-05-31 Jason Rumney <jasonr@gnu.org>
4426
8119aab8
JR
4427 * search.c (Fre_search_forward, Fre_search_backward)
4428 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
4429
f14156cd
JR
4430 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
4431
4aab9be3
JR
44322000-05-30 Jason Rumney <jasonr@gnu.org>
4433
4434 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
4435 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
4436
4437 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
4438 member.
4439
4440 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
4441 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
4442 expand a nil default_filename.
4443
4444 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
4445 pointer to glyph_to_pixel_coords, not a frame.
4446
4447 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
4448 coding.h to dependencies.
4449
4450 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
4451
4452 * w32console.c (glyph_to_pixel_coords): Change first parameter to
4453 window pointer to be consistent with w32term.c and xterm.c.
4454
4455 * w32fns.c: Format and doc changes to bring closer to xfns.c.
4456 (VIETNAMESE_CHARSET): Define if not defined in system headers.
4457 (Qline_spacing, Qcenter): New variables.
4458 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
4459 (x_set_line_spacing): New function.
4460 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
4461 macros.
4462 (x_specified_cursor_type): New function.
4463 (x_set_cursor_type): Use it.
4464 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
4465 and icon strings.
4466 (validate_x_resource_name, x_get_resource_string): Measure lengths
4467 of external strings in bytes.
4468 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
4469 GetTextExtentPoint32 with NULL title.
4470 (Fx_create_frame): Initialize Qline_spacing.
4471 (w32_load_system_font): Initialize font->double_byte_p.
4472 (x_to_w32_charset): Use Vw32_charset_info_alist.
4473 (Image, busy cursor, tooltip functions): Merged changes from
4474 xfns.c. Not yet functional on Windows.
4475
4476 * w32gui.h (W32FontStruct): Add double_byte_p member.
4477
4478 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
4479 (emacs_button_translation): Use it.
4480 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
4481 in `mask' to be set.
4482
4483 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
4484 menu strings.
4485
4486 * w32term.c: Format and doc changes to bring closer to xterm.c.
4487 (w32_char_font_type): New enum.
4488 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
4489 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
4490 (w32_encode_char): New function.
4491 (x_encode_char): Removed.
4492 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
4493 x_encode_char and w32_font_is_double_byte.
4494 (x_produce_image_glyph): Use image_ascent.
4495 (x_produce_glyphs): Use new version of w32_per_char_metric and
4496 handle NULL return value. Allow extra line spacing.
4497 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
4498 (w32_get_glyph_overhangs): Remove unicode_p param. Use
4499 w32_font_type member of glyph instead.
4500 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
4501 (fast_find_position): Make sure not to consider rows not visible
4502 in the window.
4503 (w32_read_socket) [WM_MENUSELECT]: Cannot call
4504 w32_menu_display_help with input blocked, as it can abort.
4505 (x_display_and_set_cursor): Choose cursor depending
4506 on buffer-local value of cursor_type.
4507 (x_draw_bar_cursor): Add parameter WIDTH.
4508
4509 * w32term.h (CP_DEFAULT): Define.
4510 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
4511
10fc3187
GM
45122000-05-30 Gerd Moellmann <gerd@gnu.org>
4513
4514 * search.c (Fre_search_forward, Fre_search_backward)
4515 (Fposix_search_backward, Fposix_search_forward): Doc fix.
4516
d0555360
KH
45172000-05-30 Kenichi Handa <handa@etl.go.jp>
4518
4519 * coding.c (detect_coding_iso2022): Fix code for checking
4520 CODING_CATEGORY_MASK_ISO_8_2.
4521
f1ad044f
SM
45222000-05-29 Stefan Monnier <monnier@cs.yale.edu>
4523
4524 * regex.c (PREFETCH_NOLIMIT): New function.
4525 (re_match_2_internal): Use it and adjust the end_match_2 logic.
4526
84ec3b4b
GM
45272000-05-29 Gerd Moellmann <gerd@gnu.org>
4528
66254a13
GM
4529 * syntax.c (find_defun_start): Move test for
4530 open_paren_in_column_0_is_defun_start outside of the loop.
4531
49e70dec
GM
4532 * xdisp.c (redisplay_window): Really switch buffers when
4533 displaying mode lines, and temporarily set selected_frame to the
4534 frame of the window that's redisplayed.
4535
84ec3b4b
GM
4536 * xfaces.c (free_realized_faces): Block/unblock input.
4537 (free_realized_multibyte_face): Ditto.
4538
869a3a14
DL
45392000-05-29 Dave Love <fx@gnu.org>
4540
4541 * textprop.c (Qkeymap): New variable.
4542 (syms_of_textprop): Intern it.
4543
4544 * keymap.c: Include intervals.h.
4545 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
4546
4547 * Makefile.in (keymap.o): Depend on intervals.h.
4548
4549 * keyboard.c (menu_bar_items, tool_bar_items)
4550 (Fexecute_extended_command): Deal with `keymap' property.
4551 (read_key_sequence): Track map from `keymap' property as well as
4552 `local_map'.
4553
4554 * intervals.c (get_local_map): Extra arg to allow looking for
4555 `keymap' too.
4556
4557 * intervals.h (map_property): New enum.
4558 (get_local_map): Extra arg using it.
4559 (Qkeymap): Declare.
4560
84ec3b4b 4561 * lisp.h (get_local_map): Don't declare here.
869a3a14 4562
89d0c844
KH
45632000-05-29 Kenichi Handa <handa@etl.go.jp>
4564
4565 * Makefile.in (callproc.o): Depend on composite.h.
4566
4567 * callproc.c: Include composite.h.
4568 (Fcall_process): Handle composition correctly.
4569
4570 * coding.h (coding_allocate_composition_data): Extern it.
4571 (coding_restore_composition): Likewise.
4572
4573 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
4574 yet allocated, finish decoding with result
4575 CODING_FINISH_INSUFFICIENT_CMP.
4576 (coding_allocate_composition_data): Make it non-static.
4577 (coding_restore_composition): Likewise.
4578
797a084a
EZ
45792000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
4580
4581 * charset.c (syms_of_charset): Revert last change.
4582
cf872af5
EZ
45832000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
4584
4585 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
4586 charsets as unibyte, with 1-column screen width. Sent by Kenichi
4587 Handa.
cf872af5 4588
5b1ae051
EZ
45892000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
4590
4591 * charset.c (syms_of_charset): Set width of character sets
4592 eight-bit-control and eight-bit-graphic to 1 column.
4593
34ec9ebe
GM
45942000-05-26 Gerd Moellmann <gerd@gnu.org>
4595
4596 * config.in (HAVE_SPEED_T): New define.
4597
4598 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
4599 `extern speed_t'.
4600
dd854dc2
DL
46012000-05-26 Dave Love <fx@gnu.org>
4602
4603 * coding.c (shrink_decoding_region): Initialize eol_conversion.
4604
4605 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
4606 (Fsubr_arity): New function.
4607 (syms_of_data): Install them.
4608
ba9f8f95
KH
46092000-05-26 Kenichi Handa <handa@etl.go.jp>
4610
0f3e0672
KH
4611 * charset.c (init_charset_once): Set the table bytes_by_char_head
4612 correctly.
4613
cebefb44
KH
4614 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
4615 the default fontset to what Emacs uses by default.
0f3e0672
KH
4616 (check_registry_encoding): This function deleted.
4617 (Fset_fontset_font): Remove the adhoc condition for the default
4618 fontset. Allow cons in FONTNAME.
cebefb44 4619
0f3e0672
KH
4620 * fns.c (map_char_table): Ignore char-table entries for
4621 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 4622
7a18af49
KR
46232000-05-25 Ken Raeburn <raeburn@gnu.org>
4624
4625 * emacs.c (main): Initialize keyboard syms before initializing
4626 window code, so face names are available.
4627
d2af47df
SM
46282000-05-25 Stefan Monnier <monnier@cs.yale.edu>
4629
4630 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
4631 of an anchor at the beginning of a shy-group.
4632
fc6a6a4e
GM
46332000-05-25 Gerd Moellmann <gerd@gnu.org>
4634
4635 * xdisp.c (handle_invisible_prop): Don't try to skip over
4636 invisible text if end of text is already reached.
4637
005f0d35
DL
46382000-05-25 Dave Love <fx@gnu.org>
4639
02513cdd
DL
4640 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
4641
005f0d35
DL
4642 * coding.c (encode_eol): Add null statement after label.
4643
89f6ca4e
EZ
46442000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
4645
4646 * w16select.c (Fw16_set_clipboard_data): Fix the change from
4647 2000-05-20.
4648
a4e1759e
KH
46492000-05-25 Kenichi Handa <handa@etl.go.jp>
4650
4651 * ccl.c (ccl_driver): Fix previous change.
4652
eacfd7fe
KH
46532000-05-25 Kenichi Handa <handa@etl.go.jp>
4654
46ab33a9
KH
4655 * coding.c (run_pre_post_conversion_on_str): Set point to the
4656 beginning of buffer before calling coding->post_read_conversion.
4657 (decode_coding_string): Give correct args to
4658 run_pre_post_conversion_on_str.
4659 (encode_coding_string): Likewise.
4660
eacfd7fe
KH
4661 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
4662 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
4663 eight-bit-graphic correctly.
4664
f8569325
DL
46652000-05-24 Kenichi HANDA <handa@etl.go.jp>
4666
4667 * fileio.c (Finsert_file_contents): Even if a file is not found,
4668 execute codes for setting up coding system. Call
4669 after-insert-file-functions unconditionally.
4670
04545643
GM
46712000-05-24 Gerd Moellmann <gerd@gnu.org>
4672
4673 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
4674 BSD_PGRPS are not defined.
4675
747d90ea
KH
46762000-05-24 Kenichi Handa <handa@etl.go.jp>
4677
4678 * charset.c (update_charset_table): Accept nil in LONG_NAME and
4679 DESCRIPTION.
4680 (syms_of_charset): Avoid building same strings.
4681
716e3b88
GM
46822000-05-23 Gerd Moellmann <gerd@gnu.org>
4683
4684 * lread.c (Fload): Add a comment about the meaning of
4685 Vuser_init_file being t.
4686
4687 * puresize.h (BASE_PURESIZE): Increase to 675000.
4688
4689 * s/gnu-linux.h (setpgrp): Don't define it here because this
4690 prevents compilation on GNU/Linux systems with glib 2.2.
4691
4692 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
4693 as setpgid.
427ec082 4694
9aeb39fa
EZ
46952000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
4696
4697 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
4698 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
4699 version.
4700 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
4701
29ced61b
KH
47022000-05-23 Kenichi Handa <handa@etl.go.jp>
4703
0574a2ed
KH
4704 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
4705 unconditionally.
4706
3d80f24d
KH
4707 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
4708
4709 * term.c (encode_terminal_code): Set coding->src_multibyte
4710 properly.
4711
29ced61b
KH
4712 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
4713
d7e00792
KH
47142000-05-22 Kenichi Handa <handa@etl.go.jp>
4715
c9d80d38
KH
4716 * keyboard.c (read_char): Allow character codes 128..255 to be
4717 handled by input-method-function.
4718
d7e00792
KH
4719 * insdel.c (adjust_markers_for_replace): Fix previous change.
4720 (adjust_after_replace): If PREV_TEXT is nil, call
4721 adjust_markers_for_insert, not adjust_markers_for_replace.
4722
087121cc 47232000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 4724
087121cc
GM
4725 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
4726 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
4727 [HAVE_GRANDPT]: Define.
4728 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
4729
4730 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
4731 like SYSV_PTYS.
4732
4733 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
4734
4735 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
4736
c9671f81
KH
47372000-05-20 Kenichi Handa <handa@etl.go.jp>
4738
4739 The following changes are to handle 8-bit characters in a
4740 multibyte buffer/string without facing with byte combining
4741 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
4742 eight-bit-graphic (for 0xA0..0xFF) are introduced.
4743
4744 * Makefile.in (fns.o): Depend on charset.h.
4745
4746 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
4747 convert it to unibyte.
4748 (make_string): Use parse_str_as_multibyte, not chars_in_text.
4749
4750 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
4751 apparent char boundary.
4752 (Fset_buffer_multibyte): Convert 8-bit characters in the range
4753 0x80..0x9F to/from multibyte form.
4754
4755 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
4756 to unibyte.
4757
4758 * callproc.c (Fcall_process): Always encode an argument string if
4759 it is multibyte. Setup src_multibyte and dst_multibyte members of
4760 process_coding properly.
ce75fd23 4761
c9671f81
KH
4762 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
4763 SPLIT_NON_ASCII_CHAR.
4764
4765 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
4766 as is.
4767 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
4768
4769 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
4770 variables.
4771 (SPLIT_CHARACTER_SEQ): This macro deleted.
4772 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
4773 valid.
4774 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
4775 and eight-bit-graphic.
4776 (char_to_string): Likewise. Signal an error for too large
4777 character code.
4778 (char_printable_p): Return 0 for 8-bit characters.
4779 (update_charset_table): Update iso_charset_table only when a final
4780 character is non-negative.
4781 (find_charset_in_text): Renamed from find_charset_in_str.
4782 Arguments and return value changed. Callers changed.
4783 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
4784 be -1 if CHARSET is used only internally.
4785 (Fmake_char_internal): Handle new charsets; eight-bit-control and
4786 eight-bit-graphic.
4787 (Fcharset_after): Simplified.
4788 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
4789 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
4790 (multibyte_chars_in_text): Simplified by assuming there's no
4791 invalid multibyte sequence.
4792 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
4793 str_as_unibyte): New functions.
4794 (Fstring): Simpified by assuming that byte combining never
4795 happens.
4796 (init_charset_once): Initialization for
4797 LEADING_CODE_8_BIT_CONTROL.
4798 (syms_of_charset): Intern and staticpro Qeight_bit_control and
4799 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
4800 eight-bit-control and eight-bit-graphic.
4801
4802 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
4803 CHARSET_8_BIT_GRAPHIC): New macros.
4804 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
4805 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
4806 (CHARSET_REVERSE_CHARSET): Likewise.
4807 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
4808 eight-bit-graphic.
4809 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
4810 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
4811 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
4812 encounter an invalid multibyte sequence.
4813 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
4814 sequence is always valid.
4815 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
4816 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
4817 macros.
4818 (CHAR_STRING): For 8-bit characters, call char_to_string.
4819 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
4820 multibyte sequence is always valid.
4821 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
4822 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
4823 str_as_unibyte): Extern them.
4824 (BCOPY_SHORT): Fix a bug.
4825 (CHAR_LEN): This macro deleted. Callers changed to use
4826 CHAR_BYTES.
4827 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
4828 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
4829 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
4830
bd4bde7f 4831 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
4832 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
4833 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
4834 EMIT_BYTES): New macros.
4835 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
4836 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
4837 macros deleted.
4838 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
4839 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
4840 check the validity of multibyte sequence.
4841 (decode_coding_emacs_mule): New function.
4842 (encode_coding_emacs_mule): New macro.
4843 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
4844 the source.
4845 (DECODE_ISO_CHARACTER): Just return a character code.
4846 (DECODE_COMPOSITION_START): Set coding->result instead of result.
4847 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
4848 EMIT_CHAR to produced decoded characters. Exit the loop only by
4849 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
4850 block here.
4851 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
4852 only position codes for an invalid character.
4853 (encode_designation_at_bol): Return new destination pointer. 5th
4854 arg DSTP is changed to DST.
4855 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
4856 from the source by ONE_MORE_CHAR. Don't handle the case of last
4857 block here.
4858 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
4859 macros deleted.
4860 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
4861 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
4862 TWO_MORE_BYTES to fetch a byte from the source.
4863 (encode_eol): Pay attention to coding->src_multibyte.
4864 (detect_coding, detect_eol): Preserve members src_multibyte and
4865 dst_multibyte.
4866 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
4867 (encoding_buffer_size): Set magnification to 3 for all coding
4868 systems that require encoding.
4869 (ccl_coding_driver): For decoding, be sure that the result is
4870 valid multibyte sequence.
4871 (decode_coding): Initialize coding->errors and coding->result.
4872 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
4873 and raw-text, always call decode_eol. Handle the case of last
4874 block here. If not coding->dst_multibyte, convert the resulting
4875 sequence to unibyte.
4876 (encode_coding): Initialize coding->errors and coding->result.
4877 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
4878 and raw-text, always call encode_eol. Handle the case of last
4879 block here.
4880 (shrink_decoding_region, shrink_encoding_region): Detect cases
4881 that we can't skip data more rigidly.
4882 (code_convert_region): Setup src_multibyte and dst_multibyte
4883 members of coding. For decoding, if the buffer is multibyte,
4884 convert the source sequence to unibyte in advance. For encoding,
4885 if the buffer is multibyte, convert the resulting sequence to
4886 multibyte afterward.
4887 (run_pre_post_conversion_on_str): New function.
4888 (code_convert_string): Deleted and divided into the following two.
4889 (decode_coding_string, encode_coding_string): New functions.
4890 (code_convert_string1, code_convert_string_norecord): Call one of
4891 above.
4892 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
4893 MAKE_NON_ASCII_CHAR.
4894 (Fset_terminal_coding_system_internal,
4895 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
4896 and dst_multibyte members.
4897 (init_coding_once): Initialize iso_code_class with new enum
4898 ISO_control_0 and ISO_control_1.
4899
4900 * coding.h (enum iso_code_class_type): Member ISO_control_code is
4901 devided into ISO_control_0 and ISO_control_1.
4902 (struct coding_system): New members src_multibyte, dst_multibyte,
4903 errors, and result. Delete member fake_multibyte.
4904 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
4905 nonzero.
4906 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
4907 nonzero.
4908
4909 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
4910 (Faset): Likewise.
4911
4912 * editfns.c (Fformat): Be sure to convert 8-bit characters to
4913 multibyte form.
4914 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
4915 combining occurs.
4916 (Ftranspose_region): Delete codes for handling byte combining.
4917
4918 * fileio.c (Finsert_file_contents): Setup src_multibyte and
4919 dst_multibyte members of coding. On handling REPLACE on unibyte
4920 buffer, convert the result of decode_coding to unibyte. On
4921 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 4922 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
4923 multibyteness of the source (buffer or string).
4924
4925 * fns.c (concat): Handle 8-bit characters correctly.
4926 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
4927 unibyte in the result.
4928 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
4929 valid multibyte form in the result.
4930 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
4931 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
4932 return -1, signal an error.
4933 (base64_encode_1): New arg MULTIBYTE. Get each character by
4934 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
4935 character is found, return -1.
4936 (Fbase64_decode_region): Delete codes for handling byte-combining.
4937 Treat each decoded byte as a unibyte character.
4938 (Fbase64_decode_string): Return unibyte string.
4939 (Fcompare_strings, concat, string_byte_to_char): Use
4940 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
4941 FETCH_STRING_CHAR_ADVANCE.
4942 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
4943 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
4944
4945 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
4946 SPLIT_NON_ASCII_CHAR.
4947 (fontset_ref_via_base, fontset_set): Likewise
4948
4949 * insdel.c (adjust_markers_for_record_delete): Deleted.
4950 (adjust_markers_for_insert): Argument changed. Caller changed.
4951 (adjust_markers_for_replace): Likewise.
4952 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
4953 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
4954 (copy_text): Delete unused local varialbe c_save. For converting
4955 to multibyte, be sure to make all 8-bit characters in valid
4956 multibyte form.
4957 (count_size_as_multibyte): Handle 8-bit characters correctly.
4958 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
4959 adjust_after_replace, replace_range, del_range_2)
4960 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
4961 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
4962 adjust_after_replace, replace_range, del_range_2) Delete codes for
4963 handling byte combining.
4964 (adjust_before_replace): Deleted.
427ec082 4965
c9671f81
KH
4966 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
4967 SPLIT_NON_ASCII_CHAR.
4968 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
4969 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
4970 unconditionally.
4971 (Fkey_description): Likewise.
4972
4973 * lread.c (read1): On reading multibyte string, be sure to make
4974 all 8-bit chararacters in valid multibyte form.
4975 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
4976
4977 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
4978 unconditionally.
4979
4980 * process.c (Fstart_process): GCPRO current_dir before calling
4981 Ffind_operation_coding_system. Encode arguments here.
4982 (create_process): Don't encode arguments here. Setup
4983 src_multibyte and dst_multibyte members of struct coding.
4984 (read_process_output): Setup src_multibyte and dst_multibyte
4985 members of struct coding. If the output is to multibyte buffer,
4986 always decode the output of the process. Adjust the
4987 representation of 8-bit characters to the multibyteness of the
4988 output.
4989 (send_process): Setup coding->src_multibyte according to the
4990 multibyteness of the source.
4991
4992 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
4993 unconditionally.
4994 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
4995 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
4996
4997 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
4998 CHAR_LEN.
4999
5000 * w16select.c (Fw16_set_clipboard_data): Setup members
5001 src_multibyte and dst_multibyte of coding. Adjusted for the
5002 change for find_charset_in_str.
5003 (Fw16_get_clipboard_data): Likewise.
5004
5005 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
5006 dst_multibyte of coding.
5007 (x_to_w32_font): Likewise.
5008
5009 * w32select.c (Fw32_set_clipboard_data): Setup members
5010 src_multibyte and dst_multibyte of coding. Adjusted for the
5011 change for find_charset_in_str.
5012 (Fw32_get_clipboard_data): Likewise.
5013
5014 * xdisp.c (get_next_display_element): Handle 8-bit characters
5015 correctly.
5016 (next_element_from_display_vector): Use CHAR_BYTES instead of
5017 CHAR_LEN.
5018 (disp_char_vector): Use SPLIT_CHAR instead of
5019 SPLIT_NON_ASCII_CHAR.
5020
5021 * xselect.c (selection_data_to_lisp_data): Setup members
5022 src_multibyte and dst_multibyte of coding. Adjusted for the
5023 change for find_charset_in_str.
5024 (lisp_data_to_selection_data): Likewise.
5025
5f64c9e0
GM
50262000-05-19 Gerd Moellmann <gerd@gnu.org>
5027
2b63d473
GM
5028 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
5029 buffer.
5030
5f64c9e0
GM
5031 * dispextern.h (Vimage_types): Add extern declaration.
5032
5033 * xdisp.c (Vimage_types): Moved here from xfns.c.
5034 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
5035
5036 * xfns.c (Vimages_types): Moved to xdisp.c.
5037 (syms_of_xfns): Move `image-types' to xdisp.c.
5038
5039 * w32fns.c (Vimage_types): Removed.
5040 (syms_of_w32fns): Remove `image-types'.
5041
813086ea
KH
50422000-05-18 Kenichi Handa <handa@etl.go.jp>
5043
5044 * fns.c (map_char_table): Pay attention to character number of
5045 charset. Check the validity of charset at the first level. For
5046 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
5047 the default value.
5048
5049 * fontset.c: Include "buffer.h".
5050 (fs_load_font): If the face has fontset, record the face ID in
5051 that fontset.
5052 (Finternal_char_font): New function.
5053 (accumulate_font_info): New function.
5054 (Ffontset_info): Rewritten for the new fontset implementation.
5055 (syms_of_fontset): Register Vdefault_fontset in the first element
5056 of Vfontset_table. Include Vdefault_fontset in
5057 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
5058 function.
5059
bdaebbf0
DL
50602000-05-16 Dave Love <fx@gnu.org>
5061
5062 * m/iris5d.h: Deleted -- unused.
5063
cb613bb8
GM
50642000-05-16 Gerd Moellmann <gerd@gnu.org>
5065
b15f3b77
GM
5066 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
5067 `invalid' instead of `illegal'.
5068
5069 * indent.c (Fmove_to_column): When ending within a tab, insert
5070 spaces first so that markers at the end of the tab get adjusted.
5071
835c1b36
GM
5072 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
5073 buffer list that wasn't selected in that frame.
5074
cb613bb8
GM
5075 * filelock.c (get_boot_time): To obtain an 8 char file name, which
5076 is needed on mescaline, use a 2 char prefix, and call
5077 make_temp_name with second arg non-zero.
5078
5079 * fileio.c (make_temp_name): New function, extracted from
5080 Fmake_temp_name.
5081 (Fmake_temp_name): Use it.
5082
f685bea9
EZ
50832000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
5084
5085 * window.c (coordinates_in_window): Subtract 1 when computing
5086 right_x.
5087
a1b8d58b
GM
50882000-05-15 Gerd Moellmann <gerd@gnu.org>
5089
5090 * Makefile.in (lisp): Add env.elc.
5091
5092 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
5093
a265079f
GM
50942000-05-12 Gerd Moellmann <gerd@gnu.org>
5095
5096 * search.c (Freplace_match): Handle case of `\N' in the
5097 replacement when there's no group N.
5098
da4496b6
GM
50992000-05-11 Gerd Moellmann <gerd@gnu.org>
5100
0ace421a
GM
5101 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
5102 of the message to message_dolog.
5103
1172eb8d
GM
5104 * keyboard.c (read_char): Don't clear current message for help
5105 events; let the code handling help events handle this. Change
5106 code detecting help events that should be ignored.
5107
da4496b6
GM
5108 * xdisp.c (handle_single_display_prop): Don't try to set PT if
5109 we're interating over a string.
5110
0623e40f
DL
51112000-05-09 Dave Love <fx@gnu.org>
5112
5113 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
5114 that offset before writing. Move gcpro region past call of
5115 Ffile_regular_p.
5116
bae2503b
DL
51172000-05-04 Dave Love <fx@gnu.org>
5118
5119 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
5120
ec82fb2f
GM
51212000-05-04 Gerd Moellmann <gerd@gnu.org>
5122
5123 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
5124 of inserted characters when BUF equals the current buffer, and PT
5125 is in front of or equal to FROM.
5126
cbf18892
GM
51272000-05-03 Gerd Moellmann <gerd@gnu.org>
5128
4ff40dd0
GM
5129 * xdisp.c (handle_single_display_prop): If display property value
5130 is invalid, or something not supported on the frame, restore
5131 iterator's position to what it was initially. Make sure to return
5132 0 for invalid and unsupported property values.
5133
cbf18892
GM
5134 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
5135 that x_per_char_metric returns null.
5136
1b0672c3
GM
51372000-05-02 Gerd Moellmann <gerd@gnu.org>
5138
576da55d
GM
5139 * xterm.h (struct face): Add forward declaration.
5140 (struct image): Ditto.
5141 (image_ascent): Add prototype.
5142
5143 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
5144 (x_draw_image_relief, x_draw_image_foreground_1): Call function
5145 image_ascent instead of using IMAGE_ASCENT.
5146
5147 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
5148 (IMAGE_ASCENT): Removed.
5149
5150 * xfns.c (Qcenter): New variable.
5151 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
5152 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
5153 (image_ascent): New function.
5154 (lookup_image): Recognize `:ascent center'.
5155 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
5156 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
5157 (xbm_load): Don't set image's ascent here.
5158 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
5159 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
5160 check ascent values here.
5161 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
5162 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
5163 (syms_of_xfns): Initialize Qcenter.
5164
1b0672c3
GM
5165 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
5166 to the limits, increase the limits.
5167
0d7811ed
KH
51682000-05-01 Kenichi Handa <handa@etl.go.jp>
5169
5170 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
5171 Check Vfont_encoding_alist against the full name of the opened
5172 font.
5173
a943a5ca
GM
51742000-04-28 Gerd Moellmann <gerd@gnu.org>
5175
5176 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
5177 taller than the window.
5178
5dba1e29
KH
51792000-04-28 Kenichi Handa <handa@etl.go.jp>
5180
5181 * xfaces.c (realize_x_face): Fix the argument of the second
5182 xassert. BASE_FACE may not be a face for ASCII.
5183
353964e3
GM
51842000-04-27 Gerd Moellmann <gerd@gnu.org>
5185
c76e04a8
GM
5186 * print.c (print_object): Treat print-length < 0 as nil.
5187
5188 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
5189
5190 * s/freebsd.h (TERMCAP_OBJ): Removed.
5191 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
5192
5193 * lread.c (read1): Don't treat period followed by certain
5194 characters as symbol start.
5195
5196 * xfns.c (slurp_file): New function.
5197 (xbm_image_p): Handle case of in-memory XBM files.
5198 (xbm_scan): Rewritten to work on memory buffers instead of files.
5199 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
5200 Work on memory buffers instead of files. If DATA is null test
5201 if buffer looks like an in-memory XBM file.
5202 (xbm_load_image): Renamed from xbm_load_image_file. Work on
5203 memory buffers instead of files.
5204 (xbm_file_p): New function.
5205 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
5206
353964e3
GM
5207 * lread.c (end_of_file_error): New function.
5208 (read1): Call it instead of signaling `end-of-file' directly.
5209
427ec082 5210 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
5211 with Fprinc instead of Fprin1.
5212
24d744ac
KR
52132000-04-26 Ken Raeburn <raeburn@gnu.org>
5214
5215 * window.c (freeze_window_start): Check that minibuffer scroll
5216 window isn't nil before extracting the window structure pointer
5217 from it.
5218
5219 * undo.c (record_delete): If we hit the end of the undo list, stop
5220 picking elements apart.
5221
7464346d
GM
52222000-04-26 Gerd Moellmann <gerd@gnu.org>
5223
5224 * xdisp.c (display_line): If lines are continued, restore
5225 iterator's ascent/descent information to the values before the
5226 first glyph not fitting on the line.
5227
612839b6
GM
52282000-04-25 Gerd Moellmann <gerd@gnu.org>
5229
5230 * xdisp.c (try_window_id) <all changes above window start>: Adjust
5231 positions in glyph matrix. Don't compute new window end
5232 positions.
5233
5234 * dispnew.c (increment_matrix_positions): Renamed from
5235 increment_glyph_matrix_buffer_positions.
5236 (increment_row_positions): Renamed from
5237 increment_glyph_row_buffer_positions.
5238
5239 * dispextern.h: Change names of renamed functions from dispnew.c
5240 in prototypes.
5241
cc181e95
GM
52422000-04-24 Gerd Moellmann <gerd@gnu.org>
5243
abfcc168
GM
5244 * fileio.c (Fdo_auto_save): Create directories for auto-save
5245 list file if necessary.
5246
cc181e95
GM
5247 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
5248 from buffer or frame.
5249 (automatic_hscrolling_p): New variable.
5250 (hscroll_windows): Scroll windows horizontally only if automatic
5251 hscrolling is allowed.
5252 (syms_of_xdisp): New variable `automatic-hscrolling'.
5253
5254 * frame.h (struct frame): Add member extra_line_spacing.
5255
5256 * xfns.c (x_set_line_spacing): New function.
5257 (Fx_create_frame): Set line spacing from resources.
5258 (Qline_spacing): New variable.
5259 (syms_of_xfns): Initialize Qline_spacing.
427ec082 5260
cc181e95
GM
5261 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
5262
5263 * buffer.c (init_buffer_once): Handle extra_line_spacing.
5264 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 5265 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
5266 extra_line_spacing from default value.
5267 (init_buffer_once): Initialize default value of extra_line_spacing.
5268
5269 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
5270 and extra3.
5271
5272 * xterm.c (x_produce_glyphs): Remove reference to struct it's
5273 prompt_width. Add extra line spacing.
5274
5275 * term.c (produce_glyphs): Remove reference to struct it's
5276 prompt_width.
5277
5278 * dispextern.h (struct it): Remove member prompt_width, add
5279 extra_line_spacing.
5280
58827478
GM
52812000-04-22 Gerd Moellmann <gerd@gnu.org>
5282
5283 * dispnew.c (update_frame_line): When writing a whole line, make
5284 sure cursor is in the right row afterwards, otherwise a use of
5285 capability `ch' in cmgoto might leave the cursor in the row below.
5286
25a87f42
GM
52872000-04-21 Gerd Moellmann <gerd@gnu.org>
5288
5289 * lisp.h (struct Lisp_Buffer_Cons): Remove.
5290
5291 * keyboard.c (timer_check): Fix typo in comment.
5292
54edf5c2
KH
52932000-04-21 Kenichi Handa <handa@etl.go.jp>
5294
5295 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
5296 name change: ch -> character.
5297
3a64eef5
GM
52982000-04-20 Gerd Moellmann <gerd@gnu.org>
5299
5300 * keyboard.c (echo_message_buffer): New variable.
5301 (echo_now): Set echo_message_buffer to the echo area buffer used
5302 to display the echo.
5303 (cancel_echoing): Reset echo_message_buffer to nil.
5304 (read_char): Code rewritten that handles canceling an echo or
5305 echoing a dash, respectively.
5306
5307 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
5308 directory doesn't exist.
5309
6142fdcb
DL
53102000-04-19 Dave Love <fx@gnu.org>
5311
5312 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
5313 (concat): Don't allow numeric args.
5314 (Fconcat): Doc change.
6142fdcb 5315
ac6b5352
SM
53162000-04-19 Stefan Monnier <monnier@cs.yale.edu>
5317
5318 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
5319 instead define end_match(1|2) more carefully.
5320 Use GET_CHAR_BEFORE_2 for `begline'.
5321
cb9215e4
GM
53222000-04-19 Gerd Moellmann <gerd@gnu.org>
5323
5e3dac3f
GM
5324 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
5325 on 64-bit systems where NULL is defined as `0'.
5326
5327 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
5328 the `variable argument list' to make it work on Alpha.
5329
cb9215e4
GM
5330 * m/alpha.h (_LP64) [!_LP64]: Define.
5331 (ORDINARY_LINK): Define for NetBSD.
5332
5333 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 5334
f532dca0
DL
53352000-04-19 Dave Love <fx@gnu.org>
5336
c750667e
DL
5337 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
5338 change.
5339
5340 * Makefile.in (LIBS): Don't use.
5341 (GETLOADAVG_OBJ): Define again.
5342 (otherobj): Add GETLOADAVG_OBJ.
5343
f532dca0
DL
5344 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
5345
1c7e22fd
GM
53462000-04-18 Gerd Moellmann <gerd@gnu.org>
5347
f6d3257b
GM
5348 * lread.c (read_filtered_event): Cancel and start busy cursor.
5349
427ec082 5350 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
5351 that the per-character metrics may be null.
5352
e10f64e7
GM
53532000-04-17 Gerd Moellmann <gerd@gnu.org>
5354
0daee095
GM
5355 * buffer.c (clone_per_buffer_values): New function.
5356 (Fmake_indirect_buffer): Add optional argument CLONE. Call
5357 clone_per_buffer_values if CLONE is not nil.
5358
e10f64e7
GM
5359 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
5360
38687d43
DL
53612000-04-16 Dave Love <fx@gnu.org>
5362
5363 * Makefile.in: Remove obsolete localcpp stuff.
5364 (GETLOADAVG_OBJ): Don't define.
5365 (obj): Move LIBOBJS...
5366 (otherobj): ... to here.
5367 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
5368 whitespace-only lines after the continuation (Irix).
5369
c21c7262
GM
53702000-04-14 Gerd Moellmann <gerd@gnu.org>
5371
5372 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
5373
5374 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
5375
314767c0
DL
53762000-04-14 Dave Love <fx@gnu.org>
5377
5378 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
5379 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
5380 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
5381 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
5382 NLIST_STRUCT.
5383
5384 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
5385 autoconfiscated HAVE_GETLOADAVG.
5386
5387 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
5388 BROKEN_MKTIME.
5389
a2522dca
GM
53902000-04-14 Gerd Moellmann <gerd@gnu.org>
5391
5392 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
5393 (fill_in_lock_file_name): Avoid existing files that aren't
5394 links.
5395
33744b5d
DL
53962000-04-14 Dave Love <fx@gnu.org>
5397
c21c7262 5398 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
5399 (INTERVAL_SRC): Convert to make variable.
5400 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
5401 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
5402 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
5403 add LIBOBJS.
5404 (SOME_MACHINE_OBJECTS): Remove interval stuff.
5405 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
5406 (shortlisp): Add facemenu, float-sup, frame.
5407 (SOME_MACHINE_LISP): Remove them from here.
5408 (LIBES): Change unused LDLIBS to autoconf LIBS.
5409
5410 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
5411
9d3d5916
KH
54122000-04-14 Kenichi Handa <handa@etl.go.jp>
5413
5414 * composite.c (update_compositions): If FROM and TO are not in a
5415 valid range, do nothing.
5416
198e3c7a
GM
54172000-04-13 Gerd Moellmann <gerd@gnu.org>
5418
5419 * tparam.c (tparam1): Abort when encountering an unknown
5420 `%'-specifier.
5421
5422 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
5423 terminfo.o.
5424
5425 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
5426 as TERMCAP_OBJ.
5427
055a28c9
EZ
54282000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
5429
5430 * fileio.c (a_write): Remove redundant semi-colons.
5431 (e_write): Return -1 if failed to write all the data.
5432 This fixes the changes made at 1999-12-15.
5433
f5c75033
DL
54342000-04-12 Dave Love <fx@gnu.org>
5435
5436 * fns.c (mapcar1): Test for null vals to support mapc.
5437 (Fmapc): New function.
5438
0c3cfc51
EZ
54392000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
5440
5441 * msdos.c (NUM_MOUSE_BUTTONS): Define.
5442 (IT_frame_up_to_date): Support the buffer local value of
5443 cursor-type, if defined.
5444
33465a31
DL
54452000-04-10 Dave Love <fx@gnu.org>
5446
5447 * editfns.c (preceding-char, following-char): Doc fix.
5448
6ed56568
KR
54492000-04-10 Ken Raeburn <raeburn@gnu.org>
5450
5451 * Makefile.in (temacs): Revert 2000-03-12 change.
5452
7cf80d4e
JR
54532000-04-10 Jason Rumney <jasonr@gnu.org>
5454
5455 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
5456
34f3f342
GM
54572000-04-10 Gerd Moellmann <gerd@gnu.org>
5458
1a1b1895
GM
5459 * xdisp.c (setup_echo_area_for_printing): Choose an echo
5460 area buffer, if it's not set up yet.
5461
34f3f342
GM
5462 * indent.c (compute_motion): Set immediate_quit.
5463
be0dbdab
GM
54642000-04-09 Gerd Moellmann <gerd@gnu.org>
5465
c45be9ac
GM
5466 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
5467 variable.
5468 (realize_tty_face): Suppress boldness if colors are the inverse of
5469 the default colors, and tty_suppress_bold_inverse_default_colors_p
5470 is set.
5471 (Ftty_suppress_bold_inverse_default_colors): New function.
5472 (syms_of_xfaces): Defsubr it.
5473
be0dbdab
GM
5474 * buffer.c (Frestore_buffer_modified_p): New function.
5475 (syms_of_buffer): Defsubr it.
5476
e8413c3b
KR
54772000-04-08 Ken Raeburn <raeburn@gnu.org>
5478
87f67317
KR
5479 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
5480 charset id (int) argument, not a charset (Lisp_Object).
5481
e8413c3b
KR
5482 * coding.h (code_convert_string): Declare.
5483 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
5484 object, as the fourth argument to code_convert_string.
5485
5486 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
5487 value.
5488 (Fset_fontset_font): Use EQ to compare lisp objects.
5489
7c752c80
KR
54902000-04-05 Ken Raeburn <raeburn@gnu.org>
5491
c0333abc
KR
5492 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
5493 a pointer that looks like a lisp object.
5494 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
5495 zero, instead see whether it's an integer object, since they can't
5496 have intervals.
5497 (GET_INTERVAL_OBJECT): Simply assign to the destination.
5498
7c752c80
KR
5499 * dispnew.c (allocate_matrices_for_frame_redisplay,
5500 direct_output_forward_char): Use X(U)INT and make_number as needed
5501 to convert between (unsigned) int values and lisp integers.
5502 * keyboard.c (read_key_sequence): Likewise.
5503 * lread.c (substitute_object_recurse): Likewise.
5504 * fns.c (concat, hash_lookup, hash_remove): Likewise.
5505 * minibuf.c (do_completion, Fminibuffer_complete_word,
5506 Fminibuffer_completion_help): Likewise.
5507 * term.c (produce_special_glyphs): Likewise.
5508
5509 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
5510 * print.c (print_preprocess, print_object): Likewise.
5511
5512 * search.c (compile_pattern): Use NILP when checking for nil.
5513
74e49b38
KR
5514 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
5515 __OPTIMIZE__]: Provide a GNU C macro version that handles
5516 lisp-object unions.
5517 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
5518 field, to better cope with ENABLE_CHECKING and calls that modify a
5519 Lisp_Object using its old value.
5520
685e5ed2
GM
55212000-04-04 Gerd Moellmann <gerd@gnu.org>
5522
c407c570
GM
5523 * window.c (compare_window_configurations): Signal an error
5524 if parameters C1 or C2 aren't window configurations.
5525
685e5ed2
GM
5526 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
5527 AFTER_POTENTIAL_GC calls around calls to functions that can
5528 signal an error and thus invoke the debugger.
5529
587a49ab
GM
55302000-04-03 Gerd Moellmann <gerd@gnu.org>
5531
62f20204
GM
5532 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
5533 an error if decoding fails.
5534
587a49ab
GM
5535 * keyboard.c (lispy_mouse_names): Variable removed.
5536 (Vlispy_mouse_stem): New variable.
5537 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
5538 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
5539 for any mouse button number. Increase size of mouse_syms and
5540 button_down_location as needed. Call modify_event_symbol with
5541 different arguments.
5542 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
5543 Call modify_event_symbol with different arguments.
5544 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
5545 for any button number. Call modify_event_symbol with different
5546 arguments.
5547 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
5548 Accept a string for NAME_ALIST_OR_STEM.
5549
5550 * lisp.h (larger_vector): Add prototype.
5551
5552 * fns.c (larger_vector): Make externally visible.
5553
5554 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
5555
2d1675e4
SM
55562000-04-02 Stefan Monnier <monnier@cs.yale.edu>
5557
5558 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
5559 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
5560 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
5561 we are between str1 and str2.
5562 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
5563 (PATFETCH): Use `TRANSLATE'.
5564 (PATFETCH_RAW): Fetch multibyte char if applicable.
5565 (PATUNFETCH): Remove.
5566 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
5567 When writing a char, write it directly into the pattern buffer rather
5568 than going needlessly through a temp char-array.
5569 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
5570 multibyte magic and remove the useless `#ifdef emacs'.
5571 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
5572 buffer.
5573
5574 * regex.h (struct re_pattern_buffer): Make field `multibyte'
5575 conditional on `emacs'.
5576
5577 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
5578
cc2d8c6b
KR
55792000-04-01 Ken Raeburn <raeburn@gnu.org>
5580
5581 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
5582 non-union-type versions of XMARK and friends here, because XMARK
5583 and friends won't work on an integer field if NO_UNION_TYPE is not
5584 defined.
5585 (make_number): Define as a function if it's not defined as a
5586 macro.
5587
09654086
KR
5588 * composite.c (run_composite_function): Use NILP when checking for
5589 nil.
5590 (syms_of_composite): Delete local var NARGS, pass an int as first
5591 argument to Fmake_hash_table.
5592
2387b382
KR
5593 * editfns.c (text_property_stickiness): Use NILP to test
5594 Lisp_Object boolean value.
5595 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
5596 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
5597 problems reading from and changing the same lisp value in an
5598 XSETSTRING call.
5599
27660e89
GM
56002000-04-01 Gerd Moellmann <gerd@gnu.org>
5601
5602 * term.c (TN_no_color_video): New variable.
5603 (term_init): Intitialize TN_no_color_video.
5604 (enum no_color_bit): New enumeration.
5605 (MAY_USE_WITH_COLORS_P): New macro.
5606 (turn_on_face): Use it to determine if attributes may be used
5607 combined with colors.
5608
3578db3c
KR
56092000-04-01 Ken Raeburn <raeburn@gnu.org>
5610
5611 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
5612 with int lvalues via casts; instead, just yield lisp object
5613 lvalues.
5614 (enlarge_window): Variable sizep now points to Lisp_Object. Use
5615 proper accessor macros.
5616 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
5617 (grow_mini_window): Fix typo getting int value of root->height.
5618
6fc556fd
KR
5619 * xdisp.c (compute_string_pos): Fix order of arguments to
5620 string_pos_nchars_ahead.
5621 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
5622 count arg to variable-arg routines like Frun_hook_with_args and
5623 Fformat.
587a49ab
GM
5624 (back_to_previous_visible_line_start)
5625 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
5626 fixed-arg routines like Fget_char_property and Fmake_string.
5627 (reconsider_clip_changes): Use XINT when comparing integer lisp
5628 objects, or passing them as int arguments.
587a49ab
GM
5629 (mark_window_display_accurate, insert_left_trunc_glyphs)
5630 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
5631 storing or passing integer values as lisp objects.
5632 (set_cursor_from_row, highlight_trailing_whitespace): Use
5633 INTEGERP, not implicit test against zero, for glyph object.
5634 (try_window_id): Don't use make_number when we want an int value.
5635
5636 * xfaces.c (xlfd_symbolic_value): Make last argument a
5637 Lisp_Object, to be consistent with callers.
5638 (Fbitmap_spec_p): Use XINT to get numeric value of height.
5639 (lface_hash): Apply XFASTINT to lisp values before folding in.
5640
5641 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
5642 fill in window width and height. Pass an int, not a lisp object,
5643 as first arg to Finsert.
5644
6e7b2457
GM
56452000-04-01 Gerd Moellmann <gerd@gnu.org>
5646
610d841e
GM
5647 * xfaces.c (realize_basic_faces): Block input while realizing
5648 the faces.
5649
6e7b2457
GM
5650 * keyboard.c (lispy_mouse_names): Add additional mouse names.
5651
5652 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
5653
aa110c0c
GM
56542000-03-31 Gerd Moellmann <gerd@gnu.org>
5655
5656 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 5657 or ASCII, handle case that per-char metric is null.
aa110c0c 5658
8801a864
KR
56592000-03-30 Ken Raeburn <raeburn@gnu.org>
5660
c6129d7e
KR
5661 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
5662
8801a864
KR
5663 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
5664 XSUBR, XBUFFER): Verify correct object type before returning
5665 pointer, using eassert.
5666 * frame.h (XFRAME): Likewise.
5667
5668 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
5669 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
5670 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
5671 type.
5672 * data.c (set_internal): Likewise.
5673 * dispextern.h (WINDOW_WANTS_MODELINE_P,
5674 WINDOW_WANTS_HEADER_LINE_P): Likewise.
5675 * fileio.c (auto_save_1): Likewise.
5676 * insdel.c (check_markers): Likewise.
5677 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
5678 * undo.c (record_insert): Likewise.
5679 * vmsproc.c (child_sig): Likewise.
5680 * window.c (unshow_buffer, window_loop): Likewise.
5681 * xterm.c (x_erase_phys_cursor): Likewise.
5682
8e7af858
GM
56832000-03-30 Gerd Moellmann <gerd@gnu.org>
5684
5685 * xfns.c (free_image_cache): Free the cache structure itself
5686 last, after all its members have been freed.
5687
5688 * lisp.h (xstrdup): Add prototype.
5689
5690 * alloc.c (xstrdup): Moved here from xfaces.c.
5691 (allocating_for_lisp): Variable removed.
5692 (lisp_malloc): Block input around the calls to malloc and
5693 mem_insert.
5694
5695 * xfaces.c (realize_tty_face): Use find_symbol_value instead
5696 of Fsymbol_value.
5697 (xstrdup): Moved to alloc.c.
5698
e0b8c689
KR
56992000-03-29 Ken Raeburn <raeburn@gnu.org>
5700
b96f9fb7
KR
5701 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
5702
5703 * emacs.c (main): Fix sense of no-loadup test.
5704
e0b8c689
KR
5705 * config.in (ENABLE_CHECKING): Undef.
5706
5707 * lisp.h (struct interval): Replace "parent" field with a union of
5708 interval pointer and Lisp_Object; add new bitfield to use as
5709 discriminant. Change other flag fields to bitfields.
5710 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
5711 is defined and the supplied test fails, print a message and
5712 abort.
5713 (eassert): New macro. Use CHECK to provide an assert-like
5714 facility.
5715
5716 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
5717 pointers; abort if the value looks like a lisp object.
5718 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
5719 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
5720 Modify for new interval parent definition.
5721
5722 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
5723 UNMARK_BALANCE_INTERVALS): Update references that need an
5724 addressable lisp object in the interval structure.
5725 (die): New function.
5726 (suppress_checking): New variable.
5727
5728 * intervals.c (interval_start_pos): Just return 0 if there's no
5729 parent object.
5730
f83c5440
GM
57312000-03-29 Gerd Moellmann <gerd@gnu.org>
5732
5733 * lread.c (read1): Accept `.' (period) as symbol start like in CL
5734 and earlier Emacs versions.
5735
5736 * keyboard.c (Ftop_level): Cancel busy-cursor.
5737
5738 * eval.c (call_debugger): Cancel busy-cursor.
5739
fdce64ff
KH
57402000-03-29 Kenichi Handa <handa@etl.go.jp>
5741
5742 * search.c (Freplace_match): Adjust multibyteness of the current
5743 buffer and NEWTEXT. Free allocated memory before signaling an
5744 error.
5745
f6a3f532
SM
57462000-03-28 Stefan Monnier <monnier@cs.yale.edu>
5747
5748 * regex.c (analyse_first): New function obtained by ripping out most
5749 of re_compile_fastmap and generalizing it a little bit so that it
5750 can also just return whether a given (sub)pattern can match the empty
5751 string or not.
5752 (regex_compile): Use `analyse_first' to decide whether the loop-check
5753 needs to be done or not for *, +, *? and +? (the loop check is costly
5754 for non-greedy repetition).
5755 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
5756
e9b309ac
DL
57572000-03-28 Dave Love <fx@gnu.org>
5758
bb15bd9a
DL
5759 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
5760 alpha.
5761
e9b309ac
DL
5762 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
5763
ed0767d8
SM
57642000-03-27 Stefan Monnier <monnier@cs.yale.edu>
5765
5766 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
5767 an expression.
5768 (enum re_opcode_t): Update description of succeed_n.
5769 (PATFETCH): Always define.
5770 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
5771 operators, char classes, shy-groups and intervals).
5772 Optimize special cases of intervals so as to only use succeed_n and
5773 jump_n when really needed.
5774 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
5775 that we don't have to handle the special cases any more.
5776 Simplify on_failure_jump handling as well.
5777
e11e7e46
JR
57782000-03-28 Jason Rumney <jasonr@gnu.org>
5779
5780 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
5781
88faab89
GM
57822000-03-27 Gerd Moellmann <gerd@gnu.org>
5783
182ff242
GM
5784 * s/freebsd.h (GC_SETJMP_WORKS): Define.
5785
5786 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 5787
182ff242
GM
5788 * alloc.c (mark_maybe_object): New function.
5789 (mark_memory): Use it.
5790 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
5791 (setjmp_tested_p, longjmp_done): New variables.
5792 (test_setjmp): New function.
5793 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
5794 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
5795
c1005d06
GM
5796 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
5797 to DEC_TEXT_POS and INC_TEXT_POS.
5798
5799 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
5800 with parameter MULTIBYTE_P.
5801
427ec082 5802 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
5803 MULTIBYTE_P.
5804
7439e5b9 5805 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
5806 buffers because it looks for multibyte character byte sequences
5807 which don't exist in unibyte text.
7439e5b9 5808
d9c545da
GM
5809 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
5810
11fd416e 5811 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
5812 [DEBUG_X_COLORS]: New functions.
5813 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
5814
5815 * xfns.c (x_set_cursor_color): Get color reference counts right.
5816
5817 * xterm.c (x_copy_color): New function.
5818 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
5819
5820 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
5821 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
5822 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
5823 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
5824 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
5825 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
5826 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
5827 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
5828 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
5829 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
5830
11fd416e
GM
5831 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
5832 names for handling per-buffer variables.
d9c545da
GM
5833
5834 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
5835 instead of MAX_BUFFER_LOCAL_VARS.
5836 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
5837
5838 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
5839
88faab89
GM
5840 * xfns.c (x_specified_cursor_type): New function.
5841 (x_set_cursor_type): Use it.
5842
5843 * buffer.h (struct buffer): Add cursor_type.
5844
d80f42b7
SM
58452000-03-26 Stefan Monnier <monnier@cs.yale.edu>
5846
5847 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 5848 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 5849 opcode.
d80f42b7
SM
5850 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
5851 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
5852 executing it as well as when popping it off the stack to find infinite
5853 loops in non-greedy repetition operators.
5854
89e80928
GM
58552000-03-26 Gerd Moellmann <gerd@gnu.org>
5856
3d4ff2dd
GM
5857 * doc.c (Qfunction_documentation): New variable.
5858 (syms_of_doc): Initialize Qfunction_documentation.
5859 (Fdocumentation): If FUNCTION is a symbol with non-nil
5860 `function-documentation' property, return a documentation derived
5861 from that.
5862
bd96bd79
GM
5863 * buffer.c (syms_of_buffer): Add default-cursor-type.
5864 (init_buffer_once): Don't let cursor_type have a local value
5865 in every buffer.
5866
19d1bc27
GM
5867 * xterm.c (x_display_and_set_cursor): Choose cursor depending
5868 on buffer-local value of cursor_type.
5869 (x_draw_bar_cursor): Add parameter WIDTH.
5870
5871 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
5872 (init_buffer_once): Set default cursor_type value to t.
5873 Mark cursor_type as local everywhere.
5874 (syms_of_buffer): New per-buffer variable cursor-type.
5875
89e80928
GM
5876 * buffer.h (struct buffer): Remove member local_var_flags,
5877 add local_flags.
5878 (MAX_BUFFER_LOCAL_VARS): New macro.
5879 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
5880 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
5881 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
5882 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
5883
5884 * print.c (print_object): Use new macros for per-buffer
5885 variables.
5886
5887 * category.c (Fset_category_table): Use new macros for per-buffer
5888 variables.
5889
5890 * buffer.c (buffer_permanent_local_flags): Make a char array.
5891 (max_buffer_local_idx): New variable.
5892 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
5893 for new handling of per-buffer variables.
5894 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
5895 (init_buffer_once): Initialize per-buffer vars differently.
5896 Set max_buffer_local_idx.
5897
5898 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
5899 variables.
5900
5901 * lread.c (defvar_per_buffer): Use new macros for per-buffer
5902 variables.
5903
5904 * data.c (do_symval_forwarding, store_symval_forwarding)
5905 (find_symbol_value, set_internal, default_value, Fset_default)
5906 (Fkill_local_variable, Flocal_variable_p): Use new macros for
5907 per-buffer variables.
5908
5909 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
5910
9a0dd3dc
GM
59112000-03-24 Gerd Moellmann <gerd@gnu.org>
5912
b68c375f
GM
5913 * xterm.c (x_term_init): Unblock input around call1 of
5914 Qvendor_specific_keysyms.
5915
9a0dd3dc
GM
5916 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
5917 (find_defun_start): Consider an open parenthesis in column 0
5918 a defun start only if open_paren_in_column_0_is_defun_start is set.
5919 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
5920
7973e637
SM
59212000-03-24 Stefan Monnier <monnier@cs.yale.edu>
5922
5923 * eval.c (Fautoload): Add entry in load-history (if after dump).
5924 * lread.c (load-history): Update docstring.
5925
39210e90
GM
59262000-03-24 Gerd Moellmann <gerd@gnu.org>
5927
5928 * indent.c (Fvertical_motion): Always use the current buffer.
5929 Temporarily change the window's buffer, if necessary.
5930
72db3ab5
GM
59312000-03-23 Gerd Moellmann <gerd@gnu.org>
5932
5933 * xterm.c (fast_find_position): Make sure not to consider rows
5934 not visible in the window.
5935
990b2375
SM
59362000-03-22 Stefan Monnier <monnier@cs.yale.edu>
5937
5938 * regex.c (enum syntaxcode): Provide default for non-Emacs.
5939 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
5940
ff4df011
JR
59412000-03-22 Jason Rumney <jasonr@gnu.org>
5942
5943 * w32menu.c (single_submenu): Set help string to NULL if none.
5944 (w32_menu_show): Set help string correctly.
5945 (add-menu-item): Set help string in MIIM_DATA for menu item.
5946 Load SetMenuItemInfoA explicitly.
5947 (w32_menu_display_help): New function.
427ec082 5948
ff4df011
JR
5949 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
5950 (QCdata): Moved to xdisp.c.
5951
5952 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
5953 (Vw32_charset_to_codepage_alist): Removed.
5954 (Vw32_charset_info_alist): New variable.
5955 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
5956 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
5957 greek, hebrew, thai, johab, mac, unicode]): New symbols.
5958 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
5959 with TODO comment.
5960 (w32_codepage_for_font): Use Vw32_charset_info_alist.
5961 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
5962 Define Vw32_charset_info_alist and w32_charset symbols.
5963
59642000-03-22 Jason Rumney <jasonr@gnu.org>
5965
5966 * makefile.nt (w32bdf.obj): Update dependencies.
5967
5968 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
5969
5970 * w32fns.c: Include fontset.h after dispextern.h.
5971 (Fx_create_frame): Do not create fontset.
5972 (w32_load_system_font): Doc fix.
5973 (Fx_close_connection): Free full_name if it is not shared.
5974
5975 * w32term.c: Include fontset.h after dispextern.h.
5976 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
5977 updated.
5978 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
5979 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
5980 (w32_font_is_double_byte): New function, needs body.
5981 (x_append_glyph): Set glyph->glyph_not_available_p.
5982 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
5983 it->charset. If it->multibyte_p is zero and it->c is a multibyte
5984 character, convert it to a unibyte character.
5985 (struct glyph_string): Delete member `charset'.
5986 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
5987 calculating it is found.
5988 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
5989 the case that per char metric is not available correctly.
5990 (x_fill_glyph_string): Handle the case that the specific glyph is
5991 not available correctly.
5992 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
5993 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
5994 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
5995 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
5996 fontset. Don't call FS_LOAD_FONT.
5997
439d5cb4
KR
59982000-03-22 Ken Raeburn <raeburn@gnu.org>
5999
6000 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
6001 (INT_LISPLIKE): New macro.
6002 (NULL_INTERVAL_P): Use it.
6003 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
6004 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
6005 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
6006
6007 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
6008 explicit references to "parent" field of struct interval and
6009 associated unclean type conversions.
6010 * intervals.c (create_root_interval, root_interval, rotate_right,
6011 rotate_left, balance_possible_root_interval, split_interval_right,
6012 split_interval_left, interval_start_pos, find_interval,
6013 next_interval, previous_interval, update_interval,
6014 adjust_intervals_for_insertion, delete_node, delete_interval,
6015 adjust_intervals_for_deletion, merge_interval_right,
6016 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
6017 copy_intervals_to_string): Likewise.
6018 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
6019 Likewise.
6020 * syntax.c (update_syntax_table): Likewise.
6021
6022 * intervals.c (reproduce_tree_obj): New function, like
6023 reproduce_tree but takes a Lisp_Object for the parent. Declare
6024 with prototype.
6025 (graft_intervals_into_buffer): Use it when appropriate.
6026 (reproduce_tree): Declare with prototype.
6027 (balance_possible_root_interval): Check that the parent is a lisp
6028 object before trying to examine its type.
6029
ee1c5b21
GM
60302000-03-22 Gerd Moellmann <gerd@gnu.org>
6031
6032 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
6033 as strings only if both are known to be strings.
6034
6035 * s/openbsd.h (LIBS_TERMCAP): Undef.
6036
1fb352e0
SM
60372000-03-21 Stefan Monnier <monnier@cs.yale.edu>
6038
6039 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
6040 definitions for non-Emacs compilation.
6041 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
6042 outside of `#ifdef emacs'.
6043 (print_partial_compiled_pattern): Update.
6044 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
6045 (re_compile_fastmap): Merge handling of charset and charset_not (for
6046 emacs and non-emacs compilation as well).
6047 Similarly for (not)categoryspec and (not)syntaxspec.
6048 Don't use the fastmap when reaching `anychar' since the added
6049 complexity is not justified.
6050 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
6051 and (not)syntaxspec. Merge (not)categoryspec.
6052
fdaa1f77
KH
60532000-03-22 Kenichi Handa <handa@etl.go.jp>
6054
ff1a0d8e
KH
6055 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
6056 FACE_FOR_CHAR): Define them differently for the configuration of
6057 --without-x.
fdaa1f77 6058
d152fb46
DL
60592000-03-21 Dave Love <fx@gnu.org>
6060
6061 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
6062 doc string.
6063
d2cafc8c
GM
60642000-03-21 Gerd Moellmann <gerd@gnu.org>
6065
6066 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
6067 (lface_fully_specified_p): Don't check contents of
6068 LFACE_FONT_INDEX because that attribute is optional.
6069 (realize_x_face): Remove now unwarranted xassert.
6070
9111d4b5
KH
60712000-03-21 Kenichi HANDA <handa@etl.go.jp>
6072
6073 The following changes are to make font selection based on
6074 characters, not charset. In addition, they recover fontset
6075 facilities while utilizing the new font selection mechanism.
6076
6c4bfdc0
KH
6077 * Makefile.in (fontset.o): Depend on dispextern.h.
6078
6079 * alloc.c (mark_face_cache): Don't mark face->registry.
6080
9111d4b5
KH
6081 * dispextern.h (struct glyph): New member glyph_not_available_p.
6082 Use 22 bits for face_id.
6083 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
6084 (struct face): Delete member registry, new member ascii_face.
6085 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
6086 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
6087 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
6088 (struct it): Delete member charset, new member
6089 glyph_not_available_p.
6090
6091 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
6092 (struct fontset_info, struct fontset_data): Structs removed.
6093 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
6094 Vglobale_fontset_alist, font_idx_temp): Externs removed.
6095 (fs_load_font, fs_query_fontset): Adjusted for new argument.
6096 (fs_free_face_fontset, fontset_font_pattern,
6097 face_suitable_for_char_p, face_for_char,
6098 make_fontset_for_ascii_face): Extern them.
6099 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
6100 (FS_LOAD_FACE_FONT): New macro.
6101
6102 * fontset.c: All codes rewritten or adjusted for the change of
6103 fontset implementation. Now fontset is represented by char table.
6104 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
6105 removed.
6106 (my_strcasecmp): Function removed.
6107 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
6108 variables.
6109 (AREF, ASIZE): New macros.
6110 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
6111 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
6112 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
6113 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
6114 fontset_id_valid_p, font_family_registry, fontset_name,
6115 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
6116 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
6117 New functions.
6118 (fs_load_font): New arg FACE. Caller changed.
6119 (fs_query_fontset): Argument changed. Caller changed.
6120 (Fquery_fontset): call fs_query_fontset.
6121 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
6122 Functions removed.
6123 (clear_fontset_elements, check_registry_encoding,
6124 check_fontset_name): New functions.
6125 (syms_of_fontset): Set char-table-extra-slots property of fontset
6126 to 3. Staticpro and initialize Vfontset_table and
6127 Vdefault_fontset. Defsubr fontset_font and fontset_list.
6128
6129 * frame.h (struct frame): Member `fontset_data' removed.
6130 (FRAME_FONTSET_DATA): Macro removed.
6131
6132 * frame.c (make_frame): Don't allocate f->fontset_data.
6133 (Fdelete_frame): Don't free f->fontset_data.
6134
6c4bfdc0
KH
6135 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
6136
9111d4b5
KH
6137 * xdisp.c (charset_at_position): Function removed.
6138 (init_iterator): Don't set member charset of struct `it'.
6139 (handle_face_prop, reseat_to_string, set_iterator_to_next,
6140 next_element_from_display_vector, insert_left_trunc_glyphs):
6141 Likewise.
6142 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
6143 FACE_FOR_CHARSET.
6144 (get_next_display_element, append_space,
6145 extend_face_to_end_of_line): Likewise.
6146
6147 * xfaces.c (Qx_charset_registry, Vface_default_registry):
6148 Variables removed.
6149 (clear_font_table, frame_update_line_height, load_face_font):
6150 Adjusted for the change of fontset implementation.
6151 (load_face_fontset_font): Function removed.
6152 (pixel_point_size): New function.
6153 (font_list): Argument type changed. Caller changed.
6154 (LFACE_FONT): New macro.
6155 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
6156 (set_lface_from_font_name): Type of arg FONTNAME is changed to
6157 Lisp_Object. Determine the font name by actually loading a font
6158 by the specified pattern. Set LFACE_FONT (lface) to the specified
6159 pattern. Even if a font is not found, don't try alternatives.
6160 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
6161 (set_font_frame_param): If `font' is specified in lface, use it.
6162 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
6163 (lface_same_font_attributes_p): Likewise.
6164 (make_realized_face): Arguent changed. Caller changed. Set
6165 face->ascii_face to face itself.
6166 (free_realized_face): Free face->fontset if face is for ASCII.
6167 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
6168 deduce_unibyte_registry, x_charset_registry): Functions removed.
6169 (free_realized_multibyte_face): New function.
6170 (lookup_face, lookup_named_face, lookup_derived_face): Argument
6171 changed. Caller changed.
6172 (try_font_list): Argument type changed.
6173 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
6174 (choose_face_font): Argument changed. Handle fontset properly.
6175 (choose_face_fontset_font): Function removed.
6176 (realize_default_face, realize_named_face): Don't remove the
6177 former face here.
6178 (realize_face): Argument changed. Caller changed. Remove face
6179 with the arg former_face_id in advance. Load font for the new
6180 face.
6181 (realize_x_face): Argument changed. Caller changed. For a
6182 multibyte character, share fontset with base_face. For a single
6183 byte character, make a new realized fontset. Don't load a font
6184 here.
6185 (realize_tty_face): Argument changed. Caller changed.
6186 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
6187 (face_at_buffer_position): Don't check multibyte_p for returning
6188 DEFAULT_FACE_ID.
6189 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
6190 FACE_SUITABLE_FOR_CHARSET_P.
6191 (syms_of_xfaces): Remove code for Qx_charset_registry and
6192 Vface_default_registry.
6193
6c4bfdc0
KH
6194 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
6195 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
6196 (x_per_char_metric): Don't try FONT->default_char. Even if
6197 pcm->width is zero, glyph bits may exist.
6198 (x_encode_char): Always initialize char2b->byte1.
6199 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
6200 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
6201 changed.
6202 (x_append_glyph): Set glyph->glyph_not_available_p.
6203 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
6204 it->charset. Handle the case that per char metric is not
6205 available. If it->multibyte_p is zero and it->c is a multibyte
6206 character, convert it to a unibyte character.
6207 (struct glyph_string): Delete member `charset'.
6208 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
6209 the case that per char metric is not available correctly.
6210 (x_fill_glyph_string): Handle the case that the specific glyph is
6211 not available correctly.
6212 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
6213 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
6214 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
6215 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
6216 fontset. Don't call FS_LOAD_FONT.
6217
6218 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
6219 (x_create_tip_frame): Likewise.
6220 (Fx_close_connection): Free full_name of font_info.
6221
6222 * fns.c (optimize_sub_char_table): New function.
6223 (Foptimize_char_table): New function.
6224 (syms_of_fns): Defsubr Soptimize_char_table.
6225
b33dd3b0
GM
62262000-03-20 Gerd Moellmann <gerd@gnu.org>
6227
6228 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
6229 only if buffer is displayed in some window.
6230
6231 * xdisp.c (handle_single_display_prop): Initialize local `value'.
6232 (try_window_reusing_current_matrix): Don't call scroll run
6233 function if run's current and desired position are the same;
6234 this prevents cursor flickering.
6235
4e8a9132
SM
62362000-03-19 Stefan Monnier <monnier@cs.yale.edu>
6237
6238 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
6239
6240 * regex.c (RE_STRING_CHAR): New macro.
6241 (GET_CHAR_AFER_2): Remove.
6242 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
6243 (enum re_opcode_t): Remove on_failure_jump_exclusive.
6244 (print_partial_compiled_pattern, re_compile_fastmap)
6245 (re_match_2_internal): Remove on_failure_jump_exclusive.
6246 (regex_compile): Turn optimizable P+ loops into PP*, so that the
6247 optimization only need to work for * (ie. can use of_keep_string_jump).
6248 Remove the special case for .*\n since it is now covered by the general
6249 optimization.
6250 (re_search_2): Don't bother with `room'.
6251 (skip_one_char): New function.
6252 (skip_noops): Simplify since `memory' is not needed any more.
6253 (mutually_exclusive_p): Restructure slightly to use `switch' and
6254 add handling for "all" remaining cases.
6255 (re_match_2_internal): Change on_failure_jump_smart to use
6256 on_failure_keep_string_jump (and redirect the end-of-loop jump)
6257 rather than on_failure_jump_exclusive.
6258
2136fdd4
GM
62592000-03-19 Gerd Moellmann <gerd@gnu.org>
6260
6261 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
6262 number of bits per RGB because it's everywhere used as the depth
6263 of the visual.
6264
6265 * term.c (calculate_costs): Remove code dealing with X frames.
6266
18e21ce8 62672000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
6268
6269 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
6270
d7b511c4
GM
62712000-03-18 Gerd Moellmann <gerd@gnu.org>
6272
6273 * lread.c (read_integer): Unread the last char not consumed.
6274
16b5d424
GM
62752000-03-17 Gerd Moellmann <gerd@gnu.org>
6276
6277 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 6278 which are in the process of being deleted.
16b5d424 6279
1fa28578
GM
62802000-03-16 Gerd Moellmann <gerd@gnu.org>
6281
83488cce
GM
6282 * Makefile.in (mostlyclean): Add `*.core'.
6283 (clean): Add `bootstrap-emacs'.
6284
1fa28578
GM
6285 * lread.c (read_integer): New function.
6286 (read1): Support read syntax #o, #x, #b, #r.
6287
99633e97
SM
62882000-03-15 Stefan Monnier <monnier@cs.yale.edu>
6289
1fa28578
GM
6290 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
6291 make sure POINTER_TO_OFFSET gives the same value before and after
6292 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
6293 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
6294 (debug): Now only active if > 0 rather than if != 0.
6295 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
6296 (print_partial_compiled_pattern): Add missing `succeed' case. Use
6297 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
6298 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
6299 (store_op1, store_op2, insert_op1, insert_op2)
6300 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
6301 (group_in_compile_stack): Move to after its arg's types are
6302 declared and add a prototype.
99633e97 6303 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
6304 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
6305 wrapper.
99633e97 6306 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
6307 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
6308 indentation of the greedy-op and shy-group code.
99633e97
SM
6309 (at_(beg|end)line_loc_p): Fix argument's types.
6310 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
6311 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
6312 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
6313 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
6314 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
6315 QUIT unconditionally.
99633e97 6316
699238d9
GM
63172000-03-15 Gerd Moellmann <gerd@gnu.org>
6318
6319 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
6320 a sole completion.
6321
6322 * process.c (send_process): Add a hint that the function
6323 can call Lisp code to its comment.
6324
6325 * lread.c (load_dangerous_libraries): New variable.
6326 (Vbytecomp_version_regexp): New variable.
6327 (safe_to_load_p): New function.
6328 (Fload): Handle files not compiled with Emacs specially.
6329 (syms_of_lread): New Lisp variable load-dangerous-libraries.
6330
34e23e5a
GM
63312000-03-14 Gerd Moellmann <gerd@gnu.org>
6332
9c763cca
GM
6333 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
6334
6335 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
6336 support functions only if HAVE_X11R6_XIM is defined.
6337 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
6338
6339 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
6340
6341 * xfns.c (X_I18N_INHIBITED): Don't define.
6342 (create_frame_xic): Remove conditional compilation on
6343 X_I18N_INHIBITED.
6344 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
6345
6346 * config.in (HAVE_X_I18N): Moved here from xterm.h.
6347 (HAVE_X11R6_XIM): Define.
6348
6349 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
6350
34e23e5a
GM
6351 * xterm.c (x_term_init): Add support for X resource `synchronous'.
6352 If set, call XSynchronize.
6353
66f0296e
SM
63542000-03-13 Stefan Monnier <monnier@cs.yale.edu>
6355
34e23e5a
GM
6356 * regex.c: Declare a new type `re_char' used throughout the code
6357 for the string char type. It's `const unsigned char' to match the
6358 rest of Emacs. Consistently make sure all pointers to strings use
6359 it and make sure all pointers into the pattern use `unsigned
6360 char'.
66f0296e 6361 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
6362 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
6363 code duplication.
66f0296e
SM
6364
6365 * charset.h (GET_CHAR_AFTER_2): Remove.
6366 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
6367
854a025c
KR
63682000-03-12 Ken Raeburn <raeburn@gnu.org>
6369
6370 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
6371 variable before the invocation of YMF_PASS_LDFLAGS, in case both
6372 of them try to use backquotes.
6373
b9d2c7e2
DL
63742000-03-12 Dave Love <fx@gnu.org>
6375
6376 * unexelf.c: Restore changes of 1999-10-19.
6377 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
6378 fix its type and alignment; copy it from current process.
6379
5e5dff44
GM
63802000-03-12 Gerd Moellmann <gerd@gnu.org>
6381
9b2f3c38
GM
6382 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
6383 has been found. Fix bug not computing timer's predecessor.
6384
427ec082 6385 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
6386 file name.
6387
e1cff360
GM
6388 * window.c (Fsave_window_excursion): Doc fix.
6389
5e5dff44
GM
6390 * xfns.c (x_defined_color): Rewritten to use
6391 x_allocate_nearest_color.
6392
e411ce4b
EZ
63932000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
6394
6395 * msdos.c (vga_installed): New function, code moved from
6396 dos_set_window_size.
6397 (Qbar, Qcursor_type, outside_cursor): New variables.
6398 (syms_of_msdos): Intern and staticpro them.
6399 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
6400 shape used outside Emacs when called for the first time.
6401 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
6402 cursor shape used outside Emacs.
6403 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
6404 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
6405 type has changed.
6406 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
6407 parameters specify the cursor. Make qreverse a global
6408 variable (renamed to Qreverse).
6409
80460654
GM
64102000-03-09 Gerd Moellmann <gerd@gnu.org>
6411
6412 * fns.c (Fy_or_n_p): Cancel busy-cursor.
6413
95cd4c40
SM
64142000-03-08 Stefan Monnier <monnier@cs.yale.edu>
6415
6416 This is a big redesign of failure-stack and register handling, prompted
6417 by bugs revealed when trying to add shy-groups. Overall, what happened
6418 is that loops are now structured a little differently, groups can be
6419 shy and the code is a little simpler.
6420
6421 * regex.h: Update the copyright.
6422 (RE_SHY_GROUPS): New value.
6423 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
6424 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
6425
80460654
GM
6426 * regex.c (enum re_opcode_t): Remove jump_past_alt,
6427 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
6428 on_failure_jump_(exclusive, loop and smart). Also fix the comment
6429 for (start|stop)_memory since they now only take one argument (the
6430 second has becomes unnecessary).
6431 (print_partial_compiled_pattern): Adjust for changes in
6432 re_opcode_t.
6433 (print_compiled_pattern): Use %ld to printf long ints and flush to
6434 make debugging a little easier.
95cd4c40
SM
6435 (union fail_stack_elt): Make the integer unsigned.
6436 (struct fail_stack_type): Add a `frame' element.
6437 (INIT_FAIL_STACK): Init `frame' as well.
6438 (POP_PATTERN_OP): New macro for re_compile_fastmap.
6439 (DEBUG_PUSH, DEBUG_POP): Remove.
6440 (NUM_REG_ITEMS): Remove.
6441 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
6442 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
6443 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 6444 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
6445 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
6446 macros.
6447 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
6448 address pushed is not the destination of the jump but the source
6449 of it instead.
95cd4c40
SM
6450 (NUM_FAILURE_ITEMS): Remove.
6451 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
6452 registers before the actual failure point). Don't hardcode any
6453 meaning for str==NULL anymore.
95cd4c40 6454 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
6455 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
6456 Remove.
95cd4c40
SM
6457 (REG_UNSET_VALUE): Use NULL (why not?).
6458 (compile_range): Remove declaration since it doesn't exist.
6459 (struct compile_stack_elt_t): Remove inner_group_offset.
6460 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
6461 (regex_grow_registers): Remove dead code.
6462 (FIXUP_ALT_JUMP): New macro.
80460654
GM
6463 (regex_compile): Add shy-groups Change loops to use
6464 on_failure_jump_smart&jump instead of
6465 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
6466 initial (dummy_failure_)jump. Remove c1_base (looks like unused
6467 variable to me). Use `jump' instead of `jump_past_alt' and don't
6468 bother with push_dummy_failure in alternatives since it is now
6469 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
6470 emacs' for (re)allocating the stack.
6471 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
6472 from loop when bufp->can_be_null rather than jumping to `done'.
6473 Avoid jumping backwards so as to ensure termination. Use
6474 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
6475 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 6476 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
6477 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
6478 improve mutually_exclusive_p to handle ".+\n".
6479 (lowest_active_reg, highest_active_reg,
6480 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
6481 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
6482 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
6483 variables. Push register (in `start_memory') on the stack rather
6484 than storing it in old_reg(start|end). Remove the cycle detection
6485 from `stop_memory', replaced by the use of on_failure_jump_loop
6486 for greedy loops. Add code for the new on_failure_jump_<foo>.
6487 Remove ad-hoc code in `on_failure_jump' to push more registers in
6488 the case of a loop. Take out code from `maybe_pop_jump' into
6489 separate functions and adapt it to the semantics of
6490 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
6491 and push_dummy_failure. Remove dummy_failure handling and
6492 handling of `failures to jump to on_failure_jump' (this last one
6493 was already dead code, it seems).
6494 (group_match_null_string_p, alt_match_null_string_p)
6495 (common_op_match_null_string_p): Remove.
95cd4c40 6496
7397acc4
DL
64972000-03-08 Dave Love <fx@gnu.org>
6498
6499 * config.in: Don't depend on __STDC__ for volatile.
6500 Add POINTER_TYPE, PTR, PROTOTYPES.
6501
6502 * hftctl.c, strftime.c: Use PROTOTYPES.
6503 * eval.c (find_handler_clause): Likewise.
6504
6505 * mem-limits.h: Use POINTER_TYPE.
6506
6507 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
6508 (memory_warnings): Declare using POINTER_TYPE.
6509
5e91ff9e
GM
65102000-03-08 Gerd Moellmann <gerd@gnu.org>
6511
feab4fba
GM
6512 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
6513
25edb08f
GM
6514 * xdisp.c (display_echo_area): Temporarily inhibit garbage
6515 collection.
6516
5e91ff9e
GM
6517 * xfns.c: Remove obsolete code in #if 0.
6518 (Fx_focus_frame): New function.
6519
a735b7e1
KH
65202000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
6521
6522 * coding.c (coding_category_name): Add coding-category-utf-8,
6523 coding-category-utf-16-be, coding-category-utf-16-le.
6524 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
6525 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
6526 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
6527 (detect_coding_utf_8): New function.
6528 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
6529 UTF_16_LOW_SURROGATE_P): New macros.
6530 (detect_coding_utf_16): New function
6531 (detect_coding_mask): When priorities are specified, skip any
6532 categories that have `nil' coding-system. Fix bug of returning
6533 wrong mask when PRIORITIES is specified and detect_coding_XXX()
6534 returns a mask not set in PRIORITIES.
6535 (detect_eol_type_in_2_octet_form): New function.
6536 (detect_eol): selects detect_eol_type_XXX to call according to
6537 cooding->category_idx.
6538 (detect_coding_system): Remove `nil' coding-system in the result.
6539 (Fupdate_coding_systems_internal): Update all coding-categories.
6540
6541 * coding.h (CODING_CATEGORY_IDX_UTF_8,
6542 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
6543 macros.
6544 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
6545 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
6546 CODING_CATEGORY_IDX_UTF_16_LE.
6547 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
6548 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
6549 (CODING_CATEGORY_MASK_ANY): Include the above macros.
6550 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
6551
9994cc69
GM
65522000-03-07 Gerd Moellmann <gerd@gnu.org>
6553
e9b4e5ff
GM
6554 * doc.c (Fdocumentation_property): If value is not a string,
6555 and doesn't refer to etc/DOC, evaluate it to obtain a string.
6556
f7daf1e1
GM
6557 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
6558 close the display with XtCloseDisplay. This caused a bus error
6559 on OpenWindows.
6560
9994cc69
GM
6561 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
6562 complete but not unique.
6563
4336c705
GM
65642000-03-06 Gerd Moellmann <gerd@gnu.org>
6565
18bb0684
GM
6566 * process.c (send_process): Remove local variable `procname' that
6567 might become invalid when a GC happens. Instead, access the
6568 process name slot directly.
6569
4336c705
GM
6570 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
6571 orig_height if set.
6572
6573 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
6574 orig_height if set.
6575
515d0d0e
EZ
65762000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
6577
6578 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
6579 glyph matrices have been freed.
6580
100b3cbb
GM
65812000-03-05 Gerd Moellmann <gerd@gnu.org>
6582
50df5e5a 6583 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 6584 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
6585
6586 * xfns.c (QCdata): Moved to xdisp.c.
6587
6588 * xdisp.c (QCdata): Moved here from xfns.c.
6589 (syms_of_xdisp): Initialize QCdata.
6590
6591 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
6592
6593 * window.c (coordinates_in_window): Use
6594 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
6595 FRAME_INTERNAL_BORDER_WIDTH.
6596
100b3cbb 6597 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 6598 it is obviously invalid.
100b3cbb
GM
6599
6600 * xterm.c (x_term_init): Create a colormap if not using the
6601 default visual.
6602
6603 * xterm.h (select_visual): Change prototype.
6604
6605 * xfns.c (select_visual): Rewritten. Recognize user-specified
6606 visual classes.
6607 (visual_classes): New variable.
6608
64d739c4
GM
66092000-03-04 Gerd Moellmann <gerd@gnu.org>
6610
6611 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
6612 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
6613 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
6614 (x_decode_color): Don't handle allocation of white and black
6615 specially.
6616 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
6617 XtNcolormap resources.
6618 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
6619 (Fx_create_frame): Initialize color members of x_output structure.
6620 (xpm_load): Pass colormap to XPM lib.
6621
6622 * xfaces.c (x_free_colors): Access colormap of frame using
6623 FRAME_X_COLORMAP. Be paranoid about freeing black and white
6624 when default colormap is used.
6625
6626 * xterm.c (x_term_init): Set Colormap member of x_display_info
6627 structure. Copy colormap if resource `privateColormap' is
6628 specified (PseudoColor only).
6629 (x_setup_relief_color): Access colormap of frame using
6630 FRAME_X_COLORMAP.
6631
6632 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
6633 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
6634
c3cee013
JR
66352000-03-04 Jason Rumney <jasonr@gnu.org>
6636
6637 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
6638 other non-platform-specific equivalents.
64d739c4 6639 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
6640 specific functions and macros as their w32 equivalents where
6641 non-platform-specifics are not available.
6642 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
6643 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
6644 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
6645 (frame_update_line_height): Use macros to access f->output_data.
6646 (defined_color): Remove FIXME comments; fixed.
6647 (x_face_list_fonts, prepare_face_for_display): Put X specifics
6648 into #ifdef blocks. Add WINDOWSNT blocks.
6649 (Fx_list_fonts): Use macros for accessing font data.
6650 (set_lface_from_font_name): Different default fonts for X and
6651 WINDOWSNT.
6652 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
6653 scalable for backward compatibility.
64d739c4 6654 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
6655 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
6656
64d739c4 6657 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
6658 syms_of_w32faces.
6659
6660 * makefile.nt (w32faces.obj): Remove.
6661 (xfaces.obj): Add.
6662
807cc41c
JR
66632000-03-03 Jason Rumney <jasonr@gnu.org>
6664
6665 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
6666 correct parameters.
6667
0007072a
KR
66682000-03-03 Ken Raeburn <raeburn@gnu.org>
6669
6670 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
6671 standard ELF definitions here if the system header does not.
6672
71a6ba55
GM
66732000-03-03 Gerd Moellmann <gerd@gnu.org>
6674
6675 * xterm.c (PER_CHAR_METRIC): Removed.
6676 (x_per_char_metric_1, x_default_char): New functions.
6677 (x_per_char_metric): If font's default char is invalid, return
6678 metrics of a suitably chosen usable default char.
6679 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
6680 char, replace occurrences of unprintable chars with a suitably
6681 chosen usable default char.
71a6ba55 6682
900fa1f1
GM
66832000-03-02 Gerd Moellmann <gerd@gnu.org>
6684
42f55fe0
GM
6685 * xterm.c (note_mouse_highlight): Return quickly if frame's
6686 glyph matrices have been freed.
6687
6688 * dispnew.c (free_glyphs): Block input while freeing matrices.
6689
900fa1f1
GM
6690 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
6691
6692 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
6693 x_free_colors.
6694
6695 * dispextern.h (x_free_colors): Add prototype.
6696
6697 * xfaces.c (x_free_colors): New function.
6698 (unload_color, free_face_colors): Use it.
6699
2f950292
EZ
67002000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
6701
6702 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
6703
6704 * window.c [MSDOS]: Include msdos.h.
6705
54d04320
DL
67062000-03-02 Dave Love <fx@gnu.org>
6707
6708 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
6709
6710 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
6711 set C_OPTIMIZE_SWITCH for gcc.
6712
0ba93ac4
KH
67132000-03-02 Kenichi Handa <handa@etl.go.jp>
6714
6715 * coding.c (coding_save_composition): Be sure to allocate
6716 composition data area in coding even if there's no composition in
6717 the current run.
6718
a2bc11d4
JR
67192000-03-01 Jason Rumney <jasonr@gnu.org>
6720
6721 * w32term.c: Equivalent changes to those made to xterm.c on
6722 2000-02-25 and 2000-02-24.
6723
6724 * w32fns.c: Equivalent changes to those made to xfns.c on
6725 2000-02-25 and 2000-02-21.
6726
6727 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
6728 correct line-end convention is followed.
6729
6730 * w32menu.c [HAVE_BOXES]: Remove #undef.
6731 (single_keymap_panes): Remove code for simulating checkmarks.
6732 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
6733 Remove code for drawing simulated checkmarks.
6734 (w32_menu_show): make unibyte help string correctly.
6735 (add_menu_item): draw standard Windows checkmarks. Draw radio
6736 buttons as radio buttons if possible.
6737
72d19d75
GM
67382000-03-01 Gerd Moellmann <gerd@gnu.org>
6739
2df636f4
GM
6740 * sysdep.c (start_of_text): Don't define this function for NetBSD
6741 with ELF.
6742
427ec082 6743 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
6744 Don't define.
6745 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
6746 (LINKER): Don't undef if __NetBSD__ is defined.
6747
6748 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
6749
6750 * fileio.c [__NetBSD__]: Define `unix'.
6751
72d19d75
GM
6752 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
6753
ed4d0512
GM
67542000-02-29 Gerd Moellmann <gerd@gnu.org>
6755
50b1039f
GM
6756 * atimer.c (start_atimer): Don't abort when timers are stopped.
6757 (append_atimer_lists): New function.
6758 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
6759 arbitrary lists of stopped and running atimers.
6760
ed4d0512
GM
6761 * atimer.c (cancel_atimer): Handle canceling an atimer when
6762 some timers are stopped.
6763
6764 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
6765 after canceling it.
6766
6767 * fns.c (maybe_resize_hash_table): Handle case of new size
6768 coming out as being the same as old size.
6769
387023ee
JR
67702000-02-27 Jason Rumney <jasonr@gnu.org>
6771
6772 * makefile.nt: Add atimer.h to dependencies.
6773 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
6774 * w32console.c: Only disable window system features for dispextern.h
6775 (initialize_w32_display): Build a display info for the console.
6776 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
6777 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
6778 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
6779 as 2 button mice.
6780 * w32gui.h (struct W32FontStruct): Revert last change after change
6781 to xdisp.c.
6782 * w32menu.c (single_submenu): Set up help string.
6783 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
6784 (w32_dialog_show): Set up help string.
6785 * w32term.c (w32_display_info_for_display): Remove unused function.
6786 (w32_draw_bitmap): Use pre-built bitmaps.
6787 (w32_initialize_display_info): New function to initialize parts of
6788 display info that are common to both GUI and console frames.
6789 (w32_term_init): Use w32_initialize_display_info. Do not set
6790 Vw32_num_mouse_buttons here, as it is not called for console
6791 frames. Build bitmaps for indicating truncated lines etc.
6792 (x_delete_display): Destroy pre-built bitmaps.
6793 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
6794 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
6795
4516715a
DL
67962000-02-27 Dave Love <fx@gnu.org>
6797
6798 * lisp.h: Add a bunch of prototypes.
6799
171ca836
KH
68002000-02-26 Kenichi Handa <handa@etl.go.jp>
6801
6802 * keyboard.c (read_char): Set `usec' correctly.
6803
4013921d
KH
68042000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
6805
6806 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
6807 `lambda', set reg[RRR] to the map index.
6808 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
6809 reg[RRR] to 0. Otherwise, set it to -1.
6810
9244a058
GM
68112000-02-25 Gerd Moellmann <gerd@gnu.org>
6812
2df636f4 6813 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 6814
18e21ce8 68152000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 6816
f43d79c1
GM
6817 * fileio.c (Ffile_symlink_p): If result starts with a `/'
6818 and contains a `:', prepend `/:'.
6819
6820 * window.c (select_window_1): If selected_window is nil,
6821 don't "swap out" the buffer's point.
6822 (Fset_window_configuration): Set selected_window to nil
6823 before calling Fselect_window.
6824 (unshow_buffer): Don't set point in buffer from window's point
6825 if another more recently selected window also shows the buffer.
6826
bed0c171
GM
68272000-02-25 Gerd Moellmann <gerd@gnu.org>
6828
449c3c52
GM
6829 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
6830
f5b58615
GM
6831 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
6832 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
6833 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
6834 variables.
6835 (DEFAULT_BUSY_CURSOR_DELAY): New define.
6836 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
6837 (hide_busy_cursor): New functions.
6838 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
6839
6840 * minibuf.c (read_minibuf): Cancel busy-cursor.
6841
6842 * keyboard.c (command_loop_1): Call start_busy_cursor before
6843 Fcommand_execute and cancel_busy_cursor after it.
6844 (timer_check): Remove busy-cursor code.
6845 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
6846 cursor timer.
6847
6848 * process.c (wait_reading_process_input): Remove busy-cursor code.
6849
6850 * eval.c (Fsignal): Call cancel_busy_cursor instead of
6851 Fx_hide_busy_cursor.
6852
6853 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
6854 Remove prototyoes.
6855 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
6856
6857 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
6858
6859 * xterm.c (XTread_socket): Remove busy-cursor code.
6860
4eb8436f
GM
6861 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
6862 (build_frame_matrix_from_leaf_window): Put code handling
6863 glyph row's not being a slice of a frame row in #if 0.
6864 (sync_window_with_frame_matrix_rows): New function.
6865 (frame_row_to_window): New function.
6866 (mirror_line_dance): Handle copies between windows.
6867
3cb65b0e
GM
6868 * lread.c (Fload): Use `xfree' instead of `free'.
6869 (init_obarray): Use `xmalloc' instead of `malloc'.
6870
bed0c171
GM
6871 * window.c (Fset_window_buffer): Set WINDOW to the window
6872 after decoding.
2add4349
GM
6873 (coordinates_in_window): Take frame's internal border width
6874 into account.
bed0c171 6875
42088c12
GM
68762000-02-24 Gerd Moellmann <gerd@gnu.org>
6877
6878 * xterm.c (x_display_and_set_cursor): Display cursor of
6879 non-selected windows depending on the setting of
6880 cursor_in_non_selected_windows.
6881
6882 * xdisp.c (cursor_in_non_selected_windows): New variable.
6883 (syms_of_xdisp): DEFVAR_BOOL it.
6884
d1e103b2
GM
68852000-02-23 Gerd Moellmann <gerd@gnu.org>
6886
723e779c
GM
6887 * data.c (Fstring_to_number): If number is greater than what
6888 fits into an integer, return a float.
6889
d1e103b2
GM
6890 * eval.c (specbind): Remove references to
6891 keyword_symbols_constant_flag.
6892
6893 * data.c (keyword_symbols_constant_flag): Removed.
6894 (Fmakunbound, set_internal, syms_of_data): Remove references to
6895 keyword_symbols_constant_flag.
6896
6897 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
6898
214f877f
KH
68992000-02-23 Kenichi Handa <handa@etl.go.jp>
6900
6901 * syntax.c (multibyte_syntax_as_symbol): New variable.
6902 (syms_of_syntax): Declare it as a Lisp variable.
6903 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
6904 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
6905 nonzero, treat all multibyte characters as symbol.
42088c12 6906 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
6907 characters.
6908
130adcb7
EZ
69092000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
6910
3cb65b0e 6911 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 6912 a deleted frame.
130adcb7 6913
17cbbf95
GM
69142000-02-21 Gerd Moellmann <gerd@gnu.org>
6915
6916 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
6917
6918 * xfns.c (x_window_to_frame, x_any_window_to_frame)
6919 (x_non_menubar_window_to_frame): Check the busy-cursor window.
6920
beb0bc36
DL
69212000-02-21 Dave Love <fx@gnu.org>
6922
6923 * frame.c (Vmouse_position_function): New variable.
6924 (Fmouse_position): Use it.
6925 (syms_of_frame): Install it.
6926
6927 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
6928
1d92afcd
GM
69292000-02-20 Gerd Moellmann <gerd@gnu.org>
6930
6931 * fileio.c (Finsert_file_contents): Unbind the binding of
6932 standard-output done by temp_output_buffer_setup.
329eed9f
GM
6933
6934 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
6935 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
6936 (specbind, unbind_to): Handle most common case of non-constant
6937 symbol with trivial value specially.
6938
6939 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
6940
18e21ce8 69412000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
6942
6943 * data.c (Fmake_variable_buffer_local): Doc fix.
6944 Init found_for_buffer to 0.
6945 (Fmake_variable_frame_local): If the variable has already
6946 been buffer-local, set the check_frame field.
6947
1d4311c3
EZ
69482000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
6949
6950 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
6951 produced for CODING_MODE_LAST_BLOCK requires.
6952
2dc95ddd
DL
69532000-02-18 Dave Love <fx@gnu.org>
6954
6955 * keyboard.c (echo_keystrokes): Remove declaration.
6956 (Vecho_keystrokes) New variable.
6957 (read_char, record_menu_key, read_key_sequence): Use it to allow
6958 use of float value.
6959 (syms_of_keyboard): Change Vecho_keystrokes declaration.
6960
6961 * lread.c: Undef feature selection macros before defining.
6962
f0930f35
GM
69632000-02-18 Gerd Moellmann <gerd@gnu.org>
6964
6965 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
6966 for symbols other than the symbol in question.
6967
e3d4de90
DL
69682000-02-17 Dave Love <fx@gnu.org>
6969
6970 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
6971
0b378936
GM
69722000-02-17 Gerd Moellmann <gerd@gnu.org>
6973
d621caf7
GM
6974 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
6975
0b378936
GM
6976 * alloc.c (enum mem_type): Compile unconditionally.
6977
3b451f74
EZ
69782000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
6979
6980 * xfaces.c (tty_defined_color): Don't return faulire indication
6981 for unspecified-fg and unspecified-bg pseudo-colors.
6982
10689a01
GM
69832000-02-17 Gerd Moellmann <gerd@gnu.org>
6984
1216f5e4
GM
6985 * alloc.c (mark_object): Don't mark symbol names in pure space.
6986 (gc_sweep): Don't unmark symbol names in pure space.
6987
6988 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
6989 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
6990 [GC_MARK_STACK]: New defines.
427ec082 6991 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
6992 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
6993
6994 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
6995
6996 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
6997 allocate_buffer instead of xmalloc.
6998
6999 * alloc.c (toplevel): Include setjmp.h.
7000 (PURE_POINTER_P): New define.
7001 (enum mem_type) [GC_MARK_STACK]: New enumeration.
7002 (Vdead) [GC_MARK_STACK]: New variable.
7003 (lisp_malloc): Add parameter TYPE, call mem_insert if
7004 GC_MARK_STACK is defined.
7005 (allocate_buffer): New function.
427ec082 7006 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
7007 (free_float) [GC_MARK_STACK]: Set type to Vdead.
7008 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
7009 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
7010 (MEM_NIL) [GC_MARK_STACK]: New define.
7011 (struct mem_node) [GC_MARK_STACK]: New structure.
7012 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
7013 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
7014 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
7015 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
7016 (mark_stack) [GC_MARK_STACK]: New functions.
7017 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
7018 (clear_marks): Removed.
7019 (gc_sweep): Set free conses' car, free floats' type, free
7020 symbols' function to Vdead. Use lisp_free to free buffers.
7021 (init_alloc_once): Initialize Vdead.
7022 (survives_gc_p): Return non-zero for pure objects.
7023
7024 * alloc.c: Add comments throughout the file.
7025
2503c8b1
GM
7026 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
7027 that unblocks alarms.
7028
8389e1e2
GM
7029 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
7030 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
7031 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
7032
10689a01 7033 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 7034
bfc17d18
KH
70352000-02-17 Kenichi Handa <handa@etl.go.jp>
7036
4a09dee0
KH
7037 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
7038 avoid infinite error signaling. Allocate sufficient memory for
7039 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 7040
2b927d02
SM
70412000-02-17 Stefan Monnier <monnier@cs.yale.edu>
7042
7043 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
7044 depends on the previous behavior.
7045
b49cb764
GM
70462000-02-16 Gerd Moellmann <gerd@gnu.org>
7047
7048 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
7049
99e95407
GM
70502000-02-15 Gerd Moellmann <gerd@gnu.org>
7051
7052 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
7053
7054 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 7055 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
7056 write(2).
7057
6ffd3cf7
RS
70582000-02-15 Richard M. Stallman <rms@gnu.org>
7059
7060 * data.c (set_internal): Don't make variable buffer-local
7061 if within a let-binding for the same buffer.
7062 (let_shadows_buffer_binding_p): New function.
7063
7064 * eval.c (specbind): For buffer-local value,
7065 record the current buffer also.
7066 (unbind_to): Cope with that change.
7067
cad53475
GM
70682000-02-15 Gerd Moellmann <gerd@gnu.org>
7069
7070 * window.c (Fsave_window_excursion): Doc fix.
7071
1aa963c8
SM
70722000-02-15 Stefan Monnier <monnier@cs.yale.edu>
7073
7074 * syntax.c (back_comment): Make sure we only consider comment-starters
7075 of the relevant style and return -1 in case of a failure to find the
7076 beginning of the comment.
7077 (Fforward_comment): If back_comment fails, go back to the position just
7078 after the comment-end.
7079 (scan_lists): Add comment describing a very minor bug.
7080
b9b84fd3
SM
70812000-02-14 Stefan Monnier <monnier@cs.yale.edu>
7082
7083 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
7084 `completion-regexp-list' in the docstring.
7085
3a28db80
DL
70862000-02-14 Dave Love <fx@gnu.org>
7087
7088 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
7089
fb4a568d
SM
70902000-02-14 Stefan Monnier <monnier@cs.yale.edu>
7091
7092 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
7093 to Emacs' syntax. Also fix the comment about set/not-set meanings
7094 since Emacs syntax is not the value 0 any more.
7095 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
7096 since it's now part of RE_SYNTAX_EMACS.
7097
1063ebb5
DL
70982000-02-12 Dave Love <fx@gnu.org>
7099
7100 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
7101 Alpha.
7102
fb07a302
GM
71032000-02-12 Gerd Moellmann <gerd@gnu.org>
7104
7105 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
7106
aaf2320c
DL
71072000-02-12 Dave Love <fx@gnu.org>
7108
7109 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
7110
7111 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
7112 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
7113 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
7114
7115 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
7116
7117 * s/nextstep.h: Don't define HAVE_ALLOCA.
7118
7119 * config.in: Add vfork bits.
7120
eedf8bde
GM
71212000-02-12 Gerd Moellmann <gerd@gnu.org>
7122
7123 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
7124 unwind function to undo the effect of stopping atimers.
7125
7126 * keyboard.c (bind_polling_period): Stop all timers except
7127 poll_timer.
7128
7129 * atimer.c (stopped_atimers): New variable.
7130 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
7131 New functions.
7132
7133 * atimer.h (stop_other_atimers, run_all_atimers)
7134 (unwind_stop_other_atimers): Add function prototypes.
427ec082 7135
eedf8bde
GM
7136 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
7137
8476c2f8
KR
71382000-02-11 Ken Raeburn <raeburn@gnu.org>
7139
7140 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
7141 library may depend on jpeg.
7142 (atimer.o): Depends on atimer.c.
7143
0e85e4a3
KH
71442000-02-11 Kenichi Handa <handa@etl.go.jp>
7145
7146 * insdel.c (del_range_1): Call update_compositions.
7147 (del_range_both): Call update_compositions just once..
7148
97fa0cc8
DL
71492000-02-10 Dave Love <fx@gnu.org>
7150
7151 * xfns.c (create_frame_xic): Fix initialization of automatic
7152 aggregates for pcc.
7153
25566a3c
KH
71542000-02-09 Kenichi Handa <handa@etl.go.jp>
7155
7156 * ccl.c (CCL_MAKE_CHAR): New macro.
7157 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
7158 registers by CCL_MAKE_CHAR before calling translate_char.
7159 <CCL_TranslateCharacterConstTbl> Likewise.
7160
69da54ba
DL
71612000-02-08 Dave Love <fx@gnu.org>
7162
7163 * lread.c (__EXTENSIONS__): Define.
7164
f7136ee8
GM
71652000-02-08 Gerd Moellmann <gerd@gnu.org>
7166
7167 * puresize.h (BASE_PURESIZE): Increase to 650000.
7168
7768790b
EZ
71692000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
7170
7171 * msdos.c (XMenuActivate): Turn off the cursor after displaying
7172 the help message.
7173
38fd211b
EZ
71742000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
7175
7176 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
7177 md, mh, mb, mr, and me to the fake termcap entry.
7178
66e4690f
KR
71792000-02-06 Ken Raeburn <raeburn@gnu.org>
7180
7181 * sound.c (sound_cleanup): Don't call device close routine if the
7182 function pointer is null.
7183
a75dfea0
AI
71842000-02-06 Andrew Innes <andrewi@gnu.org>
7185
7186 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
7187 around image definitions and prototypes.
7188 (gamma_correct) [WINDOWSNT]: New prototype.
7189
7190 * w32term.c (x_make_frame_visible): Replace call to
7191 input_poll_signal with poll_for_input.
7192
7193 * window.c [WINDOWSNT]: Include w32term.h.
7194
7195 * xdisp.c [WINDOWSNT]: Include w32term.h.
7196
7197 * makefile.nt: Add dependencies on w32gui.h.
7198 (OBJ1): Include atimer.obj.
7199 ($(BLD)\atimer.obj): New dependency rule.
7200
7201 * w32.c (sigmask): New function (does nothing).
7202 (sigunblock): Ditto.
7203
7204 * frame.c [WINDOWSNT]: Include w32term.h.
7205
7206 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
7207
7208 * lread.c (syms_of_lread): Fix literal newlines.
7209
7210 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
7211 the string constant limit (2048 bytes) in MSVC.
7212 (main): Ditto.
7213
59ddecde
GM
72142000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
7215
7216 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
7217 area.
7218 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
7219 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
7220 dispatch the event.
7221
07590973
DL
72222000-02-04 Dave Love <fx@gnu.org>
7223
7224 * fileio.c: Remove some unused vars.
7225 (_GNU_SOURCE): Define (for euidaccess).
7226
7227 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
7228
7229 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
7230 gcpro1, gcpro2.
7231 (read_minibuf): Deal with allow_props correctly.
7232
649351f9
EZ
72332000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
7234
7235 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
7236
66e4690f 72372000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
7238
7239 * search.c (compile_pattern): If a cache entry has a nil regexp,
7240 fill in that entry instead of clobbering a previously cached
7241 string regexp.
7242
66e4690f 72432000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
7244
7245 * puresize.h (BASE_PURESIZE): Increase to 610000.
7246
d240a249
GM
72472000-02-02 Gerd Moellmann <gerd@gnu.org>
7248
7249 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
7250 can GC.
7251
ca91fb26
KH
72522000-02-02 Kenichi Handa <handa@etl.go.jp>
7253
25660570
KH
7254 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
7255 instead of incrementing ic directly.
7256 <CCL_WriteExprConst> Likewise.
7257 <ccl_set_expr>: Set ic to jump_address.
7258
ca91fb26
KH
7259 * fileio.c (e_write): Fix the handling of
7260 CODING_FINISH_INSUFFICIENT_SRC.
7261
2ede9689
DL
72622000-02-01 Dave Love <fx@gnu.org>
7263
7264 * editfns.c (Fpropertize): Doc fix.
7265
7266 * process.c (Fstart_process): Doc fix.
7267
7268 * eval.c: Fix various doc strings not to duplicate information
7269 from help-manyarg-func-alist.
7270
7271 * window.c (Fset_window_margins): Don't make interactive. Doc
7272 fix.
7273
7274 * doc.c (Vhelp_manyarg_func_alist): New variable.
7275 (Fdocumentation): Use it.
7276 (syms_of_doc): Define it.
7277
b6680a0e
GM
72782000-01-31 Gerd Moellmann <gerd@gnu.org>
7279
2cb750ba
GM
7280 * xterm.c (xim_open_dpy): Remove unused local variable.
7281
74e9213b
GM
7282 * emacs.c (USAGE): Use term `display options' instead of `X
7283 options'.
7284
7285 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
7286 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
7287
b6680a0e
GM
7288 * fns.c (sweep_weak_table): New function.
7289 (sweep_weak_hash_tables): Use it. Keep on marking until there
7290 is no more change.
7291
994c5afe
GM
72922000-01-30 Gerd Moellmann <gerd@gnu.org>
7293
7294 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
7295 that XTread_socket does not crash by trying to call XNoOp on a
7296 closed display.
427ec082 7297
f00276e3
JR
72982000-01-30 Jason Rumney <jasonr@gnu.org>
7299
7300 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
7301 Change selected_frame to SELECTED_FRAME ().
7302 (w32_console_mouse_position): Remove #ifndef MULE from around
7303 `insist' parameter.
7304
7305 * makefile.nt: Remove dosfns.obj.
7306
7307 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
7308
7309 * w32fns.c (w32_defined_color): Check for valid frame before
7310 applying gamma correction. Eliminate dependency on frame elsewhere.
7311 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
7312 (w32_to_x_font): Use resx and resy not height_in and width_in.
7313 (x_to_w32_font): Doc fix.
7314 (xlfd_strip_height): New function to strip and return font height.
7315 (w32_font_match): Compare height separately from rest of xlfd
7316 spec, using xlfd_strip_height.
7317
7318 * w32term.c (w32_term_init): Swap resx and height_in, resy and
7319 width_in. Use w32_defined_color in place of defined_color.
7320
7321 * w32faces.c: Merge more of DOS and X specifics in preparation for
7322 merge with xfaces.c.
7323 (defined_color): Remove FIXME comment.
7324 (tty_color_name): Provide w32-specific function.
7325 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
7326
7327 * w32console.c (turn_on_face, turn_off_face): Removed.
7328 (w32_face_attributes): New function.
7329 (Global_variables): Reduce scope where possible.
7330 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
7331 fill attribute.
7332 (hl_mode): Don't modify text attributes.
7333 (write_glyphs): Don't do anything if len <= 0. Use
7334 w32_face_attributes to get attributes for drawing. Write
7335 terminating codes using char_attr_normal.
7336 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
7337 (update_begin, update_end): Likewise.
7338 (vga_stdcolor_name): New function.
7339 (initialize_w32_display): Remove char_attr_reverse and char_attr.
7340 (Fset_screen_color): Remove char_attr_reverse.
7341
b08e8bb2
GM
73422000-01-29 Gerd Moellmann <gerd@gnu.org>
7343
7344 * xfns.c (xic_set_preeditarea): Take window parameter and
7345 window-relative pixel-positions.
7346
7347 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
7348 is its frame's selected window.
7349 (xim_instantiate_callback): Likewise.
7350
7351 * xfns.c (x_create_im): Removed.
7352 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
7353 (supported_xim_styles): Renamed from supported_styles.
7354 (best_xim_style): Renamed from best_style.
7355 (create_frame_xic): Renamed from xic_create_frame.
7356 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 7357
b08e8bb2
GM
73582000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
7359
7360 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
7361 our frames, call XFilterEvent with 2nd parameter `None'.
7362 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
7363 returning XBufferOverflow.
7364 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
7365 area.
7366 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
7367 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
7368 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
7369 (xim_initialize, xim_close)
7370 [HAVE_X_I18N && HAVE_X11R6]: New functions.
7371 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
7372 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
7373 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
7374
7375 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
7376 and `xim_styles'.
7377 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
7378 `xic_style' and `xic_xfs'.
7379 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
7380 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
7381 (FRAME_XIM): Removed.
7382
7383 * xfns.c (supported_styles): New variable.
7384 (DEFAULT_STYLE, DEFAULT_FONT): New macros
7385 (xic_create_xfontset, best_style, xic_create_frame)
7386 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
7387 (xic_set_xfontset): New functions.
7388
142e109c
DL
73892000-01-28 Dave Love <fx@gnu.org>
7390
7391 * s/irix6-5.h: Revert last change after change to irix5-0.h.
7392
7393 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
7394
b02786f9
GM
73952000-01-28 Gerd Moellmann <gerd@gnu.org>
7396
d060bc9f
GM
7397 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
7398 for *scratch* if it already existed.
7399
b02786f9
GM
7400 * emacs.c (USAGE): New macro.
7401 (main): Use it to display usage information.
7402
2c52d7e4
EZ
74032000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
7404
7405 Support for the menu-help feature:
7406
7407 * msdos.h: Change prototypes of XMenuAddSelection and
7408 XMenuActivate.
7409
7410 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
7411 part of the line to the termscript file.
7412 (IT_clear_to_end): Clear the entire line, not just its beginning.
7413 (menu_help_message, prev_menu_help_message): New variables.
7414 (IT_menu_make_room): Make room for the help_text member.
7415 (IT_menu_display): New argument disp_help; all callers changed.
7416 If disp_help is non-zero, store the help text of the active menu
7417 item in menu_help_message.
7418 (XMenuAddPane): Initialize the help_text member to NULL.
7419 (XMenuAddSelection): New argument help_text. Store it in the
7420 XMenu structure.
7421 (XMenuActivate): New argument help_callback. If the value of
7422 menu_help_message has changed since the last time, display the
7423 menu help message text while waiting for the mouse to move. Clear
7424 the echo area before exiting.
7425 (XMenuDestroy): Free the help_text member.
7426
ffe0bcd1
GM
74272000-01-27 Gerd Moellmann <gerd@gnu.org>
7428
7429 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
7430 XMenuAddSelection. Pass help callback to XMenuActivate.
7431 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
7432
50dbd23f
EZ
74332000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
7434
7435 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
7436 and EMACS_SET_USECS.
7437
f5941bf8
GM
74382000-01-26 Dave Love <fx@gnu.org>
7439
6c67ddee
DL
7440 * editfns.c (Fchar_after, Fchar_before): Doc fix.
7441
f5941bf8
GM
7442 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
7443 an error may be signalled.
7444
9e49c990
GM
74452000-01-26 Gerd Moellmann <gerd@gnu.org>
7446
fc3cb460
GM
7447 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
7448 LD_SWITCH_SYSTEM inherited from irix5-0.h.
7449
9e49c990
GM
7450 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
7451
d0c037d8
GM
74522000-01-25 Gerd Moellmann <gerd@gnu.org>
7453
7454 * charset.c (Fstring): If there is a multibyte char among
7455 the args, always return a multibyte string.
7456
e12489f9
GM
74572000-01-25 Gerd Moellmann <gerd@gnu.org>
7458
7459 * sysdep.c (sys_select): Turn atimers off and on instead of
7460 recording and restoring old alarm handler
7461
7462 * process.c (toplevel): Include atimer.h.
7463 (create_process_1): Rewritten.
7464 (create_process): Use atimers instead of alarm.
7465 (wait_reading_process_input) [hpux]: Turn atimers off instead
7466 of turning off SIGALRM.
7467 (wait_reading_process_input): Turn off atimers instead off
7468 calling stop_polling.
7469
7470 * emacs.c (main): Call init_atimer.
7471
7472 * keyboard.c (toplevel): Include systime.h and atimer.h.
7473 (polling_for_input): Removed because unused.
7474 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
7475 (poll_timer): New variable.
7476 (poll_for_input, poll_for_input_1): New functions.
7477 (start_polling, stop_polling): Rewritten.
7478
7479 * keyboard.h (polling_for_input): Removed.
427ec082 7480
e12489f9
GM
7481 * atimer.h, atimer.c: New files.
7482
7483 * Makefile.in (obj): Add atimer.o.
7484 (atimer.o): New target.
7485
7486 * blockinput.h (pending_atimers): Add extern declaration.
7487 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
7488
7489 * lisp.h (popup_activated_flag): Add extern declaration.
7490
7491 * xmenu.c (popup_activated_flag): Make externally visible.
7492 (popup_activate_callback) [USE_MOTIF]: Increment
7493 popup_activated_flag.
7494 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
7495
7496 * xterm.c (toplevel): Include atimer.h.
7497 (toolkit_scroll_bar_interaction): New variable.
7498 (Fxt_process_timeouts): Removed.
7499 (x_process_timeouts): New function.
7500 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
7501 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
7502 (x_make_frame_visible): Call poll_for_input_1 instead of
7503 input_poll_signal. Don't call alarm.
7504 (x_initialize): Install timer calling x_process_timeouts.
427ec082 7505
1e5279b9
DL
75062000-01-24 Dave Love <fx@gnu.org>
7507
6c67ddee 7508 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
7509 Don't use -cckr -- apparently not now necessary.
7510
edf6aeb8
EZ
75112000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
7512
7513 * msdos.c (IT_menu_display): Truncate long menu lines at the right
7514 screen boundary.
7515
9badad41
JR
75162000-01-23 Jason Rumney <jasonr@gnu.org>
7517
7518 * w32fns.c (w32_defined_color): Apply gamma correction before
7519 trying to map to the palette.
7520 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
7521 to w32_clear_rect.
7522
7523 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
7524 here. Callers changed to always pass real device context.
7525 (w32_draw_bitmap): Likewise.
7526 (w32_get_glyph_overhangs): Likewise.
7527 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
7528 one.
7529 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
7530 pfnSetScrollInfo and SetScrollRange.
7531 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
7532 back into MULE characters after decoding them.
7533 (x_get_glyph_face_and_encoding): Likewise.
7534 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
7535 GetCharABCWidthsW fails, since this is defined on Windows 9x.
7536 (x_produce_glyphs): Calculate per char metrics for a character
7537 that we know exists in default font when font_not_found_p is true.
7538
63bd786b
JR
75392000-01-22 Jason Rumney <jasonr@gnu.org>
7540
7541 * makefile.nt (intervals.obj, composite.obj): New modules.
7542 (composite.h): Added as dependency where appropriate.
7543
7544 * w32gui.h (XGCValue): New struct for emulating X GCs.
7545
7546 * w32term.h (XCharStruct): New struct for emulating X.
7547
7548 * w32console.c (turn_on_face, turn_off_face): New functions.
7549 (change_line_highlight): New prototype for new redisplay.
7550 (write_glyphs): Support multibyte text. Support faces.
7551
7552 * w32faces.c: Complete rewrite for new redisplay based on new
7553 xfaces.c.
7554
7555 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
7556 throughout. struct frame * in place of FRAME_PTR.
7557 Skeleton support for images, toolbars, tooltips from xfns.c.
7558 (Fx_create_frame): Use system default for default scroll bar
7559 width.
7560 (w32_get_arg): Renamed from x_get_arg.
7561 (Fx_file_dialog): New function.
7562 (w32_list_fonts): Check cache before asking system.
7563 (Vw32_enable_synthesized_fonts): New variable.
7564 (Vw32_enable_italics): Obsolete, removed.
7565
7566 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
7567 Use SELECTED_FRAME macro.
7568
7569 * w32menu.c: Add skeleton support for help strings on menus.
7570 (add_menu_item): Native checkbox and radio support added, but not
7571 yet enabled due to bugs.
7572 (push_menu_item): Add parameters type, selection and help.
7573 Callers updated.
7574 Formatting changes to reduce unnecessary diffs with xmenu.c.
7575
7576 * w32select.c (Fw32_set_clipboard_data): Update call to
7577 find_charset_in_str.
7578
7579 * w32term.c: Complete rewrite for new redisplay based on new
7580 xterm.c with necessary sections merged back in from old w32term.c.
7581
6ffd3cf7 75822000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
7583
7584 * data.c (set_internal): Further fix in same criterion.
7585
6ffd3cf7 75862000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
7587
7588 * data.c (set_internal): Fix the criteria for whether
7589 to swap out the old cached binding.
7590
60af03f1
DL
75912000-01-19 Dave Love <fx@gnu.org>
7592
7593 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
7594
f9be074f
KH
75952000-01-18 Kenichi Handa <handa@etl.go.jp>
7596
7597 * regex.c (re_compile_fastmap): While checking a range table for
7598 `charset', skip flag bits for a character class correctly.
7599
52b8dbf9
GM
76002000-01-17 Gerd Moellmann <gerd@gnu.org>
7601
d36100c9
GM
7602 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
7603
52b8dbf9
GM
7604 * xfns.c (x_window): Call lw_create_widget with new parameter
7605 list.
7606
7607 * widget.c (EmacsFrameSetCharSize): Change size of children first
7608 because of problems with main window geometry management under
7609 Lesstif.
7610
7611 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
7612 MENU_ITEMS_ITEM_.*.
7613 (MENU_ITEMS_ITEM_HELP): New enumerator.
7614 (push_menu_item): Add parameter HELP. Record help in menu_items.
7615 (single_menu_item, single_submenu, list_of_items): Call
7616 push_menu_item with new parameter.
7617 (single_submenu): Set help string in widget value.
7618 (menu_highlight_callback): New function.
7619 (set_frame_menubar): Call lw_create_widget with new
7620 parameter list.
7621 (xmenu_show, xdialog_show): Ditto.
7622
3139018f
GM
76232000-01-13 Gerd Moellmann <gerd@gnu.org>
7624
7625 * sound.c (Fplay_sound): Improve doc string.
7626
83c8f461
RS
76272000-01-11 Richard M. Stallman <rms@gnu.org>
7628
7629 * lisp.h (set_internal): Enter the new arg.
7630
7631 * eval.c (specbind): Record buffer-local variables specially,
7632 indicating which buffer's binding was saved.
7633 (unbind_to): Restore buffer-local variables specially
7634 in the proper buffer.
7635
7636 * data.c (set_internal): New arg BUF.
427ec082 7637
83c8f461
RS
7638 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
7639 * data.c (Fset): Pass new arg to set_internal.
7640 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 7641
1fab1775
GM
76422000-01-11 Gerd Moellmann <gerd@gnu.org>
7643
7644 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
7645 xprintsym.
7646
83c8f461 76472000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
7648
7649 * minibuf.c (Ftry_completion): Doc fix.
7650
7a85e4df
GM
76512000-01-11 Gerd Moellmann <gerd@gnu.org>
7652
7653 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
7654 vector, too.
7655
a970dae4
AS
76562000-01-11 Andreas Schwab <schwab@suse.de>
7657
7658 * coding.c (code_convert_region): Initialize total_skip.
7659
c65d14ee
DL
76602000-01-08 Dave Love <fx@gnu.org>
7661
7662 * eval.c (Fuser_variable_p): Check customizability too.
7663
834938d2
GM
76642000-01-07 Gerd Moellmann <gerd@gnu.org>
7665
7666 * minibuf.c (Fcompleting_read): Doc fix.
7667
e0303cd6
GM
76682000-01-05 Gerd Moellmann <gerd@gnu.org>
7669
8a26744b
GM
7670 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
7671 -L /usr/local/lib.
7672
e0303cd6
GM
7673 * xfns.c (x_create_im): New function to set IM and IC of a frame.
7674 Check that input style is supported before trying to create an
7675 IC for it.
7676 (x_window): Call x_create_im.
427ec082 7677
2e471eb5
GM
76782000-01-04 Gerd Moellmann <gerd@gnu.org>
7679
560a7bd2
GM
7680 * xfns.c (current_gif_memory_src): New variable.
7681 (gif_load): Record the address of the current memory source
7682 in current_gif_memory_src.
7683 (gif_read_from_memory): Use current_gif_memory_src.
7684
f9ee84a3
GM
7685 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
7686 macros statement form.
7687
d1299cde
GM
7688 * sound.c (struct sound): Renamed from struct sound_file.
7689 (struct sound): Add members `data' and `header_size'.
7690 (enum sound_attr): Add SOUND_DATA.
7691 (current_sound, current_sound_device): Variables renamed from
7692 sound_file and sound_device.
7693 (parse_sound): Parse :data.
7694 (parse_sound): Handle sound data in strings.
7695 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 7696 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
7697 needed header size.
7698 (wav_play, au_play): Play sounds from string data.
7699
2e471eb5
GM
7700 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
7701
7702 * lisp.h: Add prototype for allocate_string_data.
7703
7704 * alloc.c (Fgarbage_collect): Return number of live and free
7705 strings.
7706
7707 * alloc.c (mark_buffer): Remove code in #if 0.
7708 (gc_sweep): Ditto.
7709 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
7710 (strings_consed): New variable.
7711 (allocate_string): Set it.
7712 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
7713 (Fmemory_use_counts): Return strings_consed. Use Flist.
7714
7715 * alloc.c: General cleanup in comments etc. Remove conditional
7716 compilation for `standalone'.
7717
7718 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
7719
7720 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
7721 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
7722 (DONT_COPY_FLAG): Removed.
7723 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
7724 (struct sdata, struct sblock): New
7725 (struct string_block): Rewritten.
7726 (STRINGS_IN_STRING_BLOCK): New macro.
7727 (oldest_sblock, current_sblock, total_strings, total_free_strings)
7728 (large_sblocks, string_blocks, string_free_list): New variables.
7729 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
7730 (init_strings): Rewritten.
7731 (allocate_string, allocate_string_data, compact_small_strings)
7732 (free_large_strings, sweep_strings): New functions.
7733 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
7734 (struct string_block_head, current_string_block)
7735 (first_string_block, large_string_blocks, STRING_FULLSIZE)
7736 (STRING_PAD): Removed.
7737 (make_uninit_multibyte_string, make_pure_string): Rewritten.
7738 (Fgarbage_collect): Don't set mark bit in large strings.
7739 (mark_object): Mark strings differently. Mark symbol names
7740 differently.
7741 (survives_gc_p): Test marked strings differently.
427ec082 7742 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
7743 symbol names.
7744 (compact_strings): Removed.
7745
42608ba8
EZ
77462000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
7747
7748 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
7749 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
7750
e0a09e1a
KH
77512000-01-04 Kenichi Handa <handa@etl.go.jp>
7752
dd9f0750 7753 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 7754 in a non-empty buffer.
dd9f0750 7755
3c0f3b15 7756 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 7757
44cd3ae5
GM
77582000-01-03 Gerd Moellmann <gerd@gnu.org>
7759
7760 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
7761 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
7762
7763 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
7764
c182a70f
EZ
77652000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
7766
7767 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
7768 need to test for MSDOS frames.
7769
24480d5b
EZ
77702000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
7771
7772 * dosfns.c (unspecified_colors): Remove.
7773 (msdos_stdcolor_idx): Use global variables unspecified_fg and
7774 unspecified_bg.
7775 (msdos_stdcolor_name): Return strings for unspecified fore- and
7776 back-ground colors.
7777
7778 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 7779 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
7780 (tty_color_name): Return Lisp strings for unspecified fore- and
7781 back-ground colors.
7782 (Finternal_set_lisp_face_attribute): Remove the special treatment
7783 for Qunspecified_{f,b}g.
7784 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
7785 string.
7786
047f434a
GM
77872000-01-03 Gerd Moellmann <gerd@gnu.org>
7788
7789 * xdisp.c (reseat_at_next_visible_line_start): Position before
7790 newline only if ending up on a newline.
7791 (next_element_from_ellipsis): Return success. Handle case of
7792 displaying no ellipsis. Fix case of ellipsis defined in display
7793 table.
7794 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
7795 returns 0.
7796
d684c676
EZ
77972000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
7798
7799 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
7800 (Fcolor_supported_p): Renamed from face-color-supported-p.
7801
5fe1d139
EZ
78022000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
7803
7804 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
7805 list of colors renamed to tty-defined-color-alist.
7806 (tty_color_name): Pass the frame to tty-color-by-index.
7807 (realize_tty_face): tty-color-alist is now a function which
7808 accepts the frame as argument.
7809
7810 * term.c (Ftty_display_color_p): Accept an optional argument
7811 FRAME.
7812
816be8b8
EZ
78132000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
7814
7815 * term.c (insert_glyphs): Pass glyph, not &glyph, to
7816 encode_terminal_code.
7817
b635321e
EZ
78182000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
7819
7820 * dispnew.c (mode_line_string): Support termcap frames as well.
7821
9b784e96
GM
78222000-01-01 Gerd Moellmann <gerd@gnu.org>
7823
27189709
GM
7824 * syntax.c (Fforward_word): Undo previous change.
7825
7826 * editfns.c (Fconstrain_to_field): Don't constrain if
7827 inhibit-field-text-motion is non-nil.
7828 (Fline_beginning_position): Undo previous change.
7829 (Fline_end_position): Ditto.
7830
7831 * syntax.c (Fforward_word): Notice field boundaries only if
7832 inhibit-field-text-motion is nil.
7833
7834 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
7835
7836 * editfns.c (Vinhibit_field_text_motion): New variable.
7837 (inhibit-field-text-motion): New DEFVAR_LISP.
7838 (Fline_beginning_position, Fline_end_position): Notice field
7839 boundaries only if inhibit-field-text-motion is nil.
7840
45158a91
GM
7841 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
7842 All calls adjusted.
7843 (x_build_heuristic_mask): Likewise.
7844 (xbm_load_image_from_file): Change error output.
7845 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
7846 (gif_load, gs_load, x_kill_gs_process): Ditto.
7847
9b784e96
GM
7848 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
7849 color indices when accessing raster pixels.
63cec32f
GM
7850 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
7851 one of :file or :data.
7852 (enum pbm_keyword_index): Add PBM_DATA.
7853 (pbm_format): Add :data.
7854 (pbm_image_p): Allow either :file or :data.
7855 (pbm_read_file): New function.
7856 (pbm_scan_number): Rewritten to read from string.
7857 (pbm_load): Support :data.
9b784e96 7858
2cb085db 7859See ChangeLog.8 for earlier changes.
6922b018
KH
7860
7861;; Local Variables:
49b3bd82 7862;; coding: iso-2022-7bit
6922b018 7863;; End: