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