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