(menu-bar-update-buffers): Call frame-parameter
[bpt/emacs.git] / src / ChangeLog
CommitLineData
0da3ecef
GM
12000-09-07 Gerd Moellmann <gerd@gnu.org>
2
3 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
4 change face on all frames, and change the default for new frames.
5
b14654b9
DL
62000-09-07 Dave Love <fx@gnu.org>
7
8 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
9
d24fd56f
KH
102000-09-07 Kenichi Handa <handa@etl.go.jp>
11
794f3670
KH
12 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
13
0fddd0dc
KH
14 * charset.c: Include composite.h
15 (lisp_string_width): New function.
16 (Fstring_width): Call lisp_string_width instead of strwidth.
17
18 * Makefile.in (charset.o): Depends on composite.h.
19
d24fd56f
KH
20 * process.c (read_process_output): Before inserting the decoded
21 text in the buffer, adjust the multibyteness.
22
fa0b693c
GM
232000-09-06 Gerd Moellmann <gerd@gnu.org>
24
73b77ee5
GM
25 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
26 buffer's text buffer is null, map new memory.
27
0a58f946
GM
28 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
29 POINTER_TYPE and size_t.
30 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
31 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
32 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
33 [REL_ALLOC_MMAP]: New macros.
34 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
35 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
36 [REL_ALLOC_MMAP]: New functions.
37
38 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
39 before and after unexec.
40
41 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
42 text buffers if necessary.
43
44 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
45 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
46 in prototypes.
47
fa0b693c
GM
48 * config.in (HAVE_MMAP): Add #undef.
49
877055f6
GM
502000-09-05 Gerd Moellmann <gerd@gnu.org>
51
08ba3862
GM
52 * frame.c (Qdisplay_type): New variable.
53 (syms_of_frame_1): Initialize it.
54 (Fframe_parameter): New function that avoids consing.
55 (syms_of_frame): Defsubr it.
56
66ffe51c
GM
57 * buffer.c (Fother_buffer): Consider buffers as invisible when
58 they are displayed in a window on an invisible frame.
59
877055f6
GM
60 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
61 get-largest-window always return nil.
62
bb970e67
GM
632000-09-04 Gerd Moellmann <gerd@gnu.org>
64
65 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
66 variable; recognize Emacs 19 elc files.
67
7a3d0e0e
MB
682000-09-04 Miles Bader <miles@gnu.org>
69
70 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
71 before initially popping up the menu, so the menu doesn't flash
72 when the face settings are significantly different from the
73 defaults.
74
14473664
SM
752000-09-04 Stefan Monnier <monnier@cs.yale.edu>
76
77 * regex.c (WIDE_CHAR_SUPPORT): New macro.
78 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
79 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
80 (BIT_UNIBYTE): Remove.
81 (re_match_2_internal): Delete corresponding code and streamline the
82 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
83 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
84 (re_wctype_t): New type.
85 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
86 (regex_compile): Use them and fix handling of overly long char classes.
87
c1174479
AI
882000-09-03 Andrew Innes <andrewi@gnu.org>
89
f8803e97
AI
90 * makefile.w32-in: Change to DOS line endings.
91
c1174479
AI
92 * s/ms-w32.h (ORDINARY_LINK): New define.
93
94 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
95 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
96
97 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
98 (distclean): Delete them here instead.
99
44ef7cf6
AI
100 * w32proc.c (compare_env): Convert to uppercase for comparison,
101 not lowercase, to match how the native Windows shell works.
102
49b3bd82
JR
1032000-09-03 Jason Rumney <jasonr@gnu.org>
104
105 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
106 CVS changes the line-ends when checking in/out on DOS/Windows.
107
108 * makefile.nt (emacs): Do not change directory to run temacs, as
109 the load-path is set relative to current directory.
110
a3d35a39
MB
1112000-09-03 Miles Bader <miles@gnu.org>
112
113 * xterm.c (x_alloc_lighter_color_for_widget): New function.
114
d276b0cf
GM
1152000-09-02 Gerd Moellmann <gerd@gnu.org>
116
715e84c9
GM
117 * xdisp.c (redisplay_mode_lines): New function.
118 (display_mode_lines): Return number of mode lines displayed.
119 (echo_area_display): Use redisplay_mode_lines to draw garbaged
120 mode lines. Don't temporarily bind redisplay-dont-pause to t.
121
8892f40b
GM
122 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
123 string.h and strings.h.
124 (index) [HAVE_INDEX]: Add prototype.
125
d276b0cf
GM
126 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
127 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
128
129 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
130 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
131
38404229
GM
1322000-09-01 Gerd Moellmann <gerd@gnu.org>
133
134 * lread.c (read1): Accept `?' as symbol constituent, for
135 compatiblity with XEmacs.
136
c0f9ea08
SM
1372000-08-31 Stefan Monnier <monnier@cs.yale.edu>
138
139 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
140 (struct re_pattern_buffer): Remove newline_anchor.
141 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
142 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
143 (re_max_failures, fail_stack): Use size_t rather than unsigned.
144 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
145 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
146 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
147 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
148 Get rid of references to newline_anchor.
149 (regcomp): Allocate and precompute a fastmap.
150
8c0f83fe
GM
1512000-08-31 Gerd Moellmann <gerd@gnu.org>
152
153 * lread.c (openp): GCPRO local variable `filename'.
154
4bb91c68
SM
1552000-08-30 Stefan Monnier <monnier@cs.yale.edu>
156
157 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
158
159 * regex.c: Merge some changes from GNU libc. Add prototypes.
160 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
161 Use memcmp and memcpy instead of bcopy and bcmp.
162 (init_syntax_once): Use ISALNUM.
163 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
164 (REG_UNSET_VALUE): Remove. Use NULL instead.
165 (REG_UNSET, re_match_2_internal): Use NULL.
166 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
167 New macros.
168 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
169 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
170 (regex_compile): In handle_interval, return an error rather than try to
171 unfetch the interval if we can't find the closing brace.
172 Obey the RE_NO_GNU_OPS syntax bit.
173 (TOLOWER): New macro.
174 (regcomp): Use it.
175 (regexec): Allocate regs.start and regs.end as one block.
176
5226a931
GM
1772000-08-30 Gerd Moellmann <gerd@gnu.org>
178
868dd24b
GM
179 * xdisp.c (echo_area_display): Check display_completed instead
180 of calling detect_input_pending.
181
182 * dispnew.c (update_frame): Only set display_completed here; move
183 the update_begin and update_end calls here from update_frame_1.
184 (update_frame_1): Don't set display_completed here, don't call
185 update_begin/update_end.
186
5226a931
GM
187 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
188 instead of store_frame_param.
189
2a8bd25f
GM
1902000-08-29 Gerd Moellmann <gerd@gnu.org>
191
192 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
193 desired window matrix hasn't been displayed, use the current row
194 instead. Make sure that only those frame rows are updated for
195 which there exists a corresponding enabled desired row.
196
ba3478d9
MB
1972000-08-29 Miles Bader <miles@gnu.org>
198
199 * xfaces.c (default_face_vector): New function.
200 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
201
87d0f685
GM
2022000-08-29 Gerd Moellmann <gerd@gnu.org>
203
204 * lread.c (openp): Prevent temporary string passed to
205 Ffile_readable_p from being garbage collected.
206
6fa86045
DL
2072000-08-28 Dave Love <fx@gnu.org>
208
209 * keymap.c (store_in_keymap): Add `static' to declaration.
210
bb17930d
GM
2112000-08-28 Gerd Moellmann <gerd@gnu.org>
212
213 * emacs.c, callint.c, doc.c, editfns.c
214 (toplevel) [HAVE_STRING_H]: Include string.h.
215 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
216 (index): Remove prototypes which might conflict with non-standard
217 definitions of index/strchr.
218
219 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
220 (rindex): Define only if !HAVE_RINDEX.
221
222 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
223
224 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
225
87188200
MB
2262000-08-28 Miles Bader <miles@gnu.org>
227
228 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
229 made inconsistent by a font-related attribute in FROM.
230 (merge_face_inheritance): Add function comment.
231
41a68aef
KH
2322000-08-28 Kenichi Handa <handa@etl.go.jp>
233
234 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
235 the 4th arg (PREV_EVENT) Qt to suppress input method.
236
f7c436c1
SM
2372000-08-27 Stefan Monnier <monnier@cs.yale.edu>
238
0b32bf0e
SM
239 * regex.c: Indent cpp directives and remove parens after `defined'.
240 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
241 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
242 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
243 (re_compile_pattern): Use size_t for length.
244 (init_syntax_once): Move to a better place.
245 * regex.h: Merge changes from GNU libc. Indent cpp directives.
246 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
247
f7c436c1
SM
248 * syntax.c (back_comment): Detect cases where a comment-starter is
249 actually inside another comment as in: /* a // b */ c // d \n.
250 Make it clear that `comstart_pos' is unused for nested comments.
251
252 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
253 (KEYMAPP): New macro.
254 (Fkeymap_parent, Fset_keymap_parent): Use it.
255 (fix_submap_inheritance): Mark it static.
256 (define_as_prefix, describe_buffer_bindings, describe_command)
257 (describe_translation, describe_map): Complete prototypes.
258
259 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
260
261 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
262 to better match the key-lookup behavior.
263
6288c62f
GM
2642000-08-27 Gerd Moellmann <gerd@gnu.org>
265
266 * xfaces.c (lface_fully_specified_p): Handle :inherit.
267 (Finternal_set_lisp_face_attribute): Fix typo in error message.
268
e931344e
EZ
2692000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
270
271 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
272 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
273 (xterm.o): Depend on coding.h
274
d10dfeef
KH
2752000-08-26 Kenichi Handa <handa@etl.go.jp>
276
277 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
278 the corresponding '#endif'.
279
2d73e8d3
MB
2802000-08-26 Miles Bader <miles@gnu.org>
281
282 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
283 * xfaces.c (QCinherit): New variable.
284 (syms_of_xfaces): Initialize it.
285 (LFACE_INHERIT): New macro.
286 (Finternal_get_lisp_face_attribute)
287 (merge_face_vector_with_property)
288 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
289 (check_lface_attrs): Allow new types of face height. Check
290 inherit attribute.
291 (CYCLE_CHECK): New macro.
292 (merge_face_inheritance): New function.
293 (merge_face_vectors): Merge inherited faces too. Add F and
294 CYCLE_CHECK arguments.
295 (merge_face_vector_with_property, Finternal_merge_in_global_face)
296 (lookup_named_face, lookup_derived_face, realize_named_face)
297 (face_at_string_position, face_at_buffer_position): Supply
298 new F and CYCLE_CHECK arguments to merge_face_vectors.
299 (merge_face_heights): New function.
300 (merge_face_vectors, merge_face_vector_with_property)
301 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
302 handle relative face heights.
303 (lface_same_font_attributes_p): Compare heights using EQ.
304
6ce974d4
KH
3052000-08-26 Kenichi Handa <handa@etl.go.jp>
306
307 * charset.c (char_to_string): Check the character validity.
308 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
309 0.
310
dc1e502d
SM
3112000-08-25 Stefan Monnier <monnier@cs.yale.edu>
312
313 * regex.c (PUSH_FAILURE_COUNT): New macro.
314 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
315 Handle popping of a register's or a counter's data.
316 (POP_FAILURE_POINT): Use the new name.
317 (re_match_2_internal): Push counter data on the stack for succeed_n,
318 jump_n and set_number_at and remove misleading dead code in succeed_n.
319
bd9d0f3f
GM
3202000-08-25 Gerd Moellmann <gerd@gnu.org>
321
322 * xdisp.c (redisplay_internal): If considering all windows on all
323 frames, update the display for each frame as soon as possible,
324 instead of first building all desired matrices for all frames, and
325 then updating them all.
326 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
327
aa5b8e15
GM
3282000-08-24 Gerd Moellmann <gerd@gnu.org>
329
17494071
GM
330 * bytecode.c (mark_byte_stack): Add a comment.
331
aa5b8e15
GM
332 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
333 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
334 a graphical frame.
335
c543db81
KH
3362000-08-24 Kenichi Handa <handa@etl.go.jp>
337
d246d5f5
KH
338 * minibuf.c (do_completion): Always use compare-string, not
339 string-equal because the latter doesn't pay attention to
340 multibyteness of strings.
341
c543db81
KH
342 * process.c (create_process): Don't setup raw-text coding here.
343 (Fopen_network_stream): Don't set coding->src_multibyte and
344 coding->dst_multibyte here.
345 (read_process_output): For process filter, return unibyte string
346 if default-enable-multibyte-characters is nil.
347 (send_process): If OBJECT is multibyte text, be sure to encoded it
348 by the specified coding system for the process. Otherwise, setup
349 raw-text coding.
350 (init_process): Don't initialize default-process-coding-system
351 here.
352
9b47cfe0
EZ
3532000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
354
355 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
356 <scroll-down-aggressively>: Likewise.
357
f5a36960
KH
3582000-08-23 Kenichi Handa <handa@etl.go.jp>
359
360 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
361 zero. Set coding->produced_char correctly.
362
69a7ffa7
AI
3632000-08-22 Andrew Innes <andrewi@gnu.org>
364
365 * makefile.w32-in: New file.
366
367 * unexw32.c (unexec): Ignore old_name, and use the actual location
368 of the current executable instead. Base new_name on this.
369
370 * w32proc.c (create_child): Remove reference to security
371 descriptor, which isn't needed and doesn't compile with mingw32.
372
373 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
374 up dllimport attributes.
375 (x_update_window_end): Update prototype.
376
377 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
378 extern, which screws up dllimport attributes.
379
380 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
381 up dllimport attributes.
382
383 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
384 screws up dllimport attributes.
385
386 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
387 up dllimport attributes.
388 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
389 screws up dllimport attributes.
390
391 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
392 up dllimport attributes.
393
394 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
395 screws up dllimport attributes.
396
397 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
398 screws up dllimport attributes.
399
400 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
401 up dllimport attributes.
402
403 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
404 unnecessary extern, which screws up dllimport attributes.
405 (main): Ditto.
406
407 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
408 up dllimport attributes.
409
410 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
411 unnecessary extern, which screws up dllimport attributes.
412
413 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
414 screws up dllimport attributes.
415
416 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
417 up dllimport attributes.
418
419 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
420
421 * w32bdf.c (search_file_line):
422 (set_bdf_font_info):
423 (seek_char):
424 (w32_get_bdf_glyph):
425 (w32_BDF_to_x_font): Fix compile warnings.
426
427 * w32menu.c: Include keyboard.h before frame.h. Fix compile
428 warnings.
429
430 * w32select.c: Include keyboard.h before frame.h.
431
432 * w32fns.c (max): Define macro.
433 (JOHAB_CHARSET): Define if not known.
434 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
435 (Fx_show_tip): Synch with X version.
436
437 * w32xfns.c: Include keyboard.h before frame.h.
438
439 * w32fns.c: Include keyboard.h before frame.h.
440
441 * w32term.c: Include keyboard.h before frame.h.
442
443 * fontset.c: Include keyboard.h before frame.h.
444
445 * w32inevt.c: Include keyboard.h before frame.h.
446 (MOUSE_MOVED): Define if not known.
447
448 * minibuf.c: Include keyboard.h before frame.h.
449
450 * keyboard.c: Include keyboard.h before frame.h.
451
452 * indent.c: Include keyboard.h before frame.h.
453
454 * dispnew.c: Include keyboard.h before frame.h.
455
456 * buffer.c: Include keyboard.h before frame.h.
457
458 * alloc.c: Include keyboard.h before frame.h.
459
460 * print.c: Include keyboard.h before frame.h.
461
462 * process.c: Include keyboard.h before frame.h.
463
464 * scroll.c: Include keyboard.h before frame.h.
465
466 * sysdep.c: Include keyboard.h before frame.h.
467
468 * term.c: Include keyboard.h before frame.h.
469
470 * window.c: Include keyboard.h before frame.h.
471
472 * xdisp.c: Include keyboard.h before frame.h.
473 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
474
475 * frame.c: Include keyboard.h before frame.h.
476
477 * w32heap.h: Undefine min, max.
478
479 * w32gui.h: Undefine min, max.
480
481 * unexw32.c: Change PUCHAR to PCHAR.
482 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
483 (relocate_offset):
484 (get_section_info):
485 (copy_executable_and_dump_data): Remove unnecessary static defs.
486 (copy_executable_and_dump_data): Fix compile warnings.
487
488 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
489
490 * w32console.c (min): Define macro.
491 (clear_frame, write_glyphs): Fix compile warning.
492
493 * w32proc.c (compare_env):
494 (find_child_console): Fix compile warning.
495
496 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
497 sys_errlist instead of _sys_errlist.
498 (get_emacs_configuration_options): New function.
499
500 * s/ms-w32.h (sys_nerr): Provide default definition.
501 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
502 name with _ prepended.
503 (NSIG): Define if not known.
504 (get_emacs_configuration): Provide extern declaration.
505 (get_emacs_configuration_options): Provide extern declaration.
506 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
507
508 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
509 (map_w32_filename):
510 (read_unc_volume): Fix compile warning.
511
512 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
513 definitions from being used.
514
515 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
516
517 * w32.c (unc_volume_file_attributes):
518 (open_unc_volume): Make arg const.
519
520 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
521 (read_input_waiting): Remove excess parameter.
522
523 * w32.c (init_environment): Call _access.
524 (check_windows_init_file): Call _close.
525 (init_user_info): Call _putenv.
526 (init_environment): Call _putenv and _strdup.
527 (init_ntproc): Reset volume info cache on startup.
528
529 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
530 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
531 cannot override the CRT malloc.
532
533 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
534 (LINK_FLAGS): Append to original value of LINK_FLAGS.
535
536 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
537 unless we are linking with a static CRT.
538 (RVA_TO_PTR): Cast result to unsigned char*.
539
540 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
541 (add_volume_info): Use xstrdup.
542
25060080
SM
5432000-08-22 Stefan Monnier <monnier@cs.yale.edu>
544
545 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
546 (do_completion, Fminibuffer_complete_word): Use it.
547 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
548 var so it can take non-boolean values.
549
6917e6bb
GM
5502000-08-21 Gerd Moellmann <gerd@gnu.org>
551
acb7cc89
GM
552 * editfns.c (find_field): Formatting changes.
553 (toplevel): Some old-style function forward declarations
554 changed to prototypes, some new protypes added, some functions
555 made static.
556
557 * lisp.h (set_time_zone_rule): Add prototype.
558 (use_dialog_box): External declaration.
559
0bbfdc25
GM
560 * keyboard.c (gen_help_event): Add parameter SIZE.
561 (kbd_buffer_events_waiting): Slightly rewritten.
562 (clear_event): New function.
563 (kbd_buffer_get_event): Use it, and clear the input_events of
564 HELP_EVENTs.
565 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
566 don't fill the newly created array with nils.
567 (toplevel): Convert some old-style function forward declarations
568 to prototypes.
569
570 * keyboard.h (gen_help_event): Change prototype.
571
572 * xterm.c (XTread_socket): Change calls to gen_help_event.
573
574 * w32term.c (w32_read_socket): Change calls to gen_help_event.
575
6917e6bb
GM
576 * eval.c (Fmacroexpand): Doc fix.
577
e5cd3d11
JR
5782000-08-20 Jason Rumney <jasonr@gnu.org>
579
580 * w32term.h (x_display_info_for_display): Remove as this function
581 does not exist on W32.
582
583 * w32term.c (help_echo_window): New variable.
584 (syms_of_w32term): staticpro it.
585 (note_mode_line_highlight): Set it.
586 (XTextExtents16): Removed as there is no equivalent on W32.
587 (x_compute_glyph_string_overhangs): Incomplete body removed, as
588 the X way of doing this will not work for W32.
589 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
590 (x_draw_image_foreground): Avoid drawing outside of the clip area
591 when image doesn't have a mask.
592 (note_mouse_highlight): Process overlays in the right order of
593 priority. Set help_echo_window.
594 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
595 because that's more visible for large images.
596
597 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
598 name to single_keymap_panes.
599 (w32_menu_show): Set wv->title when dealing with titles.
600 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
601
6e69ab8c
MB
6022000-08-21 Miles Bader <miles@gnu.org>
603
604 * minibuf.c (do_completion): Try again if we rewrite the input
605 string, but no completion was done, so that any completion message
606 will be correct.
607
511bd4eb
GM
6082000-08-20 Gerd Moellmann <gerd@gnu.org>
609
610 * xfaces.c (lface_equal_p): Compare strings differently.
611 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
612 (realize_tty_face): Use them.
613 (syms_of_xfaces): Initialize new variables.
614 (map_tty_color): New function, extracted from realize_tty_face.
615 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
616 foreground or background color, store the new color name in the
617 realized face; previous code trying to do this had no effect.
618 (realize_tty_face): Use map_tty_color.
619 (Fclear_face_cache): Set face_change_count and ensure thorough
620 redisplay.
621
1433385f
GM
6222000-08-19 Gerd Moellmann <gerd@gnu.org>
623
511bd4eb
GM
624 * undo.c (record_first_change, record_marker_adjustment): Don't
625 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 626
419ac0a2
KH
6272000-08-18 Kenichi Handa <handa@etl.go.jp>
628
629 * coding.c (decode_coding_string): Set members consumed,
630 consumed_char, produced, produced_char of *coding correctly. If
631 decode_coding doesn't consume any byte, don't try anymore.
632 (encode_coding_string): Likewise.
633
7eb9e30d
GM
6342000-08-18 Gerd Moellmann <gerd@gnu.org>
635
511bd4eb
GM
636 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
637 conditional have void type, for Standard C compilers.
7eb9e30d
GM
638
639 * xdisp.c (redisplay_internal): Compare windows for equality with
640 EQ, instead of applying XWINDOW to something that might not
641 be a window.
642
dd34a735
KH
6432000-08-18 Kenichi Handa <handa@etl.go.jp>
644
645 * fontset.c (Finternal_char_font): Search only the selected frame
646 for a window of the current buffer.
647
385ff9e3
GM
6482000-08-18 Gerd Moellmann <gerd@gnu.org>
649
511bd4eb 650 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
651 Lisp_Objects.
652
385ff9e3
GM
653 * keyboard.c (kbd_buffer_get_event): Handle the case that the
654 second half of a HELP_EVENT is found at the start of kbd_buffer.
655
d6abb4c7
MB
6562000-08-18 Miles Bader <miles@gnu.org>
657
4618074a
MB
658 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
659
d6abb4c7
MB
660 * editfns.c (save_restriction_save): Rewrite to use markers.
661 (save_restriction_restore): Rewrite to understand new form of data
662 saved by save_restriction_save.
663 (Fsave_restriction): Remove cautionary note in doc-string.
664
a7b28523
GM
6652000-08-17 Gerd Moellmann <gerd@gnu.org>
666
667 * fileio.c (build_annotations): Add a comment explaining the
668 return value of format-annotate-function. Replace a spurious call
669 to Flength with a CONSP test. Call format-annotate-function with
670 a fifth arg specifying how many times the function is been called
671 in a row, to let it choose temporary buffers appropriately.
672
03c9ed77
DL
6732000-08-17 Dave Love <fx@gnu.org>
674
675 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
676 declare make_temp_name twice.
677
678 * lread.c: Prototype readevalloop, load_unwind,
679 load_descriptor_unwind.
680 (unreadpure): Give it an arg.
681
682 * unexalpha.c: Prototype fatal_unexec, mark_x,
683 update_dynamic_symbols. Declare unexec as void.
684
685 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
686 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
687
688 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
689 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
690 DOUG_LEA_MALLOC.
691
692 * alloca.c: Use #error.
693 [POINTER_TYPE]: Use it.
694
695 * eval.c (Fdefvar): Doc fix.
696
697 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
698 INITIALIZE_INTERVAL.
699
700 * buffer.h: Avoid DECLARE_INTERVALS.
701
702 * config.in: Add size_t.
703
aae41d97
EZ
7042000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
705
706 * w16select.c (set_clipboard_data): If there's not enough memory
707 to put text into clipboard, return 1, as Fw16_set_clipboard_data
708 expects. In case of other failures, return 3.
709 (system_error_msg): New error message.
710 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
711 system_error_msg.
712
65aa5e85
GM
7132000-08-16 Gerd Moellmann <gerd@gnu.org>
714
715 * term.c (write_glyphs): Also turn off inverse video after turning
716 off other appearances in case TS_exit_attribute_mode is not equal
717 to TS_end_standout_mode.
718 (insert_glyphs): Turn inverse video on/off for each run of glyphs
719 with the same face.
720 (turn_off_face): Reset standout_mode only if
721 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
722 is equal to TS_end_standout_mode.
723
ece23901
KH
7242000-08-16 Kenichi Handa <handa@etl.go.jp>
725
9d7bcb2e
KH
726 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
727 sequence at the end of the source block.
728
ece23901
KH
729 * ccl.c (Fccl_program_p): Docstring modified.
730 (Fccl_execute): Likewise.
731 (Fccl_execute_on_string): Likewise.
732
5e30eaa2
EZ
7332000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
734
735 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
736
290602fd
KH
7372000-08-16 Kenichi Handa <handa@etl.go.jp>
738
739 The following changes are mainly to fix bugs of
740 encode/decode-coding-string failing if encoding/decoding return
741 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
742 variable conversion_buffer.
743
744 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
745 decrement dst_end to avoid buffer overflow in the later call of
746 string_as_multibyte
747
748 * coding.h (conversion_buffer_size, conversion_buffer)
749 (get_conversion_buffer): Extern deleted.
750
751 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
752 (conversion_buffer, conversion_buffer_size): Variables deleted.
753 (get_conversion_buffer): Function deleted.
754 (struct conversion_buffer): New structure.
755 (MAX_ALLOCA): New macro.
756 (allocate_conversion_buffer): New macro.
757 (extend_conversion_buffer, free_conversion_buffer): New functions.
758 (ccl_coding_driver): Set coding->result.
759 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
760 this is the last block of source.
761 (encode_coding): Likewise. Handle the source block as the last
762 one only when the whole source text is consumed.
763 (decode_coding_string): Handle the case that the output buffer is
764 too small to decode the whole source text. Use
765 allocate_conversion_buffer, extend_conversion_buffer and
766 free_conversion_buffer, not get_conversion_buffer.
767 (encode_coding_string): Likewise.
768 (init_coding): Function deleted.
769 (init_coding_once): Delete code to initialize
770 conversion_buffer_size.
771
772 * emacs.c (main): Don't call init_coding.
773
774 * msdos.c (IT_write_glyphs): Use a locally declared
775 conversion_buffer.
776
777 * term.c (write_glyphs): Use a locally declared conversion_buffer.
778 (insert_glyphs): Likewise.
779
780 * w32console.c (write_glyphs): Use a locally declared
781 conversion_buffer.
782
b9f80d41
EZ
7832000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
784
785 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
786 member of display_info is NULL.
787
32dc52f7
GM
7882000-08-15 Gerd Moellmann <gerd@gnu.org>
789
58ed0d3b
GM
790 * alloc.c (compact_small_strings): Use safe_bcopy, add an
791 assertion.
792
32dc52f7 793 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 794 appearances with capability `me'.
32dc52f7
GM
795 (write_glyphs): Switch on inverse video before each face change.
796
4eb22d33
DL
7972000-08-14 Dave Love <fx@gnu.org>
798
799 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
800 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
801 (lisp_free): Declare and make static.
802
803 * window.c: Fix embedded comment.
804 (syms_of_window): Fix doc string.
805
90cbf47e
GM
8062000-08-14 Gerd Moellmann <gerd@gnu.org>
807
808 * keymap.c (push_key_description): If C without modifiers is < 32,
809 make sure to print `C-' before `M-', like in the manual.
810
440fc135
GM
8112000-08-11 Gerd Moellmann <gerd@gnu.org>
812
813 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
814 since they aren't relocated anymore.
815 (sxhash_string): Make sure returned hash code fits in a Lisp
816 integer.
817
818 * xdisp.c (try_cursor_movement): Fix handling of cursor in
819 partially visible line which is smaller than the window's
820 height.
821
6e264fad
KH
8222000-08-11 Kenichi Handa <handa@etl.go.jp>
823
824 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
825 the multibyte form of eight-bit-control characters.
826 (Fccl_execute_on_string): Initialize ccl->multibyte.
827
828 * ccl.h (struct ccl_program): New member multibyte.
829
830 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
831
c371f69a
KH
8322000-08-11 Kenichi Handa <handa@etl.go.jp>
833
834 * regex.c (regex_compile) <normal_char>: Pay attention to
835 multibyteness.
836 (analyse_first) <exactn>: Setup fastmap correctly for
837 eight-bit-control characters.
838
8392000-08-11 Kenichi Handa <handa@etl.go.jp>
840
841 * termhooks.h (enum event_kind): New member
842 multibyte_char_keystroke.
843
844 * keyboard.c (make_lispy_event): Handle the new event type
845 multibyte_char_keystroke.
846
847 * xterm.c: Include coding.h.
848 (XTread_socket): Work around a bug of XmbLookupString. If the
849 input is from XIM, decode it according to the current locale. In
850 that case, generate multibyte_char_keystroke events.
851
b8ddbe71
KH
8522000-08-11 Kenichi Handa <handa@etl.go.jp>
853
854 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
855 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
856
47589c8c
GM
8572000-08-10 Gerd Moellmann <gerd@gnu.org>
858
859 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
860 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
861 (move_it_in_display_line_to): Record iterator's ascent and descent
862 before producing glyphs, and restore them when we know the glyph
863 doesn't fit on the line.
864 (move_it_to): Restructured so that it's easier to debug. If
865 moving to a vpos, and not moving to an x or character position,
866 stop as soon as the specified vpos is reached; don't move further
867 into that line because that might change the computed line height.
868 (try_cursor_movement): New function, extracted from the cursor
869 movement branch of redisplay_window. If ending on a partially
870 visible line, don't try to scroll if the cursor line is taller
871 than the window.
872 (redisplay_window): Use try_cursor_movement.
873
874 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
875 because that function doesn't cope with variable-height lines.
876
877 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
878 box cursor because that's better visible for large images.
879
c51bacd6
MB
8802000-08-10 Miles Bader <miles@gnu.org>
881
882 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
883
bea56df7
GM
8842000-08-10 Gerd Moellmann <gerd@gnu.org>
885
886 * xdisp.c (Vmessages_buffer_name): New variable.
887 (message_dolog): Use it.
888 (syms_of_xdisp): Initialize it.
889
99cd7364
EZ
8902000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
891
892 * msdos.c (IT_note_mouse_highlight): Update the calls to
893 overlays_at.
894 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
895 redundant now that keyboard.h is included.
896
7d093d56
EZ
8972000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
898
899 * keyboard.c (kbd_buffer_events_waiting): New function.
900
901 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
902
903 * msdos.c: Include keyboard.h.
904 (XMenuActivate): Empty no_event events from the event buffer. If
905 no events are left after that, call clear_input_pending.
906 (mouse_clear_clicks): New function, code moved from mouse_init.
907 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
908 mouse driver to ``forget'' any past clicks.
909
910 * Makefile.in (msdos.o): Depend on keyboard.h.
911
41e757a6
GM
9122000-08-09 Gerd Moellmann <gerd@gnu.org>
913
8e7bd231
GM
914 * lisp.h (input_pending): External declaration.
915
916 * dispextern.h (Qredisplay_dont_pause): Declare extern.
917
918 * xdisp.c (echo_area_display): Display thoroughly if input is
919 pending. Bind redisplay-dont-pause to t during the redisplay.
920 in case input is pending.
921
922 * dispnew.c (Qredisplay_dont_pause): New variable.
923 (syms_of_display): Initialize and staticpro it.
924 (update_frame_1): Don't interrupt the display for pending input if
925 redisplay_dont_pause is set.
926
43028b7e
GM
927 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
928
41e757a6
GM
929 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
930
2f2174fa
KH
9312000-08-09 Miles Bader <miles@lsi.nec.co.jp>
932
933 * callproc.c (Fcall_process): Terminate the unwind-protect around
934 the post-read-conversion of coding system.
935
0a6fd67e
MB
936 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
937 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
938 * buffer.h (overlays_at): Update prototype.
939 * xdisp.c (next_overlay_change): Update call to overlays_at.
940 * xfaces.c (face_at_buffer_position): Likewise.
941 * textprop.c (Fget_char_property): Likewise.
942 * xterm.c (note_mouse_highlight): Likewise.
943
0c80756e
MB
944 * minibuf.c (do_completion): Don't consider a simple change of
945 case as `completion'.
946
975f250a
KR
9472000-08-08 Ken Raeburn <raeburn@gnu.org>
948
b347b3fd
KR
949 * keyboard.c (syms_of_keyboard): Initialize
950 last_point_position_buffer.
951 * undo.c (record_delete): Make sure last_point_position_buffer is
952 a buffer before comparing pointers.
953
954 * coding.h (decode_coding_string): Declare.
955
956 * intervals.h (Fprevious_single_char_property_change): Declare.
957
958 * textprop.c (Fprevious_single_char_property_change): Don't do
959 arithmetic directly on lisp objects.
960
25ad1371 961 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
962 objects.
963
964 * keyboard.h (menu_item_eval_property): Declare.
965
966 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
967 reuse as buffer name, instead of recreating (and discarding) every
968 time a message is logged.
969 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
970 (current_message_1, truncate_message_1, set_message_1)
971 (display_echo_area_1, resize_mini_window_1): Signatures changed.
972 (current_message, truncate_echo_area, display_echo_area)
973 (resize_echo_area_axactly): Changed calls.
b347b3fd 974
975f250a 975 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 976 Lisp object.
975f250a 977 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 978 must be an integer, not a Lisp object.
975f250a 979
46dc9912
KH
9802000-08-08 Kenichi Handa <handa@etl.go.jp>
981
982 * charset.c (Fchar_width): Doc fix.
983
9f6d1a6c
GM
9842000-08-08 Gerd Moellmann <gerd@gnu.org>
985
986 * charset.c (Fstring_width): Doc fix.
987
ff3d9573
GM
9882000-08-07 Gerd Moellmann <gerd@gnu.org>
989
41e757a6 990 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
991 line, clear ascent and descent members of the iterator structure;
992 the height of the continued line does not affect the height of the
993 continuation line.
994 (make_cursor_line_fully_visible): Do nothing if cursor is on a
995 line taller than the window.
996 (redisplay_window) <forced window start>: Handle case that the
997 middle of the window is not found in any row.
998 (dump_glyph_row): Show more information.
999 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
1000 first text line in a glyph matrix.
1001
1002 * xterm.c (x_draw_image_foreground): Avoid drawing outside
1003 of the clip area when image doesn't have a mask.
1004
70fc58b3
GM
1005 * fns.c (sweep_weak_table): Fix survival conditions for
1006 key-or-value and key-and-value weakness.
1007
1008 * .gdbinit (xhashtable): New command.
1009
ac0e96ee
GM
1010 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
1011 tables out of the list of all weak hash tables.
1012
ff3d9573
GM
1013 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
1014 a new buffer is created, make sure echo_area_buffer[] references
1015 the new buffer.
1016
e0d8827b
EZ
10172000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
1018
1019 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
1020 the doc string.
1021
c6f35378
KH
10222000-08-07 Kenichi Handa <handa@etl.go.jp>
1023
1024 * syntax.c (skip_chars): Fix previous change. Make the handling
1025 of unibyte string consistent with that of regex search.
1026
1fd4c450
GM
10272000-08-05 Gerd Moellmann <gerd@gnu.org>
1028
e49aa397
GM
1029 * xmenu.c (popup_get_selection): Use xfree instead of free.
1030
1031 * fileio.c (Finsert_file_contents): Use xfree instead of free.
1032
1033 * editfns.c (Ftranspose_regions): Use xfree instead of free.
1034
1035 * callproc.c (child_setup): Use xfree instead of free.
1036
1037 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
1038 instead of malloc.
1039 (run_mac_command, closedir): Use `xfree' instead of `free'.
1040
1041 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
1042
1043 * eval.c (error): Use xfree instead of free.
1044
1fd4c450
GM
1045 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
1046
1047 * fns.c: Replace `illegal' with `invalid'.
e49aa397 1048 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 1049
82d497fc
KH
10502000-08-05 Kenichi Handa <handa@etl.go.jp>
1051
1052 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
1053 conversion.
1054
59f953a2
NF
10552000-08-04 Noah Friedman <friedman@splode.com>
1056
1057 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
1058 docstring.
1059
688351f2
GM
10602000-08-04 Gerd Moellmann <gerd@gnu.org>
1061
1062 * syntax.c (skip_chars): Fix typo in error message.
1063
2dad51cc
AS
10642000-08-04 Andreas Schwab <schwab@suse.de>
1065
1066 * m/ia64.h: Moved from s/ia64.h.
1067
99bb2c60
KH
10682000-08-04 Kenichi Handa <handa@etl.go.jp>
1069
082a1df2
KH
1070 * process.c (read_process_output): Big simplification. Handle
1071 composition and post-read-conversion of coding system correctly.
1072 (send_process): Handle composition correctly.
1073
1074 * callproc.c (Fcall_process): Handle post-read-conversion of
1075 coding system if any.
1076
99bb2c60
KH
1077 * coding.c (decode_coding_iso2022): More strict check for handling
1078 single shifting.
082a1df2
KH
1079 (coding_restore_composition): Pay attention to the case that
1080 cmp_data is not set properly (because of invalid code in the
1081 source text).
1082 (run_pre_post_conversion_on_str): Include text properties in the
1083 resulting string.
1084 (decode_coding_string): Set members of coding correctly.
99bb2c60 1085
f4988be7
GM
10862000-08-03 Gerd Moellmann <gerd@gnu.org>
1087
1088 * s/ia64.h: New file.
1089
1090 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
1091 Use NULL instead of 0 at the end of variable argument list of
1092 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
1093 sizeof (int) < sizeof (void *).
1094
1095 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
1096 of variable argument lists of XtVaGetValues and XtVaSetValues.
1097
1098 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
1099 variable argument lists of XtVaGetValues and XtVaSetValues.
1100
ead53494
GM
11012000-08-02 Gerd Moellmann <gerd@gnu.org>
1102
1103 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
1104 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
1105
1106 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
1107 prototype.
1108
1109 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
1110 in call to Fsingle_key_description.
1111
1112 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
1113 Callers changed.
1114
11152000-08-02 Colin Walters <walters@cis.ohio-state.edu>
1116
1117 * window.c (display_buffer_reuse_frames): New variable.
1118 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
1119 frames displaying BUFFER.
1120 (syms_of_window): Define Lisp variable
1121 display-buffer-reuse-frames.
1122
10b0f752
MB
11232000-08-01 Miles Bader <miles@gnu.org>
1124
1125 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
1126 when to constrain NEW_POS (they were pretty screwed up before).
1127
16425c4a
EZ
11282000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
1129
1130 * msdos.c (run_msdos_command): Save and restore the master
1131 environment, for the case that child_setup signals an error.
1132 When mirroring slashes in DOS shell commands, don't fail when
1133 argv[2] has embedded blanks.
da288c14
EZ
1134 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
1135 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
1136 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
1137
1138 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
1139 using alloca; free it after run_msdos_command returns.
1140
27f73852
DL
11412000-07-27 Dave Love <fx@gnu.org>
1142
1143 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
1144 define.
1145 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
1146 working.
1147
1148 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
1149
c0261b5e
EZ
11502000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
1151
1152 * editfns.c (lisp_time_argument): Fix last change.
1153
b548072f
GM
11542000-07-27 Gerd Moellmann <gerd@gnu.org>
1155
3ab82477
GM
1156 * fns.c (Fdelete): Make it work on vectors and strings in addition
1157 to lists.
1158
b548072f
GM
1159 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
1160 (syms_of_fns): Initialize new variables.
1161 (sweep_weak_table): Handle weakness `key-or-value' and
1162 `key-and-value'.
1163 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
1164 weakness, with t meaning the same as `key-and-value'.
1165
91ae8751
KH
11662000-07-27 Kenichi Handa <handa@etl.go.jp>
1167
1168 * coding.h (struct coding_system): Member safe_charset deleted.
1169
1170 * coding.c (Qsafe_charsets): This variable deleted.
1171 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
1172 variables.
1173 (coding_safe_chars): New function.
1174 (CODING_SAFE_CHAR_P): New macro.
1175 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
1176 checking safe_charsets member of the coding system. Caller
1177 changed.
1178 (detect_coding_iso2022): New local variable safe_chars.
1179 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
1180 safe_charsets member of the coding system.
1181 (decode_coding_iso2022): New local variable safe_chars.
1182 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
1183 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
1184 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
1185 (ENCODE_UNSAFE_CHARACTER): New macro.
1186 (encode_coding_iso2022): New local variable safe_chars. Check
1187 unsafe chars.
1188 (setup_coding_system): Delete the code to initialize
1189 coding->safe_charses
1190 (intersection, find_safe_codings): New functions.
1191 (Ffind_coding_systems_region_internal): New function.
1192 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
1193 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
1194 variable and initialize it.
1195
1196 * fns.c (char_table_ref_and_index): New function.
1197
1198 * lisp.h (char_table_ref_and_index): Add prototype.
1199
34a7a267
SS
12002000-07-26 Sam Steingold <sds@gnu.org>
1201
1202 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 1203 (Ffloat_time): New built-in Lisp function.
34a7a267 1204
a95cb10a
GM
12052000-07-26 Gerd Moellmann <gerd@gnu.org>
1206
3353ef5a
GM
1207 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
1208 for the character code.
1209
1210 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
1211 GNU/Linux.
1212
a95cb10a
GM
1213 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
1214 if called for a popup menu.
1215 (xmenu_show): Store help string in widget values.
1216
b4a12321
DL
12172000-07-26 Dave Love <fx@gnu.org>
1218
1219 * syswait.h: Move some definitions.
1220 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
1221 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
1222 perspicuous definitions.
1223 (WTERMSIG): Fix bit pattern used.
1224
13f5ad37
KH
12252000-07-26 Kenichi Handa <handa@etl.go.jp>
1226
1227 * print.c (print_object): If vector printing is truncated, print
1228 "..." to indicate it as well as the case of list printing.
1229
070fe99c
GM
12302000-07-25 Gerd Moellmann <gerd@gnu.org>
1231
969065c3
GM
1232 * xdisp.c (next_element_from_display_vector): Improve comments.
1233
1234 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
1235 for the character code, and the rest for the face id as in 20.x.
1236 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
1237
1238 * window.c (window_display_table): Cleaned up.
1239
070fe99c
GM
1240 * syntax.c (Fforward_word): Add last arg nil in call of
1241 Fconstrain_to_field.
1242
bad77ef7
EZ
12432000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
1244
969065c3 1245 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
1246 identical but for the letter-case, don't call
1247 barf_or_query_if_file_exists.
1248
c28da489
MB
12492000-07-25 Miles Bader <miles@gnu.org>
1250
1251 * editfns.c (find_field): Honor special `boundary' fields.
1252 (Qboundary): New variables.
1253 (syms_of_editfns): Initialize Qboundary.
1254 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
1255 Use scan_buffer instead of find_before_next_newline, because it
1256 allows us to detect the boundary case where there's a newline at
1257 the search limit.
1258 * lisp.h (Fconstrain_to_field): Update external declaration.
1259
e3c31fd5
GM
12602000-07-24 Gerd Moellmann <gerd@gnu.org>
1261
1262 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
1263 if that is nil.
c28da489 1264
c66c29a2
DL
12652000-07-24 Dave Love <fx@gnu.org>
1266
1267 * s/sunos4-0.h, s/sol2.h:
1268 (LIBS_TERMCAP): Move from m/sparc.h.
1269
1270 * m/sparc.h (TERMINFO): Moved to system files (probably only
1271 relevant for sunos4 judging by its vintage).
1272 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
1273 __arch64__.
1274
fbe0a958
EZ
12752000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
1276
1277 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
1278 name to single_keymap_panes.
1279
7d88e5c9
AS
12802000-07-24 Andreas Schwab <schwab@suse.de>
1281
1282 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
1283
e024b101
GM
12842000-07-24 Gerd Moellmann <gerd@gnu.org>
1285
1286 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
1287 parameters instead of using int parameters. Expect FN to accept
1288 EMACS_INT parameters.
1289 (display_echo_area, resize_echo_area_axactly, current_message)
1290 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
1291 with new argument list.
1292 (resize_mini_window_1): New callback function.
1293 (current_message_1, truncate_message_1, set_message_1): Change
1294 parameter lists to the new format expected by
1295 with_echo_area_buffer.
1296
25c1a9ce
KH
12972000-07-24 Kenichi Handa <handa@etl.go.jp>
1298
1299 * fontset.c (fontset_ref): Remove INLINE declaration.
1300 (fontset_ref_via_base): Likewise.
1301 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
1302 to downcase.
1303
7f987ac0
EZ
13042000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
1305
1306 * msdos.c (IT_note_mouse_highlight): Process overlays in the
1307 correct order of priority. If help echo was found in an overlay,
1308 use that overlay as the object in which the help echo was found.
1309
e2db3069
MB
13102000-07-22 Miles Bader <miles@gnu.org>
1311
1312 * textprop.c (Fprevious_single_char_property_change): The initial
1313 property value should be from the position preceding POSITION, not
1314 following it.
1315
5e3203e4
EZ
13162000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
1317
1318 * coding.c (syms_of_coding): Doc fix for
1319 inhibit-iso-escape-detection.
1320
62145073
GM
13212000-07-21 Gerd Moellmann <gerd@gnu.org>
1322
c20aeb83
GM
1323 * xterm.c (note_mouse_highlight): Process overlays in the right
1324 order of priority.
34a7a267 1325
743934db
GM
1326 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
1327
1328 * xterm.c (note_mouse_highlight): If help-echo was found in an
1329 overlay, use that overlay as the object in which the help was
1330 found.
1331
d1dc7e43 1332 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 1333
62145073
GM
1334 * window.c (foreach_window): Instead of a fake variable argument
1335 list, take one USER_DATA argument.
1336 (foreach_window_1): Likewise, and call callback functions with two
1337 args, the window and USER_DATA.
1338 (struct check_window_data): New struct.
1339 (check_window_containing): Use it.
1340 (window_from_coordinates): Set up a struct check_window_data for
1341 foreach_window.
1342 (add_window_to_list, freeze_window_start): Change parameters
1343 according to new calling convention.
1344
1345 * window.h (foreach_window): Change prototype.
1346
1347 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
1348
13492000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
1350
1351 * xmenu.c (menu_help_callback): Call show_help_echo with
1352 additional arguments OBJECT and POS.
1353
11270583
KH
13542000-07-21 Kenichi Handa <handa@etl.go.jp>
1355
07b14857
KH
1356 * data.c (Faset): Allow storing any multibyte character in a
1357 string. Convert unibyte string to multibyte if necessary.
1358
11270583
KH
1359 * xfns.c (x_encode_text): New function.
1360 (x_set_name): Use x_encode_text.
1361 (x_set_title): Likewise.
1362
1363 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
1364
1365 * xterm.h (x_encode_text): Add prototype.
1366
bc75b4fd
DL
13672000-07-20 Dave Love <fx@gnu.org>
1368
1369 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
1370 xfree, not free.
1371
48c14970
EZ
13722000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
1373
1374 * msdos.c (help_echo_window): New variable.
1375 (syms_of_msdos): Initialize and staticpro it.
1376 (IT_note_mode_line_highlight): Set help_echo_window.
1377 (IT_note_mouse_highlight): Ditto.
1378 (dos_rawgetc): Store help_echo_window in the second event produced
1379 for HELP_EVENTs.
1380
1381 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
1382 Record the object that generated the help echo and the position of
1383 that object in help_echo_object and help_echo_pos. Record that
1384 some glyphs in a row are displayed in mouse-face.
1385 (IT_update_begin): Don't clear mouse highlight unless one of the
1386 enabled glyph rows is marked as being displayed in mouse-face.
1387 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
1388 and position recorded in help_echo_object and help_echo_pos to the
1389 event queue.
1390 (IT_menu_display): Accept a new argument PN: the pane number of
1391 the current menu pane. Record the pane number and the item
1392 number of the item which has associated help string.
1393 (XMenuActivate): Update the prototype for help_callback in
1394 function declaration. Call IT_menu_display with the current menu
1395 pane number as an additional argument. Call help_callback with
1396 two additional arguments: the pane number and the item number of
1397 the menu item associated with the help text.
1398 (help_echo_object, help_echo_pos): New variables.
1399 (syms_of_msdos): Initialize them and staticpro help_echo_object.
1400
1401 * msdos.h (XMenuActivate): Update prototype.
1402
4279296d
GM
14032000-07-19 Gerd Moellmann <gerd@gnu.org>
1404
47db06aa
GM
1405 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
1406 Add some more prototypes.
1407
1408 * xterm.c, xterm.h: Add some more prototypes.
1409
1410 * lisp.h (Fnext_single_char_property_change): Add prototype.
1411
1412 * dispnew.c (direct_output_for_insert): Remove confusing
1413 outer local variable mouse_face_overwritten_p.
1414 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
1415
4279296d
GM
1416 * alloc.c (allocate_string_data): Don't copy old string contents.
1417
670acd62
KH
14182000-07-19 Kenichi Handa <handa@etl.go.jp>
1419
1420 * coding.c (code_convert_region): Delete text properties before
1421 shrinking the conversion region.
1422
7cea38bc
GM
14232000-07-18 Gerd Moellmann <gerd@gnu.org>
1424
dc1cac59
GM
1425 * dispnew.c (update_text_area): Write the whole row if it
1426 has mouse-face in it.
1427
85a8aca9
GM
1428 * xfaces.c (face-alternative-font-family-alist): Remove
1429 DEFVAR_LISP; staticpro instead.
1430
34a7a267 1431 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
1432 new arguments.
1433
1434 * keyboard.c (show_help_echo): Add parameter WINDOW.
1435 (read_char): Call show_help_echo with window extracted from Lisp
1436 help event.
1437 (gen_help_event): Add parameter WINDOW.
1438
1439 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
1440
1441 * xterm.c (help_echo_window): New variable.
1442 (note_mouse_highlight, note_tool_bar_highlight): Set
1443 help_echo_window.
1444 (XTread_socket): Pass help_echo_window to gen_help_event.
1445 (syms_of_xterm): Initialize and staticpro help_echo_window.
1446
f8276b77
DL
14472000-07-18 Dave Love <fx@gnu.org>
1448
1449 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
1450 systime.h.
1451
088831a6
GM
14522000-07-18 Gerd Moellmann <gerd@gnu.org>
1453
3d6cd763
GM
1454 * alloc.c (allocate_string_data): If string had already data
1455 assigned, copy old contents to new string data.
1456
1457 * coding.c (syms_of_coding): Fix typo in spelling of variable
1458 `inhibit-iso-escape-detection'.
1459
088831a6
GM
1460 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
1461
1462 * Makefile.in: Add dependencies on dispextern.h.
1463 (alloca.o): Don't define malloc and define EMACS_FREE instead of
1464 `free'; both can conflict with system header files.
1465
bc8a8d55
KH
14662000-07-18 Kenichi Handa <handa@etl.go.jp>
1467
1468 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
1469 undefined.
1470
069f5950
DL
14712000-07-18 Dave Love <fx@gnu.org>
1472
1473 * window.c (Fwindow_list): Declare arg `window'.
1474
aa96c820
KH
14752000-07-18 Kenichi Handa <handa@etl.go.jp>
1476
1477 * coding.c (setup_coding_system): Don't override the explicitly
1478 specified designations.
1479
06be8d32
MB
14802000-07-15 Miles Bader <miles@gnu.org>
1481
1482 * editfns.c (char_property_eq, char_property_stickiness): Renamed
1483 from `text_property_eq' and `text_property_stickiness', respectively.
1484 (find_field, Fconstrain_to_field, char_property_eq)
1485 (char_property_stickiness): Changed to call char-property functions
1486 instead of text-property-only ones.
1487
1488 * textprop.c (Fnext_single_char_property_change): Made a subr (was
1489 `next_single_char_property_change'). Do more error checking, and
1490 cleanup limit behavior.
1491 (Fprevious_single_char_property_change): New function.
1492 (syms_of_textprop): Initialize new subrs.
1493
1494 * xdisp.c (display_prop_end, invisible_text_between_p):
1495 Call Fnext_single_char_property_change instead of
1496 next_single_char_property_change.
1497
3fddcdc3
JR
14982000-07-15 Jason Rumney <jasonr@gnu.org>
1499
1500 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
1501 after menu is finished with.
1502 (add_menu_item): Only consider wv->title as a menu title.
1503 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
1504
1505 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
1506 null title.
1507 (FONT_REGEXP): Remove unused macro, and its sub-components.
1508 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
1509
1510 * w32term.c (help_echo_object, help_echo_pos): New variables.
1511 (note_mode_line_highlight): Store additional information about the
1512 help-echo in help_echo_object and help_echo_pos. Check both
1513 `local-map' and `keymap' properties for changing the cursor
1514 (note_mouse_highlight): Store additional information about the
1515 help-echo in help_echo_object and help_echo_pos.
1516 (note_tool_bar_highlight): Set help_echo_object to nil and
1517 help_echo_pos to -1.
1518 (w32_read_socket): Use gen_help_event instead of filling
1519 input_events manually.
1520 (syms_of_w32term): Staticpro help_echo_object.
1521 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
1522 set, arrange for a mouse-highlight redisplay in
1523 XTframe_up_to_date.
1524 (x_clear_mouse_face): New function.
1525 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
1526 (x_update_window_begin): No need to turn off the mouse
1527 highlight here.
1528 (show_mouse_face): Set the mouse_face_p flag of glyph rows
1529 depending on whether they contain glyphs highlighted in
1530 mouse-face.
1531 (x_fill_stretch_glyph_string): Consume runs of stretch
1532 glyphs instead of a single one.
1533 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
1534 with new argument list.
1535 (x_set_glyph_string_gc): Make sure the face's GC is valid.
1536 (x_append_glyph, x_append_composite_glyph)
1537 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
1538 changes in struct glyph starting 1999-12-27. See comments for
1539 xterm.c on 2000-07-05.
1540
178c5d9c
SS
15412000-07-14 Sam Steingold <sds@gnu.org>
1542
1543 * xfaces.c (realize_x_face): Fix the last patch:
1544 check `default_face' before dereferencing.
1545
6fe533f6
DL
15462000-07-14 Dave Love <fx@gnu.org>
1547
069f5950 1548 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 1549
dd7b81cf
KH
15502000-07-14 Kenichi Handa <handa@etl.go.jp>
1551
0693904a 1552 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 1553 default_face's fontset, not using the default fontset.
0693904a 1554
dd7b81cf
KH
1555 * coding.c (inhibit_iso_escape_detection): New variable.
1556 (syms_of_coding): Make it a Lisp variable.
1557 (detect_coding_iso2022): If inhibit_iso_escape_detection is
1558 nonzero, ignore ISO2022's escape sequence.
1559
d5aa31d8
GM
15602000-07-14 Gerd Moellmann <gerd@gnu.org>
1561
e5acf0ca
GM
1562 * alloca.c (malloc) [emacs]: Define as xmalloc.
1563
bd23a692
GM
1564 * xfns.c (Fx_show_tip): If frame parameters contain a position,
1565 use that instead of the mouse position. Add parameters DX and DY.
1566
1567 * dispextern.h (Fx_show_tip): Adjust number of parameters
1568 in prototype.
1569
9662da0b
GM
1570 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
1571 if HELP is a function, call it with OBJECT and POS as parameters
1572 to get the help to display.
1573 (gen_help_event, kbd_buffer_store_help_event): New functions.
1574 (kbd_buffer_get_event): Construct the Lisp help-event differently.
1575 (read_char): Call show_help_echo with new parameters.
1576
178c5d9c 1577 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
1578 Add prototypes.
1579
1580 * xterm.c (help_echo_object, help_echo_pos): New variables.
1581 (note_mode_line_highlight): Store additional information about the
1582 help-echo in help_echo_object and help_echo_pos. Check both
1583 `local-map' and `keymap' properties for changing the cursor
1584 (note_mouse_highlight): Store additional information about the
1585 help-echo in help_echo_object and help_echo_pos.
1586 (note_tool_bar_highlight): Set help_echo_object to nil and
1587 help_echo_pos to -1.
1588 (XTread_socket): Use gen_help_event instead of filling
1589 input_events manually.
1590 (syms_of_xterm): Staticpro help_echo_object.
1591
1592 * xmenu.c (menu_highlight_callback): Use
1593 kbd_buffer_store_help_event instead of setting up and input_event
1594 structure manually.
1595
1596 * xdisp.c (eval_form): GCPRO argument sexpr.
1597 (call_function): New function.
1598 (handle_single_display_prop): Use call_function and FUNCTIONP
1599 instead of checking whether if font_height is a symbol and
1600 using eval_form.
1601
1602 * eval.c (internal_condition_case_2): New function.
1603
1604 * lisp.h (FUNCTIONP): New macro.
1605 (internal_condition_case_2, call_function): Add prototypes.
1606
d5aa31d8
GM
1607 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
1608 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
1609 Always set `arg' member of input_events.
1610 (construct_menu_click): Unused function removed.
1611
1612 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
1613
1614 * w32term.c (construct_mouse_click, construct_mouse_wheel)
1615 (construct_drag_n_drop, x_scroll_bar_handle_click)
1616 (w32_read_socket): Always set `arg' member of input_events.
1617
1618 * keyboard.c (show_help_echo): Use eval_form. Add comment.
1619
1620 * lisp.h (eval_form): Add prototype.
1621
1622 * xdisp.c (eval_form): Make it externally visible.
1623
0f1a9b23
GM
16242000-07-13 Gerd Moellmann <gerd@gnu.org>
1625
1626 * xterm.c (x_handle_tool_bar_click): Store the frame in the
1627 frame_or_window slot of TOOL_BAR_EVENT input events instead of
1628 consing. For prefix events, store the frame in the `arg' slot of
1629 the event, otherwise store the key there.
1630 (XTread_socket): Instead of consing, use the frame_or_window slot
1631 of HELP_EVENTs for the frame, and the `arg' slot for the help
1632 string.
1633
1634 * xmenu.c (menu_highlight_callback): Store help string in the
1635 `arg' member of the input event; don't cons.
1636 (menubar_selection_callback): Use the `arg' slot of input events
1637 to queue additional information, instead of consing.
1638
1639 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
1640
1641 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
1642 TOOL_BAR_EVENTs.
1643 (w32_read_socket): Adapt to changes in HELP_EVENTs.
1644
1645 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
1646 input events to queue additional information, instead of consing.
1647
1648 * keyboard.c (kbd_buffer_gcpro): Renamed from
1649 kbd_buffer_frame_or_window. Now used for all Lisp objects
1650 referenced from the input queue.
1651 (kbd_buffer_store_event): Always use structure assignment for
1652 copying input events. Record all Lisp objects referenced from
1653 events in kbd_buffer_gcpro.
1654 (kbd_buffer_get_event): Construct Lisp `help-echo' events
1655 differently from input events. Test for prefix menu_bar_events
1656 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
1657 event in kbd_buffer_gcpro to nil.
1658 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
1659 frame_or_window is equal to its arg member as prefix events.
1660 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
1661 used by an input event to nil.
1662 (init_keyboard): Use two times the size of the input queue
1663 for kbd_buffer_gcpro.
1664 (syms_of_keyboard): Likewise.
1665
1666 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
1667 USER_SIGNAL_EVENT.
1668
1669 * termhooks.h (struct input_event): Add member `arg'.
1670 (MENU_BAR_EVENT): Renamed from menu_bar_event.
1671 (USER_SIGNAL_EVENT): Renamed from user_signal.
1672
1673 * xfaces.c (ASET): Remove definition.
1674
1675 * lisp.h (AREF, ASET, ASIZE): New macros.
1676
1677 * fontset.c (AREF, ASIZE): Remove definitions.
1678
1679 * fns.c (AREF): Remove definition.
178c5d9c 1680
0f1a9b23
GM
1681 * composite.c (AREF): Remove definition.
1682
712eaef2
GM
16832000-07-12 Gerd Moellmann <gerd@gnu.org>
1684
d8ee7803
GM
1685 * dispnew.c (redraw_overlapped_rows): Add missing local.
1686 (scrolling_window): Remove debug code.
1687
712eaef2
GM
1688 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
1689 Before scrolling, turn off a mouse-highlight in the window
1690 being scrolled.
1691
1692 * xterm.c (x_update_window_end): Add parameter
1693 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
1694 redisplay in XTframe_up_to_date.
1695 (x_clear_mouse_face): New function.
1696 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
1697
1698 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
1699 current glyph row.
1700 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
1701 it when any row is written to that contains glyphs highlighted in
1702 mouse-face.
1703 (update_window): Call the window update end hook with new
1704 parameter MOUSE_FACE_OVERWRITTEN_P.
1705 (direct_output_for_insert): Give up if row contains mouse-face.
1706
1707 * dispextern.h (struct redisplay_interface): Add parameter
1708 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
1709 (clear_mouse_face): New function pointer member.
1710
02010917
SM
17112000-07-11 Stefan Monnier <monnier@cs.yale.edu>
1712
1713 * syntax.c (back_comment): Use one switch rather than a few `if's.
1714 Obey open_paren_in_column_0_is_defun_start.
1715 When reverting to the `slow' method, try to nicely handle the case
1716 of nested comments by checking that the comment-starter we found
1717 does indeed match the comment-ender.
1718 (scan_sexps_forward, scan_sexps_forward):
1719 Ignore excessive opening parenthesis rather than throwing an error.
1720
d76c03ea
GM
17212000-07-11 Gerd Moellmann <gerd@gnu.org>
1722
1723 * doc.c (Fsubstitute_command_keys): Handle case that a GC
1724 in Fwhere_is_internal or get_keymap_1 relocates string contents.
1725
1726 * dispnew.c (direct_output_forward_char): Give up if currently
1727 displaying a message instead of the minibuffer contents.
1728
1729 * xterm.c (x_update_window_begin): No need to turn off the mouse
1730 highlight here.
1731 (show_mouse_face): Set the mouse_face_p flag of glyph rows
1732 depending on whether they contain glyphs highlighted in
1733 mouse-face.
1734
1735 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
1736 compare the mouse_face_p flags of both rows.
1737
1738 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
1739
d55ead18
EZ
17402000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
1741
1742 * keyboard.c (show_help_echo): Accept additional parameter
1743 ok_to_overwrite_keystroke_echo.
1744 (read_char): Call show_help_echo with a zero
1745 ok_to_overwrite_keystroke_echo argument.
1746 * keyboard.h (show_help_echo): Update prototype of
1747 show_help_echo.
1748 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
1749 ok_to_overwrite_keystroke_echo argument.
1750 * w32menu.c (w32_menu_display_help): Call show_help_echo with
1751 non-zero ok_to_overwrite_keystroke_echo argument.
1752
df75b1a3
GM
17532000-07-10 Gerd Moellmann <gerd@gnu.org>
1754
4b92c49a
GM
1755 * xdisp.c (try_window_id): If changes are all below what is
1756 displayed in the window, and point is in the window, we still
1757 might have to find point on the display.
1758
1759 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
1760 glyphs instead of a single one.
1761 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
1762 with new argument list.
1763 (x_set_glyph_string_gc): Make sure the face's GC is valid.
1764
df75b1a3
GM
1765 * keymap.c (get_keymap_1): Add comment that this function can GC.
1766 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
1767 comment that functions can GC.
1768 (Fset_keymap_parent): GCPRO arg KEYMAP.
1769
4314cf3e
EZ
17702000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
1771
1772 * msdos.c (XMenuActivate): After exiting the menu, restore the
1773 echo area message and erase it.
1774
ab49ce15
KH
17752000-07-10 Kenichi Handa <handa@etl.go.jp>
1776
1777 * fontset.c (Ffontset_info): Make the return value more compatible
1778 with that of Emacs 20.
1779
090a072f
GM
17802000-07-07 Gerd Moellmann <gerd@gnu.org>
1781
1782 * eval.c (Fsignal): Handle case that backtrace_list is null.
1783
f92de4a6
KH
17842000-07-07 Kenichi Handa <handa@etl.go.jp>
1785
1786 * ccl.c (Fccl_execute): Typo fixed.
1787
dd8888a1
GM
17882000-07-06 Gerd Moellmann <gerd@gnu.org>
1789
e5c81191 1790 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 1791
dd8888a1
GM
1792 * window.c (Fwindow_list): Reverse list at the end.
1793 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
1794 means allow windows on OWINDOW's frame, only.
1795 (window_loop): Simplified; use Fwindow_list.
1796
1797 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
1798
485266d0
GM
17992000-07-05 Gerd Moellmann <gerd@gnu.org>
1800
1801 * xterm.c (XTread_socket): Increment handling_signal at the start,
1802 decrement it at the end.
1803
1804 * eval.c (handling_signal): New variable.
1805 (Fsignal): Abort if handling_signal is non-zero.
1806
1807 * lisp.h (handling_signal): External declaration.
178c5d9c 1808
485266d0
GM
1809 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
1810
80fcd514
KR
18112000-07-05 Ken Raeburn <raeburn@gnu.org>
1812
1813 Sound support for NetBSD through "Linux emulation" support:
1814 * config.in (HAVE_SOUNDCARD_H): Undef.
1815 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
1816 * Makefile.in (LIBSOUND): New variable.
1817 (LIBES): Include it.
1818 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
1819 <soundcard.h>.
1820 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
1821 elsewhere.
1822 (vox_open): Use DEFAULT_SOUND_DEVICE.
1823 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
1824
d5c5cddd
GM
18252000-07-05 Gerd Moellmann <gerd@gnu.org>
1826
1827 * print.c (print_error_message): If Vsignaling_function is set,
1828 show it in *Messages*.
1829
1830 * lisp.h (Vsignaling_function): External declaration.
1831
1832 * eval.c (Vsignaling_function): New variable.
1833 (Fsignal): Compute it.
1834 (syms_of_eval): Staticpro it.
1835
65171e3a
DL
18362000-07-05 Dave Love <fx@gnu.org>
1837
1838 * syswait.h: Use the autoconf recommended approach. Old code
1839 #if'd out in case we need to revert.
1840
178c5d9c 1841 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 1842
e2c46326
AI
18432000-07-05 Andrew Innes <andrewi@gnu.org>
1844
1845 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
1846 when non-NULL instead of __morecore, to take account of buffer
1847 memory. This also solves a problem with spurious memory warnings
1848 on Windows.
1849
1850 * ralloc.c: Make real_morecore non-static.
1851
1852 * eval.c (internal_condition_case): Comment out abort if
1853 interrupt_input_blocked is not zero.
1854
1855 * makefile.nt: Add support for `bootstrap' and related targets.
1856 Include minimal debug info in emacs.exe in release build.
1857 Remove all dependencies on lisp.h, and fixup some others.
1858
1859 * w32.c (init_environment): Install code from 20.7 for providing
1860 default values for environment variables, based on the
1861 executable's own location.
1862 (map_w32_filename): Handle filenames that are longer than
1863 MAX_PATH.
1864 (sys_socket): Install socket inheritance bug fix from 20.7.
1865
1866 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
1867 here via blockinput.h).
1868
a027a91b
SM
18692000-07-05 Stefan Monnier <monnier@cs.yale.edu>
1870
e4b31601
SM
1871 * w32menu.c (w32_menu_display_help):
1872 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
1873
1874 * keyboard.h (show_help_echo): Declare.
1875
1876 * keyboard.c (show_help_echo): New function, extracted from read_char.
1877 Feval its `msg' argument if it's a cons cell.
1878 (read_char): Use it.
4cf8d9d5 1879 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 1880
178c5d9c 1881 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 1882 (note_tool_bar_highlight, XTread_socket):
178c5d9c 1883 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
1884 (dos_rawgetc):
1885 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
1886 (note_tool_bar_highlight, w32_read_socket):
1887 Do not gratuitously ignore non-string `help-echo' properties.
1888
88d75730
GM
18892000-07-05 Gerd Moellmann <gerd@gnu.org>
1890
969f7e79
GM
1891 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
1892
71201b00
GM
1893 * window.c (delete_all_subwindows): Reset Vwindow_list.
1894
88d75730
GM
1895 * xterm.c (x_append_glyph, x_append_composite_glyph)
1896 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
1897 changes in struct glyph starting 1999-12-27. Some bit-fields of
1898 struct glyph were not set, which made glyphs unequal when compared
1899 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
1900 effects were the result. This also depended on the contents of
1901 memory returned by xmalloc. If flickering happens again, activate
1902 the code in clear_glyph_row that's in #if 0. If the flickering is
1903 gone with that, chances are that it is caused by something
1904 similar.
1905
1906 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 1907
88d75730
GM
1908 * dispextern.h: Add some comments.
1909
1910 * window.c (add_window_to_list): Add parameter LIST.
1911 (window_list): Order list so that, for each frame, windows are
1912 in canonical order, and so that frames appear in the list in
1913 the order given by Vframe_list.
1914 (next_window): Reverse the handling of NEXT_P.
1915
53654733
GM
19162000-07-04 Gerd Moellmann <gerd@gnu.org>
1917
87efd256
GM
1918 * window.c (Vwindow_list): New variable.
1919 (make_window, delete_window): Set Vwindow_list to nil.
1920 (check_window_containing): New function.
1921 (window_from_coordinates): Rewritten.
1922 (add_window_to_list, window_list, candidate_window_p)
1923 (decode_next_window_args, next_window): New functions.
1924 (Fnext_window, Fprevious_window): Rewritten in terms of
1925 next_window.
1926 (Fwindow_list): New function.
1927 (Fother_window): Cleaned up.
1928 (foreach_window): Add a longer "variable argument list". Let
1929 callback function return 0 to indicate that cycling over windows
1930 should stop.
1931 (foreach_window_1): Likewise.
1932 (freeze_window_start): Return int.
1933 (init_window): New function.
1934 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
1935
1936 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
1937 input_event with bzero.
1938 (main): Call init_window.
1939
53654733
GM
1940 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
1941 a menu filter.
1942
4a8c194f
KH
19432000-07-04 Kenichi Handa <handa@etl.go.jp>
1944
1945 * composite.h (make_composition_value_copy): Extern it.
1946
1947 * composite.c (make_composition_value_copy): New function.
1948
1949 * editfns.c (Fformat): While copying text properties, make each
1950 composition property value a copy.
1951
1952 * fns.c (concat): While copying text properties, make each
1953 composition property value a copy.
1954
831a6cb0
GM
19552000-07-03 Gerd Moellmann <gerd@gnu.org>
1956
2f516940
GM
1957 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
1958
178c5d9c 1959 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
1960 marked already.
1961
831a6cb0
GM
1962 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
1963 include those frames as candidates which have their focus
1964 redirected to the minibuffer frame.
1965
d9c4f922
SM
19662000-07-03 Stefan Monnier <monnier@cs.yale.edu>
1967
1968 * fns.c (Fputhash): Return `value' rather than nil.
1969
3780bc22
GM
19702000-06-30 Gerd Moellmann <gerd@gnu.org>
1971
97d176db
GM
1972 * frame.c (next_frame): Don't check focus redirection in case
1973 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
1974 unless their focus is redirected, which contradicts the
1975 specification of next-frame, and leads to infinite loops in
1976 certain situations when cycling through windows with next-window.
1977
dca9961d
KH
19782000-06-30 Kenichi Handa <handa@etl.go.jp>
1979
1980 * coding.c (code_convert_region): Even if the length of text is
1981 zero, try to convert it if coding->type is coding_type_ccl.
1982 (decode_coding_string, encode_coding_string): Likewise.
1983
d5483ab1
GM
19842000-06-28 Gerd Moellmann <gerd@gnu.org>
1985
af5c25e1 1986 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 1987 the display if windows_or_buffers_changed.
af5c25e1
GM
1988
1989 * dispnew.c (struct row_entry): New structure.
1990 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
1991 (row_table_size, old_lines, new_lines, old_lines_size)
1992 (new_lines_size, run_pool, runs_size, runs): New variables.
1993 (add_row_entry): New function.
1994 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 1995 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
1996 holding them in local variables. Use a larger hash table whose
1997 size depends on glyph matrix sizes. Don't use bzero to clear the
1998 hash table; instead, clear used slots only.
1999
2000 * fns.c (next_almost_prime): Make it externally visible.
2001
2002 * lisp.h (next_almost_prime): Add prototype.
2003
d5483ab1
GM
2004 * s/isc4-0.h (sigunblock): Define.
2005
2006 * s/sco5.h (sigunblock): Define.
2007
93e40f40
DL
20082000-06-27 Dave Love <fx@gnu.org>
2009
2010 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
2011 (moved to osf5-0.h).
2012 [!NOT_C_CODE]: Protect string.h stuff.
2013
2014 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
2015 (sys_siglist, NSIG): Definitions moved here from osf1.h.
2016
3c4b7685
GM
20172000-06-27 Gerd Moellmann <gerd@gnu.org>
2018
97d176db 2019 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
2020 below the last line from the needed window height.
2021
32cad0aa
SM
20222000-06-26 Stefan Monnier <monnier@cs.yale.edu>
2023
2024 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
2025 (Fwidget_get): Use it.
2026 (syms_of_fns): Defsubr it.
2027
2c69ced2
GM
20282000-06-26 Gerd Moellmann <gerd@gnu.org>
2029
178c5d9c 2030 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
2031 display info for XIM.
2032 (xim_open_dpy): Likewise.
2033 (xim_close_dpy): Don't free the display info's XIM.
2034
2035 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
2036
2037 * config.in (USE_XIM): New define.
2038
3fc720e4
GM
2039 * keymap.c (get_keyelt): For menu-items containing a `:filter
2040 FILTER', apply FILTER to the menu-item's definition to get the
2041 real definition to use.
2042
2043 * lisp.h (QCfilter): External declaration.
2044
2c69ced2
GM
2045 * xfns.c (Fimage_size): New function.
2046 (syms_of_xfns): Defsubr it.
2047
f978b2a2
AS
20482000-06-26 Andreas Schwab <schwab@suse.de>
2049
2050 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
2051 Fstring_as_unibyte.
2052
94cc7892
DL
20532000-06-25 Dave Love <fx@gnu.org>
2054
2055 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
2056 tgetnum.
2057
2058 * Makefile.in (blockinput.h): Depend on atimer.h.
2059 (atimer.h): Depend on systime.h.
2060
2061 * blockinput.h: Protect against multiple inclusion. Include
2062 atimer.h.
2063
2064 * atimer.h: Protect against multiple inclusion. Include
2065 systime.h.
2066
2067 * lisp.h (swap_in_global_binding): Declare.
2068
b8c24556
KR
20692000-06-24 Ken Raeburn <raeburn@gnu.org>
2070
2071 * process.c (Fopen_network_stream): Turn off atimers for duration
2072 of call to connect. (Patch from Gerd.)
2073
8cf8560b
DL
20742000-06-23 Dave Love <fx@gnu.org>
2075
511c7541
DL
2076 * ralloc.c: Maybe include unistd.h
2077
8cf8560b
DL
2078 * emacs.c (setgrp): Undefine before defining.
2079 (malloc_warning, set_time_zone_rule, index): Prototype.
2080
2081 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
2082 HAVE_STRUCT_TIMEZONE.
2083
2084 * s/osf1.h: Move string.h hack here from alpha.h and make it
2085 conditional.
2086 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
2087 _XOPEN_SOURCE.
2088 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
2089 (SOCKLEN_TYPE): Don't define.
2090
2091 * m/alpha.h: Remove string.h hack.
2092
2093 * s/osf5-0.h: New file.
2094
2095 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
2096 include time.h, done by systime.h.
2097 [__FreeBSD__]: Remove redundant includes.
2098
3fc720e4 2099 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
2100 (delete_temp_file): Return Qnil to avoid warning.
2101
2102 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
2103
2104 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
2105 HAVE_X_WINDOWS.
2106
2107 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
2108
2109 * composite.h (compose_text): Declare.
2110
2111 * xterm.c: Don't include sys/types.h unconditionally. Don't
2112 protect its inclusion with !USG (following xmenu.c).
2113
ea055732
GM
21142000-06-23 Gerd Moellmann <gerd@gnu.org>
2115
2116 * xfns.c (x_create_tip_frame): Initialize frame's colors like
2117 in x_create_frame.
2118
74b01b80
EZ
21192000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
2120
2121 * coding.c (decode_eol_post_ccl): Special handling for undecided
2122 and inconsistent EOL types.
2123
64f3a166
GM
21242000-06-22 Gerd Moellmann <gerd@gnu.org>
2125
16cf31f7
GM
2126 * xrdb.c (x_load_resources): Add default resource for scroll bar's
2127 trough color and main window's background color.
2128
178c5d9c 2129 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
2130 differently.
2131
2132 * xterm.h (Xt_app_con): External declaration.
2133
2134 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 2135
486a103d
GM
2136 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
2137
64f3a166
GM
2138 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
2139 (handle_invisible_prop): Record the start of invisible text in
2140 it->add_overlay_start.
2141 (struct overlay_entry): Add member `overlay'.
2142 (handle_overlay_change): Simplify.
2143 (next_overlay_string): After having processed overlay strings at the
2144 end of the buffer, record that fact in
2145 it->overlay_strings_at_end_processed_p.
2146 (compare_overlay_entries): If before- and after-strings come
2147 from the same overlay, let before-strings come first.
2148 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
2149 (load_overlay_strings): Take it->add_overlay_start into account
2150 when adding overlay strings.
2151
2152 * dispextern.h (struct it): Add member add_overlay_start.
2153
bb746ea6
DL
21542000-06-22 Dave Love <fx@gnu.org>
2155
2156 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
2157
2158 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
2159
a8f573f3
KH
21602000-06-22 Kenichi Handa <handa@etl.go.jp>
2161
2162 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
2163 is greater than 0.
2164
9f2bbc92
DL
21652000-06-21 Dave Love <fx@gnu.org>
2166
178c5d9c 2167 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 2168
3ee5041c
SM
21692000-06-21 Stefan Monnier <monnier@cs.yale.edu>
2170
2171 * syntax.c (back_comment): Simplify string-parity counting (with
2172 the added benefit of handling multiple string-styles as long as
2173 they are not intertwined).
2174 Jump to the slow code as soon as a comment starter is found in
2175 a "string_lossage" position. Fixes the case: " /* " /* " */.
2176
4c343001
DL
21772000-06-21 Dave Love <fx@gnu.org>
2178
2179 * Makefile.in: Use GETLOADAVG_LIBS.
2180
2181 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
2182 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
2183
e6365855
SM
21842000-06-20 Stefan Monnier <monnier@cs.yale.edu>
2185
2186 * syntax.c (describe_syntax): Recognize the `n'estable bit.
2187 (Fforward_comment, scan_lists):
2188 Check the comstyle of single-char comment-starters.
2189 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
2190 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
2191 Check the comstyle of single-char comment-starters.
2192 Clarify control-flow around the Scomment case.
e6365855 2193
5700d2cc
DL
21942000-06-20 Dave Love <fx@gnu.org>
2195
d355bd8a
SM
2196 * fns.c (make_hash_table, maybe_resize_hash_table):
2197 Cast arg of next_almost_prime.
5700d2cc 2198
178c5d9c 2199 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
2200
2201 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
2202 and unistd.h.
2203
4a27bdfb
GM
22042000-06-20 Gerd Moellmann <gerd@gnu.org>
2205
a61d762c
GM
2206 * keyboard.c (adjust_point_for_property): Check if display
2207 property should be treated as intangible by looking at its
2208 value.
2209
178c5d9c 2210 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
2211 (display_prop_intangible_p): New functions.
2212
2213 * dispextern.h (display_prop_intangible_p): Add prototype.
2214
2215 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 2216
4a27bdfb
GM
2217 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
2218 argument to sigprocmask.
2219
2220 * s/sco5.h (sigblock): Redefined to pass a pointer as second
2221 argument to sigprocmask.
2222
2223 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
2224 sigprocmask_set, and pass a pointer to it to sigprocmask.
2225
2226 * sysdep.c (sigprocmask_set): New variable.
2227
2228 * fileio.c (make_temp_name): Don't use `%s' in string passed to
2229 report_file_error.
2230
427ec082
SS
22312000-06-20 Sam Steingold <sds@gnu.org>
2232
2233 * xrdb.c: Don't declare xmalloc, xrealloc.
2234
8972fe79 22352000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
2236
2237 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
2238 (re_comp): Cast gettext return value to avoid complaints when
2239 !HAVE_LIBINTL.
2240
074b6efe
DL
22412000-06-20 Dave Love <fx@gnu.org>
2242
f85c008a
DL
2243 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
2244 HAVE_GETTIMEOFDAY.
2245
5700d2cc 2246 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 2247
d355bd8a 2248 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
2249
2250 * m/alpha.h: Don't declare xmalloc, xrealloc.
2251
0af4f205
DL
2252 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
2253
2254 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
2255
2256 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
2257
2258 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
2259 HAVE_GETWD.
2260
074b6efe
DL
2261 * keyboard.h (poll_for_input_1): Declare.
2262
2263 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
2264
2265 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
2266
2267 * doprnt.c: Don't declare xmalloc, xrealloc.
2268
2269 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
2270 (getenv, ctime, getwd): Removed.
2271 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
2272
2273 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
2274 x_set_tool_bar_lines.
2275
2276 * config.in: Add HAVE_GETWD. Move some definitions above
2277 machine/system includes.
2278
68a5e97b
KH
22792000-06-20 Kenichi Handa <handa@etl.go.jp>
2280
95417e1e
KH
2281 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
2282
68a5e97b
KH
2283 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
2284 contain information about ENCODING.
2285
2286 * fontset.c (FONTSET_ASCII): Use the first element of char table
2287 for an ASCII font, not defalt slot.
2288 (fontset_ref_via_base): If FONTSET doesn't contain information for
2289 C, try the default fontset.
2290 (make_fontset): Don't copy the default fontset.
2291 (fontset_font_pattern): Likewise.
2292 (accumulate_font_info): If ELT is nil, use the corresponding
2293 element in the default fontset.
2294
3b4fa1b2
DL
22952000-06-19 Dave Love <fx@gnu.org>
2296
943e731c
DL
2297 * syntax.c (Fparse_partial_sexp): Doc fix.
2298
2299 * regex.h: Test PROTOTYPES as well as __STDC__.
2300
3b4fa1b2
DL
2301 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
2302 errno, strerror. Put text after #endif in comment.
2303
2304 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
2305 pcc).
2306
2307 * xterm.c (x_frame_of_widget): Likewise.
2308
cdf0357b
GM
23092000-06-19 Gerd Moellmann <gerd@gnu.org>
2310
2311 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
2312 to Vfundamental_mode_abbrev_table.
2313
2314 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
2315 bogus objects are marked. This slows down GC by ~80 percent, but
2316 it might be worth trying when debugging GC-related problems.
2317 This feature requires conservative stack marking to be enabled.
2318
2319 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
2320 returns XLookupChars, reset `modifiers' to zero.
2321
998e9f8c
DL
23222000-06-19 Dave Love <fx@gnu.org>
2323
2324 * mktime.c: Unprotoized.
2325
18e21ce8 23262000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
2327
2328 * data.c (set_internal): If variable is frame-local,
2329 store the new value immediately into the frame parameter alist.
2330
140c4ac6
KR
23312000-06-19 Ken Raeburn <raeburn@gnu.org>
2332
14358466
KR
2333 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
2334 in the custom handler pointer.
2335
140c4ac6
KR
2336 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
2337 value, or checks for CHAR_META can fail when Lisp_Object is a
2338 union type.
2339 * keymap.c (get_keyelt): Likewise.
2340
10d7bf84
KH
23412000-06-19 Kenichi Handa <handa@etl.go.jp>
2342
2343 * ccl.h (struct ccl_program): New member eol_type.
2344 (struct ccl_spec): New member cr_carryover.
2345
2346 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
2347 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
2348
2349 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
2350 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
2351 (decode_eol_post_ccl): New function.
2352 (decode_coding): Don't detect EOL format here for CCL based coding
2353 systems.
2354 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
2355 decode_eol_post_ccl after running the CCL program.
2356 (code_convert_region): Don't detect EOL format here for CCL based
2357 coding systems.
2358 (decode_coding_string): Likewise.
2359
52e386c2
KR
23602000-06-18 Ken Raeburn <raeburn@gnu.org>
2361
2362 * charset.c (update_charset_table): Use XINT on "iso_final_char"
2363 when treating it as an integer.
2364
2365 * coding.h (encode_coding_string): Declare.
2366
2367 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
2368 it as an integer.
2369
2370 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
2371 "xkeymap" to avoid shadowing the "enum map_type" value that needs
2372 to be passed to get_local_map.
2373
2374 * sound.c (Fplay_sound): Don't call make_number on
2375 Frun_hook_with_args count argument.
2376
2377 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
2378 for lisp objects in X event structure data field, when lisp
2379 objects are represented with unions.
2380 (x_scroll_bar_to_input_event): Ditto.
2381
b357b9d4
KR
23822000-06-16 Ken Raeburn <raeburn@gnu.org>
2383
2384 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
2385 termination of string. Fix sense of test whether
2386 Vline_number_display_limit is an integer.
b357b9d4 2387
a871441d
GM
23882000-06-16 Gerd Moellmann <gerd@gnu.org>
2389
a9021acd
GM
2390 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
2391 only if HAVE_X_WINDOWS.
2392
6344985d
GM
2393 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
2394 of titles.
2395
427ec082 2396 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
2397 out of bounds.
2398
228b083e
EZ
23992000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
2400
2401 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
2402 of its headers.
2403
c25b53a2
KH
24042000-06-15 Kenichi Handa <handa@etl.go.jp>
2405
2406 * coding.c (decode_coding_emacs_mule): Always set src_base at the
2407 start of the while loop.
2408
a6981b11
GM
24092000-06-15 Gerd Moellmann <gerd@gnu.org>
2410
e9924e52
GM
2411 * atimer.c (alarm_signal_handler): Add forward declaration.
2412
a6981b11
GM
2413 * data.c (set_internal): Remove debug code.
2414
25fa6deb
GM
24152000-06-14 Gerd Moellmann <gerd@gnu.org>
2416
dce6b995
GM
2417 * Makefile.in (bootstrap-temacs): Add `-I../src'.
2418
9f817ea4
GM
2419 * unexec.c (toplevel) [COFF]: Include coff.h.
2420
2421 * s/lynxos.h: New file.
2422
2423 * keymap.c (Fsingle_key_description): Enclose function key and
2424 event symbol names in angle brackets.
2425
8a4e3c0c
GM
2426 * xdisp.c (setup_echo_area_for_printing): Call
2427 message_log_maybe_newline if message_buf_print is not set.
2428
2429 * print.c (printchar, strout): Don't check message_buf_print
427ec082 2430 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
2431 function does something useful even when message_buf_print is
2432 already set.
2433
25fa6deb
GM
2434 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
2435 variables.
2436 (ensure_echo_area_buffers): Initialize echo buffer's
2437 truncate lines setting to nil.
2438 (with_echo_area_buffer): Don't set the echo buffer's truncate
2439 lines setting here.
8a4e3c0c 2440 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
2441 of message_truncate_lines.
2442 (resize_mini_window): Handle case that lines are truncated.
2443 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
2444 message-truncate-lines.
2445
2446 * keyboard.c (read_char): Bind message-truncate-lines to t
2447 while displaying a help-echo.
2448
2449 * lisp.h (Qmessage_truncate_lines): External declaration.
2450
163dcff3
GM
24512000-06-13 Gerd Moellmann <gerd@gnu.org>
2452
1681ead6
GM
2453 * xdisp.c (Vline_number_display_limit): Renamed from
2454 line_number_display_limit.
2455 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
2456 Extend documentation string. Initialize
2457 Vline_number_display_limit to nil meaning no limit.
2458 (decode_mode_spec): Use Vline_number_display_limit with its new
2459 meaning.
2460
163dcff3
GM
2461 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
2462
18e21ce8 24632000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
2464
2465 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 2466
163dcff3
GM
2467 * xfns.c (x_set_frame_parameters): Comment fix.
2468
2469 * frame.c (store_frame_param): Call swap_in_global_binding if the
2470 variable's current binding was chosen based on this frame.
2471
2472 * data.c (swap_in_global_binding): New function.
2473
a704139d
EZ
24742000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
2475
2476 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
2477 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
2478
9b6610db
EZ
24792000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
2480
2481 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
2482
c68833d2
JR
24832000-06-12 Jason Rumney <jasonr@gnu.org>
2484
2485 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
2486
2487 * w32.h (EMACS_W32_H): Renamed from _NT_H_
2488
2489 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
2490
2491 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
2492
ed1056b3
GM
24932000-06-12 Gerd Moellmann <gerd@gnu.org>
2494
2495 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
2496 (syms_of_xfaces): Defsubr Sdump_colors.
2497 (x_free_colors): Don't treat b&w specially on default visual.
2498 (x_free_dpy_colors): New function.
2499 (free_face_colors): Don't check visual class; it's done
2500 in x_free_colors.
2501
2502 * xterm.c (x_frame_of_widget): New function.
2503 (x_alloc_nearest_color_for_widget): Use it.
2504 (x_copy_dpy_color): New function.
2505 (x_destroy_window): Free various colors.
2506
5050a2ef
KH
25072000-06-12 Kenichi Handa <handa@etl.go.jp>
2508
2509 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
2510
2511 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
2512
2513 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
2514
2515 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
2516
2517 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
2518
fb1b041d
DL
25192000-06-11 Dave Love <fx@gnu.org>
2520
2521 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
2522
ff96b5f4
EZ
25232000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
2524
2525 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
2526
db8eeecd
GM
25272000-06-11 Gerd Moellmann <gerd@gnu.org>
2528
ed1056b3 2529 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
2530 to `XEvent *'.
2531
49b71c5f
KH
25322000-06-10 Kenichi Handa <handa@etl.go.jp>
2533
c479bd55
KH
2534 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
2535 (regex_compile): Fix the code for handling the case of single byte
2536 char and multibyte char being mixed in a range within [...].
2537
ff6a65c2
KH
2538 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
2539 and dst_multibyte members of coding.
2540
49b71c5f
KH
2541 * charset.c (update_charset_table): Update the table
2542 bytes_by_char_head.
2543 (init_charset_once): Initialize elements of bytes_by_char_head to
2544 1 except for leading codes for private charases.
2545
2546 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
2547 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
2548 sequence.
2549
9e80b57d
KR
25502000-06-09 Ken Raeburn <raeburn@gnu.org>
2551
2552 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
2553 access the data it doesn't point to.
2554
f83fe4b4
GM
25552000-06-08 Gerd Moellmann <gerd@gnu.org>
2556
2557 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 2558 will be translated to a switch-frame event when reading the
f83fe4b4
GM
2559 event queue. This is necessary because Emacs otherwise won't
2560 perform a switch-frame to a new frame until some other event, for
2561 example a keystroke event, forces it to do so. This has various
2562 effects, one visible being that the cursor of a frame created with
2563 C-x 5 2 or switched to with a window manager key binding like
2564 A-TAB stays hollow because selected_window isn't on the newly
2565 focused frame until the switch-frame is performed.
2566
2567 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
2568 generating a switch-frame event if necessary.
2569
2570 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
2571
2572 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
2573 it's an integer.
2574
0890801b
KH
25752000-06-08 Kenichi Handa <handa@etl.go.jp>
2576
2577 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
2578 charset.
2579
173cbca8
GM
25802000-06-07 Gerd Moellmann <gerd@gnu.org>
2581
3091c2a6
GM
2582 * window.c (displayed_window_lines): Take empty lines at
2583 the bottom of a window into account.
427ec082 2584
f38952fe
GM
2585 * window.c (displayed_window_lines): New function.
2586 (Fmove_to_window_line): Use displayed_window_lines to determine
2587 the number of lines to move, instead of using the window's height.
2588
2589 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
2590 to stop reading, even if the form read sets point to a different
2591 value when evaluated.
2592
427ec082 2593 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
2594 put the cursor.
2595
6ba6c818
KH
25962000-06-07 Kenichi Handa <handa@etl.go.jp>
2597
2598 * fileio.c (e_write): Free composition data if stored in
2599 coding->cmp_data.
2600
5f1aea9a
GM
26012000-06-06 Gerd Moellmann <gerd@gnu.org>
2602
666852af
GM
2603 * xdisp.c (display_line): Set row's and iterator's
2604 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
2605 Set cursor even if row ends in the middle of a character.
2606 (dump_glyph_row): Print values of new flags.
2607 (redisplay_window) <cursor movement in unchanged window>: When
2608 point has been moved forward, and PT is at the end of the cursor
2609 row, don't place the cursor in the next row if the cursor row ends
2610 in the middle of a character or at ZV.
2611
2612 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
2613 (struct glyph_row): Add starts_in_middle_of_char_p and
2614 ends_in_middle_of_char_p.
2615 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
2616 ends_in_middle_of_char_p flag.
2617 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
2618
d13f3e2e
GM
2619 * term.c (append_glyph): Revert change of 2000-06-06.
2620
2621 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
2622 padding glyph not fitting on line as whole character not
2623 fitting on line.
2624
5f1aea9a
GM
2625 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
2626 this isn't true for images with `:ascent 100'.
2627
10cda9b0
KH
26282000-06-06 Kenichi Handa <handa@etl.go.jp>
2629
ed00559d
KH
2630 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
2631 as modified if it is originally unmodified.
2632
10cda9b0
KH
2633 * term.c (encode_terminal_code): Change the way to check if
2634 terminal coding does any conversion.
2635 (append_glyph): Set glyph->pixel_width correctly.
2636
2637 * xdisp.c (display_line): While checking line continuation, pay
2638 attention to a padding glyph.
2639
1969fae2
GM
26402000-06-05 Gerd Moellmann <gerd@gnu.org>
2641
2642 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
2643
162ccef4
DL
26442000-06-05 Dave Love <fx@gnu.org>
2645
f19f32dd
DL
2646 * xdisp.c: Include fontset.h.
2647
2648 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
2649
2650 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
2651
2652 * dispnew.c: Conditionally include term.h.
2653
2654 * coding.h: Declare code_convert_string_norecord.
2655
2656 * frame.h (struct frame): Use volatile unconditionally.
2657
2658 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
2659
2660 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
2661
2662 * systime.h: Protect against multiple inclusion.
2663 (timezone) [USG5_4]: Define as time_t.
2664
2665 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
2666 (Foptimize_char_table, make_temp_name): Declare.
2667
2668 * Makefile.in (xdisp.o): Depend on fontset.h.
2669
2670 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
2671
2672 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
2673 (Foptimize_char_table, make_temp_name): Declare.
2674
427ec082 2675 * s/irix4-0.h:
162ccef4
DL
2676 * s/irix5-0.h:
2677 * s/netbsd.h: Don't define autoconfiscated MATHERR.
2678
2082fe81
DL
26792000-06-02 Dave Love <fx@gnu.org>
2680
2681 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
2682
dcf671d2
GM
26832000-06-02 Gerd Moellmann <gerd@gnu.org>
2684
2685 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 2686 result face, set flags in that face indicating that colors may not
dcf671d2
GM
2687 be freed.
2688
2689 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
2690 glyph, use the ASCII NUL character to determine the face.
2691
d42122a3
DL
26922000-06-02 Dave Love <fx@gnu.org>
2693
2694 * sysdep.c: Conditionally include stdlib.h, unistd.h.
2695 (VFORK_RETURN_TYPE): Remove.
427ec082 2696
d42122a3
DL
2697 * config.in: Add NO_MATHERR.
2698
dd432f16
DL
26992000-06-01 Dave Love <fx@gnu.org>
2700
90aa4ea8
DL
2701 * cmds.c (internal_self_insert): Don't check
2702 Vbefore_change_function, Vafter_change_function.
2703
2704 * insdel.c (signal_before_change, signal_after_change): Likewise.
2705
2706 * buffer.c (Vbefore_change_function, Vafter_change_function):
2707 Variables and their initializations deleted.
2708
2330c9d4
DL
2709 * callint.c (Fcall_interactively): Doc fix.
2710
dd432f16
DL
2711 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
2712
bf9e8804
DL
27132000-05-31 Dave Love <fx@gnu.org>
2714
2715 * textprop.c: Revert last change -- duplicated.
2716
3694b4ab
GM
27172000-05-31 Gerd Moellmann <gerd@gnu.org>
2718
2719 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
2720 in #if 0.
2721
2722 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
2723
f14156cd
JR
27242000-05-31 Jason Rumney <jasonr@gnu.org>
2725
8119aab8
JR
2726 * search.c (Fre_search_forward, Fre_search_backward)
2727 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
2728
f14156cd
JR
2729 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
2730
4aab9be3
JR
27312000-05-30 Jason Rumney <jasonr@gnu.org>
2732
2733 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
2734 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
2735
2736 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
2737 member.
2738
2739 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
2740 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
2741 expand a nil default_filename.
2742
2743 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
2744 pointer to glyph_to_pixel_coords, not a frame.
2745
2746 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
2747 coding.h to dependencies.
2748
2749 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
2750
2751 * w32console.c (glyph_to_pixel_coords): Change first parameter to
2752 window pointer to be consistent with w32term.c and xterm.c.
2753
2754 * w32fns.c: Format and doc changes to bring closer to xfns.c.
2755 (VIETNAMESE_CHARSET): Define if not defined in system headers.
2756 (Qline_spacing, Qcenter): New variables.
2757 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
2758 (x_set_line_spacing): New function.
2759 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
2760 macros.
2761 (x_specified_cursor_type): New function.
2762 (x_set_cursor_type): Use it.
2763 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
2764 and icon strings.
2765 (validate_x_resource_name, x_get_resource_string): Measure lengths
2766 of external strings in bytes.
2767 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
2768 GetTextExtentPoint32 with NULL title.
2769 (Fx_create_frame): Initialize Qline_spacing.
2770 (w32_load_system_font): Initialize font->double_byte_p.
2771 (x_to_w32_charset): Use Vw32_charset_info_alist.
2772 (Image, busy cursor, tooltip functions): Merged changes from
2773 xfns.c. Not yet functional on Windows.
2774
2775 * w32gui.h (W32FontStruct): Add double_byte_p member.
2776
2777 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
2778 (emacs_button_translation): Use it.
2779 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
2780 in `mask' to be set.
2781
2782 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
2783 menu strings.
2784
2785 * w32term.c: Format and doc changes to bring closer to xterm.c.
2786 (w32_char_font_type): New enum.
2787 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
2788 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
2789 (w32_encode_char): New function.
2790 (x_encode_char): Removed.
2791 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
2792 x_encode_char and w32_font_is_double_byte.
2793 (x_produce_image_glyph): Use image_ascent.
2794 (x_produce_glyphs): Use new version of w32_per_char_metric and
2795 handle NULL return value. Allow extra line spacing.
2796 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
2797 (w32_get_glyph_overhangs): Remove unicode_p param. Use
2798 w32_font_type member of glyph instead.
2799 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
2800 (fast_find_position): Make sure not to consider rows not visible
2801 in the window.
2802 (w32_read_socket) [WM_MENUSELECT]: Cannot call
2803 w32_menu_display_help with input blocked, as it can abort.
2804 (x_display_and_set_cursor): Choose cursor depending
2805 on buffer-local value of cursor_type.
2806 (x_draw_bar_cursor): Add parameter WIDTH.
2807
2808 * w32term.h (CP_DEFAULT): Define.
2809 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
2810
10fc3187
GM
28112000-05-30 Gerd Moellmann <gerd@gnu.org>
2812
2813 * search.c (Fre_search_forward, Fre_search_backward)
2814 (Fposix_search_backward, Fposix_search_forward): Doc fix.
2815
d0555360
KH
28162000-05-30 Kenichi Handa <handa@etl.go.jp>
2817
2818 * coding.c (detect_coding_iso2022): Fix code for checking
2819 CODING_CATEGORY_MASK_ISO_8_2.
2820
f1ad044f
SM
28212000-05-29 Stefan Monnier <monnier@cs.yale.edu>
2822
2823 * regex.c (PREFETCH_NOLIMIT): New function.
2824 (re_match_2_internal): Use it and adjust the end_match_2 logic.
2825
84ec3b4b
GM
28262000-05-29 Gerd Moellmann <gerd@gnu.org>
2827
66254a13
GM
2828 * syntax.c (find_defun_start): Move test for
2829 open_paren_in_column_0_is_defun_start outside of the loop.
2830
49e70dec
GM
2831 * xdisp.c (redisplay_window): Really switch buffers when
2832 displaying mode lines, and temporarily set selected_frame to the
2833 frame of the window that's redisplayed.
2834
84ec3b4b
GM
2835 * xfaces.c (free_realized_faces): Block/unblock input.
2836 (free_realized_multibyte_face): Ditto.
2837
869a3a14
DL
28382000-05-29 Dave Love <fx@gnu.org>
2839
2840 * textprop.c (Qkeymap): New variable.
2841 (syms_of_textprop): Intern it.
2842
2843 * keymap.c: Include intervals.h.
2844 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
2845
2846 * Makefile.in (keymap.o): Depend on intervals.h.
2847
2848 * keyboard.c (menu_bar_items, tool_bar_items)
2849 (Fexecute_extended_command): Deal with `keymap' property.
2850 (read_key_sequence): Track map from `keymap' property as well as
2851 `local_map'.
2852
2853 * intervals.c (get_local_map): Extra arg to allow looking for
2854 `keymap' too.
2855
2856 * intervals.h (map_property): New enum.
2857 (get_local_map): Extra arg using it.
2858 (Qkeymap): Declare.
2859
84ec3b4b 2860 * lisp.h (get_local_map): Don't declare here.
869a3a14 2861
89d0c844
KH
28622000-05-29 Kenichi Handa <handa@etl.go.jp>
2863
2864 * Makefile.in (callproc.o): Depend on composite.h.
2865
2866 * callproc.c: Include composite.h.
2867 (Fcall_process): Handle composition correctly.
2868
2869 * coding.h (coding_allocate_composition_data): Extern it.
2870 (coding_restore_composition): Likewise.
2871
2872 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
2873 yet allocated, finish decoding with result
2874 CODING_FINISH_INSUFFICIENT_CMP.
2875 (coding_allocate_composition_data): Make it non-static.
2876 (coding_restore_composition): Likewise.
2877
797a084a
EZ
28782000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
2879
2880 * charset.c (syms_of_charset): Revert last change.
2881
cf872af5
EZ
28822000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
2883
2884 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
2885 charsets as unibyte, with 1-column screen width. Sent by Kenichi
2886 Handa.
cf872af5 2887
5b1ae051
EZ
28882000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
2889
2890 * charset.c (syms_of_charset): Set width of character sets
2891 eight-bit-control and eight-bit-graphic to 1 column.
2892
34ec9ebe
GM
28932000-05-26 Gerd Moellmann <gerd@gnu.org>
2894
2895 * config.in (HAVE_SPEED_T): New define.
2896
2897 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
2898 `extern speed_t'.
2899
dd854dc2
DL
29002000-05-26 Dave Love <fx@gnu.org>
2901
2902 * coding.c (shrink_decoding_region): Initialize eol_conversion.
2903
2904 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
2905 (Fsubr_arity): New function.
2906 (syms_of_data): Install them.
2907
ba9f8f95
KH
29082000-05-26 Kenichi Handa <handa@etl.go.jp>
2909
0f3e0672
KH
2910 * charset.c (init_charset_once): Set the table bytes_by_char_head
2911 correctly.
2912
cebefb44
KH
2913 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
2914 the default fontset to what Emacs uses by default.
0f3e0672
KH
2915 (check_registry_encoding): This function deleted.
2916 (Fset_fontset_font): Remove the adhoc condition for the default
2917 fontset. Allow cons in FONTNAME.
cebefb44 2918
0f3e0672
KH
2919 * fns.c (map_char_table): Ignore char-table entries for
2920 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 2921
7a18af49
KR
29222000-05-25 Ken Raeburn <raeburn@gnu.org>
2923
2924 * emacs.c (main): Initialize keyboard syms before initializing
2925 window code, so face names are available.
2926
d2af47df
SM
29272000-05-25 Stefan Monnier <monnier@cs.yale.edu>
2928
2929 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
2930 of an anchor at the beginning of a shy-group.
2931
fc6a6a4e
GM
29322000-05-25 Gerd Moellmann <gerd@gnu.org>
2933
2934 * xdisp.c (handle_invisible_prop): Don't try to skip over
2935 invisible text if end of text is already reached.
2936
005f0d35
DL
29372000-05-25 Dave Love <fx@gnu.org>
2938
02513cdd
DL
2939 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
2940
005f0d35
DL
2941 * coding.c (encode_eol): Add null statement after label.
2942
89f6ca4e
EZ
29432000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
2944
2945 * w16select.c (Fw16_set_clipboard_data): Fix the change from
2946 2000-05-20.
2947
a4e1759e
KH
29482000-05-25 Kenichi Handa <handa@etl.go.jp>
2949
2950 * ccl.c (ccl_driver): Fix previous change.
2951
eacfd7fe
KH
29522000-05-25 Kenichi Handa <handa@etl.go.jp>
2953
46ab33a9
KH
2954 * coding.c (run_pre_post_conversion_on_str): Set point to the
2955 beginning of buffer before calling coding->post_read_conversion.
2956 (decode_coding_string): Give correct args to
2957 run_pre_post_conversion_on_str.
2958 (encode_coding_string): Likewise.
2959
eacfd7fe
KH
2960 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
2961 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
2962 eight-bit-graphic correctly.
2963
f8569325
DL
29642000-05-24 Kenichi HANDA <handa@etl.go.jp>
2965
2966 * fileio.c (Finsert_file_contents): Even if a file is not found,
2967 execute codes for setting up coding system. Call
2968 after-insert-file-functions unconditionally.
2969
04545643
GM
29702000-05-24 Gerd Moellmann <gerd@gnu.org>
2971
2972 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
2973 BSD_PGRPS are not defined.
2974
747d90ea
KH
29752000-05-24 Kenichi Handa <handa@etl.go.jp>
2976
2977 * charset.c (update_charset_table): Accept nil in LONG_NAME and
2978 DESCRIPTION.
2979 (syms_of_charset): Avoid building same strings.
2980
716e3b88
GM
29812000-05-23 Gerd Moellmann <gerd@gnu.org>
2982
2983 * lread.c (Fload): Add a comment about the meaning of
2984 Vuser_init_file being t.
2985
2986 * puresize.h (BASE_PURESIZE): Increase to 675000.
2987
2988 * s/gnu-linux.h (setpgrp): Don't define it here because this
2989 prevents compilation on GNU/Linux systems with glib 2.2.
2990
2991 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
2992 as setpgid.
427ec082 2993
9aeb39fa
EZ
29942000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
2995
2996 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
2997 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
2998 version.
2999 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
3000
29ced61b
KH
30012000-05-23 Kenichi Handa <handa@etl.go.jp>
3002
0574a2ed
KH
3003 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
3004 unconditionally.
3005
3d80f24d
KH
3006 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
3007
3008 * term.c (encode_terminal_code): Set coding->src_multibyte
3009 properly.
3010
29ced61b
KH
3011 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
3012
d7e00792
KH
30132000-05-22 Kenichi Handa <handa@etl.go.jp>
3014
c9d80d38
KH
3015 * keyboard.c (read_char): Allow character codes 128..255 to be
3016 handled by input-method-function.
3017
d7e00792
KH
3018 * insdel.c (adjust_markers_for_replace): Fix previous change.
3019 (adjust_after_replace): If PREV_TEXT is nil, call
3020 adjust_markers_for_insert, not adjust_markers_for_replace.
3021
087121cc 30222000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 3023
087121cc
GM
3024 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
3025 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
3026 [HAVE_GRANDPT]: Define.
3027 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
3028
3029 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
3030 like SYSV_PTYS.
3031
3032 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
3033
3034 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
3035
c9671f81
KH
30362000-05-20 Kenichi Handa <handa@etl.go.jp>
3037
3038 The following changes are to handle 8-bit characters in a
3039 multibyte buffer/string without facing with byte combining
3040 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
3041 eight-bit-graphic (for 0xA0..0xFF) are introduced.
3042
3043 * Makefile.in (fns.o): Depend on charset.h.
3044
3045 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
3046 convert it to unibyte.
3047 (make_string): Use parse_str_as_multibyte, not chars_in_text.
3048
3049 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
3050 apparent char boundary.
3051 (Fset_buffer_multibyte): Convert 8-bit characters in the range
3052 0x80..0x9F to/from multibyte form.
3053
3054 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
3055 to unibyte.
3056
3057 * callproc.c (Fcall_process): Always encode an argument string if
3058 it is multibyte. Setup src_multibyte and dst_multibyte members of
3059 process_coding properly.
ce75fd23 3060
c9671f81
KH
3061 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
3062 SPLIT_NON_ASCII_CHAR.
3063
3064 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
3065 as is.
3066 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
3067
3068 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
3069 variables.
3070 (SPLIT_CHARACTER_SEQ): This macro deleted.
3071 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
3072 valid.
3073 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
3074 and eight-bit-graphic.
3075 (char_to_string): Likewise. Signal an error for too large
3076 character code.
3077 (char_printable_p): Return 0 for 8-bit characters.
3078 (update_charset_table): Update iso_charset_table only when a final
3079 character is non-negative.
3080 (find_charset_in_text): Renamed from find_charset_in_str.
3081 Arguments and return value changed. Callers changed.
3082 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
3083 be -1 if CHARSET is used only internally.
3084 (Fmake_char_internal): Handle new charsets; eight-bit-control and
3085 eight-bit-graphic.
3086 (Fcharset_after): Simplified.
3087 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
3088 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
3089 (multibyte_chars_in_text): Simplified by assuming there's no
3090 invalid multibyte sequence.
3091 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
3092 str_as_unibyte): New functions.
3093 (Fstring): Simpified by assuming that byte combining never
3094 happens.
3095 (init_charset_once): Initialization for
3096 LEADING_CODE_8_BIT_CONTROL.
3097 (syms_of_charset): Intern and staticpro Qeight_bit_control and
3098 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
3099 eight-bit-control and eight-bit-graphic.
3100
3101 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
3102 CHARSET_8_BIT_GRAPHIC): New macros.
3103 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
3104 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
3105 (CHARSET_REVERSE_CHARSET): Likewise.
3106 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
3107 eight-bit-graphic.
3108 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
3109 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
3110 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
3111 encounter an invalid multibyte sequence.
3112 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
3113 sequence is always valid.
3114 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
3115 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
3116 macros.
3117 (CHAR_STRING): For 8-bit characters, call char_to_string.
3118 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
3119 multibyte sequence is always valid.
3120 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
3121 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
3122 str_as_unibyte): Extern them.
3123 (BCOPY_SHORT): Fix a bug.
3124 (CHAR_LEN): This macro deleted. Callers changed to use
3125 CHAR_BYTES.
3126 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
3127 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
3128 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
3129
bd4bde7f 3130 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
3131 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
3132 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
3133 EMIT_BYTES): New macros.
3134 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
3135 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
3136 macros deleted.
3137 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
3138 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
3139 check the validity of multibyte sequence.
3140 (decode_coding_emacs_mule): New function.
3141 (encode_coding_emacs_mule): New macro.
3142 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
3143 the source.
3144 (DECODE_ISO_CHARACTER): Just return a character code.
3145 (DECODE_COMPOSITION_START): Set coding->result instead of result.
3146 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
3147 EMIT_CHAR to produced decoded characters. Exit the loop only by
3148 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
3149 block here.
3150 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
3151 only position codes for an invalid character.
3152 (encode_designation_at_bol): Return new destination pointer. 5th
3153 arg DSTP is changed to DST.
3154 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
3155 from the source by ONE_MORE_CHAR. Don't handle the case of last
3156 block here.
3157 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
3158 macros deleted.
3159 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
3160 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
3161 TWO_MORE_BYTES to fetch a byte from the source.
3162 (encode_eol): Pay attention to coding->src_multibyte.
3163 (detect_coding, detect_eol): Preserve members src_multibyte and
3164 dst_multibyte.
3165 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
3166 (encoding_buffer_size): Set magnification to 3 for all coding
3167 systems that require encoding.
3168 (ccl_coding_driver): For decoding, be sure that the result is
3169 valid multibyte sequence.
3170 (decode_coding): Initialize coding->errors and coding->result.
3171 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
3172 and raw-text, always call decode_eol. Handle the case of last
3173 block here. If not coding->dst_multibyte, convert the resulting
3174 sequence to unibyte.
3175 (encode_coding): Initialize coding->errors and coding->result.
3176 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
3177 and raw-text, always call encode_eol. Handle the case of last
3178 block here.
3179 (shrink_decoding_region, shrink_encoding_region): Detect cases
3180 that we can't skip data more rigidly.
3181 (code_convert_region): Setup src_multibyte and dst_multibyte
3182 members of coding. For decoding, if the buffer is multibyte,
3183 convert the source sequence to unibyte in advance. For encoding,
3184 if the buffer is multibyte, convert the resulting sequence to
3185 multibyte afterward.
3186 (run_pre_post_conversion_on_str): New function.
3187 (code_convert_string): Deleted and divided into the following two.
3188 (decode_coding_string, encode_coding_string): New functions.
3189 (code_convert_string1, code_convert_string_norecord): Call one of
3190 above.
3191 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
3192 MAKE_NON_ASCII_CHAR.
3193 (Fset_terminal_coding_system_internal,
3194 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
3195 and dst_multibyte members.
3196 (init_coding_once): Initialize iso_code_class with new enum
3197 ISO_control_0 and ISO_control_1.
3198
3199 * coding.h (enum iso_code_class_type): Member ISO_control_code is
3200 devided into ISO_control_0 and ISO_control_1.
3201 (struct coding_system): New members src_multibyte, dst_multibyte,
3202 errors, and result. Delete member fake_multibyte.
3203 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
3204 nonzero.
3205 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
3206 nonzero.
3207
3208 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
3209 (Faset): Likewise.
3210
3211 * editfns.c (Fformat): Be sure to convert 8-bit characters to
3212 multibyte form.
3213 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
3214 combining occurs.
3215 (Ftranspose_region): Delete codes for handling byte combining.
3216
3217 * fileio.c (Finsert_file_contents): Setup src_multibyte and
3218 dst_multibyte members of coding. On handling REPLACE on unibyte
3219 buffer, convert the result of decode_coding to unibyte. On
3220 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 3221 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
3222 multibyteness of the source (buffer or string).
3223
3224 * fns.c (concat): Handle 8-bit characters correctly.
3225 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
3226 unibyte in the result.
3227 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
3228 valid multibyte form in the result.
3229 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
3230 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
3231 return -1, signal an error.
3232 (base64_encode_1): New arg MULTIBYTE. Get each character by
3233 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
3234 character is found, return -1.
3235 (Fbase64_decode_region): Delete codes for handling byte-combining.
3236 Treat each decoded byte as a unibyte character.
3237 (Fbase64_decode_string): Return unibyte string.
3238 (Fcompare_strings, concat, string_byte_to_char): Use
3239 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
3240 FETCH_STRING_CHAR_ADVANCE.
3241 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
3242 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
3243
3244 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
3245 SPLIT_NON_ASCII_CHAR.
3246 (fontset_ref_via_base, fontset_set): Likewise
3247
3248 * insdel.c (adjust_markers_for_record_delete): Deleted.
3249 (adjust_markers_for_insert): Argument changed. Caller changed.
3250 (adjust_markers_for_replace): Likewise.
3251 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
3252 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
3253 (copy_text): Delete unused local varialbe c_save. For converting
3254 to multibyte, be sure to make all 8-bit characters in valid
3255 multibyte form.
3256 (count_size_as_multibyte): Handle 8-bit characters correctly.
3257 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
3258 adjust_after_replace, replace_range, del_range_2)
3259 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
3260 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
3261 adjust_after_replace, replace_range, del_range_2) Delete codes for
3262 handling byte combining.
3263 (adjust_before_replace): Deleted.
427ec082 3264
c9671f81
KH
3265 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
3266 SPLIT_NON_ASCII_CHAR.
3267 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
3268 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
3269 unconditionally.
3270 (Fkey_description): Likewise.
3271
3272 * lread.c (read1): On reading multibyte string, be sure to make
3273 all 8-bit chararacters in valid multibyte form.
3274 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
3275
3276 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
3277 unconditionally.
3278
3279 * process.c (Fstart_process): GCPRO current_dir before calling
3280 Ffind_operation_coding_system. Encode arguments here.
3281 (create_process): Don't encode arguments here. Setup
3282 src_multibyte and dst_multibyte members of struct coding.
3283 (read_process_output): Setup src_multibyte and dst_multibyte
3284 members of struct coding. If the output is to multibyte buffer,
3285 always decode the output of the process. Adjust the
3286 representation of 8-bit characters to the multibyteness of the
3287 output.
3288 (send_process): Setup coding->src_multibyte according to the
3289 multibyteness of the source.
3290
3291 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
3292 unconditionally.
3293 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
3294 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
3295
3296 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
3297 CHAR_LEN.
3298
3299 * w16select.c (Fw16_set_clipboard_data): Setup members
3300 src_multibyte and dst_multibyte of coding. Adjusted for the
3301 change for find_charset_in_str.
3302 (Fw16_get_clipboard_data): Likewise.
3303
3304 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
3305 dst_multibyte of coding.
3306 (x_to_w32_font): Likewise.
3307
3308 * w32select.c (Fw32_set_clipboard_data): Setup members
3309 src_multibyte and dst_multibyte of coding. Adjusted for the
3310 change for find_charset_in_str.
3311 (Fw32_get_clipboard_data): Likewise.
3312
3313 * xdisp.c (get_next_display_element): Handle 8-bit characters
3314 correctly.
3315 (next_element_from_display_vector): Use CHAR_BYTES instead of
3316 CHAR_LEN.
3317 (disp_char_vector): Use SPLIT_CHAR instead of
3318 SPLIT_NON_ASCII_CHAR.
3319
3320 * xselect.c (selection_data_to_lisp_data): Setup members
3321 src_multibyte and dst_multibyte of coding. Adjusted for the
3322 change for find_charset_in_str.
3323 (lisp_data_to_selection_data): Likewise.
3324
5f64c9e0
GM
33252000-05-19 Gerd Moellmann <gerd@gnu.org>
3326
2b63d473
GM
3327 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
3328 buffer.
3329
5f64c9e0
GM
3330 * dispextern.h (Vimage_types): Add extern declaration.
3331
3332 * xdisp.c (Vimage_types): Moved here from xfns.c.
3333 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
3334
3335 * xfns.c (Vimages_types): Moved to xdisp.c.
3336 (syms_of_xfns): Move `image-types' to xdisp.c.
3337
3338 * w32fns.c (Vimage_types): Removed.
3339 (syms_of_w32fns): Remove `image-types'.
3340
813086ea
KH
33412000-05-18 Kenichi Handa <handa@etl.go.jp>
3342
3343 * fns.c (map_char_table): Pay attention to character number of
3344 charset. Check the validity of charset at the first level. For
3345 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
3346 the default value.
3347
3348 * fontset.c: Include "buffer.h".
3349 (fs_load_font): If the face has fontset, record the face ID in
3350 that fontset.
3351 (Finternal_char_font): New function.
3352 (accumulate_font_info): New function.
3353 (Ffontset_info): Rewritten for the new fontset implementation.
3354 (syms_of_fontset): Register Vdefault_fontset in the first element
3355 of Vfontset_table. Include Vdefault_fontset in
3356 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
3357 function.
3358
bdaebbf0
DL
33592000-05-16 Dave Love <fx@gnu.org>
3360
3361 * m/iris5d.h: Deleted -- unused.
3362
cb613bb8
GM
33632000-05-16 Gerd Moellmann <gerd@gnu.org>
3364
b15f3b77
GM
3365 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
3366 `invalid' instead of `illegal'.
3367
3368 * indent.c (Fmove_to_column): When ending within a tab, insert
3369 spaces first so that markers at the end of the tab get adjusted.
3370
835c1b36
GM
3371 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
3372 buffer list that wasn't selected in that frame.
3373
cb613bb8
GM
3374 * filelock.c (get_boot_time): To obtain an 8 char file name, which
3375 is needed on mescaline, use a 2 char prefix, and call
3376 make_temp_name with second arg non-zero.
3377
3378 * fileio.c (make_temp_name): New function, extracted from
3379 Fmake_temp_name.
3380 (Fmake_temp_name): Use it.
3381
f685bea9
EZ
33822000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
3383
3384 * window.c (coordinates_in_window): Subtract 1 when computing
3385 right_x.
3386
a1b8d58b
GM
33872000-05-15 Gerd Moellmann <gerd@gnu.org>
3388
3389 * Makefile.in (lisp): Add env.elc.
3390
3391 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
3392
a265079f
GM
33932000-05-12 Gerd Moellmann <gerd@gnu.org>
3394
3395 * search.c (Freplace_match): Handle case of `\N' in the
3396 replacement when there's no group N.
3397
da4496b6
GM
33982000-05-11 Gerd Moellmann <gerd@gnu.org>
3399
0ace421a
GM
3400 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
3401 of the message to message_dolog.
3402
1172eb8d
GM
3403 * keyboard.c (read_char): Don't clear current message for help
3404 events; let the code handling help events handle this. Change
3405 code detecting help events that should be ignored.
3406
da4496b6
GM
3407 * xdisp.c (handle_single_display_prop): Don't try to set PT if
3408 we're interating over a string.
3409
0623e40f
DL
34102000-05-09 Dave Love <fx@gnu.org>
3411
3412 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
3413 that offset before writing. Move gcpro region past call of
3414 Ffile_regular_p.
3415
bae2503b
DL
34162000-05-04 Dave Love <fx@gnu.org>
3417
3418 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
3419
ec82fb2f
GM
34202000-05-04 Gerd Moellmann <gerd@gnu.org>
3421
3422 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
3423 of inserted characters when BUF equals the current buffer, and PT
3424 is in front of or equal to FROM.
3425
cbf18892
GM
34262000-05-03 Gerd Moellmann <gerd@gnu.org>
3427
4ff40dd0
GM
3428 * xdisp.c (handle_single_display_prop): If display property value
3429 is invalid, or something not supported on the frame, restore
3430 iterator's position to what it was initially. Make sure to return
3431 0 for invalid and unsupported property values.
3432
cbf18892
GM
3433 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
3434 that x_per_char_metric returns null.
3435
1b0672c3
GM
34362000-05-02 Gerd Moellmann <gerd@gnu.org>
3437
576da55d
GM
3438 * xterm.h (struct face): Add forward declaration.
3439 (struct image): Ditto.
3440 (image_ascent): Add prototype.
3441
3442 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
3443 (x_draw_image_relief, x_draw_image_foreground_1): Call function
3444 image_ascent instead of using IMAGE_ASCENT.
3445
3446 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
3447 (IMAGE_ASCENT): Removed.
3448
3449 * xfns.c (Qcenter): New variable.
3450 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
3451 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
3452 (image_ascent): New function.
3453 (lookup_image): Recognize `:ascent center'.
3454 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
3455 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
3456 (xbm_load): Don't set image's ascent here.
3457 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
3458 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
3459 check ascent values here.
3460 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
3461 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
3462 (syms_of_xfns): Initialize Qcenter.
3463
1b0672c3
GM
3464 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
3465 to the limits, increase the limits.
3466
0d7811ed
KH
34672000-05-01 Kenichi Handa <handa@etl.go.jp>
3468
3469 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
3470 Check Vfont_encoding_alist against the full name of the opened
3471 font.
3472
a943a5ca
GM
34732000-04-28 Gerd Moellmann <gerd@gnu.org>
3474
3475 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
3476 taller than the window.
3477
5dba1e29
KH
34782000-04-28 Kenichi Handa <handa@etl.go.jp>
3479
3480 * xfaces.c (realize_x_face): Fix the argument of the second
3481 xassert. BASE_FACE may not be a face for ASCII.
3482
353964e3
GM
34832000-04-27 Gerd Moellmann <gerd@gnu.org>
3484
c76e04a8
GM
3485 * print.c (print_object): Treat print-length < 0 as nil.
3486
3487 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
3488
3489 * s/freebsd.h (TERMCAP_OBJ): Removed.
3490 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
3491
3492 * lread.c (read1): Don't treat period followed by certain
3493 characters as symbol start.
3494
3495 * xfns.c (slurp_file): New function.
3496 (xbm_image_p): Handle case of in-memory XBM files.
3497 (xbm_scan): Rewritten to work on memory buffers instead of files.
3498 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
3499 Work on memory buffers instead of files. If DATA is null test
3500 if buffer looks like an in-memory XBM file.
3501 (xbm_load_image): Renamed from xbm_load_image_file. Work on
3502 memory buffers instead of files.
3503 (xbm_file_p): New function.
3504 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
3505
353964e3
GM
3506 * lread.c (end_of_file_error): New function.
3507 (read1): Call it instead of signaling `end-of-file' directly.
3508
427ec082 3509 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
3510 with Fprinc instead of Fprin1.
3511
24d744ac
KR
35122000-04-26 Ken Raeburn <raeburn@gnu.org>
3513
3514 * window.c (freeze_window_start): Check that minibuffer scroll
3515 window isn't nil before extracting the window structure pointer
3516 from it.
3517
3518 * undo.c (record_delete): If we hit the end of the undo list, stop
3519 picking elements apart.
3520
7464346d
GM
35212000-04-26 Gerd Moellmann <gerd@gnu.org>
3522
3523 * xdisp.c (display_line): If lines are continued, restore
3524 iterator's ascent/descent information to the values before the
3525 first glyph not fitting on the line.
3526
612839b6
GM
35272000-04-25 Gerd Moellmann <gerd@gnu.org>
3528
3529 * xdisp.c (try_window_id) <all changes above window start>: Adjust
3530 positions in glyph matrix. Don't compute new window end
3531 positions.
3532
3533 * dispnew.c (increment_matrix_positions): Renamed from
3534 increment_glyph_matrix_buffer_positions.
3535 (increment_row_positions): Renamed from
3536 increment_glyph_row_buffer_positions.
3537
3538 * dispextern.h: Change names of renamed functions from dispnew.c
3539 in prototypes.
3540
cc181e95
GM
35412000-04-24 Gerd Moellmann <gerd@gnu.org>
3542
abfcc168
GM
3543 * fileio.c (Fdo_auto_save): Create directories for auto-save
3544 list file if necessary.
3545
cc181e95
GM
3546 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
3547 from buffer or frame.
3548 (automatic_hscrolling_p): New variable.
3549 (hscroll_windows): Scroll windows horizontally only if automatic
3550 hscrolling is allowed.
3551 (syms_of_xdisp): New variable `automatic-hscrolling'.
3552
3553 * frame.h (struct frame): Add member extra_line_spacing.
3554
3555 * xfns.c (x_set_line_spacing): New function.
3556 (Fx_create_frame): Set line spacing from resources.
3557 (Qline_spacing): New variable.
3558 (syms_of_xfns): Initialize Qline_spacing.
427ec082 3559
cc181e95
GM
3560 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
3561
3562 * buffer.c (init_buffer_once): Handle extra_line_spacing.
3563 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 3564 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
3565 extra_line_spacing from default value.
3566 (init_buffer_once): Initialize default value of extra_line_spacing.
3567
3568 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
3569 and extra3.
3570
3571 * xterm.c (x_produce_glyphs): Remove reference to struct it's
3572 prompt_width. Add extra line spacing.
3573
3574 * term.c (produce_glyphs): Remove reference to struct it's
3575 prompt_width.
3576
3577 * dispextern.h (struct it): Remove member prompt_width, add
3578 extra_line_spacing.
3579
58827478
GM
35802000-04-22 Gerd Moellmann <gerd@gnu.org>
3581
3582 * dispnew.c (update_frame_line): When writing a whole line, make
3583 sure cursor is in the right row afterwards, otherwise a use of
3584 capability `ch' in cmgoto might leave the cursor in the row below.
3585
25a87f42
GM
35862000-04-21 Gerd Moellmann <gerd@gnu.org>
3587
3588 * lisp.h (struct Lisp_Buffer_Cons): Remove.
3589
3590 * keyboard.c (timer_check): Fix typo in comment.
3591
54edf5c2
KH
35922000-04-21 Kenichi Handa <handa@etl.go.jp>
3593
3594 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
3595 name change: ch -> character.
3596
3a64eef5
GM
35972000-04-20 Gerd Moellmann <gerd@gnu.org>
3598
3599 * keyboard.c (echo_message_buffer): New variable.
3600 (echo_now): Set echo_message_buffer to the echo area buffer used
3601 to display the echo.
3602 (cancel_echoing): Reset echo_message_buffer to nil.
3603 (read_char): Code rewritten that handles canceling an echo or
3604 echoing a dash, respectively.
3605
3606 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
3607 directory doesn't exist.
3608
6142fdcb
DL
36092000-04-19 Dave Love <fx@gnu.org>
3610
3611 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
3612 (concat): Don't allow numeric args.
3613 (Fconcat): Doc change.
6142fdcb 3614
ac6b5352
SM
36152000-04-19 Stefan Monnier <monnier@cs.yale.edu>
3616
3617 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
3618 instead define end_match(1|2) more carefully.
3619 Use GET_CHAR_BEFORE_2 for `begline'.
3620
cb9215e4
GM
36212000-04-19 Gerd Moellmann <gerd@gnu.org>
3622
5e3dac3f
GM
3623 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
3624 on 64-bit systems where NULL is defined as `0'.
3625
3626 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
3627 the `variable argument list' to make it work on Alpha.
3628
cb9215e4
GM
3629 * m/alpha.h (_LP64) [!_LP64]: Define.
3630 (ORDINARY_LINK): Define for NetBSD.
3631
3632 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 3633
f532dca0
DL
36342000-04-19 Dave Love <fx@gnu.org>
3635
c750667e
DL
3636 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
3637 change.
3638
3639 * Makefile.in (LIBS): Don't use.
3640 (GETLOADAVG_OBJ): Define again.
3641 (otherobj): Add GETLOADAVG_OBJ.
3642
f532dca0
DL
3643 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
3644
1c7e22fd
GM
36452000-04-18 Gerd Moellmann <gerd@gnu.org>
3646
f6d3257b
GM
3647 * lread.c (read_filtered_event): Cancel and start busy cursor.
3648
427ec082 3649 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
3650 that the per-character metrics may be null.
3651
e10f64e7
GM
36522000-04-17 Gerd Moellmann <gerd@gnu.org>
3653
0daee095
GM
3654 * buffer.c (clone_per_buffer_values): New function.
3655 (Fmake_indirect_buffer): Add optional argument CLONE. Call
3656 clone_per_buffer_values if CLONE is not nil.
3657
e10f64e7
GM
3658 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
3659
38687d43
DL
36602000-04-16 Dave Love <fx@gnu.org>
3661
3662 * Makefile.in: Remove obsolete localcpp stuff.
3663 (GETLOADAVG_OBJ): Don't define.
3664 (obj): Move LIBOBJS...
3665 (otherobj): ... to here.
3666 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
3667 whitespace-only lines after the continuation (Irix).
3668
c21c7262
GM
36692000-04-14 Gerd Moellmann <gerd@gnu.org>
3670
3671 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
3672
3673 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
3674
314767c0
DL
36752000-04-14 Dave Love <fx@gnu.org>
3676
3677 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
3678 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
3679 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
3680 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
3681 NLIST_STRUCT.
3682
3683 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
3684 autoconfiscated HAVE_GETLOADAVG.
3685
3686 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
3687 BROKEN_MKTIME.
3688
a2522dca
GM
36892000-04-14 Gerd Moellmann <gerd@gnu.org>
3690
3691 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
3692 (fill_in_lock_file_name): Avoid existing files that aren't
3693 links.
3694
33744b5d
DL
36952000-04-14 Dave Love <fx@gnu.org>
3696
c21c7262 3697 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
3698 (INTERVAL_SRC): Convert to make variable.
3699 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
3700 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
3701 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
3702 add LIBOBJS.
3703 (SOME_MACHINE_OBJECTS): Remove interval stuff.
3704 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
3705 (shortlisp): Add facemenu, float-sup, frame.
3706 (SOME_MACHINE_LISP): Remove them from here.
3707 (LIBES): Change unused LDLIBS to autoconf LIBS.
3708
3709 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
3710
9d3d5916
KH
37112000-04-14 Kenichi Handa <handa@etl.go.jp>
3712
3713 * composite.c (update_compositions): If FROM and TO are not in a
3714 valid range, do nothing.
3715
198e3c7a
GM
37162000-04-13 Gerd Moellmann <gerd@gnu.org>
3717
3718 * tparam.c (tparam1): Abort when encountering an unknown
3719 `%'-specifier.
3720
3721 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
3722 terminfo.o.
3723
3724 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
3725 as TERMCAP_OBJ.
3726
055a28c9
EZ
37272000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
3728
3729 * fileio.c (a_write): Remove redundant semi-colons.
3730 (e_write): Return -1 if failed to write all the data.
3731 This fixes the changes made at 1999-12-15.
3732
f5c75033
DL
37332000-04-12 Dave Love <fx@gnu.org>
3734
3735 * fns.c (mapcar1): Test for null vals to support mapc.
3736 (Fmapc): New function.
3737
0c3cfc51
EZ
37382000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
3739
3740 * msdos.c (NUM_MOUSE_BUTTONS): Define.
3741 (IT_frame_up_to_date): Support the buffer local value of
3742 cursor-type, if defined.
3743
33465a31
DL
37442000-04-10 Dave Love <fx@gnu.org>
3745
3746 * editfns.c (preceding-char, following-char): Doc fix.
3747
6ed56568
KR
37482000-04-10 Ken Raeburn <raeburn@gnu.org>
3749
3750 * Makefile.in (temacs): Revert 2000-03-12 change.
3751
7cf80d4e
JR
37522000-04-10 Jason Rumney <jasonr@gnu.org>
3753
3754 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
3755
34f3f342
GM
37562000-04-10 Gerd Moellmann <gerd@gnu.org>
3757
1a1b1895
GM
3758 * xdisp.c (setup_echo_area_for_printing): Choose an echo
3759 area buffer, if it's not set up yet.
3760
34f3f342
GM
3761 * indent.c (compute_motion): Set immediate_quit.
3762
be0dbdab
GM
37632000-04-09 Gerd Moellmann <gerd@gnu.org>
3764
c45be9ac
GM
3765 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
3766 variable.
3767 (realize_tty_face): Suppress boldness if colors are the inverse of
3768 the default colors, and tty_suppress_bold_inverse_default_colors_p
3769 is set.
3770 (Ftty_suppress_bold_inverse_default_colors): New function.
3771 (syms_of_xfaces): Defsubr it.
3772
be0dbdab
GM
3773 * buffer.c (Frestore_buffer_modified_p): New function.
3774 (syms_of_buffer): Defsubr it.
3775
e8413c3b
KR
37762000-04-08 Ken Raeburn <raeburn@gnu.org>
3777
87f67317
KR
3778 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
3779 charset id (int) argument, not a charset (Lisp_Object).
3780
e8413c3b
KR
3781 * coding.h (code_convert_string): Declare.
3782 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
3783 object, as the fourth argument to code_convert_string.
3784
3785 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
3786 value.
3787 (Fset_fontset_font): Use EQ to compare lisp objects.
3788
7c752c80
KR
37892000-04-05 Ken Raeburn <raeburn@gnu.org>
3790
c0333abc
KR
3791 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
3792 a pointer that looks like a lisp object.
3793 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
3794 zero, instead see whether it's an integer object, since they can't
3795 have intervals.
3796 (GET_INTERVAL_OBJECT): Simply assign to the destination.
3797
7c752c80
KR
3798 * dispnew.c (allocate_matrices_for_frame_redisplay,
3799 direct_output_forward_char): Use X(U)INT and make_number as needed
3800 to convert between (unsigned) int values and lisp integers.
3801 * keyboard.c (read_key_sequence): Likewise.
3802 * lread.c (substitute_object_recurse): Likewise.
3803 * fns.c (concat, hash_lookup, hash_remove): Likewise.
3804 * minibuf.c (do_completion, Fminibuffer_complete_word,
3805 Fminibuffer_completion_help): Likewise.
3806 * term.c (produce_special_glyphs): Likewise.
3807
3808 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
3809 * print.c (print_preprocess, print_object): Likewise.
3810
3811 * search.c (compile_pattern): Use NILP when checking for nil.
3812
74e49b38
KR
3813 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
3814 __OPTIMIZE__]: Provide a GNU C macro version that handles
3815 lisp-object unions.
3816 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
3817 field, to better cope with ENABLE_CHECKING and calls that modify a
3818 Lisp_Object using its old value.
3819
685e5ed2
GM
38202000-04-04 Gerd Moellmann <gerd@gnu.org>
3821
c407c570
GM
3822 * window.c (compare_window_configurations): Signal an error
3823 if parameters C1 or C2 aren't window configurations.
3824
685e5ed2
GM
3825 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
3826 AFTER_POTENTIAL_GC calls around calls to functions that can
3827 signal an error and thus invoke the debugger.
3828
587a49ab
GM
38292000-04-03 Gerd Moellmann <gerd@gnu.org>
3830
62f20204
GM
3831 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
3832 an error if decoding fails.
3833
587a49ab
GM
3834 * keyboard.c (lispy_mouse_names): Variable removed.
3835 (Vlispy_mouse_stem): New variable.
3836 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
3837 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
3838 for any mouse button number. Increase size of mouse_syms and
3839 button_down_location as needed. Call modify_event_symbol with
3840 different arguments.
3841 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
3842 Call modify_event_symbol with different arguments.
3843 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
3844 for any button number. Call modify_event_symbol with different
3845 arguments.
3846 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
3847 Accept a string for NAME_ALIST_OR_STEM.
3848
3849 * lisp.h (larger_vector): Add prototype.
3850
3851 * fns.c (larger_vector): Make externally visible.
3852
3853 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
3854
2d1675e4
SM
38552000-04-02 Stefan Monnier <monnier@cs.yale.edu>
3856
3857 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
3858 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
3859 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
3860 we are between str1 and str2.
3861 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
3862 (PATFETCH): Use `TRANSLATE'.
3863 (PATFETCH_RAW): Fetch multibyte char if applicable.
3864 (PATUNFETCH): Remove.
3865 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
3866 When writing a char, write it directly into the pattern buffer rather
3867 than going needlessly through a temp char-array.
3868 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
3869 multibyte magic and remove the useless `#ifdef emacs'.
3870 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
3871 buffer.
3872
3873 * regex.h (struct re_pattern_buffer): Make field `multibyte'
3874 conditional on `emacs'.
3875
3876 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
3877
cc2d8c6b
KR
38782000-04-01 Ken Raeburn <raeburn@gnu.org>
3879
3880 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
3881 non-union-type versions of XMARK and friends here, because XMARK
3882 and friends won't work on an integer field if NO_UNION_TYPE is not
3883 defined.
3884 (make_number): Define as a function if it's not defined as a
3885 macro.
3886
09654086
KR
3887 * composite.c (run_composite_function): Use NILP when checking for
3888 nil.
3889 (syms_of_composite): Delete local var NARGS, pass an int as first
3890 argument to Fmake_hash_table.
3891
2387b382
KR
3892 * editfns.c (text_property_stickiness): Use NILP to test
3893 Lisp_Object boolean value.
3894 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
3895 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
3896 problems reading from and changing the same lisp value in an
3897 XSETSTRING call.
3898
27660e89
GM
38992000-04-01 Gerd Moellmann <gerd@gnu.org>
3900
3901 * term.c (TN_no_color_video): New variable.
3902 (term_init): Intitialize TN_no_color_video.
3903 (enum no_color_bit): New enumeration.
3904 (MAY_USE_WITH_COLORS_P): New macro.
3905 (turn_on_face): Use it to determine if attributes may be used
3906 combined with colors.
3907
3578db3c
KR
39082000-04-01 Ken Raeburn <raeburn@gnu.org>
3909
3910 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
3911 with int lvalues via casts; instead, just yield lisp object
3912 lvalues.
3913 (enlarge_window): Variable sizep now points to Lisp_Object. Use
3914 proper accessor macros.
3915 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
3916 (grow_mini_window): Fix typo getting int value of root->height.
3917
6fc556fd
KR
3918 * xdisp.c (compute_string_pos): Fix order of arguments to
3919 string_pos_nchars_ahead.
3920 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
3921 count arg to variable-arg routines like Frun_hook_with_args and
3922 Fformat.
587a49ab
GM
3923 (back_to_previous_visible_line_start)
3924 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
3925 fixed-arg routines like Fget_char_property and Fmake_string.
3926 (reconsider_clip_changes): Use XINT when comparing integer lisp
3927 objects, or passing them as int arguments.
587a49ab
GM
3928 (mark_window_display_accurate, insert_left_trunc_glyphs)
3929 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
3930 storing or passing integer values as lisp objects.
3931 (set_cursor_from_row, highlight_trailing_whitespace): Use
3932 INTEGERP, not implicit test against zero, for glyph object.
3933 (try_window_id): Don't use make_number when we want an int value.
3934
3935 * xfaces.c (xlfd_symbolic_value): Make last argument a
3936 Lisp_Object, to be consistent with callers.
3937 (Fbitmap_spec_p): Use XINT to get numeric value of height.
3938 (lface_hash): Apply XFASTINT to lisp values before folding in.
3939
3940 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
3941 fill in window width and height. Pass an int, not a lisp object,
3942 as first arg to Finsert.
3943
6e7b2457
GM
39442000-04-01 Gerd Moellmann <gerd@gnu.org>
3945
610d841e
GM
3946 * xfaces.c (realize_basic_faces): Block input while realizing
3947 the faces.
3948
6e7b2457
GM
3949 * keyboard.c (lispy_mouse_names): Add additional mouse names.
3950
3951 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
3952
aa110c0c
GM
39532000-03-31 Gerd Moellmann <gerd@gnu.org>
3954
3955 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 3956 or ASCII, handle case that per-char metric is null.
aa110c0c 3957
8801a864
KR
39582000-03-30 Ken Raeburn <raeburn@gnu.org>
3959
c6129d7e
KR
3960 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
3961
8801a864
KR
3962 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
3963 XSUBR, XBUFFER): Verify correct object type before returning
3964 pointer, using eassert.
3965 * frame.h (XFRAME): Likewise.
3966
3967 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
3968 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
3969 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
3970 type.
3971 * data.c (set_internal): Likewise.
3972 * dispextern.h (WINDOW_WANTS_MODELINE_P,
3973 WINDOW_WANTS_HEADER_LINE_P): Likewise.
3974 * fileio.c (auto_save_1): Likewise.
3975 * insdel.c (check_markers): Likewise.
3976 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
3977 * undo.c (record_insert): Likewise.
3978 * vmsproc.c (child_sig): Likewise.
3979 * window.c (unshow_buffer, window_loop): Likewise.
3980 * xterm.c (x_erase_phys_cursor): Likewise.
3981
8e7af858
GM
39822000-03-30 Gerd Moellmann <gerd@gnu.org>
3983
3984 * xfns.c (free_image_cache): Free the cache structure itself
3985 last, after all its members have been freed.
3986
3987 * lisp.h (xstrdup): Add prototype.
3988
3989 * alloc.c (xstrdup): Moved here from xfaces.c.
3990 (allocating_for_lisp): Variable removed.
3991 (lisp_malloc): Block input around the calls to malloc and
3992 mem_insert.
3993
3994 * xfaces.c (realize_tty_face): Use find_symbol_value instead
3995 of Fsymbol_value.
3996 (xstrdup): Moved to alloc.c.
3997
e0b8c689
KR
39982000-03-29 Ken Raeburn <raeburn@gnu.org>
3999
b96f9fb7
KR
4000 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
4001
4002 * emacs.c (main): Fix sense of no-loadup test.
4003
e0b8c689
KR
4004 * config.in (ENABLE_CHECKING): Undef.
4005
4006 * lisp.h (struct interval): Replace "parent" field with a union of
4007 interval pointer and Lisp_Object; add new bitfield to use as
4008 discriminant. Change other flag fields to bitfields.
4009 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
4010 is defined and the supplied test fails, print a message and
4011 abort.
4012 (eassert): New macro. Use CHECK to provide an assert-like
4013 facility.
4014
4015 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
4016 pointers; abort if the value looks like a lisp object.
4017 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
4018 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
4019 Modify for new interval parent definition.
4020
4021 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
4022 UNMARK_BALANCE_INTERVALS): Update references that need an
4023 addressable lisp object in the interval structure.
4024 (die): New function.
4025 (suppress_checking): New variable.
4026
4027 * intervals.c (interval_start_pos): Just return 0 if there's no
4028 parent object.
4029
f83c5440
GM
40302000-03-29 Gerd Moellmann <gerd@gnu.org>
4031
4032 * lread.c (read1): Accept `.' (period) as symbol start like in CL
4033 and earlier Emacs versions.
4034
4035 * keyboard.c (Ftop_level): Cancel busy-cursor.
4036
4037 * eval.c (call_debugger): Cancel busy-cursor.
4038
fdce64ff
KH
40392000-03-29 Kenichi Handa <handa@etl.go.jp>
4040
4041 * search.c (Freplace_match): Adjust multibyteness of the current
4042 buffer and NEWTEXT. Free allocated memory before signaling an
4043 error.
4044
f6a3f532
SM
40452000-03-28 Stefan Monnier <monnier@cs.yale.edu>
4046
4047 * regex.c (analyse_first): New function obtained by ripping out most
4048 of re_compile_fastmap and generalizing it a little bit so that it
4049 can also just return whether a given (sub)pattern can match the empty
4050 string or not.
4051 (regex_compile): Use `analyse_first' to decide whether the loop-check
4052 needs to be done or not for *, +, *? and +? (the loop check is costly
4053 for non-greedy repetition).
4054 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
4055
e9b309ac
DL
40562000-03-28 Dave Love <fx@gnu.org>
4057
bb15bd9a
DL
4058 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
4059 alpha.
4060
e9b309ac
DL
4061 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
4062
ed0767d8
SM
40632000-03-27 Stefan Monnier <monnier@cs.yale.edu>
4064
4065 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
4066 an expression.
4067 (enum re_opcode_t): Update description of succeed_n.
4068 (PATFETCH): Always define.
4069 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
4070 operators, char classes, shy-groups and intervals).
4071 Optimize special cases of intervals so as to only use succeed_n and
4072 jump_n when really needed.
4073 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
4074 that we don't have to handle the special cases any more.
4075 Simplify on_failure_jump handling as well.
4076
e11e7e46
JR
40772000-03-28 Jason Rumney <jasonr@gnu.org>
4078
4079 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
4080
88faab89
GM
40812000-03-27 Gerd Moellmann <gerd@gnu.org>
4082
182ff242
GM
4083 * s/freebsd.h (GC_SETJMP_WORKS): Define.
4084
4085 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 4086
182ff242
GM
4087 * alloc.c (mark_maybe_object): New function.
4088 (mark_memory): Use it.
4089 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
4090 (setjmp_tested_p, longjmp_done): New variables.
4091 (test_setjmp): New function.
4092 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
4093 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
4094
c1005d06
GM
4095 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
4096 to DEC_TEXT_POS and INC_TEXT_POS.
4097
4098 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
4099 with parameter MULTIBYTE_P.
4100
427ec082 4101 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
4102 MULTIBYTE_P.
4103
7439e5b9 4104 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
4105 buffers because it looks for multibyte character byte sequences
4106 which don't exist in unibyte text.
7439e5b9 4107
d9c545da
GM
4108 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
4109
11fd416e 4110 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
4111 [DEBUG_X_COLORS]: New functions.
4112 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
4113
4114 * xfns.c (x_set_cursor_color): Get color reference counts right.
4115
4116 * xterm.c (x_copy_color): New function.
4117 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
4118
4119 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
4120 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
4121 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
4122 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
4123 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
4124 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
4125 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
4126 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
4127 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
4128 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
4129
11fd416e
GM
4130 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
4131 names for handling per-buffer variables.
d9c545da
GM
4132
4133 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
4134 instead of MAX_BUFFER_LOCAL_VARS.
4135 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
4136
4137 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
4138
88faab89
GM
4139 * xfns.c (x_specified_cursor_type): New function.
4140 (x_set_cursor_type): Use it.
4141
4142 * buffer.h (struct buffer): Add cursor_type.
4143
d80f42b7
SM
41442000-03-26 Stefan Monnier <monnier@cs.yale.edu>
4145
4146 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 4147 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 4148 opcode.
d80f42b7
SM
4149 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
4150 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
4151 executing it as well as when popping it off the stack to find infinite
4152 loops in non-greedy repetition operators.
4153
89e80928
GM
41542000-03-26 Gerd Moellmann <gerd@gnu.org>
4155
3d4ff2dd
GM
4156 * doc.c (Qfunction_documentation): New variable.
4157 (syms_of_doc): Initialize Qfunction_documentation.
4158 (Fdocumentation): If FUNCTION is a symbol with non-nil
4159 `function-documentation' property, return a documentation derived
4160 from that.
4161
bd96bd79
GM
4162 * buffer.c (syms_of_buffer): Add default-cursor-type.
4163 (init_buffer_once): Don't let cursor_type have a local value
4164 in every buffer.
4165
19d1bc27
GM
4166 * xterm.c (x_display_and_set_cursor): Choose cursor depending
4167 on buffer-local value of cursor_type.
4168 (x_draw_bar_cursor): Add parameter WIDTH.
4169
4170 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
4171 (init_buffer_once): Set default cursor_type value to t.
4172 Mark cursor_type as local everywhere.
4173 (syms_of_buffer): New per-buffer variable cursor-type.
4174
89e80928
GM
4175 * buffer.h (struct buffer): Remove member local_var_flags,
4176 add local_flags.
4177 (MAX_BUFFER_LOCAL_VARS): New macro.
4178 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
4179 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
4180 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
4181 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
4182
4183 * print.c (print_object): Use new macros for per-buffer
4184 variables.
4185
4186 * category.c (Fset_category_table): Use new macros for per-buffer
4187 variables.
4188
4189 * buffer.c (buffer_permanent_local_flags): Make a char array.
4190 (max_buffer_local_idx): New variable.
4191 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
4192 for new handling of per-buffer variables.
4193 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
4194 (init_buffer_once): Initialize per-buffer vars differently.
4195 Set max_buffer_local_idx.
4196
4197 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
4198 variables.
4199
4200 * lread.c (defvar_per_buffer): Use new macros for per-buffer
4201 variables.
4202
4203 * data.c (do_symval_forwarding, store_symval_forwarding)
4204 (find_symbol_value, set_internal, default_value, Fset_default)
4205 (Fkill_local_variable, Flocal_variable_p): Use new macros for
4206 per-buffer variables.
4207
4208 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
4209
9a0dd3dc
GM
42102000-03-24 Gerd Moellmann <gerd@gnu.org>
4211
b68c375f
GM
4212 * xterm.c (x_term_init): Unblock input around call1 of
4213 Qvendor_specific_keysyms.
4214
9a0dd3dc
GM
4215 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
4216 (find_defun_start): Consider an open parenthesis in column 0
4217 a defun start only if open_paren_in_column_0_is_defun_start is set.
4218 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
4219
7973e637
SM
42202000-03-24 Stefan Monnier <monnier@cs.yale.edu>
4221
4222 * eval.c (Fautoload): Add entry in load-history (if after dump).
4223 * lread.c (load-history): Update docstring.
4224
39210e90
GM
42252000-03-24 Gerd Moellmann <gerd@gnu.org>
4226
4227 * indent.c (Fvertical_motion): Always use the current buffer.
4228 Temporarily change the window's buffer, if necessary.
4229
72db3ab5
GM
42302000-03-23 Gerd Moellmann <gerd@gnu.org>
4231
4232 * xterm.c (fast_find_position): Make sure not to consider rows
4233 not visible in the window.
4234
990b2375
SM
42352000-03-22 Stefan Monnier <monnier@cs.yale.edu>
4236
4237 * regex.c (enum syntaxcode): Provide default for non-Emacs.
4238 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
4239
ff4df011
JR
42402000-03-22 Jason Rumney <jasonr@gnu.org>
4241
4242 * w32menu.c (single_submenu): Set help string to NULL if none.
4243 (w32_menu_show): Set help string correctly.
4244 (add-menu-item): Set help string in MIIM_DATA for menu item.
4245 Load SetMenuItemInfoA explicitly.
4246 (w32_menu_display_help): New function.
427ec082 4247
ff4df011
JR
4248 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
4249 (QCdata): Moved to xdisp.c.
4250
4251 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
4252 (Vw32_charset_to_codepage_alist): Removed.
4253 (Vw32_charset_info_alist): New variable.
4254 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
4255 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
4256 greek, hebrew, thai, johab, mac, unicode]): New symbols.
4257 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
4258 with TODO comment.
4259 (w32_codepage_for_font): Use Vw32_charset_info_alist.
4260 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
4261 Define Vw32_charset_info_alist and w32_charset symbols.
4262
42632000-03-22 Jason Rumney <jasonr@gnu.org>
4264
4265 * makefile.nt (w32bdf.obj): Update dependencies.
4266
4267 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
4268
4269 * w32fns.c: Include fontset.h after dispextern.h.
4270 (Fx_create_frame): Do not create fontset.
4271 (w32_load_system_font): Doc fix.
4272 (Fx_close_connection): Free full_name if it is not shared.
4273
4274 * w32term.c: Include fontset.h after dispextern.h.
4275 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
4276 updated.
4277 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
4278 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
4279 (w32_font_is_double_byte): New function, needs body.
4280 (x_append_glyph): Set glyph->glyph_not_available_p.
4281 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
4282 it->charset. If it->multibyte_p is zero and it->c is a multibyte
4283 character, convert it to a unibyte character.
4284 (struct glyph_string): Delete member `charset'.
4285 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
4286 calculating it is found.
4287 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
4288 the case that per char metric is not available correctly.
4289 (x_fill_glyph_string): Handle the case that the specific glyph is
4290 not available correctly.
4291 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
4292 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
4293 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
4294 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
4295 fontset. Don't call FS_LOAD_FONT.
4296
439d5cb4
KR
42972000-03-22 Ken Raeburn <raeburn@gnu.org>
4298
4299 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
4300 (INT_LISPLIKE): New macro.
4301 (NULL_INTERVAL_P): Use it.
4302 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
4303 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
4304 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
4305
4306 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
4307 explicit references to "parent" field of struct interval and
4308 associated unclean type conversions.
4309 * intervals.c (create_root_interval, root_interval, rotate_right,
4310 rotate_left, balance_possible_root_interval, split_interval_right,
4311 split_interval_left, interval_start_pos, find_interval,
4312 next_interval, previous_interval, update_interval,
4313 adjust_intervals_for_insertion, delete_node, delete_interval,
4314 adjust_intervals_for_deletion, merge_interval_right,
4315 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
4316 copy_intervals_to_string): Likewise.
4317 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
4318 Likewise.
4319 * syntax.c (update_syntax_table): Likewise.
4320
4321 * intervals.c (reproduce_tree_obj): New function, like
4322 reproduce_tree but takes a Lisp_Object for the parent. Declare
4323 with prototype.
4324 (graft_intervals_into_buffer): Use it when appropriate.
4325 (reproduce_tree): Declare with prototype.
4326 (balance_possible_root_interval): Check that the parent is a lisp
4327 object before trying to examine its type.
4328
ee1c5b21
GM
43292000-03-22 Gerd Moellmann <gerd@gnu.org>
4330
4331 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
4332 as strings only if both are known to be strings.
4333
4334 * s/openbsd.h (LIBS_TERMCAP): Undef.
4335
1fb352e0
SM
43362000-03-21 Stefan Monnier <monnier@cs.yale.edu>
4337
4338 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
4339 definitions for non-Emacs compilation.
4340 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
4341 outside of `#ifdef emacs'.
4342 (print_partial_compiled_pattern): Update.
4343 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
4344 (re_compile_fastmap): Merge handling of charset and charset_not (for
4345 emacs and non-emacs compilation as well).
4346 Similarly for (not)categoryspec and (not)syntaxspec.
4347 Don't use the fastmap when reaching `anychar' since the added
4348 complexity is not justified.
4349 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
4350 and (not)syntaxspec. Merge (not)categoryspec.
4351
fdaa1f77
KH
43522000-03-22 Kenichi Handa <handa@etl.go.jp>
4353
ff1a0d8e
KH
4354 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
4355 FACE_FOR_CHAR): Define them differently for the configuration of
4356 --without-x.
fdaa1f77 4357
d152fb46
DL
43582000-03-21 Dave Love <fx@gnu.org>
4359
4360 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
4361 doc string.
4362
d2cafc8c
GM
43632000-03-21 Gerd Moellmann <gerd@gnu.org>
4364
4365 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
4366 (lface_fully_specified_p): Don't check contents of
4367 LFACE_FONT_INDEX because that attribute is optional.
4368 (realize_x_face): Remove now unwarranted xassert.
4369
9111d4b5
KH
43702000-03-21 Kenichi HANDA <handa@etl.go.jp>
4371
4372 The following changes are to make font selection based on
4373 characters, not charset. In addition, they recover fontset
4374 facilities while utilizing the new font selection mechanism.
4375
6c4bfdc0
KH
4376 * Makefile.in (fontset.o): Depend on dispextern.h.
4377
4378 * alloc.c (mark_face_cache): Don't mark face->registry.
4379
9111d4b5
KH
4380 * dispextern.h (struct glyph): New member glyph_not_available_p.
4381 Use 22 bits for face_id.
4382 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
4383 (struct face): Delete member registry, new member ascii_face.
4384 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
4385 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
4386 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
4387 (struct it): Delete member charset, new member
4388 glyph_not_available_p.
4389
4390 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
4391 (struct fontset_info, struct fontset_data): Structs removed.
4392 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
4393 Vglobale_fontset_alist, font_idx_temp): Externs removed.
4394 (fs_load_font, fs_query_fontset): Adjusted for new argument.
4395 (fs_free_face_fontset, fontset_font_pattern,
4396 face_suitable_for_char_p, face_for_char,
4397 make_fontset_for_ascii_face): Extern them.
4398 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
4399 (FS_LOAD_FACE_FONT): New macro.
4400
4401 * fontset.c: All codes rewritten or adjusted for the change of
4402 fontset implementation. Now fontset is represented by char table.
4403 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
4404 removed.
4405 (my_strcasecmp): Function removed.
4406 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
4407 variables.
4408 (AREF, ASIZE): New macros.
4409 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
4410 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
4411 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
4412 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
4413 fontset_id_valid_p, font_family_registry, fontset_name,
4414 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
4415 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
4416 New functions.
4417 (fs_load_font): New arg FACE. Caller changed.
4418 (fs_query_fontset): Argument changed. Caller changed.
4419 (Fquery_fontset): call fs_query_fontset.
4420 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
4421 Functions removed.
4422 (clear_fontset_elements, check_registry_encoding,
4423 check_fontset_name): New functions.
4424 (syms_of_fontset): Set char-table-extra-slots property of fontset
4425 to 3. Staticpro and initialize Vfontset_table and
4426 Vdefault_fontset. Defsubr fontset_font and fontset_list.
4427
4428 * frame.h (struct frame): Member `fontset_data' removed.
4429 (FRAME_FONTSET_DATA): Macro removed.
4430
4431 * frame.c (make_frame): Don't allocate f->fontset_data.
4432 (Fdelete_frame): Don't free f->fontset_data.
4433
6c4bfdc0
KH
4434 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
4435
9111d4b5
KH
4436 * xdisp.c (charset_at_position): Function removed.
4437 (init_iterator): Don't set member charset of struct `it'.
4438 (handle_face_prop, reseat_to_string, set_iterator_to_next,
4439 next_element_from_display_vector, insert_left_trunc_glyphs):
4440 Likewise.
4441 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
4442 FACE_FOR_CHARSET.
4443 (get_next_display_element, append_space,
4444 extend_face_to_end_of_line): Likewise.
4445
4446 * xfaces.c (Qx_charset_registry, Vface_default_registry):
4447 Variables removed.
4448 (clear_font_table, frame_update_line_height, load_face_font):
4449 Adjusted for the change of fontset implementation.
4450 (load_face_fontset_font): Function removed.
4451 (pixel_point_size): New function.
4452 (font_list): Argument type changed. Caller changed.
4453 (LFACE_FONT): New macro.
4454 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
4455 (set_lface_from_font_name): Type of arg FONTNAME is changed to
4456 Lisp_Object. Determine the font name by actually loading a font
4457 by the specified pattern. Set LFACE_FONT (lface) to the specified
4458 pattern. Even if a font is not found, don't try alternatives.
4459 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
4460 (set_font_frame_param): If `font' is specified in lface, use it.
4461 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
4462 (lface_same_font_attributes_p): Likewise.
4463 (make_realized_face): Arguent changed. Caller changed. Set
4464 face->ascii_face to face itself.
4465 (free_realized_face): Free face->fontset if face is for ASCII.
4466 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
4467 deduce_unibyte_registry, x_charset_registry): Functions removed.
4468 (free_realized_multibyte_face): New function.
4469 (lookup_face, lookup_named_face, lookup_derived_face): Argument
4470 changed. Caller changed.
4471 (try_font_list): Argument type changed.
4472 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
4473 (choose_face_font): Argument changed. Handle fontset properly.
4474 (choose_face_fontset_font): Function removed.
4475 (realize_default_face, realize_named_face): Don't remove the
4476 former face here.
4477 (realize_face): Argument changed. Caller changed. Remove face
4478 with the arg former_face_id in advance. Load font for the new
4479 face.
4480 (realize_x_face): Argument changed. Caller changed. For a
4481 multibyte character, share fontset with base_face. For a single
4482 byte character, make a new realized fontset. Don't load a font
4483 here.
4484 (realize_tty_face): Argument changed. Caller changed.
4485 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
4486 (face_at_buffer_position): Don't check multibyte_p for returning
4487 DEFAULT_FACE_ID.
4488 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
4489 FACE_SUITABLE_FOR_CHARSET_P.
4490 (syms_of_xfaces): Remove code for Qx_charset_registry and
4491 Vface_default_registry.
4492
6c4bfdc0
KH
4493 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
4494 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
4495 (x_per_char_metric): Don't try FONT->default_char. Even if
4496 pcm->width is zero, glyph bits may exist.
4497 (x_encode_char): Always initialize char2b->byte1.
4498 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
4499 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
4500 changed.
4501 (x_append_glyph): Set glyph->glyph_not_available_p.
4502 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
4503 it->charset. Handle the case that per char metric is not
4504 available. If it->multibyte_p is zero and it->c is a multibyte
4505 character, convert it to a unibyte character.
4506 (struct glyph_string): Delete member `charset'.
4507 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
4508 the case that per char metric is not available correctly.
4509 (x_fill_glyph_string): Handle the case that the specific glyph is
4510 not available correctly.
4511 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
4512 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
4513 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
4514 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
4515 fontset. Don't call FS_LOAD_FONT.
4516
4517 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
4518 (x_create_tip_frame): Likewise.
4519 (Fx_close_connection): Free full_name of font_info.
4520
4521 * fns.c (optimize_sub_char_table): New function.
4522 (Foptimize_char_table): New function.
4523 (syms_of_fns): Defsubr Soptimize_char_table.
4524
b33dd3b0
GM
45252000-03-20 Gerd Moellmann <gerd@gnu.org>
4526
4527 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
4528 only if buffer is displayed in some window.
4529
4530 * xdisp.c (handle_single_display_prop): Initialize local `value'.
4531 (try_window_reusing_current_matrix): Don't call scroll run
4532 function if run's current and desired position are the same;
4533 this prevents cursor flickering.
4534
4e8a9132
SM
45352000-03-19 Stefan Monnier <monnier@cs.yale.edu>
4536
4537 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
4538
4539 * regex.c (RE_STRING_CHAR): New macro.
4540 (GET_CHAR_AFER_2): Remove.
4541 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
4542 (enum re_opcode_t): Remove on_failure_jump_exclusive.
4543 (print_partial_compiled_pattern, re_compile_fastmap)
4544 (re_match_2_internal): Remove on_failure_jump_exclusive.
4545 (regex_compile): Turn optimizable P+ loops into PP*, so that the
4546 optimization only need to work for * (ie. can use of_keep_string_jump).
4547 Remove the special case for .*\n since it is now covered by the general
4548 optimization.
4549 (re_search_2): Don't bother with `room'.
4550 (skip_one_char): New function.
4551 (skip_noops): Simplify since `memory' is not needed any more.
4552 (mutually_exclusive_p): Restructure slightly to use `switch' and
4553 add handling for "all" remaining cases.
4554 (re_match_2_internal): Change on_failure_jump_smart to use
4555 on_failure_keep_string_jump (and redirect the end-of-loop jump)
4556 rather than on_failure_jump_exclusive.
4557
2136fdd4
GM
45582000-03-19 Gerd Moellmann <gerd@gnu.org>
4559
4560 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
4561 number of bits per RGB because it's everywhere used as the depth
4562 of the visual.
4563
4564 * term.c (calculate_costs): Remove code dealing with X frames.
4565
18e21ce8 45662000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
4567
4568 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
4569
d7b511c4
GM
45702000-03-18 Gerd Moellmann <gerd@gnu.org>
4571
4572 * lread.c (read_integer): Unread the last char not consumed.
4573
16b5d424
GM
45742000-03-17 Gerd Moellmann <gerd@gnu.org>
4575
4576 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 4577 which are in the process of being deleted.
16b5d424 4578
1fa28578
GM
45792000-03-16 Gerd Moellmann <gerd@gnu.org>
4580
83488cce
GM
4581 * Makefile.in (mostlyclean): Add `*.core'.
4582 (clean): Add `bootstrap-emacs'.
4583
1fa28578
GM
4584 * lread.c (read_integer): New function.
4585 (read1): Support read syntax #o, #x, #b, #r.
4586
99633e97
SM
45872000-03-15 Stefan Monnier <monnier@cs.yale.edu>
4588
1fa28578
GM
4589 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
4590 make sure POINTER_TO_OFFSET gives the same value before and after
4591 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
4592 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
4593 (debug): Now only active if > 0 rather than if != 0.
4594 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
4595 (print_partial_compiled_pattern): Add missing `succeed' case. Use
4596 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
4597 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
4598 (store_op1, store_op2, insert_op1, insert_op2)
4599 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
4600 (group_in_compile_stack): Move to after its arg's types are
4601 declared and add a prototype.
99633e97 4602 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
4603 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
4604 wrapper.
99633e97 4605 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
4606 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
4607 indentation of the greedy-op and shy-group code.
99633e97
SM
4608 (at_(beg|end)line_loc_p): Fix argument's types.
4609 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
4610 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
4611 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
4612 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
4613 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
4614 QUIT unconditionally.
99633e97 4615
699238d9
GM
46162000-03-15 Gerd Moellmann <gerd@gnu.org>
4617
4618 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
4619 a sole completion.
4620
4621 * process.c (send_process): Add a hint that the function
4622 can call Lisp code to its comment.
4623
4624 * lread.c (load_dangerous_libraries): New variable.
4625 (Vbytecomp_version_regexp): New variable.
4626 (safe_to_load_p): New function.
4627 (Fload): Handle files not compiled with Emacs specially.
4628 (syms_of_lread): New Lisp variable load-dangerous-libraries.
4629
34e23e5a
GM
46302000-03-14 Gerd Moellmann <gerd@gnu.org>
4631
9c763cca
GM
4632 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
4633
4634 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
4635 support functions only if HAVE_X11R6_XIM is defined.
4636 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
4637
4638 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
4639
4640 * xfns.c (X_I18N_INHIBITED): Don't define.
4641 (create_frame_xic): Remove conditional compilation on
4642 X_I18N_INHIBITED.
4643 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
4644
4645 * config.in (HAVE_X_I18N): Moved here from xterm.h.
4646 (HAVE_X11R6_XIM): Define.
4647
4648 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
4649
34e23e5a
GM
4650 * xterm.c (x_term_init): Add support for X resource `synchronous'.
4651 If set, call XSynchronize.
4652
66f0296e
SM
46532000-03-13 Stefan Monnier <monnier@cs.yale.edu>
4654
34e23e5a
GM
4655 * regex.c: Declare a new type `re_char' used throughout the code
4656 for the string char type. It's `const unsigned char' to match the
4657 rest of Emacs. Consistently make sure all pointers to strings use
4658 it and make sure all pointers into the pattern use `unsigned
4659 char'.
66f0296e 4660 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
4661 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
4662 code duplication.
66f0296e
SM
4663
4664 * charset.h (GET_CHAR_AFTER_2): Remove.
4665 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
4666
854a025c
KR
46672000-03-12 Ken Raeburn <raeburn@gnu.org>
4668
4669 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
4670 variable before the invocation of YMF_PASS_LDFLAGS, in case both
4671 of them try to use backquotes.
4672
b9d2c7e2
DL
46732000-03-12 Dave Love <fx@gnu.org>
4674
4675 * unexelf.c: Restore changes of 1999-10-19.
4676 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
4677 fix its type and alignment; copy it from current process.
4678
5e5dff44
GM
46792000-03-12 Gerd Moellmann <gerd@gnu.org>
4680
9b2f3c38
GM
4681 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
4682 has been found. Fix bug not computing timer's predecessor.
4683
427ec082 4684 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
4685 file name.
4686
e1cff360
GM
4687 * window.c (Fsave_window_excursion): Doc fix.
4688
5e5dff44
GM
4689 * xfns.c (x_defined_color): Rewritten to use
4690 x_allocate_nearest_color.
4691
e411ce4b
EZ
46922000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
4693
4694 * msdos.c (vga_installed): New function, code moved from
4695 dos_set_window_size.
4696 (Qbar, Qcursor_type, outside_cursor): New variables.
4697 (syms_of_msdos): Intern and staticpro them.
4698 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
4699 shape used outside Emacs when called for the first time.
4700 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
4701 cursor shape used outside Emacs.
4702 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
4703 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
4704 type has changed.
4705 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
4706 parameters specify the cursor. Make qreverse a global
4707 variable (renamed to Qreverse).
4708
80460654
GM
47092000-03-09 Gerd Moellmann <gerd@gnu.org>
4710
4711 * fns.c (Fy_or_n_p): Cancel busy-cursor.
4712
95cd4c40
SM
47132000-03-08 Stefan Monnier <monnier@cs.yale.edu>
4714
4715 This is a big redesign of failure-stack and register handling, prompted
4716 by bugs revealed when trying to add shy-groups. Overall, what happened
4717 is that loops are now structured a little differently, groups can be
4718 shy and the code is a little simpler.
4719
4720 * regex.h: Update the copyright.
4721 (RE_SHY_GROUPS): New value.
4722 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
4723 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
4724
80460654
GM
4725 * regex.c (enum re_opcode_t): Remove jump_past_alt,
4726 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
4727 on_failure_jump_(exclusive, loop and smart). Also fix the comment
4728 for (start|stop)_memory since they now only take one argument (the
4729 second has becomes unnecessary).
4730 (print_partial_compiled_pattern): Adjust for changes in
4731 re_opcode_t.
4732 (print_compiled_pattern): Use %ld to printf long ints and flush to
4733 make debugging a little easier.
95cd4c40
SM
4734 (union fail_stack_elt): Make the integer unsigned.
4735 (struct fail_stack_type): Add a `frame' element.
4736 (INIT_FAIL_STACK): Init `frame' as well.
4737 (POP_PATTERN_OP): New macro for re_compile_fastmap.
4738 (DEBUG_PUSH, DEBUG_POP): Remove.
4739 (NUM_REG_ITEMS): Remove.
4740 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
4741 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
4742 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 4743 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
4744 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
4745 macros.
4746 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
4747 address pushed is not the destination of the jump but the source
4748 of it instead.
95cd4c40
SM
4749 (NUM_FAILURE_ITEMS): Remove.
4750 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
4751 registers before the actual failure point). Don't hardcode any
4752 meaning for str==NULL anymore.
95cd4c40 4753 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
4754 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
4755 Remove.
95cd4c40
SM
4756 (REG_UNSET_VALUE): Use NULL (why not?).
4757 (compile_range): Remove declaration since it doesn't exist.
4758 (struct compile_stack_elt_t): Remove inner_group_offset.
4759 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
4760 (regex_grow_registers): Remove dead code.
4761 (FIXUP_ALT_JUMP): New macro.
80460654
GM
4762 (regex_compile): Add shy-groups Change loops to use
4763 on_failure_jump_smart&jump instead of
4764 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
4765 initial (dummy_failure_)jump. Remove c1_base (looks like unused
4766 variable to me). Use `jump' instead of `jump_past_alt' and don't
4767 bother with push_dummy_failure in alternatives since it is now
4768 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
4769 emacs' for (re)allocating the stack.
4770 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
4771 from loop when bufp->can_be_null rather than jumping to `done'.
4772 Avoid jumping backwards so as to ensure termination. Use
4773 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
4774 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 4775 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
4776 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
4777 improve mutually_exclusive_p to handle ".+\n".
4778 (lowest_active_reg, highest_active_reg,
4779 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
4780 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
4781 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
4782 variables. Push register (in `start_memory') on the stack rather
4783 than storing it in old_reg(start|end). Remove the cycle detection
4784 from `stop_memory', replaced by the use of on_failure_jump_loop
4785 for greedy loops. Add code for the new on_failure_jump_<foo>.
4786 Remove ad-hoc code in `on_failure_jump' to push more registers in
4787 the case of a loop. Take out code from `maybe_pop_jump' into
4788 separate functions and adapt it to the semantics of
4789 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
4790 and push_dummy_failure. Remove dummy_failure handling and
4791 handling of `failures to jump to on_failure_jump' (this last one
4792 was already dead code, it seems).
4793 (group_match_null_string_p, alt_match_null_string_p)
4794 (common_op_match_null_string_p): Remove.
95cd4c40 4795
7397acc4
DL
47962000-03-08 Dave Love <fx@gnu.org>
4797
4798 * config.in: Don't depend on __STDC__ for volatile.
4799 Add POINTER_TYPE, PTR, PROTOTYPES.
4800
4801 * hftctl.c, strftime.c: Use PROTOTYPES.
4802 * eval.c (find_handler_clause): Likewise.
4803
4804 * mem-limits.h: Use POINTER_TYPE.
4805
4806 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
4807 (memory_warnings): Declare using POINTER_TYPE.
4808
5e91ff9e
GM
48092000-03-08 Gerd Moellmann <gerd@gnu.org>
4810
feab4fba
GM
4811 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
4812
25edb08f
GM
4813 * xdisp.c (display_echo_area): Temporarily inhibit garbage
4814 collection.
4815
5e91ff9e
GM
4816 * xfns.c: Remove obsolete code in #if 0.
4817 (Fx_focus_frame): New function.
4818
a735b7e1
KH
48192000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
4820
4821 * coding.c (coding_category_name): Add coding-category-utf-8,
4822 coding-category-utf-16-be, coding-category-utf-16-le.
4823 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
4824 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
4825 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
4826 (detect_coding_utf_8): New function.
4827 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
4828 UTF_16_LOW_SURROGATE_P): New macros.
4829 (detect_coding_utf_16): New function
4830 (detect_coding_mask): When priorities are specified, skip any
4831 categories that have `nil' coding-system. Fix bug of returning
4832 wrong mask when PRIORITIES is specified and detect_coding_XXX()
4833 returns a mask not set in PRIORITIES.
4834 (detect_eol_type_in_2_octet_form): New function.
4835 (detect_eol): selects detect_eol_type_XXX to call according to
4836 cooding->category_idx.
4837 (detect_coding_system): Remove `nil' coding-system in the result.
4838 (Fupdate_coding_systems_internal): Update all coding-categories.
4839
4840 * coding.h (CODING_CATEGORY_IDX_UTF_8,
4841 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
4842 macros.
4843 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
4844 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
4845 CODING_CATEGORY_IDX_UTF_16_LE.
4846 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
4847 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
4848 (CODING_CATEGORY_MASK_ANY): Include the above macros.
4849 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
4850
9994cc69
GM
48512000-03-07 Gerd Moellmann <gerd@gnu.org>
4852
e9b4e5ff
GM
4853 * doc.c (Fdocumentation_property): If value is not a string,
4854 and doesn't refer to etc/DOC, evaluate it to obtain a string.
4855
f7daf1e1
GM
4856 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
4857 close the display with XtCloseDisplay. This caused a bus error
4858 on OpenWindows.
4859
9994cc69
GM
4860 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
4861 complete but not unique.
4862
4336c705
GM
48632000-03-06 Gerd Moellmann <gerd@gnu.org>
4864
18bb0684
GM
4865 * process.c (send_process): Remove local variable `procname' that
4866 might become invalid when a GC happens. Instead, access the
4867 process name slot directly.
4868
4336c705
GM
4869 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
4870 orig_height if set.
4871
4872 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
4873 orig_height if set.
4874
515d0d0e
EZ
48752000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
4876
4877 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
4878 glyph matrices have been freed.
4879
100b3cbb
GM
48802000-03-05 Gerd Moellmann <gerd@gnu.org>
4881
50df5e5a 4882 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 4883 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
4884
4885 * xfns.c (QCdata): Moved to xdisp.c.
4886
4887 * xdisp.c (QCdata): Moved here from xfns.c.
4888 (syms_of_xdisp): Initialize QCdata.
4889
4890 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
4891
4892 * window.c (coordinates_in_window): Use
4893 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
4894 FRAME_INTERNAL_BORDER_WIDTH.
4895
100b3cbb 4896 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 4897 it is obviously invalid.
100b3cbb
GM
4898
4899 * xterm.c (x_term_init): Create a colormap if not using the
4900 default visual.
4901
4902 * xterm.h (select_visual): Change prototype.
4903
4904 * xfns.c (select_visual): Rewritten. Recognize user-specified
4905 visual classes.
4906 (visual_classes): New variable.
4907
64d739c4
GM
49082000-03-04 Gerd Moellmann <gerd@gnu.org>
4909
4910 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
4911 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
4912 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
4913 (x_decode_color): Don't handle allocation of white and black
4914 specially.
4915 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
4916 XtNcolormap resources.
4917 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
4918 (Fx_create_frame): Initialize color members of x_output structure.
4919 (xpm_load): Pass colormap to XPM lib.
4920
4921 * xfaces.c (x_free_colors): Access colormap of frame using
4922 FRAME_X_COLORMAP. Be paranoid about freeing black and white
4923 when default colormap is used.
4924
4925 * xterm.c (x_term_init): Set Colormap member of x_display_info
4926 structure. Copy colormap if resource `privateColormap' is
4927 specified (PseudoColor only).
4928 (x_setup_relief_color): Access colormap of frame using
4929 FRAME_X_COLORMAP.
4930
4931 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
4932 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
4933
c3cee013
JR
49342000-03-04 Jason Rumney <jasonr@gnu.org>
4935
4936 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
4937 other non-platform-specific equivalents.
64d739c4 4938 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
4939 specific functions and macros as their w32 equivalents where
4940 non-platform-specifics are not available.
4941 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
4942 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
4943 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
4944 (frame_update_line_height): Use macros to access f->output_data.
4945 (defined_color): Remove FIXME comments; fixed.
4946 (x_face_list_fonts, prepare_face_for_display): Put X specifics
4947 into #ifdef blocks. Add WINDOWSNT blocks.
4948 (Fx_list_fonts): Use macros for accessing font data.
4949 (set_lface_from_font_name): Different default fonts for X and
4950 WINDOWSNT.
4951 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
4952 scalable for backward compatibility.
64d739c4 4953 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
4954 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
4955
64d739c4 4956 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
4957 syms_of_w32faces.
4958
4959 * makefile.nt (w32faces.obj): Remove.
4960 (xfaces.obj): Add.
4961
807cc41c
JR
49622000-03-03 Jason Rumney <jasonr@gnu.org>
4963
4964 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
4965 correct parameters.
4966
0007072a
KR
49672000-03-03 Ken Raeburn <raeburn@gnu.org>
4968
4969 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
4970 standard ELF definitions here if the system header does not.
4971
71a6ba55
GM
49722000-03-03 Gerd Moellmann <gerd@gnu.org>
4973
4974 * xterm.c (PER_CHAR_METRIC): Removed.
4975 (x_per_char_metric_1, x_default_char): New functions.
4976 (x_per_char_metric): If font's default char is invalid, return
4977 metrics of a suitably chosen usable default char.
4978 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
4979 char, replace occurrences of unprintable chars with a suitably
4980 chosen usable default char.
71a6ba55 4981
900fa1f1
GM
49822000-03-02 Gerd Moellmann <gerd@gnu.org>
4983
42f55fe0
GM
4984 * xterm.c (note_mouse_highlight): Return quickly if frame's
4985 glyph matrices have been freed.
4986
4987 * dispnew.c (free_glyphs): Block input while freeing matrices.
4988
900fa1f1
GM
4989 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
4990
4991 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
4992 x_free_colors.
4993
4994 * dispextern.h (x_free_colors): Add prototype.
4995
4996 * xfaces.c (x_free_colors): New function.
4997 (unload_color, free_face_colors): Use it.
4998
2f950292
EZ
49992000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
5000
5001 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
5002
5003 * window.c [MSDOS]: Include msdos.h.
5004
54d04320
DL
50052000-03-02 Dave Love <fx@gnu.org>
5006
5007 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
5008
5009 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
5010 set C_OPTIMIZE_SWITCH for gcc.
5011
0ba93ac4
KH
50122000-03-02 Kenichi Handa <handa@etl.go.jp>
5013
5014 * coding.c (coding_save_composition): Be sure to allocate
5015 composition data area in coding even if there's no composition in
5016 the current run.
5017
a2bc11d4
JR
50182000-03-01 Jason Rumney <jasonr@gnu.org>
5019
5020 * w32term.c: Equivalent changes to those made to xterm.c on
5021 2000-02-25 and 2000-02-24.
5022
5023 * w32fns.c: Equivalent changes to those made to xfns.c on
5024 2000-02-25 and 2000-02-21.
5025
5026 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
5027 correct line-end convention is followed.
5028
5029 * w32menu.c [HAVE_BOXES]: Remove #undef.
5030 (single_keymap_panes): Remove code for simulating checkmarks.
5031 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
5032 Remove code for drawing simulated checkmarks.
5033 (w32_menu_show): make unibyte help string correctly.
5034 (add_menu_item): draw standard Windows checkmarks. Draw radio
5035 buttons as radio buttons if possible.
5036
72d19d75
GM
50372000-03-01 Gerd Moellmann <gerd@gnu.org>
5038
2df636f4
GM
5039 * sysdep.c (start_of_text): Don't define this function for NetBSD
5040 with ELF.
5041
427ec082 5042 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
5043 Don't define.
5044 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
5045 (LINKER): Don't undef if __NetBSD__ is defined.
5046
5047 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
5048
5049 * fileio.c [__NetBSD__]: Define `unix'.
5050
72d19d75
GM
5051 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
5052
ed4d0512
GM
50532000-02-29 Gerd Moellmann <gerd@gnu.org>
5054
50b1039f
GM
5055 * atimer.c (start_atimer): Don't abort when timers are stopped.
5056 (append_atimer_lists): New function.
5057 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
5058 arbitrary lists of stopped and running atimers.
5059
ed4d0512
GM
5060 * atimer.c (cancel_atimer): Handle canceling an atimer when
5061 some timers are stopped.
5062
5063 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
5064 after canceling it.
5065
5066 * fns.c (maybe_resize_hash_table): Handle case of new size
5067 coming out as being the same as old size.
5068
387023ee
JR
50692000-02-27 Jason Rumney <jasonr@gnu.org>
5070
5071 * makefile.nt: Add atimer.h to dependencies.
5072 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
5073 * w32console.c: Only disable window system features for dispextern.h
5074 (initialize_w32_display): Build a display info for the console.
5075 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
5076 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
5077 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
5078 as 2 button mice.
5079 * w32gui.h (struct W32FontStruct): Revert last change after change
5080 to xdisp.c.
5081 * w32menu.c (single_submenu): Set up help string.
5082 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
5083 (w32_dialog_show): Set up help string.
5084 * w32term.c (w32_display_info_for_display): Remove unused function.
5085 (w32_draw_bitmap): Use pre-built bitmaps.
5086 (w32_initialize_display_info): New function to initialize parts of
5087 display info that are common to both GUI and console frames.
5088 (w32_term_init): Use w32_initialize_display_info. Do not set
5089 Vw32_num_mouse_buttons here, as it is not called for console
5090 frames. Build bitmaps for indicating truncated lines etc.
5091 (x_delete_display): Destroy pre-built bitmaps.
5092 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
5093 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
5094
4516715a
DL
50952000-02-27 Dave Love <fx@gnu.org>
5096
5097 * lisp.h: Add a bunch of prototypes.
5098
171ca836
KH
50992000-02-26 Kenichi Handa <handa@etl.go.jp>
5100
5101 * keyboard.c (read_char): Set `usec' correctly.
5102
4013921d
KH
51032000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
5104
5105 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
5106 `lambda', set reg[RRR] to the map index.
5107 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
5108 reg[RRR] to 0. Otherwise, set it to -1.
5109
9244a058
GM
51102000-02-25 Gerd Moellmann <gerd@gnu.org>
5111
2df636f4 5112 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 5113
18e21ce8 51142000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 5115
f43d79c1
GM
5116 * fileio.c (Ffile_symlink_p): If result starts with a `/'
5117 and contains a `:', prepend `/:'.
5118
5119 * window.c (select_window_1): If selected_window is nil,
5120 don't "swap out" the buffer's point.
5121 (Fset_window_configuration): Set selected_window to nil
5122 before calling Fselect_window.
5123 (unshow_buffer): Don't set point in buffer from window's point
5124 if another more recently selected window also shows the buffer.
5125
bed0c171
GM
51262000-02-25 Gerd Moellmann <gerd@gnu.org>
5127
449c3c52
GM
5128 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
5129
f5b58615
GM
5130 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
5131 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
5132 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
5133 variables.
5134 (DEFAULT_BUSY_CURSOR_DELAY): New define.
5135 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
5136 (hide_busy_cursor): New functions.
5137 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
5138
5139 * minibuf.c (read_minibuf): Cancel busy-cursor.
5140
5141 * keyboard.c (command_loop_1): Call start_busy_cursor before
5142 Fcommand_execute and cancel_busy_cursor after it.
5143 (timer_check): Remove busy-cursor code.
5144 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
5145 cursor timer.
5146
5147 * process.c (wait_reading_process_input): Remove busy-cursor code.
5148
5149 * eval.c (Fsignal): Call cancel_busy_cursor instead of
5150 Fx_hide_busy_cursor.
5151
5152 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
5153 Remove prototyoes.
5154 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
5155
5156 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
5157
5158 * xterm.c (XTread_socket): Remove busy-cursor code.
5159
4eb8436f
GM
5160 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
5161 (build_frame_matrix_from_leaf_window): Put code handling
5162 glyph row's not being a slice of a frame row in #if 0.
5163 (sync_window_with_frame_matrix_rows): New function.
5164 (frame_row_to_window): New function.
5165 (mirror_line_dance): Handle copies between windows.
5166
3cb65b0e
GM
5167 * lread.c (Fload): Use `xfree' instead of `free'.
5168 (init_obarray): Use `xmalloc' instead of `malloc'.
5169
bed0c171
GM
5170 * window.c (Fset_window_buffer): Set WINDOW to the window
5171 after decoding.
2add4349
GM
5172 (coordinates_in_window): Take frame's internal border width
5173 into account.
bed0c171 5174
42088c12
GM
51752000-02-24 Gerd Moellmann <gerd@gnu.org>
5176
5177 * xterm.c (x_display_and_set_cursor): Display cursor of
5178 non-selected windows depending on the setting of
5179 cursor_in_non_selected_windows.
5180
5181 * xdisp.c (cursor_in_non_selected_windows): New variable.
5182 (syms_of_xdisp): DEFVAR_BOOL it.
5183
d1e103b2
GM
51842000-02-23 Gerd Moellmann <gerd@gnu.org>
5185
723e779c
GM
5186 * data.c (Fstring_to_number): If number is greater than what
5187 fits into an integer, return a float.
5188
d1e103b2
GM
5189 * eval.c (specbind): Remove references to
5190 keyword_symbols_constant_flag.
5191
5192 * data.c (keyword_symbols_constant_flag): Removed.
5193 (Fmakunbound, set_internal, syms_of_data): Remove references to
5194 keyword_symbols_constant_flag.
5195
5196 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
5197
214f877f
KH
51982000-02-23 Kenichi Handa <handa@etl.go.jp>
5199
5200 * syntax.c (multibyte_syntax_as_symbol): New variable.
5201 (syms_of_syntax): Declare it as a Lisp variable.
5202 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
5203 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
5204 nonzero, treat all multibyte characters as symbol.
42088c12 5205 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
5206 characters.
5207
130adcb7
EZ
52082000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
5209
3cb65b0e 5210 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 5211 a deleted frame.
130adcb7 5212
17cbbf95
GM
52132000-02-21 Gerd Moellmann <gerd@gnu.org>
5214
5215 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
5216
5217 * xfns.c (x_window_to_frame, x_any_window_to_frame)
5218 (x_non_menubar_window_to_frame): Check the busy-cursor window.
5219
beb0bc36
DL
52202000-02-21 Dave Love <fx@gnu.org>
5221
5222 * frame.c (Vmouse_position_function): New variable.
5223 (Fmouse_position): Use it.
5224 (syms_of_frame): Install it.
5225
5226 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
5227
1d92afcd
GM
52282000-02-20 Gerd Moellmann <gerd@gnu.org>
5229
5230 * fileio.c (Finsert_file_contents): Unbind the binding of
5231 standard-output done by temp_output_buffer_setup.
329eed9f
GM
5232
5233 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
5234 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
5235 (specbind, unbind_to): Handle most common case of non-constant
5236 symbol with trivial value specially.
5237
5238 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
5239
18e21ce8 52402000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
5241
5242 * data.c (Fmake_variable_buffer_local): Doc fix.
5243 Init found_for_buffer to 0.
5244 (Fmake_variable_frame_local): If the variable has already
5245 been buffer-local, set the check_frame field.
5246
1d4311c3
EZ
52472000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
5248
5249 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
5250 produced for CODING_MODE_LAST_BLOCK requires.
5251
2dc95ddd
DL
52522000-02-18 Dave Love <fx@gnu.org>
5253
5254 * keyboard.c (echo_keystrokes): Remove declaration.
5255 (Vecho_keystrokes) New variable.
5256 (read_char, record_menu_key, read_key_sequence): Use it to allow
5257 use of float value.
5258 (syms_of_keyboard): Change Vecho_keystrokes declaration.
5259
5260 * lread.c: Undef feature selection macros before defining.
5261
f0930f35
GM
52622000-02-18 Gerd Moellmann <gerd@gnu.org>
5263
5264 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
5265 for symbols other than the symbol in question.
5266
e3d4de90
DL
52672000-02-17 Dave Love <fx@gnu.org>
5268
5269 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
5270
0b378936
GM
52712000-02-17 Gerd Moellmann <gerd@gnu.org>
5272
d621caf7
GM
5273 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
5274
0b378936
GM
5275 * alloc.c (enum mem_type): Compile unconditionally.
5276
3b451f74
EZ
52772000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
5278
5279 * xfaces.c (tty_defined_color): Don't return faulire indication
5280 for unspecified-fg and unspecified-bg pseudo-colors.
5281
10689a01
GM
52822000-02-17 Gerd Moellmann <gerd@gnu.org>
5283
1216f5e4
GM
5284 * alloc.c (mark_object): Don't mark symbol names in pure space.
5285 (gc_sweep): Don't unmark symbol names in pure space.
5286
5287 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
5288 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
5289 [GC_MARK_STACK]: New defines.
427ec082 5290 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
5291 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
5292
5293 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
5294
5295 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
5296 allocate_buffer instead of xmalloc.
5297
5298 * alloc.c (toplevel): Include setjmp.h.
5299 (PURE_POINTER_P): New define.
5300 (enum mem_type) [GC_MARK_STACK]: New enumeration.
5301 (Vdead) [GC_MARK_STACK]: New variable.
5302 (lisp_malloc): Add parameter TYPE, call mem_insert if
5303 GC_MARK_STACK is defined.
5304 (allocate_buffer): New function.
427ec082 5305 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
5306 (free_float) [GC_MARK_STACK]: Set type to Vdead.
5307 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
5308 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
5309 (MEM_NIL) [GC_MARK_STACK]: New define.
5310 (struct mem_node) [GC_MARK_STACK]: New structure.
5311 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
5312 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
5313 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
5314 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
5315 (mark_stack) [GC_MARK_STACK]: New functions.
5316 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
5317 (clear_marks): Removed.
5318 (gc_sweep): Set free conses' car, free floats' type, free
5319 symbols' function to Vdead. Use lisp_free to free buffers.
5320 (init_alloc_once): Initialize Vdead.
5321 (survives_gc_p): Return non-zero for pure objects.
5322
5323 * alloc.c: Add comments throughout the file.
5324
2503c8b1
GM
5325 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
5326 that unblocks alarms.
5327
8389e1e2
GM
5328 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
5329 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
5330 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
5331
10689a01 5332 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 5333
bfc17d18
KH
53342000-02-17 Kenichi Handa <handa@etl.go.jp>
5335
4a09dee0
KH
5336 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
5337 avoid infinite error signaling. Allocate sufficient memory for
5338 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 5339
2b927d02
SM
53402000-02-17 Stefan Monnier <monnier@cs.yale.edu>
5341
5342 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
5343 depends on the previous behavior.
5344
b49cb764
GM
53452000-02-16 Gerd Moellmann <gerd@gnu.org>
5346
5347 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
5348
99e95407
GM
53492000-02-15 Gerd Moellmann <gerd@gnu.org>
5350
5351 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
5352
5353 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 5354 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
5355 write(2).
5356
6ffd3cf7
RS
53572000-02-15 Richard M. Stallman <rms@gnu.org>
5358
5359 * data.c (set_internal): Don't make variable buffer-local
5360 if within a let-binding for the same buffer.
5361 (let_shadows_buffer_binding_p): New function.
5362
5363 * eval.c (specbind): For buffer-local value,
5364 record the current buffer also.
5365 (unbind_to): Cope with that change.
5366
cad53475
GM
53672000-02-15 Gerd Moellmann <gerd@gnu.org>
5368
5369 * window.c (Fsave_window_excursion): Doc fix.
5370
1aa963c8
SM
53712000-02-15 Stefan Monnier <monnier@cs.yale.edu>
5372
5373 * syntax.c (back_comment): Make sure we only consider comment-starters
5374 of the relevant style and return -1 in case of a failure to find the
5375 beginning of the comment.
5376 (Fforward_comment): If back_comment fails, go back to the position just
5377 after the comment-end.
5378 (scan_lists): Add comment describing a very minor bug.
5379
b9b84fd3
SM
53802000-02-14 Stefan Monnier <monnier@cs.yale.edu>
5381
5382 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
5383 `completion-regexp-list' in the docstring.
5384
3a28db80
DL
53852000-02-14 Dave Love <fx@gnu.org>
5386
5387 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
5388
fb4a568d
SM
53892000-02-14 Stefan Monnier <monnier@cs.yale.edu>
5390
5391 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
5392 to Emacs' syntax. Also fix the comment about set/not-set meanings
5393 since Emacs syntax is not the value 0 any more.
5394 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
5395 since it's now part of RE_SYNTAX_EMACS.
5396
1063ebb5
DL
53972000-02-12 Dave Love <fx@gnu.org>
5398
5399 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
5400 Alpha.
5401
fb07a302
GM
54022000-02-12 Gerd Moellmann <gerd@gnu.org>
5403
5404 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
5405
aaf2320c
DL
54062000-02-12 Dave Love <fx@gnu.org>
5407
5408 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
5409
5410 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
5411 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
5412 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
5413
5414 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
5415
5416 * s/nextstep.h: Don't define HAVE_ALLOCA.
5417
5418 * config.in: Add vfork bits.
5419
eedf8bde
GM
54202000-02-12 Gerd Moellmann <gerd@gnu.org>
5421
5422 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
5423 unwind function to undo the effect of stopping atimers.
5424
5425 * keyboard.c (bind_polling_period): Stop all timers except
5426 poll_timer.
5427
5428 * atimer.c (stopped_atimers): New variable.
5429 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
5430 New functions.
5431
5432 * atimer.h (stop_other_atimers, run_all_atimers)
5433 (unwind_stop_other_atimers): Add function prototypes.
427ec082 5434
eedf8bde
GM
5435 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
5436
8476c2f8
KR
54372000-02-11 Ken Raeburn <raeburn@gnu.org>
5438
5439 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
5440 library may depend on jpeg.
5441 (atimer.o): Depends on atimer.c.
5442
0e85e4a3
KH
54432000-02-11 Kenichi Handa <handa@etl.go.jp>
5444
5445 * insdel.c (del_range_1): Call update_compositions.
5446 (del_range_both): Call update_compositions just once..
5447
97fa0cc8
DL
54482000-02-10 Dave Love <fx@gnu.org>
5449
5450 * xfns.c (create_frame_xic): Fix initialization of automatic
5451 aggregates for pcc.
5452
25566a3c
KH
54532000-02-09 Kenichi Handa <handa@etl.go.jp>
5454
5455 * ccl.c (CCL_MAKE_CHAR): New macro.
5456 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
5457 registers by CCL_MAKE_CHAR before calling translate_char.
5458 <CCL_TranslateCharacterConstTbl> Likewise.
5459
69da54ba
DL
54602000-02-08 Dave Love <fx@gnu.org>
5461
5462 * lread.c (__EXTENSIONS__): Define.
5463
f7136ee8
GM
54642000-02-08 Gerd Moellmann <gerd@gnu.org>
5465
5466 * puresize.h (BASE_PURESIZE): Increase to 650000.
5467
7768790b
EZ
54682000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
5469
5470 * msdos.c (XMenuActivate): Turn off the cursor after displaying
5471 the help message.
5472
38fd211b
EZ
54732000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
5474
5475 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
5476 md, mh, mb, mr, and me to the fake termcap entry.
5477
66e4690f
KR
54782000-02-06 Ken Raeburn <raeburn@gnu.org>
5479
5480 * sound.c (sound_cleanup): Don't call device close routine if the
5481 function pointer is null.
5482
a75dfea0
AI
54832000-02-06 Andrew Innes <andrewi@gnu.org>
5484
5485 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
5486 around image definitions and prototypes.
5487 (gamma_correct) [WINDOWSNT]: New prototype.
5488
5489 * w32term.c (x_make_frame_visible): Replace call to
5490 input_poll_signal with poll_for_input.
5491
5492 * window.c [WINDOWSNT]: Include w32term.h.
5493
5494 * xdisp.c [WINDOWSNT]: Include w32term.h.
5495
5496 * makefile.nt: Add dependencies on w32gui.h.
5497 (OBJ1): Include atimer.obj.
5498 ($(BLD)\atimer.obj): New dependency rule.
5499
5500 * w32.c (sigmask): New function (does nothing).
5501 (sigunblock): Ditto.
5502
5503 * frame.c [WINDOWSNT]: Include w32term.h.
5504
5505 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
5506
5507 * lread.c (syms_of_lread): Fix literal newlines.
5508
5509 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
5510 the string constant limit (2048 bytes) in MSVC.
5511 (main): Ditto.
5512
59ddecde
GM
55132000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
5514
5515 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
5516 area.
5517 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
5518 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
5519 dispatch the event.
5520
07590973
DL
55212000-02-04 Dave Love <fx@gnu.org>
5522
5523 * fileio.c: Remove some unused vars.
5524 (_GNU_SOURCE): Define (for euidaccess).
5525
5526 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
5527
5528 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
5529 gcpro1, gcpro2.
5530 (read_minibuf): Deal with allow_props correctly.
5531
649351f9
EZ
55322000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
5533
5534 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
5535
66e4690f 55362000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
5537
5538 * search.c (compile_pattern): If a cache entry has a nil regexp,
5539 fill in that entry instead of clobbering a previously cached
5540 string regexp.
5541
66e4690f 55422000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
5543
5544 * puresize.h (BASE_PURESIZE): Increase to 610000.
5545
d240a249
GM
55462000-02-02 Gerd Moellmann <gerd@gnu.org>
5547
5548 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
5549 can GC.
5550
ca91fb26
KH
55512000-02-02 Kenichi Handa <handa@etl.go.jp>
5552
25660570
KH
5553 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
5554 instead of incrementing ic directly.
5555 <CCL_WriteExprConst> Likewise.
5556 <ccl_set_expr>: Set ic to jump_address.
5557
ca91fb26
KH
5558 * fileio.c (e_write): Fix the handling of
5559 CODING_FINISH_INSUFFICIENT_SRC.
5560
2ede9689
DL
55612000-02-01 Dave Love <fx@gnu.org>
5562
5563 * editfns.c (Fpropertize): Doc fix.
5564
5565 * process.c (Fstart_process): Doc fix.
5566
5567 * eval.c: Fix various doc strings not to duplicate information
5568 from help-manyarg-func-alist.
5569
5570 * window.c (Fset_window_margins): Don't make interactive. Doc
5571 fix.
5572
5573 * doc.c (Vhelp_manyarg_func_alist): New variable.
5574 (Fdocumentation): Use it.
5575 (syms_of_doc): Define it.
5576
b6680a0e
GM
55772000-01-31 Gerd Moellmann <gerd@gnu.org>
5578
2cb750ba
GM
5579 * xterm.c (xim_open_dpy): Remove unused local variable.
5580
74e9213b
GM
5581 * emacs.c (USAGE): Use term `display options' instead of `X
5582 options'.
5583
5584 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
5585 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
5586
b6680a0e
GM
5587 * fns.c (sweep_weak_table): New function.
5588 (sweep_weak_hash_tables): Use it. Keep on marking until there
5589 is no more change.
5590
994c5afe
GM
55912000-01-30 Gerd Moellmann <gerd@gnu.org>
5592
5593 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
5594 that XTread_socket does not crash by trying to call XNoOp on a
5595 closed display.
427ec082 5596
f00276e3
JR
55972000-01-30 Jason Rumney <jasonr@gnu.org>
5598
5599 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
5600 Change selected_frame to SELECTED_FRAME ().
5601 (w32_console_mouse_position): Remove #ifndef MULE from around
5602 `insist' parameter.
5603
5604 * makefile.nt: Remove dosfns.obj.
5605
5606 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
5607
5608 * w32fns.c (w32_defined_color): Check for valid frame before
5609 applying gamma correction. Eliminate dependency on frame elsewhere.
5610 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
5611 (w32_to_x_font): Use resx and resy not height_in and width_in.
5612 (x_to_w32_font): Doc fix.
5613 (xlfd_strip_height): New function to strip and return font height.
5614 (w32_font_match): Compare height separately from rest of xlfd
5615 spec, using xlfd_strip_height.
5616
5617 * w32term.c (w32_term_init): Swap resx and height_in, resy and
5618 width_in. Use w32_defined_color in place of defined_color.
5619
5620 * w32faces.c: Merge more of DOS and X specifics in preparation for
5621 merge with xfaces.c.
5622 (defined_color): Remove FIXME comment.
5623 (tty_color_name): Provide w32-specific function.
5624 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
5625
5626 * w32console.c (turn_on_face, turn_off_face): Removed.
5627 (w32_face_attributes): New function.
5628 (Global_variables): Reduce scope where possible.
5629 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
5630 fill attribute.
5631 (hl_mode): Don't modify text attributes.
5632 (write_glyphs): Don't do anything if len <= 0. Use
5633 w32_face_attributes to get attributes for drawing. Write
5634 terminating codes using char_attr_normal.
5635 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
5636 (update_begin, update_end): Likewise.
5637 (vga_stdcolor_name): New function.
5638 (initialize_w32_display): Remove char_attr_reverse and char_attr.
5639 (Fset_screen_color): Remove char_attr_reverse.
5640
b08e8bb2
GM
56412000-01-29 Gerd Moellmann <gerd@gnu.org>
5642
5643 * xfns.c (xic_set_preeditarea): Take window parameter and
5644 window-relative pixel-positions.
5645
5646 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
5647 is its frame's selected window.
5648 (xim_instantiate_callback): Likewise.
5649
5650 * xfns.c (x_create_im): Removed.
5651 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
5652 (supported_xim_styles): Renamed from supported_styles.
5653 (best_xim_style): Renamed from best_style.
5654 (create_frame_xic): Renamed from xic_create_frame.
5655 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 5656
b08e8bb2
GM
56572000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
5658
5659 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
5660 our frames, call XFilterEvent with 2nd parameter `None'.
5661 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
5662 returning XBufferOverflow.
5663 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
5664 area.
5665 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
5666 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
5667 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
5668 (xim_initialize, xim_close)
5669 [HAVE_X_I18N && HAVE_X11R6]: New functions.
5670 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
5671 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
5672 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
5673
5674 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
5675 and `xim_styles'.
5676 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
5677 `xic_style' and `xic_xfs'.
5678 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
5679 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
5680 (FRAME_XIM): Removed.
5681
5682 * xfns.c (supported_styles): New variable.
5683 (DEFAULT_STYLE, DEFAULT_FONT): New macros
5684 (xic_create_xfontset, best_style, xic_create_frame)
5685 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
5686 (xic_set_xfontset): New functions.
5687
142e109c
DL
56882000-01-28 Dave Love <fx@gnu.org>
5689
5690 * s/irix6-5.h: Revert last change after change to irix5-0.h.
5691
5692 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
5693
b02786f9
GM
56942000-01-28 Gerd Moellmann <gerd@gnu.org>
5695
d060bc9f
GM
5696 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
5697 for *scratch* if it already existed.
5698
b02786f9
GM
5699 * emacs.c (USAGE): New macro.
5700 (main): Use it to display usage information.
5701
2c52d7e4
EZ
57022000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
5703
5704 Support for the menu-help feature:
5705
5706 * msdos.h: Change prototypes of XMenuAddSelection and
5707 XMenuActivate.
5708
5709 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
5710 part of the line to the termscript file.
5711 (IT_clear_to_end): Clear the entire line, not just its beginning.
5712 (menu_help_message, prev_menu_help_message): New variables.
5713 (IT_menu_make_room): Make room for the help_text member.
5714 (IT_menu_display): New argument disp_help; all callers changed.
5715 If disp_help is non-zero, store the help text of the active menu
5716 item in menu_help_message.
5717 (XMenuAddPane): Initialize the help_text member to NULL.
5718 (XMenuAddSelection): New argument help_text. Store it in the
5719 XMenu structure.
5720 (XMenuActivate): New argument help_callback. If the value of
5721 menu_help_message has changed since the last time, display the
5722 menu help message text while waiting for the mouse to move. Clear
5723 the echo area before exiting.
5724 (XMenuDestroy): Free the help_text member.
5725
ffe0bcd1
GM
57262000-01-27 Gerd Moellmann <gerd@gnu.org>
5727
5728 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
5729 XMenuAddSelection. Pass help callback to XMenuActivate.
5730 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
5731
50dbd23f
EZ
57322000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
5733
5734 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
5735 and EMACS_SET_USECS.
5736
f5941bf8
GM
57372000-01-26 Dave Love <fx@gnu.org>
5738
6c67ddee
DL
5739 * editfns.c (Fchar_after, Fchar_before): Doc fix.
5740
f5941bf8
GM
5741 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
5742 an error may be signalled.
5743
9e49c990
GM
57442000-01-26 Gerd Moellmann <gerd@gnu.org>
5745
fc3cb460
GM
5746 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
5747 LD_SWITCH_SYSTEM inherited from irix5-0.h.
5748
9e49c990
GM
5749 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
5750
d0c037d8
GM
57512000-01-25 Gerd Moellmann <gerd@gnu.org>
5752
5753 * charset.c (Fstring): If there is a multibyte char among
5754 the args, always return a multibyte string.
5755
e12489f9
GM
57562000-01-25 Gerd Moellmann <gerd@gnu.org>
5757
5758 * sysdep.c (sys_select): Turn atimers off and on instead of
5759 recording and restoring old alarm handler
5760
5761 * process.c (toplevel): Include atimer.h.
5762 (create_process_1): Rewritten.
5763 (create_process): Use atimers instead of alarm.
5764 (wait_reading_process_input) [hpux]: Turn atimers off instead
5765 of turning off SIGALRM.
5766 (wait_reading_process_input): Turn off atimers instead off
5767 calling stop_polling.
5768
5769 * emacs.c (main): Call init_atimer.
5770
5771 * keyboard.c (toplevel): Include systime.h and atimer.h.
5772 (polling_for_input): Removed because unused.
5773 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
5774 (poll_timer): New variable.
5775 (poll_for_input, poll_for_input_1): New functions.
5776 (start_polling, stop_polling): Rewritten.
5777
5778 * keyboard.h (polling_for_input): Removed.
427ec082 5779
e12489f9
GM
5780 * atimer.h, atimer.c: New files.
5781
5782 * Makefile.in (obj): Add atimer.o.
5783 (atimer.o): New target.
5784
5785 * blockinput.h (pending_atimers): Add extern declaration.
5786 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
5787
5788 * lisp.h (popup_activated_flag): Add extern declaration.
5789
5790 * xmenu.c (popup_activated_flag): Make externally visible.
5791 (popup_activate_callback) [USE_MOTIF]: Increment
5792 popup_activated_flag.
5793 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
5794
5795 * xterm.c (toplevel): Include atimer.h.
5796 (toolkit_scroll_bar_interaction): New variable.
5797 (Fxt_process_timeouts): Removed.
5798 (x_process_timeouts): New function.
5799 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
5800 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
5801 (x_make_frame_visible): Call poll_for_input_1 instead of
5802 input_poll_signal. Don't call alarm.
5803 (x_initialize): Install timer calling x_process_timeouts.
427ec082 5804
1e5279b9
DL
58052000-01-24 Dave Love <fx@gnu.org>
5806
6c67ddee 5807 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
5808 Don't use -cckr -- apparently not now necessary.
5809
edf6aeb8
EZ
58102000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
5811
5812 * msdos.c (IT_menu_display): Truncate long menu lines at the right
5813 screen boundary.
5814
9badad41
JR
58152000-01-23 Jason Rumney <jasonr@gnu.org>
5816
5817 * w32fns.c (w32_defined_color): Apply gamma correction before
5818 trying to map to the palette.
5819 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
5820 to w32_clear_rect.
5821
5822 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
5823 here. Callers changed to always pass real device context.
5824 (w32_draw_bitmap): Likewise.
5825 (w32_get_glyph_overhangs): Likewise.
5826 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
5827 one.
5828 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
5829 pfnSetScrollInfo and SetScrollRange.
5830 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
5831 back into MULE characters after decoding them.
5832 (x_get_glyph_face_and_encoding): Likewise.
5833 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
5834 GetCharABCWidthsW fails, since this is defined on Windows 9x.
5835 (x_produce_glyphs): Calculate per char metrics for a character
5836 that we know exists in default font when font_not_found_p is true.
5837
63bd786b
JR
58382000-01-22 Jason Rumney <jasonr@gnu.org>
5839
5840 * makefile.nt (intervals.obj, composite.obj): New modules.
5841 (composite.h): Added as dependency where appropriate.
5842
5843 * w32gui.h (XGCValue): New struct for emulating X GCs.
5844
5845 * w32term.h (XCharStruct): New struct for emulating X.
5846
5847 * w32console.c (turn_on_face, turn_off_face): New functions.
5848 (change_line_highlight): New prototype for new redisplay.
5849 (write_glyphs): Support multibyte text. Support faces.
5850
5851 * w32faces.c: Complete rewrite for new redisplay based on new
5852 xfaces.c.
5853
5854 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
5855 throughout. struct frame * in place of FRAME_PTR.
5856 Skeleton support for images, toolbars, tooltips from xfns.c.
5857 (Fx_create_frame): Use system default for default scroll bar
5858 width.
5859 (w32_get_arg): Renamed from x_get_arg.
5860 (Fx_file_dialog): New function.
5861 (w32_list_fonts): Check cache before asking system.
5862 (Vw32_enable_synthesized_fonts): New variable.
5863 (Vw32_enable_italics): Obsolete, removed.
5864
5865 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
5866 Use SELECTED_FRAME macro.
5867
5868 * w32menu.c: Add skeleton support for help strings on menus.
5869 (add_menu_item): Native checkbox and radio support added, but not
5870 yet enabled due to bugs.
5871 (push_menu_item): Add parameters type, selection and help.
5872 Callers updated.
5873 Formatting changes to reduce unnecessary diffs with xmenu.c.
5874
5875 * w32select.c (Fw32_set_clipboard_data): Update call to
5876 find_charset_in_str.
5877
5878 * w32term.c: Complete rewrite for new redisplay based on new
5879 xterm.c with necessary sections merged back in from old w32term.c.
5880
6ffd3cf7 58812000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
5882
5883 * data.c (set_internal): Further fix in same criterion.
5884
6ffd3cf7 58852000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
5886
5887 * data.c (set_internal): Fix the criteria for whether
5888 to swap out the old cached binding.
5889
60af03f1
DL
58902000-01-19 Dave Love <fx@gnu.org>
5891
5892 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
5893
f9be074f
KH
58942000-01-18 Kenichi Handa <handa@etl.go.jp>
5895
5896 * regex.c (re_compile_fastmap): While checking a range table for
5897 `charset', skip flag bits for a character class correctly.
5898
52b8dbf9
GM
58992000-01-17 Gerd Moellmann <gerd@gnu.org>
5900
d36100c9
GM
5901 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
5902
52b8dbf9
GM
5903 * xfns.c (x_window): Call lw_create_widget with new parameter
5904 list.
5905
5906 * widget.c (EmacsFrameSetCharSize): Change size of children first
5907 because of problems with main window geometry management under
5908 Lesstif.
5909
5910 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
5911 MENU_ITEMS_ITEM_.*.
5912 (MENU_ITEMS_ITEM_HELP): New enumerator.
5913 (push_menu_item): Add parameter HELP. Record help in menu_items.
5914 (single_menu_item, single_submenu, list_of_items): Call
5915 push_menu_item with new parameter.
5916 (single_submenu): Set help string in widget value.
5917 (menu_highlight_callback): New function.
5918 (set_frame_menubar): Call lw_create_widget with new
5919 parameter list.
5920 (xmenu_show, xdialog_show): Ditto.
5921
3139018f
GM
59222000-01-13 Gerd Moellmann <gerd@gnu.org>
5923
5924 * sound.c (Fplay_sound): Improve doc string.
5925
83c8f461
RS
59262000-01-11 Richard M. Stallman <rms@gnu.org>
5927
5928 * lisp.h (set_internal): Enter the new arg.
5929
5930 * eval.c (specbind): Record buffer-local variables specially,
5931 indicating which buffer's binding was saved.
5932 (unbind_to): Restore buffer-local variables specially
5933 in the proper buffer.
5934
5935 * data.c (set_internal): New arg BUF.
427ec082 5936
83c8f461
RS
5937 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
5938 * data.c (Fset): Pass new arg to set_internal.
5939 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 5940
1fab1775
GM
59412000-01-11 Gerd Moellmann <gerd@gnu.org>
5942
5943 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
5944 xprintsym.
5945
83c8f461 59462000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
5947
5948 * minibuf.c (Ftry_completion): Doc fix.
5949
7a85e4df
GM
59502000-01-11 Gerd Moellmann <gerd@gnu.org>
5951
5952 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
5953 vector, too.
5954
a970dae4
AS
59552000-01-11 Andreas Schwab <schwab@suse.de>
5956
5957 * coding.c (code_convert_region): Initialize total_skip.
5958
c65d14ee
DL
59592000-01-08 Dave Love <fx@gnu.org>
5960
5961 * eval.c (Fuser_variable_p): Check customizability too.
5962
834938d2
GM
59632000-01-07 Gerd Moellmann <gerd@gnu.org>
5964
5965 * minibuf.c (Fcompleting_read): Doc fix.
5966
e0303cd6
GM
59672000-01-05 Gerd Moellmann <gerd@gnu.org>
5968
8a26744b
GM
5969 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
5970 -L /usr/local/lib.
5971
e0303cd6
GM
5972 * xfns.c (x_create_im): New function to set IM and IC of a frame.
5973 Check that input style is supported before trying to create an
5974 IC for it.
5975 (x_window): Call x_create_im.
427ec082 5976
2e471eb5
GM
59772000-01-04 Gerd Moellmann <gerd@gnu.org>
5978
560a7bd2
GM
5979 * xfns.c (current_gif_memory_src): New variable.
5980 (gif_load): Record the address of the current memory source
5981 in current_gif_memory_src.
5982 (gif_read_from_memory): Use current_gif_memory_src.
5983
f9ee84a3
GM
5984 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
5985 macros statement form.
5986
d1299cde
GM
5987 * sound.c (struct sound): Renamed from struct sound_file.
5988 (struct sound): Add members `data' and `header_size'.
5989 (enum sound_attr): Add SOUND_DATA.
5990 (current_sound, current_sound_device): Variables renamed from
5991 sound_file and sound_device.
5992 (parse_sound): Parse :data.
5993 (parse_sound): Handle sound data in strings.
5994 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 5995 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
5996 needed header size.
5997 (wav_play, au_play): Play sounds from string data.
5998
2e471eb5
GM
5999 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
6000
6001 * lisp.h: Add prototype for allocate_string_data.
6002
6003 * alloc.c (Fgarbage_collect): Return number of live and free
6004 strings.
6005
6006 * alloc.c (mark_buffer): Remove code in #if 0.
6007 (gc_sweep): Ditto.
6008 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
6009 (strings_consed): New variable.
6010 (allocate_string): Set it.
6011 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
6012 (Fmemory_use_counts): Return strings_consed. Use Flist.
6013
6014 * alloc.c: General cleanup in comments etc. Remove conditional
6015 compilation for `standalone'.
6016
6017 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
6018
6019 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
6020 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
6021 (DONT_COPY_FLAG): Removed.
6022 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
6023 (struct sdata, struct sblock): New
6024 (struct string_block): Rewritten.
6025 (STRINGS_IN_STRING_BLOCK): New macro.
6026 (oldest_sblock, current_sblock, total_strings, total_free_strings)
6027 (large_sblocks, string_blocks, string_free_list): New variables.
6028 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
6029 (init_strings): Rewritten.
6030 (allocate_string, allocate_string_data, compact_small_strings)
6031 (free_large_strings, sweep_strings): New functions.
6032 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
6033 (struct string_block_head, current_string_block)
6034 (first_string_block, large_string_blocks, STRING_FULLSIZE)
6035 (STRING_PAD): Removed.
6036 (make_uninit_multibyte_string, make_pure_string): Rewritten.
6037 (Fgarbage_collect): Don't set mark bit in large strings.
6038 (mark_object): Mark strings differently. Mark symbol names
6039 differently.
6040 (survives_gc_p): Test marked strings differently.
427ec082 6041 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
6042 symbol names.
6043 (compact_strings): Removed.
6044
42608ba8
EZ
60452000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
6046
6047 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
6048 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
6049
e0a09e1a
KH
60502000-01-04 Kenichi Handa <handa@etl.go.jp>
6051
dd9f0750 6052 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 6053 in a non-empty buffer.
dd9f0750 6054
3c0f3b15 6055 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 6056
44cd3ae5
GM
60572000-01-03 Gerd Moellmann <gerd@gnu.org>
6058
6059 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
6060 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
6061
6062 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
6063
c182a70f
EZ
60642000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
6065
6066 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
6067 need to test for MSDOS frames.
6068
24480d5b
EZ
60692000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
6070
6071 * dosfns.c (unspecified_colors): Remove.
6072 (msdos_stdcolor_idx): Use global variables unspecified_fg and
6073 unspecified_bg.
6074 (msdos_stdcolor_name): Return strings for unspecified fore- and
6075 back-ground colors.
6076
6077 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 6078 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
6079 (tty_color_name): Return Lisp strings for unspecified fore- and
6080 back-ground colors.
6081 (Finternal_set_lisp_face_attribute): Remove the special treatment
6082 for Qunspecified_{f,b}g.
6083 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
6084 string.
6085
047f434a
GM
60862000-01-03 Gerd Moellmann <gerd@gnu.org>
6087
6088 * xdisp.c (reseat_at_next_visible_line_start): Position before
6089 newline only if ending up on a newline.
6090 (next_element_from_ellipsis): Return success. Handle case of
6091 displaying no ellipsis. Fix case of ellipsis defined in display
6092 table.
6093 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
6094 returns 0.
6095
d684c676
EZ
60962000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
6097
6098 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
6099 (Fcolor_supported_p): Renamed from face-color-supported-p.
6100
5fe1d139
EZ
61012000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
6102
6103 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
6104 list of colors renamed to tty-defined-color-alist.
6105 (tty_color_name): Pass the frame to tty-color-by-index.
6106 (realize_tty_face): tty-color-alist is now a function which
6107 accepts the frame as argument.
6108
6109 * term.c (Ftty_display_color_p): Accept an optional argument
6110 FRAME.
6111
816be8b8
EZ
61122000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
6113
6114 * term.c (insert_glyphs): Pass glyph, not &glyph, to
6115 encode_terminal_code.
6116
b635321e
EZ
61172000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
6118
6119 * dispnew.c (mode_line_string): Support termcap frames as well.
6120
9b784e96
GM
61212000-01-01 Gerd Moellmann <gerd@gnu.org>
6122
27189709
GM
6123 * syntax.c (Fforward_word): Undo previous change.
6124
6125 * editfns.c (Fconstrain_to_field): Don't constrain if
6126 inhibit-field-text-motion is non-nil.
6127 (Fline_beginning_position): Undo previous change.
6128 (Fline_end_position): Ditto.
6129
6130 * syntax.c (Fforward_word): Notice field boundaries only if
6131 inhibit-field-text-motion is nil.
6132
6133 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
6134
6135 * editfns.c (Vinhibit_field_text_motion): New variable.
6136 (inhibit-field-text-motion): New DEFVAR_LISP.
6137 (Fline_beginning_position, Fline_end_position): Notice field
6138 boundaries only if inhibit-field-text-motion is nil.
6139
45158a91
GM
6140 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
6141 All calls adjusted.
6142 (x_build_heuristic_mask): Likewise.
6143 (xbm_load_image_from_file): Change error output.
6144 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
6145 (gif_load, gs_load, x_kill_gs_process): Ditto.
6146
9b784e96
GM
6147 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
6148 color indices when accessing raster pixels.
63cec32f
GM
6149 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
6150 one of :file or :data.
6151 (enum pbm_keyword_index): Add PBM_DATA.
6152 (pbm_format): Add :data.
6153 (pbm_image_p): Allow either :file or :data.
6154 (pbm_read_file): New function.
6155 (pbm_scan_number): Rewritten to read from string.
6156 (pbm_load): Support :data.
9b784e96 6157
2cb085db 6158See ChangeLog.8 for earlier changes.
6922b018
KH
6159
6160;; Local Variables:
49b3bd82 6161;; coding: iso-2022-7bit
6922b018 6162;; End: