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