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