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