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