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