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