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