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