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