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