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