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