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