(diff-mode): Disable preliminary support for `compile'.
[bpt/emacs.git] / src / ChangeLog
CommitLineData
f9aaedb6
GM
12001-01-24 Gerd Moellmann <gerd@gnu.org>
2
3 * keymap.c (Fwhere_is_internal): Don't nreverse the cached
4 value in where_is_cache; the next lookup in the cache returns
5 something bogus if we do.
6
c3902c3e
EZ
72001-01-24 Eli Zaretskii <eliz@is.elta.co.il>
8
9 * xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
10 if HAVE_WINDOW_SYSTEM isn't defined.
11
3497f73e
GM
122001-01-24 Gerd Moellmann <gerd@gnu.org>
13
e7e41584
GM
14 * fns.c (sweep_weak_table): Fix code taking items out of
15 the hash collision chain. Some cleanup.
16
3497f73e
GM
17 * xterm.c (x_new_font): Don't change a tooltip's size.
18
19 * xfns.c (x_create_tip_frame): Prevent changing the tooltip's
20 background color by specifying a color for the default font
21 in .Xdefaults.
22
3d48e687
KH
232001-01-24 Kenichi Handa <handa@etl.go.jp>
24
96531b20
KH
25 * ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
26 a workaround for SunOS 4's cc.
27 (CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
28 (CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
29 (ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessay "do"
30 statement.
3d48e687 31
a30629d2
GM
322001-01-23 Gerd Moellmann <gerd@gnu.org>
33
34 * xterm.c (x_set_window_size_1): New function extracted from
35 x_set_window_size.
36 (x_set_window_size): Use it.
37 (x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
38 doesn't have a widget, like tooltips.
39
5a43decf
EZ
402001-01-23 Eli Zaretskii <eliz@is.elta.co.il>
41
42 * window.c (syms_of_window) <scroll-preserve-screen-position>: Doc
43 fix.
44
b0e98867
KH
452001-01-23 Kenichi Handa <handa@etl.go.jp>
46
47 * fns.c (Fset_char_table_default): Fix to make sub char-table
48 correctly.
49
50606b4c
GM
502001-01-22 Gerd Moellmann <gerd@gnu.org>
51
cb2ddc53 52 * xdisp.c (build_desired_tool_bar_string): Make sure we have
a30629d2 53 a desired tool bar string, even if there are no tool bar
cb2ddc53
GM
54 items.
55
57c28064
GM
56 * xdisp.c (Ftool_bar_lines_needed): New function.
57 (syms_of_xdisp): Defsubr it.
58
50606b4c
GM
59 * editfns.c (Fformat): Don't extend text properties from arguments
60 to padding chars in the result.
61
2f169c38
EZ
622001-01-20 Eli Zaretskii <eliz@is.elta.co.il>
63
64 * s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.
65
0f32f023
AI
662001-01-20 Andrew Innes <andrewi@gnu.org>
67
68 * w32term.c (w32_ring_bell): Only support visible bell on w32
69 frames.
70 (w32_initialize): Don't set term hooks that aren't actually needed
71 in windowed mode.
72
73 * xfaces.c (realize_default_face):
74 (realize_face):
75 (realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.
76
77 * xdisp.c (handle_single_display_prop): Remove references to
78 FRAME_W32_CONSOLE_P.
79
80 * dispnew.c (Fredraw_frame): Remove reference to
81 FRAME_W32_CONSOLE_P.
82
83 * frame.h (output_method): Remove output_w32_console method.
84 (FRAME_W32_CONSOLE_P): Remove macro.
85
86 * frame.c (Qw32_console): Remove variable.
87 (Fframep): Remove references to it.
88 (syms_of_frame): Ditto.
89 (Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.
90
91 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
92 redefinition.
93
7173eada
KH
942001-01-20 Kenichi Handa <handa@etl.go.jp>
95
96 * editfns.c (Fformat): Use lisp_string_width instead of strwidth.
97
755b45ce
AI
982001-01-19 Andrew Innes <andrewi@gnu.org>
99
100 * w32.c (init_environment): Add a version-independent site-lisp
101 directory to EMACSLOADPATH, after the version dependent one.
102
0a949811
GM
1032001-01-19 Gerd Moellmann <gerd@gnu.org>
104
8501998a
GM
105 * editfns.c (Fbuffer_substring): Doc fix.
106
0a949811
GM
107 * xdisp.c (message_dolog, message2, message2_nolog): Rename
108 parameter LEN to NBYTES.
109
e6ebcbbe
KH
1102001-01-19 Kenichi Handa <handa@etl.go.jp>
111
200ecca2
KH
112 * charset.c (strwidth): Use c_string_width.
113 (c_string_width): New function.
114 (lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
115 Caller changed.
116
117 * charset.h (c_string_width, lisp_string_width): Extern them.
118
119 * doprnt.c (doprnt1): Get byte length of Lisp string correctly.
120
e6ebcbbe
KH
121 * indent.c (check_composition): Check validity of composition.
122
200ecca2
KH
123 * xdisp.c (store_frame_title): Pay attention to width of non-ASCII
124 characters by calling c_string_width.
125 (x_consider_frame_title): Get byte length of frame tile string
126 correctly.
127 (display_mode_element): Pay attention to width of non-ASCII
128 characters by calling strwidth.
129
8692ca92
GM
1302001-01-18 Gerd Moellmann <gerd@gnu.org>
131
8962e303
GM
132 * xfns.c (Qcancel_timer): New variable.
133 (syms_of_xfns): Initialize and staticpro it.
134 (Fx_hide_tip, Fx_show_tip): Use it.
135 (Fx_show_tip): Make sure to set tip_timer to nil when canceling
136 the timer.
137 (toplevel): Lisp code for generating parts of syms_of_xfns removed.
138
91523be9
GM
139 * window.c (Fwindow_live_p): Use WINDOW_LIVE_P.
140
141 * window.h (WINDOW_LIVE_P): New macro.
142
b0b7ed0e
GM
143 * window.c (window_size_fixed): New variable.
144 (syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
145 the doc string.
146
06bccf8e
GM
147 * eval.c (specbind): If binding a per-buffer variable which
148 doesn't have a buffer-local value in the current buffer, change
149 the global value by changing the value of the symbol bound in all
150 buffers not having their own value, to make it consistent with
151 what happens with other buffer-local variables.
152
8692ca92
GM
153 * xterm.c (x_initialize): Set char_ins_del_ok to 1.
154
155 * xdisp.c (forward_to_next_line_start): Stop at end of buffer
156 when searching for a newline.
157
bb3a3b50
KH
1582001-01-18 Kenichi Handa <handa@etl.go.jp>
159
160 * xdisp.c (display_string): Fix previous change.
161
c2cc16fa
JR
1622001-01-18 Jason Rumney <jasonr@gnu.org>
163
164 * w32term.c (x_produce_stretch_glyph): Only use Qspace when
165 GLYPH_DEBUG is defined.
166 (x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
167 true for images with `:ascent 100'.
168 (x_set_mouse_face_gc): If the last used mouse face has gone in the
169 meantime, use face MOUSE_FACE_ID.
170 If first glyph isn't a character glyph, use the ASCII NUL
171 character to determine the face.
172 (expose_area): Do not treat left margin specially.
173 (note_mode_line_highlight): If no local_map, check global keymap.
174 (note_mouse_highlight): Initialize overlay.
175 (clear_mouse_face): Don't return if tip_frame is
176 non-nil.
177 (show_scroll_bars): Remove unused function.
178 (w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
179 (x_draw_bar_cursor): Remove extra test for out of bounds cursor.
180 Clip to row.
181 (x_erase_phys_cursor): Don't apply XWINDOW to variable that may be
182 nil.
183 (x_free_frame_resources): Unload relief colors.
184
9c11f79e
GM
1852001-01-17 Gerd Moellmann <gerd@gnu.org>
186
3aec8722
GM
187 * xdisp.c (forward_to_next_line_start): Avoid calling
188 get_next_display_element when the newline is already found. This
189 may change the iterator's position, when its current position is
190 equal to the iterator's stop_charpos.
191
f3ffc2c3
GM
192 * dispnew.c (direct_output_for_insert): If char_ins_del_ok is
193 zero, use this method only at the end of a line.
194
a86110a8
GM
195 * xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
196 call to x_list_fonts. Call x_list_fonts with SIZE -1 only
197 if SCALABLE_FONTS_P is set.
198
d26d6fd9
GM
199 * xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
200 so that scalable fonts are included.
201
9c11f79e
GM
202 * xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
203 In the cache, use a key containing the information if scalable
204 fonts are included.
205 (x_load_font): Adapt to change of keys in the font cache.
206
2072001-01-17 Kim F. Storm <storm@filanet.dk>
208
d26d6fd9
GM
209 * xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
210 XListFonts to take advantage of font caching.
211
9c11f79e
GM
212 * xterm.c (x_list_fonts): Ensure caching font information when
213 called for a null frame, which is the case frequently when Emacs
214 starts.
215
51446987
GM
2162001-01-17 Gerd Moellmann <gerd@gnu.org>
217
f864120f
GM
218 * xfns.c (QCconversion): Replaces QCalgorithm.
219
220 * w32fns.c (QCconversion): Replaces QCalgorithm. Update copyright.
221
222 * xdisp.c (build_desired_tool_bar_string): Use :conversion instead
223 of :algorithm.
224
e37d1417
GM
225 * xdisp.c (redisplay_tool_bar): Change tool bar's height when
226 not everything could be displayed.
227
51446987
GM
228 * line.h, x-list-font.c: Files removed because unused.
229
9ad4f3e5
AI
2302001-01-17 Andrew Innes <andrewi@gnu.org>
231
232 * dired.c (directory_files_internal): Convert result from readdir
233 to a unibyte string initially, to avoid possible misinterpretation
234 of some bytes as the internal form of Emacs characters.
235
2eda09b5
KH
2362001-01-17 Kenichi Handa <handa@etl.go.jp>
237
238 * fns.c (concat): Be sure to avoid putting the same `composition'
239 property on the adjacent regions.
240
826f3788
GM
2412001-01-16 Gerd Moellmann <gerd@gnu.org>
242
f251459d
GM
243 * window.c (Fset_window_hscroll): Don't set window's min_hscroll
244 here.
245 (Fscroll_right, Fscroll_left): Set it here instead, if called
246 interactively.
247
d57b83b3
GM
248 * buffer.c (Fset_buffer_modified_p): Set buffer's
249 prevent_redisplay_optimizations_p flag.
250
826f3788
GM
251 * dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
252 * sysdep.c, vmsproc.c, xselect.c: Call
253 redisplay_preserve_echo_area with additional arg.
254
255 * dispextern.h, lisp.h (redisplay_preserve_echo_area): Change
256 prototype.
257
258 * xdisp.c (redisplay_preserve_echo_area): Add parameter
259 FROM_WHERE, for debugging.
260
261d788b
KH
2612001-01-16 Kenichi Handa <handa@etl.go.jp>
262
263 * ccl.c (Fregister_ccl_program): Handle the return value of
264 resolve_symbol_ccl_program correctly.
bda6b481
KH
265 (CCL_Extension): Fix typo (originally CCL_Extention). Caller
266 changed.
261d788b 267
bccee4f2
GM
2682001-01-15 Gerd Moellmann <gerd@gnu.org>
269
e4ded23c
GM
270 * xterm.c (x_set_mouse_face_gc): If the last used mouse face
271 has gone in the meantime, use face MOUSE_FACE_ID.
272
ae24cb3b
GM
273 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: If
274 x_display_info_for_display returns null, don't try to close
275 the display; we didn't open it.
276
bccee4f2
GM
277 * dispnew.c (save_or_restore_current_matrices): Function removed.
278 (save_current_matrix, restore_current_matrix): New functions.
279 (adjust_frame_glyphs_for_frame_redisplay): Use them to save and
280 restore the frame's current matrix. Due to the glyph pointer
281 setup done in adjust_glyph_matrix, there is no easy way to make
282 saving the current matrix in the desired matrix generally correct,
283 so don't try it.
284
ebeccffa
KH
2852001-01-15 Kenichi Handa <handa@etl.go.jp>
286
287 * xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
288 truncation glyphs.
289 (display_line): Optimize for wide characters.
e4ded23c 290 (display_string): Don't try to display a multi-column character
ebeccffa
KH
291 partially. On ttys, produce more than one truncation glyph for
292 multi-column characters that don't fit on the line.
293
64388126
KH
2942001-01-13 Kenichi Handa <handa@etl.go.jp>
295
296 * md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]: Define
297 it instead of WORDS_BIGENDIAN. Caller changed.
298
8edb0a6f
JR
2992001-01-13 Jason Rumney <jasonr@gnu.org>
300
301 * w32fns.c (Fimage_size, image_ascent, lookup_image)
302 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
303 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
304 (tiff_format, gif_format, gs_format): Adapt to change of image
305 margins.
306
307 * w32term.c (x_produce_image_glyph, x_draw_image_foreground)
308 (x_draw_image_relief, x_draw_image_foreground_1)
309 (x_draw_image_glyph_string): Adapt to change of image margins.
310
311 * w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
312 variables.
313
314 * w32bdf.c (search_file_line, get_cached_font_char)
315 (cache_char_offset, create_offscreen_bitmap): Remove unused variables.
316
317 * w32inevt.c (w32_console_toggle_lock_key): Add parentheses.
318
319 * w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
320 (w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
321 (Fw32_send_sys_command): Remove unused variables.
322 (w32_msg_pump): Add parentheses.
323
324 * w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
325 (x_new_fontset, x_calc_absolute_position, x_iconify_frame):
326 Add parentheses.
327
4956d1ef
GM
3282001-01-12 Gerd Moellmann <gerd@gnu.org>
329
b30623be
GM
330 * xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
331 (build_desired_tool_bar_string): Handle Vtool_bar_button_margin
332 being a pair of margins.
333 (syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
334 to DEFVAR_LISP. Extend doc.
335
336 * xfns.c (Fimage_size, image_ascent): Adapt to the change of image
337 margins.
338 (lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
339 pair of integers `(X . Y)', use X for the horizontal and Y for the
340 vertical margin.
341 (IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
342 (parse_image_spec): Check it.
343 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
344 (tiff_format, gif_format, gs_format): Use
345 IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.
346
347 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
348 (x_draw_image_relief, x_draw_image_foreground_1)
349 (x_draw_image_glyph_string): Adapt to the change of image margins.
350
351 * dispextern.h (struct image): Replace member `margin' with
352 `hmargin' and `vmargin'.
353
4554cc79
GM
354 * xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
355 and GLYPHS.
356
357 * dispnew.c (update_text_area): Put code which decrements the
358 stop position when the row's face extends to the end of the
3bffc665 359 line in #if 0.
4554cc79 360
3cccce8d
GM
361 * xfns.c (x_set_mouse_color): Fix color allocation.
362
4956d1ef
GM
363 * keyboard.c: Call get_local_map with new argument list.
364
365 * intervals.c (get_local_map): Change TYPE to Lisp_Object.
366
367 * intervals.h (enum map_property): Removed.
368 (get_local_map): Change prototype.
369
370 * keymap.c: Call get_local_map with new argument list.
371 (Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.
372
2c2ff7f2
GM
3732001-01-11 Gerd Moellmann <gerd@gnu.org>
374
a23887b9
GM
375 * xdisp.c (build_desired_tool_bar_string): Correct the computation
376 of the size needed for the tool bar string. For the last image,
377 use a `display' property that reaches to the end of the string.
378
a7ee2d2e
GM
379 * xselect.c (selection_request_dpyinfo): New variable.
380 (x_handle_selection_request): Set it.
381 (x_selection_request_lisp_error): Don't call
382 x_decline_selection_request if selection request's display has
383 been closed.
384
2c2ff7f2
GM
385 * xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]: Do
386 the unregister_colors before calling XFreeColors.
387
457b792c
GM
3882001-01-10 Dave Love <fx@gnu.org>
389
390 * Makefile.in (${etc}DOC): Depend on ${shortlisp} and
391 ${SOME_MACHINE_LISP}, not ${lisp}.
392
c1efd260
GM
3932001-01-10 Gerd Moellmann <gerd@gnu.org>
394
a98b5ed9 395 * xdisp.c (display_line): On ttys, produce more than one
4554cc79 396 truncation glyph for multi-column characters that don't fit on the
a98b5ed9
GM
397 line.
398
ac95a621
GM
399 * xselect.c (x_reply_selection_request): Add a comment.
400
c1efd260
GM
401 * xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
402 XkbGetNames instead of XkbGetKeyboard.
403
1bfb1345
DL
4042001-01-10 Dave Love <fx@gnu.org>
405
406 * sysdep.c (random): Revert the declaration.
407
38119822
GM
4082001-01-09 Gerd Moellmann <gerd@gnu.org>
409
35f464a7
GM
410 * lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]: Call
411 function string_bytes.
412 (GC_CHECK_STRING_BYTES): Moved here from alloc.c.
413
414 * alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
415 (check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
416 (check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
417 (allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
418 the current sblock.
419 (mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
420 (gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
421 after sweeping strings, and at the end.
422 (GC_CHECK_STRING_BYTES): Moved to lisp.h.
423
38119822
GM
424 * alloc.c (Fgarbage_collect): Use a record_unwind_protect to
425 ensure that pop_message is called.
426
427 * keyboard.c (Fexecute_extended_command): Use a
428 record_unwind_protect to ensure that pop_message is called.
429
430 * lisp.h (push_message_unwind): Add prototype.
431
432 * xdisp.c (push_message_unwind): New function.
433
434 * fileio.c (do_auto_save_unwind): Do the pop_message here
435 instead of in Fdo_auto_save.
436 (Fdo_auto_save): Don't call pop_message.
437
f47a9ec4
KR
4382001-01-08 Ken Raeburn <raeburn@gnu.org>
439
440 * xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
441 in inner block.
442
a758f97d
GM
4432001-01-08 Gerd Moellmann <gerd@gnu.org>
444
6d0afc03
GM
445 * window.c (window_scroll_pixel_based): Adjust glyph matrices
446 when increasing window's vscroll.
447
a758f97d
GM
448 * macros.c (Qkbd_macro_termination_hook): New variable.
449 (syms_of_macros): Initialize and staticpro it.
450 (pop_kbd_macro): Run kbd-macro-termination-hook.
451
452 * xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.
453
1bfb1345 4542001-01-07 Dave Love <fx@gnu.org>
64d4ec0f
DL
455
456 * keyboard.c (Fread_key_sequence_vector): Avoid newline in
457 arglist, for documentation's sake.
458
0dac6924
AI
4592001-01-06 Andrew Innes <andrewi@gnu.org>
460
461 * makefile.w32-in (clean): Delete $(COMPILER_TEMP_FILES) instead
462 of *.pdb.
463
8182406a
AI
4642001-01-05 Andrew Innes <andrewi@gnu.org>
465
466 * term.c (update_end): Don't check updating_frame; for some reason
467 this can be 0 sometimes, such as after dismissing a popup menu,
468 and isn't necessary given the explicit frame argument.
469
3828218c
GM
4702001-01-05 Gerd Moellmann <gerd@gnu.org>
471
472 * sysdep.c: Don't prototype srandom; it takes an unsigned argument
473 on some systems, and an unsigned long on others, like FreeBSD 4.1.
474
2f5ded21
GM
4752001-01-04 Gerd Moellmann <gerd@gnu.org>
476
477 * xterm.c (clear_mouse_face): Don't return if tip_frame is
478 non-nil.
479
480 * xfns.c (x_create_tip_frame): Preserve the value of
481 face_change_count around the creation of the tip frame.
482
483 * xfns.c (last_show_tip_args): New variable.
484 (compute_tip_xy): New function.
485 (Fx_show_tip): Reuse an existing tip frame, if possible.
486 (syms_of_xfns): Initialize and staticpro last_show_tip_args.
487
dfad65fa
DL
4882001-01-04 Dave Love <fx@gnu.org>
489
64d4ec0f
DL
490 * editfns.c (Fformat): Doc fix.
491
dfad65fa
DL
492 * systime.h (set_file_times): Prototype.
493
494 * widget.h (EmacsFrameSetCharSize_): Prototype.
495
496 * sysdep.c (random, srandom): Declare explicitly.
497
498 * dispextern.h (move_it_vertically_backward): Declare.
499
85fe3b5e
GM
5002001-01-04 Gerd Moellmann <gerd@gnu.org>
501
0f2ac578
GM
502 * xfns.c (x_create_tip_frame): Call face-set-after-frame-default,
503 like in Fx_create_frame.
504
482cca61
GM
505 * xfaces.c (set_font_frame_param): Don't do anything for
506 non-graphical frames.
507
85fe3b5e
GM
508 * window.c (Fdelete_other_windows): Set window's window_end_valid
509 to nil when changing the window's start. Don't change the
510 window's start when its top position hasn't changed. If we do,
511 this will set the window's optional_new_start, which act's like a
512 force_start during redisplay with C-x 1 M-> under particular
513 circumstances (see report from Per Starback to emacs-pretest-bug
514 from 2000-12-13.).
515
3e99d3b4
GM
5162001-01-03 Gerd Moellmann <gerd@gnu.org>
517
a77dc1ec
GM
518 * xdisp.c (forward_to_next_line_start): Reset it->c if taking the
519 short cut at the start of the function. Add an assertion.
520 (reseat_at_next_visible_line_start): Add an assertion.
521
2f3cad6c
GM
522 * window.c (Frecenter): When changing the window start, set the
523 window's window_end_valid to nil.
524 (Fwindow_end): Fix window-end computation when UPDATE is non-nil.
525
526 * dispextern.h (move_it_past_eol): Add prototype.
527
528 * xdisp.c (move_it_past_eol): New function.
529
3e99d3b4
GM
530 * window.c (Fwindow_end): Doc fix.
531
5322001-01-03 Dave Love <fx@gnu.org>
533
534 * dired.c (Ffile_attributes): Fix last change, removing BSD4_3
535 kluge.
536
bafb434c
GM
5372001-01-03 Gerd Moellmann <gerd@gnu.org>
538
539 * xdisp.c (try_window_reusing_current_matrix): Fix bug setting
540 the enabled_p flag of the glyph row at window_end_vpos to 0.
541 (handle_single_display_prop): Fix last change.
542
5297fb00
RS
5432001-01-02 Richard M. Stallman <rms@caffeine.ai.mit.edu>
544
545 * window.c (Frecenter): Doc fix.
546
13d6a61c
AI
5472001-01-02 Andrew Innes <andrewi@gnu.org>
548
549 * term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Remove redefinition.
550
551 * frame.h (output_method): Add output_w32_console method.
552 (FRAME_W32_CONSOLE_P): New macro.
553
554 * frame.c (make_terminal_frame) [WINDOWSNT]: Make terminal frames
555 use output_w32_console method.
556 (Qw32_console): New Lisp_Object.
557 (Fframep): Return it.
558 (syms_of_frame): Init it.
559 (Fframe_parameters): Report w32console as font for w32_console
560 frames.
561
562 * xfaces.c (realize_default_face): Set face foreground and
563 background to unspecified for w32_console frames.
564 (realize_face): Realize face cache for w32_console frames.
565 (realize_tty_face): Accept w32_console frames.
566
567 * xdisp.c (handle_single_display_prop): Return if frame is
568 w32_console.
569 (init_iterator) [WINDOWSNT]: Initialize frame face cache if
570 necessary, even if running interactively.
571
572 * dispnew.c (Fredraw_frame): Call set_terminal_modes for
573 w32_console frames.
574
575 * w32term.c (x_update_begin):
576 (x_update_end):
577 (x_clear_frame):
578 (x_ins_del_lines):
579 (x_change_line_highlight):
580 (x_delete_glyphs):
581 (w32_ring_bell):
582 (x_update_begin):
583 (x_update_end):
584 (w32_reassert_line_highlight):
585 (w32_frame_rehighlight):
586 (w32_frame_raise_lower): Do nothing if not w32 frame.
587
588 * w32xfns.c (get_frame_dc): Abort if called on a non-w32 frame.
589
590 * w32fns.c (Fx_display_color_cells): Determine correct value, when
591 system doesn't tell us directly.
592 (Fx_display_visual_class): Implement properly.
593
d6bb0c0d
GM
5942001-01-02 Gerd Moellmann <gerd@gnu.org>
595
596 * window.c (Frecenter): Handle centering in graphical frames
597 specially. Centering on the basis of line counts doesn't work
598 reliably with variable-height lines.
599
315f5865
EZ
6002001-01-02 Eli Zaretskii <eliz@is.elta.co.il>
601
602 * widget.c (EmacsFrameSetCharSize): Remove unused variables `ac'
603 and al[].
604
605 * composite.c (run_composition_function): Remove unused variable
606 `val'.
607 (update_compositions): Remove unused variable `hook'.
608
609 * intervals.c (get_local_map): Remove unused variable `tem'.
610
611 * doprnt.c (doprnt1): Remove unused variable `size'.
612
613 * fns.c (Flength): Remove unused variable `tail'.
614 (Fdelete): Remove unused variable `size'.
615
616 * editfns.c (Ftranspose_regions): Remove unused variables `gcpro1'
617 and `gcpro2'.
618
619 * doc.c (Fsnarf_documentation): Remove unused variables `fun' and
620 `tem'.
621
622 * data.c (find_symbol_value): Remove extra 3rd argument in the
623 call to swap_in_symval_forwarding.
624
625 * undo.c (Fprimitive_undo): Remove unused block-scope variable
626 `end'.
627
628 * search.c (shrink_regexp_cache): Remove unused variable `cpp'.
629 (trivial_regexp_p): Remove unused variable `c'.
630 (boyer_moore): Remove unused variable `k'.
631
632 * indent.c (current_column): Remove unused variable `stopchar'.
633 (Fcompute_motion): Remove unused variable `contin'.
634
635 * casefiddle.c (casify_object): Remove unused variable `tolen'.
636
637 * dired.c (directory_files_internal): Fix a typo in a comment.
638 Remove an unused variable `handler'.
639 (file_name_completion): Remove unused function-scope variable
640 `dp'.
641 (Ffile_attributes) <dirname, sdir>: Make declarations conditioned
642 on BSD4_2.
643
644 * fileio.c (e_write): Remove unused variable
645 `require_encoding_p'.
646
647 * marker.c (Fmarker_position): Remove unused variables `pos', `i',
648 and `buf'.
649 (Fmarker_insertion_type): Remove unused variable `buf'.
650
651 * insdel.c (make_gap): Remove unused variable `result'.
652
653 * keyboard.c (record_char): Remove unused function-scope variable
654 `help'.
655 (kbd_buffer_get_event): Remove unused block-scope variable `idx'.
656 (menu_bar_items): Remove unused function-scope variable `tem'.
657
658 * fontset.c (fontset_ref): Remove unused variable `i'.
659 (fontset_set): Remove unused variables `j' and `tmp'.
660 (make_fontset): Remove unused variables `i', `j', `elt' and
661 `base_elt'.
662 (make_fontset_for_ascii_face): Remove unused variable `name'.
663 (fs_load_font): Remove unused variable `font_idx'.
664 (fs_query_fontset): Remove unused function-local variable
665 `fontset'.
666 (list_fontsets): Remove unused variable `tail'.
667 (Fnew_fontset): Remove unused variables `family' and `registry'.
668 (accumulate_font_info): Remove unused variable `tmp'.
669 (Ffontset_font): Remove unused variable `id'.
670 (syms_of_fontset): Remove unused variable `i'.
671
672 * xfns.c (x_display_info_for_name): Cast 0 to "char *" in the call
673 to x_term_init.
674 (lookup_image): Remove unused variable `file'.
675 (xbm_load): Remove unused variables `bitmap_data', `height', and
676 `width'. Remove function-local variable `i', leave the
677 block-local one.
678 (gif_load): Remove unused variable `inc'.
679
680 * xterm.c (XTread_socket): Remove unused variables `p' and
681 `pend'.
682 (XTread_socket) <LeaveNotify>: Remove unused variable `frame',
683 leave only the one in the inner block.
684
685 * xfaces.c (face_fontset, realize_default_face): Remove unused
686 variable `fontset'.
687 (face_at_buffer_position): Remove unused variable `multibyte_p'.
688
689 * term.c (encode_terminal_code): Remove unused variable `c'.
690
691 * ccl.c (Fccl_execute): Cast ccl_driver parameters to `unsigned
692 char *' instead of `char *'.
693
694 * category.c (Fcategory_docstring): Remove unused variable `doc'.
695 (Fget_unused_category): Remove unused variable
696 `docstring_vector'.
697 (Fchar_category_set): Remove unused variables `val', `charset',
698 `c1' and `c2'.
699
700 * coding.c (detect_coding_iso2022, setup_coding_system): Remove
701 unused variable `i'.
702 (detect_coding_mask): Remove unused variable `idx'.
703 (detect_coding): Remove unused variable `i'.
704 (ccl_coding_driver): Remove unused variable `result'.
705 (run_pre_post_conversion_on_str): Remove unused variable `prev'.
706 (decode_coding_string): Remove unused variables `to' and
707 `gcpro1'.
708 (encode_coding_string): Remove unused variables `gcpro1' and
709 `saved_coding_symbol'.
710 (Ffind_coding_systems_region_internal): Remove function-local
711 variable args[], leave only the block-local one.
712 (code_convert_region1): Remove unused variable `len'.
713
714 * charset.c (char_printable_p): Remove unused variable `chars'.
715 (Fsplit_char, Fchar_bytes): Remove unused variable `val'.
716 (str_to_multibyte): Remove unused variable `c'.
717
718 * window.c (size_window): Remove block-local variable `min_size'.
719
720 * xdisp.c (make_cursor_line_fully_visible): Remove unused variable
721 `header_line_height'.
722 (append_space, extend_face_to_end_of_line): Declare `saved_what'
723 enum display_element_type.
724
1a8a9daf
GM
7252001-01-02 Gerd Moellmann <gerd@gnu.org>
726
6dde6abc
GM
727 * xterm.c (x_connection_closed): Catch X errors around all
728 statements that call X. Save away the error message in a local
729 copy.
730
1883b2c6
GM
731 * xterm.c (x_connection_closed): Set handling_signal to 0 at
732 the start.
733
a13be207
GM
734 * xdisp.c (pos_visible_p): Take into account that CHARPOS maybe
735 in or at the start of invisible text.
736
1a8a9daf
GM
737 * dispnew.c (update_window): Don't check_current_matrix_flags.
738
3608c0f9
JR
7392001-01-01 Jason Rumney <jasonr@gnu.org>
740
741 * w32fns.c (x_figure_window_size): Do not allow new_height and
742 new_width of frame to override specified values.
743
abb1acc4
KH
7442000-12-30 Kenichi Handa <handa@etl.go.jp>
745
d279f620
KH
746 * composite.c (find_composition): Fix a code for searching
747 backward.
abb1acc4 748
762a68ec
GM
7492000-12-29 Gerd Moellmann <gerd@gnu.org>
750
9c8b8382
GM
751 * dispnew.c (check_current_matrix_flags) [GLYPH_DEBUG]: New
752 function.
753 (update_window) [GLYPH_DEBUG]: Call it.
754 (scrolling_window): Prevent including current rows which are below
755 what's displayed in the window.
756
757 * xdisp.c (try_window_reusing_current_matrix)
758 <new start <= old start>: Disable rows in the current matrix
759 which are below the window after scrolling.
760
762a68ec
GM
761 * xdisp.c (move_it_by_lines): Don't do optimizations if NEED_Y_P
762 is zero. It's not worth the complexity.
763 (invisible_text_between_p): Put in #if 0 because unused.
764
2d5912c1
GM
7652000-12-28 Gerd Moellmann <gerd@gnu.org>
766
46f6a258
GM
767 * xfns.c (Fx_backspace_delete_keys_p): Check library and server
768 XKB versions. Call XkbFreeKeyboard with 2nd arg 0.
769
89f93679
GM
770 * keyboard.c (echo_char): If C is an integer, always call
771 push_key_description. Former code could signal an invalid
772 character error.
773
774 * keymap.c (push_key_description): Add parameter FORCE_MULTIBYTE.
775 If set, print multibyte text.
776 (Fsingle_key_description): Call push_key_description with
777 FORCE_MULTIBYTE set.
778 (describe_buffer_bindings): Likewise.
779
780 * lisp.h (push_key_description): Add prototype.
781
c06017fb
GM
782 * xdisp.c (echo_area_display): Bind redisplay-dont-pause to t
783 around the call to redisplay_internal.
784
f1d2ce7f
GM
785 * xfns.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
786
2d5912c1
GM
787 * dispnew.c: Use #if GLYPH_DEBUG instead of #ifdef GLYPH_DEBUG.
788
9371f831
KH
7892000-12-28 Kenichi Handa <handa@etl.go.jp>
790
791 * ccl.c (CCL_WRITE_CHAR): Check variable `extra_bytes'.
792 (ccl_driver): New local variable `extra_bytes'.
793
794 * ccl.h (struct ccl_spec): New member eight_bit_carryover.
795
796 * coding.c (setup_coding_system): Initialize
797 coding->spec.ccl.eight_bit_carryover.
798 (ccl_coding_driver): Pay attention to carried over 8-bit bytes.
799
0c80628a
KH
8002000-12-28 Kenichi Handa <handa@etl.go.jp>
801
802 * coding.c (SAFE_ONE_MORE_BYTE): New macro.
803 (DECODE_EMACS_MULE_COMPOSITION_CHAR): New macro.
804 (DECODE_EMACS_MULE_COMPOSITION_RULE): New macro.
805 (decode_composition_emacs_mule): New function.
806 (decode_coding_emacs_mule): Decode composition sequence by calling
807 decode_composition_emacs_mule.
808 (ENCODE_COMPOSITION_EMACS_MULE): New macro.
809 (encode_coding_emacs_mule): Changed from macro to function. If
2d5912c1 810 a text contains compositions, encode them correctly.
0c80628a
KH
811 (setup_coding_system): Set coding->commong_flags for emacs-mule so
812 that decoding and encoding are required.
813
3e32cc27
GM
8142000-12-27 Gerd Moellmann <gerd@gnu.org>
815
5e25feee
GM
816 * xfaces.c (PT_PER_INCH): New macro.
817 (xlfd_point_size): Compute real point size from font's pixel size.
818 (pixel_point_size, build_scalable_font_name): Use PT_PER_INCH
819 instead of 72.
820
892d8fcd
GM
821 * .gdbinit: Comment out the line pointing to the Lesstif source
822 directory.
823
12c8b416
GM
824 * window.c (Frecenter): Use displayed_window_lines instead
825 of window_internal_height.
826
6061fbf0
GM
827 * xterm.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
828 instead of x-toolkit-scroll-bars-p.
829 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
830
831 * w32term.c (syms_of_xterm): DEFVAR_LISP x-toolkit-scroll-bars
832 instead of x-toolkit-scroll-bars-p.
833 (Vx_toolkit_scroll_bars): Renamed from x_toolkit_scroll_bars_p.
834
3e32cc27
GM
835 * dispnew.c (struct redisplay_history) [GLYPH_DEBUG]: New.
836 (REDISPLAY_HISTORY_SIZE) [GLYPH_DEBUG]: New macro.
837 (redisplay_history, history_idx, history_tick) [GLYPH_DEBUG]: New
838 variables.
839 (add_window_display_history, add_frame_display_history)
840 (Fdump_redisplay_history) [GLYPH_DEBUG]: New functions.
841 (build_frame_matrix_from_leaf_window): Remove unused code.
842 (build_frame_matrix_from_leaf_window) [GLYPH_DEBUG]: Add to
843 redisplay history.
844 (update_frame) [GLYPH_DEBUG]: Add to redisplay history.
845 (update_window) [GLYPH_DEBUG]: Likewise.
846 (syms_of_display): Defsubr dump-redisplay-history.
847
31798cfe
GM
8482000-12-23 Gerd Moellmann <gerd@gnu.org>
849
f717c2ba
GM
850 * keyboard.c (echo_prompt): Always set current_kboard->echoptr to
851 the end of the prompt. Set echo_after_prompt to the offset
852 of echoptr in echobuf.
853
aeb2b8fc
GM
854 * xdisp.c (init_from_display_pos): Pop until the iterator's
855 stack is empty; there may be frames for stretch or images
856 on the stack.
857
31798cfe
GM
858 * dispnew.c (save_frame_matrix, restore_frame_matrix): Removed.
859 (save_or_restore_current_matrix): New function for the same
860 purpose, but more efficient.
861 (adjust_frame_glyphs_for_frame_redisplay): Use it.
862
f8156156
EZ
8632000-12-23 Eli Zaretskii <eliz@is.elta.co.il>
864
865 * xdisp.c (syms_of_xdisp): Fix last change.
866
bdd6d4e8
GM
8672000-12-23 Gerd Moellmann <gerd@gnu.org>
868
869 * xdisp.c (syms_of_xdisp): Doc fix.
870
871 * xdisp.c (redisplay_window): Remove label restore_buffers;
872 use finish_scroll_bars instead to make sure that scroll bars
873 are redeemed. If we don't do this, flickering can result from
874 scroll bars being destroyed and recreated.
875
9436cdf9
JR
8762000-12-22 Jason Rumney <jasonr@gnu.org>
877
878 * w32term.c (w32_draw_bitmap): Fix drawing so it does not appear
879 in the wrong colors when the foreground is not black.
880 (expose_window): Don't redraw the window that's currently being
881 updated.
882
951f9df5
GM
8832000-12-22 Gerd Moellmann <gerd@gnu.org>
884
856ff7a7
GM
885 * window.c (size_window): When setting the window's too_small_ok
886 flag, compare old size with minimum size depending on WIDTH_P,
887 don't compare with window_min_width.
888
951f9df5
GM
889 * window.c (delete_window): Simplify somewhat.
890 (Fset_window_configuration): Don't SET_FRAME_GARBAGED after
891 freeing window matrices. The flag windows_or_buffers_changed is
892 set, so the next redisplay will consider all windows; this should
893 suffice.
894
886bc933
KH
8952000-12-22 Kenichi Handa <handa@etl.go.jp>
896
897 * coding.c (ccl_coding_driver): Initialize ccl->cr_consumed.
898
899 * ccl.h (struct ccl_program): New member cr_consumed.
900
901 * ccl.c (CCL_WRITE_CHAR): Don't handle EOL conversion here.
902 (CCL_READ_CHAR): Handle EOL conversion here.
903 (ccl_driver) <CCL_ReadMultibyteChar2>: Likewise.
904
177f4e88
GM
9052000-12-21 Gerd Moellmann <gerd@gnu.org>
906
6ba384dc
GM
907 * xdisp.c (Fdump_glyph_row) [GLYPH_DEBUG]: Add optional arg
908 GLYPHS.
909
910 * dispextern.h (GLYPH_EQUAL_P): Also compare pixel widths,
911 otherwise tabs of different size compare equal.
912
913 * callint.c (Fcall_interactively): Prevent a compiler warning.
914
915 * print.c (print_unwind): Return nil.
916 (PRINTDECLARE): Initialize all local variables.
917 (print_preprocess): Add a default case.
918
8e15274f
GM
919 * lisp.h (Qinhibit_point_motion_hooks): Declare extern.
920
921 * undo.c (Fprimitive_undo): Bind `inhibit-point-motion-hooks' to t.
922
177f4e88
GM
923 * window.c (delete_window, Fsplit_window)
924 (Fset_window_configuration): Calls to ensure_frame_matrix removed.
925
926 * dispextern.h (ensure_frame_matrix): Function declaration removed.
927
928 * dispnew.c (ensure_frame_matrix): Removed.
929 (save_frame_matrix, restore_frame_matrix): New functions.
930 (adjust_frame_glyphs_for_frame_redisplay): Use them.
931
932 * xdisp.c (dump_glyph_row, dump_glyph_matrix, Fdump_glyph_matrix)
933 [GLYPH_DEBUG]: Extended to dump glyphs in short form.
934
99012074
AI
9352000-12-21 Andrew Innes <andrewi@gnu.org>
936
937 * w32term.c (x_update_begin): Regenerate the palette here, rather
938 than for each window.
939
940 * w32xfns.c (select_palette): Avoid calling SelectPalette if
941 palette is NULL, since this corrupts memory! Also get
942 display_info reference from frame.
943
29ef7d2d
JR
9442000-12-21 Jason Rumney <jasonr@gnu.org>
945
946 * w32bdf.c (w32_init_bdf_font): Fix test for valid bmp heap.
947
948 * w32term.c (x_draw_hollow_cursor): Delay obtaining the frame's DC
949 to avoid returning without releasing it.
3e27fa1f 950
3f9d67a6
KH
9512000-12-21 Kenichi Handa <handa@etl.go.jp>
952
587fc3f9
KH
953 * keymap.c (push_key_description): Don't convert eight-bit-control
954 and eight-bit-graphic to multibyte character.
955
3f9d67a6
KH
956 * charset.c (Fmake_char_internal): If CHARSET doesn't have a
957 generic character and CODE1 is nil, return the smallest character
958 in CHARSET.
959
774ba8c9
DL
9602000-12-20 Dave Love <fx@gnu.org>
961
962 * s/osf5-0.h (NSIG): Don't redefine.
963
88416888
SM
9642000-12-20 Stefan Monnier <monnier@cs.yale.edu>
965
966 * keymap.c (where_is_internal): Check ascii_sequence_p rather than
967 excluding menu-bar and tool-bar.
968 (Fwhere_is_internal): Check ascii_sequence_p when looking up the cache.
969 (menu_item_p): Remove.
970 (where_is_internal_1): Don't ignore menu-items.
971
a6426c6f
GM
9722000-12-20 Gerd Moellmann <gerd@gnu.org>
973
03ff8aab
GM
974 * xdisp.c (hscroll_window_tree): Take window's min_hscroll
975 into account.
976
977 * window.c (make_window): Initialize window's min_hscroll.
978 (Fset_window_hscroll): Set window's hscroll and min_hscroll.
979 (set_window_buffer, temp_output_buffer_show): Set min_hscroll
980 to zero.
981 (struct saved_window): New member min_hscroll.
982 (SAVED_WINDOW_VECTOR_SIZE): Set to 17.
983 (Fset_window_configuration): Set window's min_hscroll.
984 (save_window_save): Save window's min_hscroll.
985 (compare_window_configurations): Compare min_hscroll values.
986
987 * window.h (struct window): New member min_hscroll.
988
989 * keyboard.c (echo_prompt): Prevent a compiler warning.
990
8de4aaf8
GM
991 * xdisp.c (try_cursor_movement): Fix last change. The real
992 condition is that PT is at the end of the row, and should
993 be displayed at the start of the next row.
994
3f7e3031
GM
995 * xdisp.c (try_cursor_movement): If we end on a partially
996 visible line, end we already decided to scroll, return -1.
997
a6426c6f
GM
998 * dispextern.h (ensure_frame_matrix): Add prototype.
999
1000 * window.c (delete_window, Fsplit_window)
1001 (Fset_window_configuration): Call ensure_frame_matrix.
1002
1003 * dispnew.c (fake_current_matrices, ensure_frame_matrix): New
1004 functions.
1005 (adjust_frame_glyphs_for_frame_redisplay): If display has been
1006 completed, call fake_current_matrices instead of marking frame
1007 garbaged.
1008
57fa2774
JR
10092000-12-20 Jason Rumney <jasonr@gnu.org>
1010
1011 * w32fns.c (syms_of_w32fns): Initialize and staticpro tip_frame.
1012
d925df90
EZ
10132000-12-19 Eli Zaretskii <eliz@is.elta.co.il>
1014
1015 * fns.c (Frequire): Doc fix.
1016
7b93a85b
GM
10172000-12-19 Gerd Moellmann <gerd@gnu.org>
1018
71d4497a
GM
1019 * window.c (window_scroll_pixel_based): Don't use
1020 move_it_vertically.
1021
c74e645b
GM
1022 * dispnew.c (direct_output_for_insert): Fix check for mini-window
1023 currently displaying a message.
1024
7b93a85b
GM
1025 * bytecode.c (toplevel) [CHECK_FRAME_FONT]: Include frame.h and
1026 xterm.h.
1027 (Fbyte_code) [CHECK_FRAME_FONT]: Check the selected frame's font.
1028
90d97e64
AI
10292000-12-18 Andrew Innes <andrewi@gnu.org>
1030
1031 * w32.c (w32_strerror): New function.
1032
1033 * w32.h (w32_strerror): New extern.
1034
1035 * w32fns.c (Fw32_shell_execute): Use it.
1036
91c9e6ce
GM
10372000-12-18 Gerd Moellmann <gerd@gnu.org>
1038
1039 * s/hpux10.h (_FILE_OFFSET_BITS): Undef again.
1040
6f4745e2
EZ
10412000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
1042
1043 * msdos.c (IT_set_face): Obey inverse_video.
1044
c9e088ce
KH
10452000-12-18 Kenichi Handa <handa@etl.go.jp>
1046
1047 * dired.c (directory_files_internal): Always return decoded filenames.
1048
c3695f5f
GM
10492000-12-18 Gerd Moellmann <gerd@gnu.org>
1050
52d8e4ff
GM
1051 * xterm.c (x_connection_closed): Prevent being called recursively
1052 because of an error condition in XtCloseDisplay.
1053
62be9979
GM
1054 * xdisp.c (init_iterator): If noninteractive, and the frame's
1055 face cache is null, make one.
1056
5f7a1890
GM
1057 * xfns.c (show_busy_cursor): Check for live frames more
1058 thoroughly.
1059
c3695f5f
GM
1060 * process.c (wait_reading_process_input): Check for pending
1061 input when running timers.
1062
78555fbe
EZ
10632000-12-18 Eli Zaretskii <eliz@is.elta.co.il>
1064
1065 * msdos.c (IT_write_glyphs): Compute the glyph face from
1066 str->face_id.
1067
b2b36264
KH
10682000-12-18 Kenichi Handa <handa@etl.go.jp>
1069
1070 * process.c (read_process_output): Don't run a filter if the code
1071 decoder produces nothing but carryover.
1072
9c543fbf
AI
10732000-12-17 Andrew Innes <andrewi@gnu.org>
1074
1075 * w32.c (sys_rename): Only check errno against EEXIST, and not
1076 EACCES, when determining whether rename failed because the target
1077 exists. This was resulting in indefinite looping on Windows 9x if
1078 the source file was locked by another process.
1079
1080 * w32fns.c (Ffile_system_info): New function.
1081 (syms_of_w32fns): Defsubr it.
1082
10c2b5a8
GM
10832000-12-17 Gerd Moellmann <gerd@gnu.org>
1084
b0228ace
GM
1085 * window.c (coordinates_in_window): Fix computation for
1086 position on vertical line between mode lines.
1087
10c2b5a8
GM
1088 * xfns.c (unwind_create_frame): Return t if frame was deleted.
1089 Don't alter tip_frame or tip_window.
1090 (unwind_create_tip_frame): Set tip_frame to nil only if frame
1091 was deleted.
1092
c844a81a
GM
1093 * w32fns.c (unwind_create_frame): Return t if frame was deleted.
1094 Don't alter tip_frame or tip_window.
1095 (unwind_create_tip_frame): Set tip_frame to nil only if frame
1096 was deleted.
1097
6c825f8e
EZ
10982000-12-16 Eli Zaretskii <eliz@is.elta.co.il>
1099
1100 * fileio.c (Fcopy_file): Rename the last argument to keep_time, to
1101 be consistent with the doc string. Reported by NAKAJIMA Mikio
1102 <minakaji@osaka.email.ne.jp>.
1103
af4bb4c8
KH
11042000-12-16 Kenichi Handa <handa@etl.go.jp>
1105
1106 * xfaces.c (Vface_ignored_fonts): New variable.
1107 (x_face_list_fonts): Ignore fonts matching Vface_ignored_fonts.
1108 (syms_of_xfaces): Declare Vface_ignored_fonts as a Lisp variable.
1109
8062e53a
GM
11102000-12-15 Gerd Moellmann <gerd@gnu.org>
1111
e87b8809
GM
1112 * dispnew.c (update_window): Detect pending input every nth line
1113 updated, i.e. do it depending on real work done, and not on the
1114 vpos of the line.
1115
1116 * xterm.c (expose_window): Don't redraw the window that's
1117 currently being updated.
1118
a6768cc5
GM
1119 * window.c (Fset_window_point): Remove test for
1120 cursor_in_non_selected_windows.
1121
4ea7fdca
GM
1122 * lread.c (read1): Recognize end of file after `\\'.
1123
8062e53a
GM
1124 * xfns.c (x_create_tip_frame): Use unwind_create_tip_frame,
1125 not unwind_create_frame.
1126
bb7959c1
GM
11272000-12-15 Dave Love <fx@gnu.org>
1128
1129 * s/usg5-4.h (bcopy) [IRIX6]: Don't special-case definition of
1130 bcopy & al.
1131
1132 * s/irix6-5.h: #undef bcopy & al here. Include strings.h.
1133
ced04c42
KH
11342000-12-15 Kenichi Handa <handa@etl.go.jp>
1135
c5443913
KH
1136 * coding.c (setup_coding_system): Clear all members of the struct
1137 coding_system at first.
bc137305
KH
1138 (detect_coding): Call detect_coding_mask with a correct MULTIBYTEP
1139 argument.
1140 (code_convert_region): Don't override coding->src_multibyte and
1141 coding->dst_multibyte.
c5443913 1142
ced04c42
KH
1143 * fns.c (Fmd5): Docstring improved.
1144
c2d7f289
MB
11452000-12-15 Miles Bader <miles@gnu.org>
1146
1147 * xdisp.c (window_box_height): Only use mode-line glyph-rows that
1148 are actually marked as mode-lines; otherwise use
1149 estimate_mode_line_height.
1150
9d7d9263
GM
11512000-12-14 Gerd Moellmann <gerd@gnu.org>
1152
1153 * editfns.c (Fformat): Prevent a buffer overrun when the format
1154 specifies a precision.
1155
7cf0153a
EZ
11562000-12-14 Eli Zaretskii <eliz@is.elta.co.il>
1157
1158 * msdos.c (Fmsdos_set_mouse_buttons): Signal an error if the
1159 argument is outside the range [2..3].
1160
1de0f662
AI
11612000-12-14 Andrew Innes <andrewi@gnu.org>
1162
1163 * w32fns.c (Fx_hide_tip): Avoid unnecessary work when there's
1164 nothing to do. Bind inhibit-quit.
1165 (tip_frame): Make it a Lisp_Object.
1166 (x_create_tip_frame): Set tip_frame after it has been added to
1167 Vframe_list.
1168 (Fx_show_tip): Don't set tip_frame here.
1169 (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]: New
1170 variables.
1171 (unwind_create_frame, unwind_create_tip_frame): New functions.
1172 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
1173 while a frame is only partially constructed.
1174
1175 * w32term.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
1176 (x_free_frame_resources): New function.
1177 (x_destroy_window): Use it.
1178
02387dcc
GM
11792000-12-14 Gerd Moellmann <gerd@gnu.org>
1180
1181 * xfns.c (Fx_backspace_delete_keys_p): New function.
1182 (syms_of_xfns): Defsubr it.
1183
1184 * config.in (HAVE_XKBGETKEYBOARD): Add.
1185
0544ef49
KH
11862000-12-14 Kenichi Handa <handa@etl.go.jp>
1187
98d62747
KH
1188 * keyboard.c (echo_prompt): Argument type changed to Lisp_Object.
1189 Always store string in multibyte representation in echobuf.
1190 (echo_char): Always store string in multibyte representation in
1191 echobuf.
1192 (echo_now): Call message2_nolog with the arg MULTIBYTE 1.
1193 (read_key_sequence): Adjusted for the change of echo_prompt.
1194
a20193cd
KH
1195 * fns.c (Fmd5): Docstring improved.
1196
191b83b6
KH
1197 * lisp.h (detect_coding_system): Prototype adjusted.
1198
0544ef49
KH
1199 * coding.c (ONE_MORE_BYTE_CHECK_MULTIBYTE): New macro.
1200 (detect_coding_emacs_mule, detect_coding_iso2022,)
1201 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8)
1202 (detect_coding_utf_16, detect_coding_ccl): Make them static. New
1203 argument MULTIBYTEP. Callers changed.
1204 (detect_coding_mask, detect_coding_system): New argument
1205 MULTIBYTEP. Callers changed.
1da1bb05
KH
1206 (decode_coding_string): Set coding->src_multibyte and
1207 coding->dst_multibyte before calling detect_coding and detect_eol.
1208 Update them after some coding system is detected.
1209
d5b3eb1b
SM
12102000-12-13 Stefan Monnier <monnier@cs.yale.edu>
1211
1212 * keymap.c (get_keyelt): Only eval the filter if `autoload' is set.
1213
1214 * keyboard.c (menu_bar_items, tool_bar_items):
1215 Set `autoload' when looking up `tool-bar' or `menu-bar' submap.
1216
f7f8bb69
GM
12172000-12-13 Gerd Moellmann <gerd@gnu.org>
1218
19f71add
GM
1219 * xfns.c (image_cache_refcount, dpyinfo_refcount) [GLYPH_DEBUG]:
1220 New variables.
1221 (unwind_create_frame, unwind_create_tip_frame): New functions.
1222 (Fx_create_frame, x_create_tip_frame): Handle errors signaled
1223 while a frame is only partially constructed.
1224
1225 * xterm.h (x_free_frame_resources): Declare.
1226
1227 * xterm.c (x_free_frame_resources): New function.
1228 (x_destroy_window): Use it.
1229
e10da507
GM
1230 * dispnew.c (update_window): If do_mouse_tracking is non-nil,
1231 don't interrupt the update for pending input initially, i.e.
1232 update at least some lines.
1233
1234 * keyboard.c (do_mouse_tracking): Make externally visible.
1235
d5b3eb1b 1236 * xterm.c (x_term_init): Declare gray_bitmap_bits as `extern char *'.
f7f8bb69
GM
1237
1238 * xfns.c (gray_bitmap_bits): Declare `char *'.
1239
90aa2856
GM
12402000-12-12 Gerd Moellmann <gerd@gnu.org>
1241
1242 * xdisp.c (display_tool_bar_line): Make sure that tool bar
1243 lines start with a relief line.
1244
a308c9cd
DL
12452000-12-12 Dave Love <fx@gnu.org>
1246
1247 * window.c (Fdisplay_buffer): Doc fix.
1248 (Fwindow_list): Remove unused var.
1249
1250 * buffer.h (mmap_set_vars): Declare.
1251
1252 * window.h (Fset_window_point): Declare.
1253
d575011f
EZ
12542000-12-12 Eli Zaretskii <eliz@is.elta.co.il>
1255
bf6282d2 1256 * msdos.c (fast_find_position): Don't overstep the last window row.
d575011f
EZ
1257 (IT_note_mouse_highlight): Initialize portion to -1. Remove
1258 unused variable `area'. When looking for a row under (X,Y), give
1259 up if some of the previous rows is not enabled.
1260
ecf4d726
GM
12612000-12-12 Gerd Moellmann <gerd@gnu.org>
1262
2ebf6139
GM
1263 * window.c (Fset_window_point): If displaying cursors in windows
1264 other than the selected window, make sure redisplay updates
1265 other windows to show the new value of point in the window.
1266
1267 * dispextern.h (cursor_in_non_selected_windows): Declare extern.
1268
bfdb75ee
GM
1269 * buffer.c (Fkill_buffer): Don't Fset_buffer when testing if
1270 the buffer is the sole visible buffer when in the mini-buffer.
1271
4fdbd809
GM
1272 * xdisp.c (setup_echo_area_for_printing, with_echo_area_buffer):
1273 Bind `inhibit-read-only' to t.
1274 (unwind_with_echo_area_buffer): Use AREF.
1275
c0006262
GM
1276 * xfns.c (Fx_hide_tip): Simplified.
1277
e9a59cad
GM
1278 * s/freebsd.h, s/netbsd.h (GC_MARK_STACK): Use
1279 GC_MAKE_GCPROS_NOOPS instead of `1'.
1280
ecf4d726
GM
1281 * s/gnu-linux.h (GC_MARK_STACK): Define as GC_MAKE_GCPROS_NOOPS.
1282
e5959a9a
GM
12832000-12-11 Gerd Moellmann <gerd@gnu.org>
1284
a3642e49
GM
1285 * xfns.c (Fx_hide_tip): Fix last change.
1286
44b5a125
GM
1287 * xfns.c (Fx_hide_tip): Avoid unnecessary work when there's
1288 nothing to do. Bind inhibit-quit.
1289 (tip_frame): Make it a Lisp_Object.
1290 (x_create_tip_frame): Set tip_frame after it has been added to
1291 Vframe_list.
1292 (Fx_show_tip): Don't set tip_frame here.
1293
1294 * xterm.c (clear_mouse_face): Treat tip_frame as a Lisp_Object.
1295
1296 * xdisp.c (prepare_menu_bars): Changes for tip_frame being a
1297 Lisp_Object.
1298
1299 * dispextern.h: Change external declaration of tip_frame.
1300
d990421f
GM
1301 * keymap.c (Fkey_description): If KEYS is an empty key sequence,
1302 return an empty string.
1303
4db87380
GM
1304 * xdisp.c (try_cursor_movement): Check update_mode_lines instead
1305 of the window's update_mode_line flag, since the former is set by
1306 force-mode-line-update, not the latter. This makes
1307 column-number-mode slightly faster.
1308
e5959a9a
GM
1309 * xdisp.c (try_window_id) <all changes above window start>:
1310 Set the cursor.
1311
169fe44e
GM
13122000-12-11 Paul Eggert <eggert@twinsun.com>
1313
1314 * config.in (HAVE_FTELLO): Remove.
1315 (HAVE_FSEEKO): Add.
1316 (_XOPEN_SOURCE): Remove; the large-file code no longer needs it.
1317 * lread.c (file_offset, file_tell): Depend on HAVE_FSEEKO, not
1318 HAVE_FTELLO.
1319 * s/hpux10.h (_FILE_OFFSET_BITS): Do not undef.
1320 * s/isc3-0.h, s/osf5-0.h: Update comment about _XOPEN_SOURCE.
1321
59ec59ae
MB
13222000-12-11 Miles Bader <miles@gnu.org>
1323
1324 * window.c (displayed_window_lines): Don't round up when
1325 converting empty space at bottom to lines.
ff904dd6
MB
1326 Handle non-newline-terminated final lines properly.
1327 (Fwindow_text_height): New function (used to be in lisp).
1328 (syms_of_window): Initialize it.
59ec59ae 1329
42ebfa31
SM
13302000-12-09 Stefan Monnier <monnier@cs.yale.edu>
1331
1332 * syntax.c (scan_lists): Check that the right quote char has the
1333 right Sstring syntax when jumping over strings.
1334 (init_syntax_once): Use Smax rather than 13.
1335
5cdb3cf3
MB
13362000-12-09 Miles Bader <miles@gnu.org>
1337
1338 * window.c (Fpos_visible_in_window_p): Replace FULLY parameter
1339 with PARTIALLY, inverting the sense.
1340 (window_scroll_pixel_based): Scroll partially visible lines into
1341 place if we hit the beginning or end of the buffer.
a12167c5
MB
1342 (displayed_window_lines): Don't include partially visible lines.
1343 (Fmove_to_window_line): Skip past any partially visible first line.
5cdb3cf3 1344
842b2a94
GM
13452000-12-08 Gerd Moellmann <gerd@gnu.org>
1346
1347 * keymap.c (current_minor_maps): Use malloc. Prevent a leak.
1348
1349 * tparam.c (tparam1): Change the way buffers are reallocated to be
1350 portable and less obfuscated.
1351
1352 * termcap.c (tgetent): Change the way buffers are reallocated to
1353 be portable and less obfuscated.
1354
1355 * macros.c (store_kbd_macro_char): Change the way buffers are
1356 reallocated to be portable and less obfuscated.
1357
1358 * lread.c (read1): Change the way buffers are reallocated to be
1359 portable and less obfuscated.
1360
1361 * doc.c (Fsubstitute_command_keys): Change the way buffers
1362 are reallocated so that it is portable.
1363
137cad7c
EZ
13642000-12-07 Eli Zaretskii <eliz@is.elta.co.il>
1365
1366 * dosfns.c (Ffile_system_info): New function.
1367 (syms_of_dosfns): Defsubr it.
1368
5c7f629c
SM
13692000-12-07 Stefan Monnier <monnier@cs.yale.edu>
1370
1371 * alloc.c (gc_sweep): Add comment.
1372
959e647d
GM
13732000-12-07 Gerd Moellmann <gerd@gnu.org>
1374
28fcb7dc
GM
1375 * sound.c (vox_configure): Change order of ioctls. Don't
1376 set SNDCTL_DSP_SPEED from bps, don't set SNDCTL_DSP_SAMPLESIZE.
1377 Ignore errors when changing volume.
1378 (vox_close): Don't reset the device.
1379
926b7e5e
GM
1380 * process.c (read_process_output): Make sure the process marker's
1381 position is valid when the process buffer is changed in
1382 after-change functions. W3 does that.
1383
959e647d
GM
1384 * xfns.c (x_free_gcs): New function.
1385
1386 * xterm.h (x_free_gcs): Add prototype.
1387
1388 * widget.c (EmacsFrameDestroy): Call x_free_gcs instead of
1389 freeing GCs here.
1390
1391 * xterm.c (x_destroy_window): Call x_free_gcs so that
1392 resources of non-toolkit X windows will be freed.
1393
478ea067
AI
13942000-12-07 Andrew Innes <andrewi@gnu.org>
1395
1396 * w32fns.c (xlfd_charset_of_font): Fix last change.
1397
fbee3231
DL
13982000-12-06 Dave Love <fx@gnu.org>
1399
67292061
DL
1400 * md5.h (__P): Don't define -- it comes from config.h.
1401
fbee3231
DL
1402 * strftime.c: Change some #if foo to #ifdef foo.
1403
4ee87dbb
AI
14042000-12-06 Andrew Innes <andrewi@gnu.org>
1405
1406 * w32term.h (CP_INVALID): Rename to CP_UNKNOWN.
1407
1408 * w32fns.c (xlfd_charset_of_font): Don't overwrite fontname
1409 argument.
1410 (w32_codepage_for_font): Rename CP_INVALID to CP_UNKNOWN.
1411 (w32_list_fonts): Don't choke if pattern doesn't specify a
1412 codepage.
1413
9765b4a4
GM
14142000-12-06 Gerd Moellmann <gerd@gnu.org>
1415
d285b373
GM
1416 * alloc.c (gc_sweep): Prevent symbols read during loadup
1417 from being freed.
1418
384333ee
GM
1419 * xdisp.c (underlying_face_id): New function.
1420 (handle_face_prop, face_before_or_after_it_pos): Use it
1421 to determine the face ``under'' a string. Let strings inherit
1422 the face of the buffer under them.
1423
1424 * xfaces.c (face_at_string_position): Update function comment.
1425
d4b72d58
GM
1426 * dispnew.c (adjust_glyph_matrix): Don't reuse a window's current
1427 matrix if the window's left position has changed; we need to
1428 redraw it in this case.
1429
1430 * dispextern.h (struct glyph_matrix): Add member window_left_x.
1431
e1d05387
GM
1432 * window.c (coordinates_in_window): Check mouse on mode-line or
1433 header-line first.
1434
eb1b0c74
GM
1435 * alloc.c (Fgarbage_collect): Dox fix. Return a list as
1436 advertized by the function documentation.
1437
d94d636f
GM
1438 * window.c (syms_of_window): Doc fix.
1439
3887b449
GM
1440 * sound.c (vox_configure): Set volume for left and right channel.
1441 (sound_cleanup): Return nil.
1442
efc8f57a
GM
1443 * xdisp.c (move_it_by_lines): Fix paren typo.
1444
9765b4a4
GM
1445 * xterm.c (x_load_font): Don't use the font's max_bounds for
1446 computing the height of the font. If max_bounds' ascent or
1447 descent are greater than the font's ascent or descent, this means
1448 glyphs overlap, which should be handled now by redisplay.
1449
6529ed87
GM
1450 * window.c (Veven_window_heights): New variable.
1451 (syms_of_window): DEFVAR_LISP it.
1452 (Fdisplay_buffer): Check Veven_window_heights before evening the
1453 window heights.
1454
0eb2ecde
MB
14552000-12-06 Miles Bader <miles@gnu.org>
1456
1457 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is `t',
1458 update `default-frame-alist' instead of setting no frame parameters.
1459
03d7a167
KH
14602000-12-06 Kenichi Handa <handa@etl.go.jp>
1461
1462 * composite.c (update_compositions): Fix typo (use the correct
1463 variable).
1464
5f8803c2
JR
14652000-12-05 Jason Rumney <jasonr@gnu.org>
1466
1467 * md5.h: Remove underscores from function declarations.
1468 (__attribute__, __alignof__) [!__GNUC__]: Define.
1469
1470 * md5.c: Delay include of md5.h until after namespace cleaning.
1471
c28a075b
JR
1472 * makefile.w32-in (fns.o): Depend on md5.h
1473 (md5.o): New target.
1474 (sunfns.o): Remove.
1475
1476 * makefile.nt: Likewise.
1477
ff3c7056
JR
14782000-12-05 Jason Rumney <jasonr@altavista.net>
1479
1480 * w32term.c (expose_area): Complete last change.
1481
0c21eeeb
KR
14822000-12-05 Ken Raeburn <raeburn@gnu.org>
1483
1484 * minibuf.c: Include intervals.h.
1485
f201d732
JR
14862000-12-05 Jason Rumney <jasonr@gnu.org>
1487
1488 * w32term.c (x_produce_glyphs): If a font for a component of
1489 a composition is not found, use 1 pixel dot ascent and 0 dot
1490 descent value to avoid displaying terribly tall empty boxes.
1491 (expose_area): Pass x-coordinate relative to the exposed
1492 area to x_draw_glyphs instead of a window-relative coordinate.
1493
21999ab9
GM
14942000-12-05 Gerd Moellmann <gerd@gnu.org>
1495
4d2036e4
GM
1496 * xdisp.c (next_element_from_ellipsis): Save face before selective
1497 display in saved_face_id, and set face_before_selective_p.
1498 (reseat_1): Reset face_before_selective_p.
1499 (append_space, extend_face_to_end_of_line): If iterator's
1500 face_before_selective_p is set, use the face from saved_face_id.
1501 (extend_face_to_end_of_line): For tty frames, make sure to
1502 use the right face id when producing spaces at the end of
1503 the line.
1504
1505 * dispextern.h (struct it): Add face_before_selective_p.
1506
52be17cc
GM
1507 * keyboard.c (record_char): Don't record identical help-echo
1508 events in recent_keys.
1509
8a4f36cc
GM
1510 * xterm.c [USE_X_TOOLKIT]: Close the display.
1511 (xim_close_dpy): Handle case that the display has been closed.
1512
57d6e381
GM
1513 * xterm.c (x_destroy_window): Reset the frame's X window after
1514 destroying it.
1515
21999ab9
GM
1516 * dispnew.c (adjust_glyph_matrix): Make sure to initialize local
1517 variable window_width.
1518 (line_draw_cost): Fix code skipping over spaces at the end of the
1519 line when must_write_spaces is not set.
1520 (scrolling_window): Fix code inserting runs in list of all runs.
1521
91372bb7
KH
15222000-12-05 Kenichi Handa <handa@etl.go.jp>
1523
1524 * coding.c (setup_coding_system): Be sure to initialize
1525 coding->category_idx.
1526
6c083b4c
GM
15272000-12-04 Gerd Moellmann <gerd@gnu.org>
1528
0c68ce6f
GM
1529 * xterm.c (PER_CHAR_METRIC): Removed because not used.
1530
6452929e
GM
1531 * xterm.c (expose_area): Pass x-coordinate relative to the exposed
1532 area to x_draw_glyphs instead of a window-relative coordinate.
1533
d7f31e22
GM
1534 * fileio.c (auto_save_error): Add parameter ERROR. Show the
1535 error in the message.
1536
ae18aa3b
GM
1537 * keyboard.c (Fread_key_sequence): Don't start the busy cursor
1538 timer after having read a key. It's not good for code reading
1539 several keys in a loop, like an input method.
1540
caa15ef7
GM
1541 * fileio.c (Finsert_file_contents): When VISIT is t, don't
1542 record undo information for format-decode.
1543
1544 * undo.c (Fprimitive_undo): Bind inhibit-read-only to t if
1545 current buffer is read-only, not if it isn't.
1546
6c083b4c
GM
1547 * keyboard.c (record_char): Record `help-echo' input events
1548 in recent_keys only if they display some help. Don't record
1549 `help-echo' events as macro char.
1550
caa15ef7
GM
15512000-12-04 Richard M. Stallman <rms@caffeine.ai.mit.edu>
1552
1553 * editfns.c (save_excursion_restore): Don't move point
1554 in another window if it is showing the wrong buffer.
1555 Avoid the call to Fwindow_live_p, for speed.
1556
5a13529b
KH
15572000-12-04 Kenichi Handa <handa@etl.go.jp>
1558
e225faa7
KH
1559 * xfaces.c (struct font_name): New member registry_priority.
1560 (split_font_name): Initialize the above member to zero.
1561 (concat_font_list): New function.
1562 (font_list): Include fonts of all alternative registries.
1563 (FONT_POINT_SIZE_QUANTUM): New macro.
1564 (better_font_p): Ignore point size difference less than
1565 FONT_POINT_SIZE_QUANTUM. Use registry_prioprity as a last resort.
1566
e89648b4
KH
1567 * xterm.c (x_produce_glyphs): If a font for a component of
1568 a composition is not found, use 1 pixel dot ascent and 0 dot
1569 descent value to avoid displaying terribly tall empty boxes.
1570
5a13529b
KH
1571 * ccl.c (stack_idx_of_map_multiple): Don't use C initializier.
1572
d7935eb6
KR
15732000-12-03 Ken Raeburn <raeburn@gnu.org>
1574
1575 * coding.h (code_convert_string1): Declare.
1576
1577 * fns.c (Fmd5): Pass lisp objects, not integers, to call3.
1578
1579 * lisp.h (Fmake_variable_buffer_local, Fbuffer_file_name):
1580 Declare.
1581
0dd5e255
JR
15822000-12-02 Jason Rumney <jasonr@gnu.org>
1583
1584 * w32term.c (w32_bdf_per_char_metric): Dereference pointer
1585 correctly for single byte character case.
1586 (w32_per_char_metric): Do not try to make any assumptions about
1587 the metrics of BDF fonts.
250cfece
JR
1588 (x_estimate_mode_line_height): If `mode-line' face
1589 hasn't a font, use that of the frame, as drawing glyphs
1590 does.
1591 (note_mouse_highlight): Change the cursor shape on the vertical
1592 border between windows [not enabled].
1593
1594 * w32term.h (struct w32_output): Add member horizontal_drag_cursor.
1595
1596 * w32fns.c (Fx_create_frame): Reintroduce the call to
1597 face-set-after-frame-defaults.
1598 (Vx_window_horizontal_drag_shape): New variable.
1599 (syms_of_xfns): DEFVAR_LISP it.
1600 (x_set_mouse_color): Create frame's horizontal_drag_cursor [not
1601 enabled].
0dd5e255 1602
b5d8d2ca
GM
16032000-12-02 Simon Josefsson <simon@josefsson.org>
1604
1605 * fns.c (Fmd5): Use a different logic to decide the coding system
1606 to use.
1607
1608 * coding.h (Qwrite_region, Qcoding_system_error): Declare extern.
1609
fbb87147
EZ
16102000-12-02 Eli Zaretskii <eliz@is.elta.co.il>
1611
1612 * fileio.c (Fread_file_name) [DOS_NT]: Don't crash if homedir is
1613 NULL.
1614
447e9da0
GM
16152000-12-01 Gerd Moellmann <gerd@gnu.org>
1616
7708ced0
GM
1617 * xterm.c (x_calc_absolute_position): Don't subtract menubar's
1618 height for YNegative.
1619 (x_calc_absolute_position) [USE_MOTIF]: Use the column widget's
1620 height; also see comment there.
1621
447e9da0
GM
1622 * window.c (coordinates_in_window): Handle computations for
1623 positions on the vertical bar and fringes differently for
1624 window-system frames. Consider some pixels near the vertical bar
1625 as on the bar if the frame doesn't have vertical scroll bars.
1626 Associate positions between mode or header lines with the
1627 right window, the left one.
1628
86d1db20
JR
16292000-12-01 Jason Rumney <jasonr@gnu.org>
1630
1631 * w32term.c (w32_clear_window): Avoid clearing an invalid frame.
1632
1633 * w32xfns.c (get_frame_dc): Avoid changing the palette on an
1634 invalid frame.
1635
a1d58e5b
GM
16362000-12-01 Gerd Moellmann <gerd@gnu.org>
1637
1638 * window.c (struct saved_window): Add members orig_top and
1639 orig_height.
1640 (SAVED_WINDOW_VECTOR_SIZE): Increment to 16.
1641 (save_window_save, Fset_window_configuration): Save/restore
1642 window's orig_top and orig_height.
1643
89c609af
JR
16442000-12-01 Jason Rumney <jasonr@gnu.org>
1645
4d177746 1646 * w32term.c (x_draw_vertical_border): Fix call to w32_fill_rect.
86d1db20 1647
89c609af
JR
1648 * w32fns.c (x_set_cursor_color): Fix last change.
1649
eccc05db
GM
16502000-11-30 Gerd Moellmann <gerd@gnu.org>
1651
31b6671b
GM
1652 * xdisp.c (echo_area_display): If cursor is in the echo area, make
1653 sure that the next redisplay displays the minibuffer, so that
1654 the cursor will be replaced with what the minibuffer wants.
1655
eccc05db
GM
1656 * xterm.c: Test USE_TOOLKIT_SCROLL_BARS everywhere with #ifdef and
1657 #ifndef instead of using #if.
1658 (XTread_socket) [USE_MOTIF] <KeyPress>: Call XmIsScrollBar only if
1659 USE_TOOLKIT_SCROLL_BARS is defined.
1660
162de750
JR
16612000-11-30 Jason Rumney <jasonr@gnu.org>
1662
1663 * w32fns.c (x_set_cursor_color): Use x_update_cursor instead of
1664 x_display_cursor.
1665
693c4692
GM
16662000-11-30 Gerd Moellmann <gerd@gnu.org>
1667
1668 * fns.c (Fmd5): Doc fix.
1669
b5d8d2ca 16702000-11-30 Simon Josefsson <simon@josefsson.org>
edfb795e
GM
1671
1672 * fns.c (Fmd5): New function.
1673 (syms_of_fns): Defsubr md5.
1674
1675 * Makefile.in (obj): Add md5.o
1676
b02cd40b
GM
16772000-11-30 Gerd Moellmann <gerd@gnu.org>
1678
edfb795e
GM
1679 * md5.h, md5.c: New files, taken from glibc.
1680
df3aedcf
GM
1681 * xmenu.c (popup_get_selection): Use xmalloc instead of malloc.
1682
b02cd40b
GM
1683 * xterm.c (x_estimate_mode_line_height): If `mode-line' face
1684 hasn't a font, use that of the frame, as drawing glyphs
1685 does.
1686
8b5176cd
SM
16872000-11-29 Stefan Monnier <monnier@cs.yale.edu>
1688
1689 * eval.c (Frun_hooks): Allow 0 arguments.
1690
346598f1
GM
16912000-11-29 Gerd Moellmann <gerd@gnu.org>
1692
f9396e03
GM
1693 * xterm.c (XTmouse_position) [USE_X_TOOLKIT]: When the mouse
1694 is over the menu bar widget, say it's not on the frame.
1695
4a967a9b
GM
1696 * xfns.c (Fx_create_frame): Reintroduce the call to
1697 face-set-after-frame-defaults.
1698
346598f1
GM
1699 * eval.c (Fsignal): Reset handling_signal.
1700
222456a1
JR
17012000-11-28 Jason Rumney <jasonr@gnu.org>
1702
1703 * w32menu.c (add_menu_item): Reset menu item text when changing
1704 type to radio button.
1705
8049ddc0
GM
17062000-11-28 Gerd Moellmann <gerd@gnu.org>
1707
346598f1 1708 * xselect.c: Update copyright.
f4f4ee4d 1709
bebe4a2c
GM
1710 * window.c (coordinates_in_window): If on a mode or header line,
1711 but sufficiently close to its start, return ``on vertical
1712 border''. This gives us a way to drag windows horizontally when
1713 using toolkit scroll bars.
1714
1715 * xterm.c (note_mouse_highlight): Change the cursor shape
1716 on the vertical border between windows.
1717
1718 * xterm.h (struct x_output): Add member horizontal_drag_cursor.
1719
1720 * xfns.c (Vx_window_horizontal_drag_shape): New variable.
1721 (syms_of_xfns): DEFVAR_LISP it.
1722 (x_set_mouse_color): Create frame's horizontal_drag_cursor.
1723
8d2c2642
GM
1724 * textprop.c (text_read_only): New function.
1725 (verify_interval_modification): Use it instead of signaling
1726 `text-read-only'. This makes it easier to catch this error
1727 with a breakpoint.:
1728
8049ddc0
GM
1729 * xdisp.c (forward_to_next_line_start): Check for newlines,
1730 not end of line, which includes CR.
1731
5a2bae6c
KH
17322000-11-28 Kenichi Handa <handa@etl.go.jp>
1733
1734 * coding.c (Ffind_coding_systems_region_internal): Be sure to
1735 include no-conversion.
1736
ae31f84d
JR
17372000-11-27 Jason Rumney <jasonr@gnu.org>
1738
1739 * w32fns.c (w32_load_system_font): Always mark font as double byte
1740 if codepage is unicode.
1741
67f1cf4c
GM
17422000-11-27 Gerd Moellmann <gerd@gnu.org>
1743
4a74d071
GM
1744 * xdisp.c (forward_to_next_line_start): If already on a newline,
1745 just consume it to avoid unintended skipping over invisible text
1746 below.
1747
902ae620
GM
1748 * keyboard.c (lucid_event_type_list_p): Handle `help-echo',
1749 `vertical-line', `mode-line' and `header-line' events.
1750
1751 * xdisp.c (try_window_id): Avoid starting to display in the middle
67f1cf4c
GM
1752 of a character, a TAB for instance. This is easier than to set
1753 up the iterator exactly, and it's not a frequent case, so the
1754 additional effort wouldn't really pay off.
1755
c1e279c2
AC
17562000-11-26 Andrew Choi <akochoi@i-cable.com>
1757
67f1cf4c 1758 * emacs.c (main) [macintosh]: Call syms_of_frame before calling
c1e279c2
AC
1759 init_window_once.
1760
a609568a
JR
17612000-11-25 Jason Rumney <jasonr@gnu.org>
1762
48b21762
JR
1763 * keyboard.c (make_lispy_event) [mouse_wheel, drag_n_drop]: Args
1764 to window_from_coordinates should be pixel coordinates.
1765
a609568a
JR
1766 * w32fns.c (x_to_w32_font): Do not filter out italic fonts, as new
1767 redisplay handles them properly.
1768
a658d039
MB
17692000-11-25 Miles Bader <miles@gnu.org>
1770
1771 * indent.c (compute_motion): Keep pos_byte in sync with pos.
1772
d3416cca
JR
17732000-11-24 Jason Rumney <jasonr@gnu.org>
1774
1775 * w32.c (init_environment): Set LANG environment variable based on
1776 locale settings, if not set.
1777
1778 * w32fns.c (x_set_tool_bar_lines): Clear internal border when
1779 making tool bar smaller. When clearing the frame, also
1780 clear current matrices. Clear frame when tool bar disappears.
1781 Don't use more lines for the tool-bar than is available.
1782 (x_change_window_heights): New function.
1783
ba193890
GM
17842000-11-24 Gerd Moellmann <gerd@gnu.org>
1785
2be8f184
GM
1786 * xdisp.c (init_from_display_pos): If POS says we're already after
1787 an overlay string ending at POS, make sure to pop the iterator
1788 because it will be in front of that overlay string. When POS is
1789 ZV, we've thereby also ``processed'' overlay strings at ZV.
1790
ba193890
GM
1791 * xfaces.c (lface_from_face_name): Function comment fix.
1792
1862a24e
MB
17932000-11-24 Miles Bader <miles@gnu.org>
1794
1795 * xdisp.c (display_menu_bar, display_mode_line): Change the way we
1796 apply `mode-line-inverse-video' -- zero means force display using
1797 the default face, non-zero means display using the specialized face.
1798 (syms_of_xdisp): `mode-line-inverse-video' defaults to true again.
1799
f07fa1b8
KH
18002000-11-23 Kenichi Handa <handa@etl.go.jp>
1801
1802 * alloc.c (Fmake_string): Use MAX_MULTIBYTE_LENGTH, instead of
1803 hard coded `4'.
1804
2bcdf662
EZ
18052000-11-23 Eli Zaretskii <eliz@is.elta.co.il>
1806
1807 * coding.c (decode_coding_emacs_mule): Fix the case of
1808 CODING_EOL_LF, which used uninitialized value of c.
1809
ba8299ff
SM
18102000-11-23 Stefan Monnier <monnier@cs.yale.edu>
1811
1812 * xdisp.c (syms_of_xdisp): Make fontification-functions buffer-local.
1813
f4117c4d
GM
18142000-11-22 Gerd Moellmann <gerd@gnu.org>
1815
03e757c1
GM
1816 * buffer.c (Fmake_indirect_buffer): Don't treat nil as a
1817 buffer object.
1818
f4117c4d
GM
1819 * frame.h (struct frame): Replace desired_tool_bar_items,
1820 current_tool_bar_items, n_desired_tool_bar_items,
cc362d76 1821 n_current_tool_bar_items with tool_bar_items and n_tool_bar_items.
f4117c4d
GM
1822
1823 * frame.c (make_frame): Change initialization of tool bar
1824 items accordingly.
1825
1826 * xterm.c (x_handle_tool_bar_click, note_tool_bar_highlight):
cc362d76 1827 Change references to members deleted from struct frame to use the
f4117c4d
GM
1828 new ones.
1829
1830 * xdisp.c (update_tool_bar, build_desired_tool_bar_string): Change
cc362d76 1831 references to members deleted from struct frame to use the new
f4117c4d
GM
1832 ones.
1833
1834 * dispnew.c (update_frame): Do nothing with frame's tool bar
1835 items.
1836
1837 * alloc.c (mark_object) <frame>: Mark tool bar items differently.
1838
1839 * w32term.c (x_tool_bar_item, w32_handle_tool_bar_click)
cc362d76 1840 (note_tool_bar_highlight): Change references to members deleted
f4117c4d
GM
1841 from struct frame to use the new ones.
1842
f8e2f3f2
MB
18432000-11-23 Miles Bader <miles@gnu.org>
1844
1845 * xdisp.c (display_menu_bar): Or `mode-line-inverse-video' with
1846 the face's inverse-video attribute, rather than overriding it.
1847
60e8e0a5
GM
18482000-11-22 Gerd Moellmann <gerd@gnu.org>
1849
1850 * xfns.c (x_set_tool_bar_lines): Clear internal border when
1851 making tool bar smaller.
1852
92dd1b29
DL
18532000-11-22 Dave Love <fx@gnu.org>
1854
1855 * s/sol2-5.h (_LARGEFILE_SOURCE, _FILE_OFFSET_BITS): Don't define.
1856
e672fdce
MB
18572000-11-22 Miles Bader <miles@gnu.org>
1858
3a17d6cc
MB
1859 * keyboard.c (Vminibuffer_message_timeout): New variable.
1860 (command_loop_1): Use it to determine message timeout.
1861 (syms_of_keyboard): Initialize it.
1862
60e8e0a5 1863 * xdisp.c (syms_of_xdisp): `mode-line-inverse-video' defaults to nil.
e672fdce 1864
e9655d81
KH
18652000-11-22 Kenichi Handa <handa@etl.go.jp>
1866
1867 * sysdep.c: Move the code for declaring h_errno after #include
1868 <netdb.h>.
1869
77270fac
GM
18702000-11-21 Gerd Moellmann <gerd@gnu.org>
1871
cd913aae
GM
1872 * xfns.c (Fx_hide_tip) [USE_LUCID]: Add a hack to redisplay
1873 the menu bar when the tooltip is unmapped.
1874
77270fac
GM
1875 * buffer.c (Fkill_buffer): Notice if the buffer to kill is the
1876 sole visible buffer when we're currently in the mini-buffer, and
1877 give up if so.
1878
556635d6
JR
18792000-11-21 Jason Rumney <jasonr@gnu.org>
1880
1881 * w32select.c (Fw32_set_clipboard_data): Save a copy of what is
1882 put on the clipboard.
1883 (Fw32_get_clipboard_data): Compare data on clipboard with saved
1884 copy of what Emacs last put there. If they are the same, do not
1885 use the clipboard copy to avoid losing data due to coding
1886 conversions.
1887
5b7bde64
MB
18882000-11-22 Miles Bader <miles@gnu.org>
1889
1890 * minibuf.c (Vminibuffer_prompt_properties): New variable.
1891 (syms_of_minibuf): Initialize it.
1892 (read_minibuf): Add properties from Vminibuffer_prompt_properties
1893 to prompt, don't make read-only.
1894
ff23e1dd
GM
18952000-11-21 Gerd Moellmann <gerd@gnu.org>
1896
3c64f287
GM
1897 * bytecode.c (Fbyte_code) <Bvarbind, Bunwind_protect>: Add
1898 BEFORE/AFTER_POTENTIAL_GC.
1899
7aaf4388
GM
1900 * s/hpux10.h (_FILE_OFFSET_BITS): Undef.
1901
f5f47add 1902 * buffer.c (mmap_free_1): Avoid a compiler warning.
1a15cca0 1903
ff23e1dd
GM
1904 * term.c, cm.c: Don't try to include termcap.h; see comment there.
1905
37c35586
KH
19062000-11-21 Kenichi Handa <handa@etl.go.jp>
1907
1908 * s/sol2-5.h: Move #undef USE_MMAP_FOR_BUFFERS out of #if 0
1909 ... #endif scope.
1910
ff9ab414
GM
19112000-11-20 Gerd Moellmann <gerd@gnu.org>
1912
c51d2b5e
GM
1913 * xfns.c (x_create_tip_frame): Use CWSaveUnder only if the
1914 screen supports it.
1915
29a01b72
GM
1916 * s/gnu-linux.h: Don't use `#cpu'.
1917
09dfdf85
GM
1918 * buffer.c (MAP_FAILED): Define it as `((void *) -1)' if it's
1919 not defined in mman.h.
1920
ff9ab414
GM
1921 * xterm.c (scroll_bar_windows, scroll_bar_windows_size): New
1922 variables.
1923 (x_send_scroll_bar_event): Store the window in scroll_bar_windows
1924 and store an index in the XClientMessageEvent. Storing a
1925 Lisp_Object or pointer can fail on a 64 bit system, since X only
1926 transfers 32 bits.
1927 (x_scroll_bar_to_input_event): Get the window from
1928 scroll_bar_windows.
1929
81459ac9
DL
19302000-11-20 Dave Love <fx@gnu.org>
1931
1932 * Makefile.in (LIBX): Reorder for -lX11 after -lXpm.
1933
56c13ae6
GM
19342000-11-20 Gerd Moellmann <gerd@gnu.org>
1935
1936 * s/sol2-5.h (USE_MMAP_FOR_BUFFERS): Undefine.
1937
495a6df3
KH
19382000-11-20 Kenichi Handa <handa@etl.go.jp>
1939
2bcf3714
KH
1940 * charset.c (get_new_private_charset_id): Don't limit CHARSET_ID
1941 by WIDTH.
1942
495a6df3
KH
1943 * alloc.c (make_string): Fix previous change. Be sure to make
1944 unibyte string correctly.
1945
6d950f4c
GM
19462000-11-19 Gerd Moellmann <gerd@gnu.org>
1947
39b39373
GM
1948 * window.c (Fwindow_list): Change parameter list to be XEmacs
1949 compatible.
1950 (window_list_1): New function.
1951 (window_loop): Use it instead of Fwindow_list.
1952
b95b34e5
GM
1953 * sysdep.c (emacs_ospeed): New variable.
1954 (toplevel): Don't declare ospeed extern.
1955 (init_baud_rate): Use emacs_ospeed instead of ospeed.
1956
1957 * termcap.c (ospeed): Remove.
1958 (tputs) [!emacs]: Remove unused code.
1959 (tgetent): Avoid a compiler warning.
1960
e83dc917
GM
1961 * xterm.c (x_set_toolkit_scroll_bar_thumb, x_scroll_bar_create)
1962 (x_scroll_bar_remove, XTset_vertical_scroll_bar): Call
b95b34e5 1963 SCROLL_BAR_X_WIDGET with additional argument DPY.
e83dc917
GM
1964
1965 * xterm.h (struct scroll_bar): Members x_widget_low, x_widget_high
1966 removed.
1967 (SCROLL_BAR_X_WIDGET): Get the widget via XtWindowToWidget.
1968 Take the X display as additional argument.
1969 (SET_SCROLL_BAR_X_WIDGET): Store the window of the widget, since
1970 `Widget' is a pointer type that's not easily stored in Lisp_Object
1971 form in a portable way.
1972
6d950f4c
GM
1973 * dispnew.c (update_text_area): Fix last change.
1974
e47306e6
GM
19752000-11-18 Gerd Moellmann <gerd@gnu.org>
1976
fb3cd89b
GM
1977 * xdisp.c: Use BINDING_STACK_SIZE throughout.
1978
1979 * xfns.c (x_set_tool_bar_lines): When clearing the frame, also
1980 clear current matrices.
1981
edaa9aed
GM
1982 * buffer.c (mmap_enlarge): Don't print a message on stderr
1983 if mapping new memory at the end of the existing region fails.
1984
e47306e6
GM
1985 * dispnew.c (update_text_area): Don't skip over equal glyphs
1986 when the last current glyph overlaps the glyph to its right.
1987
509633e3
MB
19882000-11-18 Miles Bader <miles@gnu.org>
1989
1990 * xdisp.c (message_log_check_duplicate): Let "..."-detection match
1991 lines that *end* with "..." too (that's the most common case!).
1992
d392e9c5
GM
19932000-11-18 Gerd Moellmann <gerd@gnu.org>
1994
67988445
GM
1995 * xdisp.c (resize_mini_window): Temporarily change to the
1996 mini-window's buffer if necessary.
1bfdbe43 1997
d392e9c5
GM
1998 * xfns.c (Fx_show_tip): Use default y-offset of -10 so that
1999 the tooltip obscures less text under it.
2000
20012000-11-17 Gerd Moellmann <gerd@gnu.org>
2002
2003 * puresize.h (BASE_PURESIZE): Increase to 700000.
2004
92bb977f
JR
20052000-11-18 Jason Rumney <jasonr@gnu.org>
2006
2007 * w32term.c (w32_draw_bitmap): Use face to set colors.
2008
26fbf20b
DL
20092000-11-17 Dave Love <fx@gnu.org>
2010
2011 * lread.c (Fload): Fix #ifdef for pcc.
2012
100b593b
GM
20132000-11-17 Gerd Moellmann <gerd@gnu.org>
2014
2015 * xdisp.c (pos_visible_p): Compute the default character height
2016 differently.
2017
a288d0d1
GM
20182000-11-16 Gerd Moellmann <gerd@gnu.org>
2019
cac94de6
GM
2020 * xdisp.c (pos_visible_p): Handle case that we reach ZV without
2021 knowing the line's height; use the default font's height in that
2022 case.
2023
a288d0d1
GM
2024 * xfaces.c (weight_table): Add `demi' with the same meaning as
2025 `demibold'.
2026
981fb6f6
KH
20272000-11-16 Kenichi Handa <handa@etl.go.jp>
2028
2cca872d 2029 * dispnew.c (null_row): New global static variable.
981fb6f6
KH
2030 (clear_glyph_row): Delete local static variable null_row.
2031
e5fa381b
JR
20322000-11-15 Jason Rumney <jasonr@gnu.org>
2033
2034 * w32term.c (HIGHLIGHT_COLOR_DARK_BOOST_LIMIT): New constant.
2035 (w32_alloc_lighter_color): Use new brightness calculations from
2036 xterm.c. Scale delta to be in the range expected by W32.
2037 (w32_draw_relief_rect): Use frame relief colors.
2038
8e42f043
GM
20392000-11-15 Gerd Moellmann <gerd@gnu.org>
2040
6d133d1f
GM
2041 * frame.c (syms_of_frame_1): Removed; code moved to syms_of_frame.
2042 (Qinhibit_default_face_x_resources): New variable.
2043 (syms_of_frame): Initialize it.
2044 (Fmodify_frame_parameters): Bind inhibit-default-face-x-resources.
2045
2046 * xdisp.c (pos_visible_p): Improve function comment.
2047
2048 * lisp.h (BINDING_STACK_SIZE): New macro.
2049
8e42f043
GM
2050 * dired.c (directory_files_internal) [EAGAIN || EINTR]: Retry
2051 reading the directory if readdir returns null and errno is EAGAIN
2052 or EINTR.
2053
e8c87124
SM
20542000-11-14 Stefan Monnier <monnier@cs.yale.edu>
2055
2056 * xdisp.c (try_scrolling): Set scroll_max to max of scroll_* args
2057 so setting scroll-step to 1 doesn't defeat scroll-conservatively.
2058 Set amount_to_scroll to max of dx and scroll_step so that
2059 scroll-conservatively doesn't defeat scroll-step>1.
2060 (syms_of_xdisp): Add a hint in scroll-step's docstring to use
2061 scroll-conservatively for line-at-a-time scrolling.
2062
5f0c971d
GM
20632000-11-14 Gerd Moellmann <gerd@gnu.org>
2064
2065 * window.c (Fpos_visible_in_window_p): Call pos_visible with
2066 extra argument.
2067
2068 * xdisp.c (current_mode_line_height, current_header_line_height):
2069 New variables.
2070 (init_xdisp): Initialize them.
2071 (pos_visible_p): Add parameter EXACT_MODE_LINE_HEIGHTS_P. Compute
2072 and use exact mode line heights if it is set.
2073
2074 * lisp.h (pos_visible_p): Change prototype.
2075
2076 * dispextern.h (CURRENT_MODE_LINE_HEIGHT)
2077 (CURRENT_HEADER_LINE_HEIGHT): Look at current_mode_line_height
2078 and current_header_line_height first.
2079 (current_mode_line_height, current_header_line_height): Declare
2080 extern.
2081
d7361edf
MB
20822000-11-14 Miles Bader <miles@lsi.nec.co.jp>
2083
2084 * xterm.c (x_alloc_lighter_color): Use real brightness calculation.
2085 Just use FACTOR/2 instead of HIGHLIGHT_COLOR_DARK_BOOST.
2086 (HIGHLIGHT_COLOR_DARK_BOOST): Macro removed.
2087
ee5e440a
MB
20882000-11-14 Miles Bader <miles@gnu.org>
2089
2090 * xterm.c (x_alloc_lighter_color): Include an additive component
2091 too for dark colors, because FACTOR isn't enough.
2092 (HIGHLIGHT_COLOR_DARK_BOOST, HIGHLIGHT_COLOR_DARK_BOOST_LIMIT):
2093 New macros.
2094
5ca020fc
GM
20952000-11-13 Gerd Moellmann <gerd@gnu.org>
2096
2097 * keyboard.c (show_help_echo): Call message3_nolog with number of
2098 bytes in the help string as 2nd parameter, instead of the number
2099 of characters.
2100
9d348294
MB
21012000-11-13 Miles Bader <miles@gnu.org>
2102
2103 * lread.c (openp): Return -2 instead of 0 for the `remote file' case.
2104 (Fload): Use new openp return protocol.
2105 Don't try to use Vload_source_file_function to load .elc files.
2106 * xfns.c (x_create_bitmap_from_file, x_find_image_file): Use new
2107 openp return protocol.
2108 * w32fns.c (x_create_bitmap_from_file, x_find_image_file): Likewise.
2109
1729bb9a
KH
21102000-11-11 Kenichi Handa <handa@etl.go.jp>
2111
4e677396
KH
2112 * syssignal.h: Pay attention to BROKEN_SIGAIO and BROKEN_SIGPTY.
2113
2114 * m/ibmrs6000.h (BROKEN_SIGAIO, BROKEN_SIGPTY, BROKEN_SIGPOLL):
2115 Defined these macros.
2116 (NLIST_STRUCT): Avoid re-defining it.
2117
1729bb9a
KH
2118 * s/hpux10.h (C_SWITCH_X_SYSTEM): Include -I/usr/include/X11R6 and
2119 -I/usr/contrib/X11R6/include.
2120 (LD_SWITCH_X_DEFAULT): Include -L/usr/lib/X11R6.
2121
a82fe213
JR
21222000-11-10 Jason Rumney <jasonr@gnu.org>
2123
2124 * w32term.h (CP_8BIT, CP_UNICODE, CP_INVALID): New pseudo-codepages.
2125
2126 * w32term.c (w32_encode_char): Handle CP_UNICODE specially.
2127 (w32_use_unicode_for_codepage): Use new pseudo-codepages.
2128
2129 * w32fns.c (Qw32_charset_hangeul): Rename to match w32 headers.
2130 (Qw32_charset_vietnamese): New symbol.
2131 (xlfd_charset_of_font): New function.
2132 (w32_load_system_font): Use it.
2133 (x_to_w32_charset): Use Fassoc to find charset info. Special case
2134 when Vw32_charset_info_alist is nil to ensure default face always
2135 has font. Use Fcar and Fcdr for safety.
2136 (w32_to_x_charset): Use Vw32_charset_info_alist for mappings.
2137 (w32_codepage_for_font): Use xlfd_charset_of_font. Use new
2138 pseudo-codepages for special cases.
2139 (w32_to_x_font): New parameter to allow charset portion to be
2140 specified where there is many to one mapping. Callers changed.
2141 (w32_list_fonts): Avoid listing fonts that won't display.
2142
52d89894
GM
21432000-11-10 Gerd Moellmann <gerd@gnu.org>
2144
2145 * xfaces.c (Vface_alternative_font_registry_alist): New variable.
2146 (font_list_1): Renamed from font_list.
2147 (font_list): New function, trying alternative registries from
2148 Vface_alternative_font_registry_alist.
2149 (Finternal_set_alternative_font_registry_alist): New function.
2150 (syms_of_xfaces): Initialize and Staticpro
2151 Vface_alternative_font_registry_alist. Defsubr
2152 Finternal_set_alternative_font_registry_alist.
2153
651cd3da
KR
21542000-11-09 Ken Raeburn <raeburn@gnu.org>
2155
2156 * lisp.h (Flooking_at): Declare.
2157
388ac098
GM
21582000-11-09 Gerd Moellmann <gerd@gnu.org>
2159
778fbc46
GM
2160 * dired.c (directory_files_internal): Fix a braino.
2161
388ac098
GM
2162 * dired.c (directory_files_internal): Add missing GCPRO's.
2163 Some cleanup.
2164
ecaedde1
GM
21652000-11-08 Gerd Moellmann <gerd@gnu.org>
2166
f7eb32aa
GM
2167 * xdisp.c (syms_of_xdisp): Change doc of max-mini-window-height.
2168 (resize_mini_window): Return quickly if Vresize_mini_window is
2169 nil. Don't return if Vmax_mini_window_height is nil.
2170
2171 * xdisp.c (Vresize_mini_window, Qgrow_only): New variables.
2172 (syms_of_xdisp): Initialize them.
2173 (resize_mini_window): Act according to the setting of
2174 Vresize_mini_window.
2175 (syms_of_xdisp): Initialize Vmenu_bar_update_hook to nil.
2176
ecaedde1
GM
2177 * xterm.c (x_scroll_bar_create) [USE_TOOLKIT_SCROLL_BARS]: Map the
2178 scroll bar widget after configuring it, so that it will appear at
2179 the right position from the start.
2180 (XTredeem_scroll_bar): Cleaned up.
2181
3747ef2c
KH
21822000-11-08 Kenichi Handa <handa@etl.go.jp>
2183
2184 * xterm.c (VCENTER_BASELINE_OFFSET): Fix previous change. If the
5d16e624 2185 font is taller than the frame line, we don't have to bias the
3747ef2c
KH
2186 division by two.
2187
2188 * w32term.c (VCENTER_BASELINE_OFFSET): Likewise.
2189
03391420
DL
21902000-11-07 Dave Love <fx@gnu.org>
2191
7758f1c1 2192 * config.in (HAVE_MKSTEMP): Add.
03391420
DL
2193
2194 * callproc.c (Fcall_process_region) [HAVE_MKSTEMP]: Use it.
2195
b5de343d
GM
21962000-11-07 Gerd Moellmann <gerd@gnu.org>
2197
acad3c0b
GM
2198 * window.c (Fset_window_configuration): Don't try to preserve
2199 point in the current buffer, if that buffer is displayed in more
2200 than one window.
2201
b5de343d
GM
2202 * xfaces.c (lookup_named_face): If default face isn't realized,
2203 try to realize it. Return -1 if not successful.
2204 (Fx_list_fonts): Handle case that face cannot be determined.
2205 (Fface_font): Likewise.
2206
cdb1fe49
GM
22072000-11-06 Gerd Moellmann <gerd@gnu.org>
2208
2209 * window.c (displayed_window_lines): Detect partially
2210 visible lines at the bottom correctly.
2211
d3a67486
SM
22122000-11-06 Stefan Monnier <monnier@cs.yale.edu>
2213
2214 * fileio.c (Fwrite_region): Use `visiting' rather than `visit'
2215 when ensuring we don't do visit in indirect buffer.
2216
ff8dd5d5
KH
22172000-11-06 Kenichi Handa <handa@etl.go.jp>
2218
2219 * composite.h (compose_chars_in_text): Add prototype.
2220
2221 * composite.c (Vcomposition_function_table): New variable.
2222 (Qcomposition_function_table): New variable.
2223 (run_composition_function): Call
2224 Vcompose_chars_after_function with three arguments.
2225 (compose_chars_in_text): New function.
2226 (syms_of_composite): Modified the doc-string of
2227 Vcompose_chars_after_function. Declare composition-function-table
2228 as a lisp variable, and initialize it.
2229
2230 * xfns.c (x_encode_text): Suppress producing escape sequences for
2231 composition.
2232
2233 * xselect.c: Include composite.h.
2234 (selection_data_to_lisp_data): Call compose_chars_in_text on STR.
2235
d1145f85
AI
22362000-11-05 Andrew Innes <andrewi@gnu.org>
2237
2238 * w32term.c (x_produce_glyphs): Fix typo in enum name.
2239
2240 * sysdep.c (read_input_waiting): Remove extraneous argument to
2241 read_socket_hook.
2242
2243 * w32fns.c (Fx_server_version): Include w32_build_number in the
2244 return list.
2245
2246 * w32heap.c (w32_build_number): New variable.
2247 (cache_system_info): Set it.
2248
2249 * w32heap.h (w32_build_number): Add extern.
2250
2251 * emacs.c (syms_of_emacs): Update docstring for
2252 system-configuration, to reflect the actual usage on MS-Windows.
2253
e85ee976
GM
22542000-10-31 Gerd Moellmann <gerd@gnu.org>
2255
26dcb81b
GM
2256 * keyboard.c (read_char) <wrong_kboard>: Make sure that we
2257 process idle timers while waiting for another event.
2258
0a894bad
GM
2259 * dispnew.c (update_frame_line): Handle case where spaces in
2260 the default face are colored.
2261
e85ee976
GM
2262 * xdisp.c (redisplay_tool_bar): Don't set fonts_changed_p if
2263 window height hasn't changed.
2264
01b220b6
JR
22652000-10-31 Jason Rumney <jasonr@gnu.org>
2266
2267 * w32term.c (x_produce_glyphs): Handle composite characters.
2268 (x_draw_glyph_string_foreground)
2269 (x_draw_composite_glyph_string_foreground): Restore old font.
2270
4e6b7204
MB
22712000-10-31 Miles Bader <miles@lsi.nec.co.jp>
2272
2273 * minibuf.c (read_minibuf): Reset the undo history just before
2274 starting the recursive-edit.
2275
d4358b37
GM
22762000-10-30 Gerd Moellmann <gerd@gnu.org>
2277
563f68f1
GM
2278 * xfaces.c (menu_face_change_count): New variable.
2279 (Finternal_set_lisp_face_attribute): Increment it for changes
2280 of the `menu' face.
2281 (realize_basic_faces): Reflect changes in the `menu' faces
2282 in menu bars.
2283
82e274d1
GM
2284 * xdisp.c (try_scrolling) <PT >= scroll_margin_pos>: Add 1 to the
2285 dy obtained from the iterator's y-position after moving from
2286 scroll_margin_pos to PT; see comment there.
2287
0dbf9fd2
GM
2288 * xdisp.c (safe_eval_handler): Call add_to_log.
2289
906b3b14
GM
2290 * xfaces.c (resolve_face_name): Handle case that FACE_NAME
2291 is not a symbol or string.
2292
d4358b37
GM
2293 * xdisp.c (echo_area_display): Don't perform a display update from
2294 inside redisplay. The update will happen anyway at the end of
2295 redisplay, and it can confuse redisplay (GC messages while
2296 redisplaying, for instance.)
2297
70c825df
SM
22982000-10-30 Stefan Monnier <monnier@cs.yale.edu>
2299
cf9b4b0b
SM
2300 * xrdb.c (x_load_resources): Use the class name in the defaults.
2301
70c825df
SM
2302 * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
2303 (regex_compile): Catch bogus \(\1\).
2304
a1d34b1e
GM
23052000-10-30 Gerd Moellmann <gerd@gnu.org>
2306
cae71efe
GM
2307 * xterm.c (x_alloc_nearest_color): Fix last change to compare
2308 RGB values.
2309
35efe0a1
GM
2310 * xterm.c (x_alloc_nearest_color): If allocation succeeds, and
2311 we have a color cache, check that the cached color equals the
2312 allocated color. If not, clear the color cache.
2313
1d3baf74
GM
2314 * window.c (displayed_window_lines): Change buffers if necessary.
2315 Fix computation of displayed lines.
2316
a1d34b1e
GM
2317 * keyboard.c (syms_of_keyboard): Change DEFVAR_LISP of
2318 update_menu_bindings to DEFVAR_BOOL.
2319
70737ea9
KH
23202000-10-30 Kenichi Handa <handa@etl.go.jp>
2321
70c825df 2322 * search.c (Fset_match_data): Be sure to make search_regs always sane.
80406070 2323
fa0cb51d
KH
2324 * puresize.h (BASE_PURESIZE): Increase to 680000.
2325
70737ea9
KH
2326 * fns.c (Foptimize_char_table): Fix arg for CHARSET_DIMENSION.
2327
0e4c08e8
JR
23282000-10-29 Jason Rumney <jasonr@gnu.org>
2329
2330 * w32term.h (FONT_DESCENT): Negate descent of BDF fonts.
2331
2332 * w32term.c (w32_bdf_per_char_metric): Negate descent.
2333 (w32_cache_char_metrics): Handle possibility that 'x' does not
2334 exist in a BDF font.
2335 (W32_TEXTOUT): w32_BDF_TextOut wants number of bytes not chars.
2336
2337 * w32bdf.h (bdffont): Add nchars.
2338
2339 * w32bdf.c (set_bdf_font_info): Set it.
2340 (w32_BDF_TextOut): Swap byte order of double byte characters.
2341 (w32_load_bdf_font): Set double_byte_p based on bdf_font->nchars.
2342
45b84006
EZ
23432000-10-28 Eli Zaretskii <eliz@is.elta.co.il>
2344
2345 * frame.c (Fframe_parameters): Fix the change from 2000-10-16:
2346 don't override the colors in frame's param_alist, unless they are
2347 unspecified.
2348
2349 * term.c (reassert_line_highlight): If inverse_video is non-zero,
2350 reverse the effect of the highlight flag.
2351
caf9deee
KR
23522000-10-27 Ken Raeburn <raeburn@gnu.org>
2353
2354 * window.h (Fwindow_live_p): Declare.
2355
ae0b9b46
KR
2356 * undo.c (record_delete): Check that last_undo_buffer is really a
2357 buffer before applying XBUFFER to it.
2358
2359 * keymap.c (where_is_internal): Pass lisp object, not integer, to
2360 Faref.
2361
02067692
SM
23622000-10-27 Stefan Monnier <monnier@cs.yale.edu>
2363
2364 * lisp.h (KEYMAPP): New macro.
2365 (get_keymap): Remove.
2366 (get_keymap_1): Rename get_keymap.
2367
2368 * keyboard.h (get_keymap_1, Fkeymapp): Remove prototype.
2369
2370 * xterm.c (note_mode_line_highlight): Use KEYMAPP.
2371
2372 * xmenu.c (single_submenu): Use KEYMAPP.
2373 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
2374 Use KEYMAPP rather than Fkeymapp.
2375
2376 * w32term.c (note_mode_line_highlight): Use KEYMAPP.
2377
2378 * w32menu.c (True, False): Remove (use TRUE and FALSE instead).
2379 (Fx_popup_menu): Fetch keymaps rather than checking Fkeymapp.
2380 Use KEYMAPP rather than Fkeymapp.
2381 (single_submenu): Use KEYMAPP.
2382 (w32_menu_show, w32_dialog_show): Use TRUE.
2383
2384 * minibuf.c (Fread_from_minibuffer): Update call to get_keymap.
2385
2386 * keymap.c (KEYMAPP): Remove (moved to lisp.h).
2387 (Fkeymapp): Use KEYMAPP.
2388 (get_keymap): Rename from get_keymap_1. Remove old def.
2389 Return t when autoload=0 and error=0 and the keymap needs autoloading.
2390 (Fcopy_keymap): Check (eq (car x) 'keymap) rather than using Fkeymapp.
2391 (Fminor_mode_key_binding): Don't raise an error if the binding
2392 is not a keymap.
2393 (Fuse_global_map, Fuse_local_map): Allow autoloading.
2394 (Faccessible_keymaps): Fetch keymaps rather than checking Fkeymapp.
2395
2396 * keyboard.c (read_char): get_keymap_1 -> get_keymap.
2397 Allow Vspecial_event_map to be autoloaded.
2398 (menu_bar_items): Fetch the keymap rather than using keymapp.
2399 (menu_bar_one_keymap): No need to follow func-indirect any more.
2400 (parse_menu_item): get_keymap_1 -> get_keymap.
2401 (tool_bar_items): Fetch the keymap rather than using keymapp.
2402 (read_key_sequence): Use KEYMAPP.
2403
2404 * intervals.c (get_local_map): Use get_keymap rather than following
2405 function-indirections explicitly.
2406
2407 * doc.c (Fsubstitute_command_keys): get_keymap_1 -> get_keymap.
2408
f9d80af3
JR
24092000-10-27 Jason Rumney <jasonr@gnu.org>
2410
2411 * w32fns.c (Fx_create_frame): Make default fontsize on w32 10
2412 point, as Windows has oversized fonts.
2413
2414 * fontset.c (syms_of_fontset) [WINDOWSNT]: Likewise.
2415
a3ba27da
GM
24162000-10-27 Gerd Moellmann <gerd@gnu.org>
2417
2418 * gmalloc.c [GC_MCHECK]: Add code from mcheck.c of glibc-1.09.1.
2419 (freehook, reallochook): Handle null pointer arguments.
2420 (__malloc_initialize) [GC_MCHECK]: Call mcheck.
2421
aa3b80cc
SM
24222000-10-27 Stefan Monnier <monnier@cs.yale.edu>
2423
2424 * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
2425 (re_match_2_internal, re_match_2_internal, re_match_2_internal):
2426 Giving in to popular pressure to shut up the compiler with casts.
2427
e24e84cc
GM
24282000-10-27 Gerd Moellmann <gerd@gnu.org>
2429
2430 * xterm.c (x_draw_glyph_string): Treat XA_UNDERLINE_POSITION as a
2431 signed value, and use a default value computed from the font's
2432 maximum descent.
2433
05ea7ef2
MB
24342000-10-27 Miles Bader <miles@lsi.nec.co.jp>
2435
2436 * xterm.c (x_draw_glyph_string): Add a workaround so that fonts
2437 that specify a negative underline position can still use underlines.
2438
2439 * window.c (Fpos_visible_in_window_p): Make POS default to
2440 WINDOW's point, not the current buffer's point.
2441
0b95284b
DL
24422000-10-26 Dave Love <fx@gnu.org>
2443
2444 * s/sol2-5.h: Don't define SYSTEM_MALLOC so that we can find out
2445 when it's necessary.
2446
6c5b90af
GM
24472000-10-26 Gerd Moellmann <gerd@gnu.org>
2448
8b6d9dc9
GM
2449 * window.c (size_window): Compute size difference from sum of old
2450 child window sizes instead of from parent's size.
2451
6bc92b2e
GM
2452 * xdisp.c (pos_visible_p): Change current buffer if necessary.
2453 Handle obscured lines at the top of the window.
2454
2455 * frame.c (Fdelete_frame): Doc fix. Move running the hook
2456 down after the last error condition check.
2457
6c5b90af
GM
2458 * frame.c (Fdelete_frame): Run delete-frame-hook.
2459
42f92d4d
KH
24602000-10-26 Kenichi Handa <handa@etl.go.jp>
2461
2462 * coding.c (decode_coding): Fix previous change (check also
2463 CODING_MODE_LAST_BLOCK).
2464
d97151cb
SM
24652000-10-25 Stefan Monnier <monnier@cs.yale.edu>
2466
e7efc503
SM
2467 * regex.c: More `unsigned char' -> `re_char' changes.
2468 Also change several `int' into `re_wchar_t'.
2469 (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
2470 (PUSH_FAILURE_POINTER): Don't cast any more.
2471 (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
2472 We want GCC to complain, since this piece of code makes
2473 re_match non-reentrant, which *should* be fixed.
2474 (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
2475 (EXTEND_BUFFER): Use RETALLOC.
2476 (SET_LIST_BIT): Don't cast.
2477 (re_wchar_t): New type.
2478 (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
2479 that those two functions will always properly return.
2480 (IMMEDIATE_QUIT_CHECK): Cast to void.
2481 (analyse_first): Use recursion rather than an explicit stack.
2482 (re_compile_fastmap): Can't fail anymore.
2483 (re_search_2): Don't check re_compile_fastmap for failure.
2484 (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
2485 Now also sets the new value (passed in a new argument).
2486 (re_match_2_internal): Use it.
2487 Also, use a new var `reg' of type size_t when looping through regs
2488 rather than reuse the inappropriate `mcnt'.
2489
d97151cb
SM
2490 * keymap.c (where_is_cache, where_is_cache_keymaps): New vars.
2491 (Fset_keymap_parent, store_in_keymap): Flush the where-is cache.
2492 (where_is_internal): Renamed from Fwhere_is_internal.
2493 Don't DEFUN any more. Arg `xkeymap' replaced by `keymaps'.
2494 (Fwhere_is_internal): New function wrapping where_is_internal.
2495 (where_is_internal_1): Handle the case where we're filling the cache.
2496 (syms_of_keymap): Init and gcpro the where_is_cache(|_keymaps).
2497
d5789b65
MB
24982000-10-25 Miles Bader <miles@gnu.org>
2499
2500 * xdisp.c (pos_visible_p): Don't add `it.current_y' twice.
2501
4ecda532
GM
25022000-10-25 Gerd Moellmann <gerd@gnu.org>
2503
2504 * window.c (pos_fully_visible_p): Removed.
2505 (Fpos_visible_in_window_p): Use pos_visible_p to determine
2506 if position is visible and/or fully visible.
2507
2508 * lisp.h (pos_visible_p): Add prototype.
2509
2510 * xdisp.c (pos_visible_p): New function.
2511
68c3a137
KH
25122000-10-25 Kenichi Handa <handa@etl.go.jp>
2513
2514 * process.c (send_process): If OBJECT is t, it means that the data
2515 is from C string, but we should encode it. Before calling
2516 setup_raw_text_coding_system, be sure to flush out data by the
2517 previous coding system.
2518
7ae1c032
MB
25192000-10-25 Miles Bader <miles@lsi.nec.co.jp>
2520
ff4dcd4b
MB
2521 * buffer.c (overlays_at): Only let CHANGE_REQ inhibit an
2522 assignment of startpos to prev when startpos == pos.
2523
7ae1c032
MB
2524 * editfns.c (find_field): Set the field stickiness correctly from
2525 overlay fields. Use renamed `text_property_stickiness'.
2526 (text_property_stickiness): Renamed from `char_property_stickiness'.
ebe2a441 2527 Only check text properties, not overlays.
7ae1c032
MB
2528 * textprop.c (get_char_property_and_overlay): New function.
2529 (Fget_char_property): Use it.
2530 * intervals.h (get_char_property_and_overlay): Add declaration.
2531
49801145
SM
25322000-10-25 Stefan Monnier <monnier@cs.yale.edu>
2533
2534 * keymap.c: Use AREF, ASET and ASIZE macros.
2535 (Fmake_sparse_keymap): Docstring fix.
2536 (synkey): Remove.
2537 (shadow_lookup): Move up.
2538 Handle the case where lookup-key returns an integer.
2539 (where_is_internal_1): Drop arg `keymap'. Don't check shadowing.
2540 (where_is_internal_2): Adapt to fewer args for where_is_internal_1.
2541 (Fwhere_is_internal): Allow `xkeymap' to be a list of keymaps.
2542 Simplify/rewrite the keymap-finding code.
2543 Add check for command shadowing, using shadow_lookup.
2544
39e776cd
SM
25452000-10-24 Stefan Monnier <monnier@cs.yale.edu>
2546
2547 * keymap.c (fix_submap_inheritance): Use get_keymap_1 on parent_entry
2548 rather than KEYMAPP, to allow EQ to work correctly if parent_entry is
2549 a symbol.
2550
2488aba5
AI
25512000-10-24 Andrew Innes <andrewi@gnu.org>
2552
2553 * dired.c (directory_files_internal_unwind): New function.
2554 (directory_files_internal): Use it to ensure closedir is called
2555 even if expand-file-name or file-attributes throw, eg. because of
2556 a user interrupt. Also enable immediate_quit while calling
2557 re_search, so that matching can be interrupted as well.
2558
b94fdf61
AI
25592000-10-24 Andrew Innes <andrewi@gnu.org>
2560
2561 * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
2562 NT-Emacs only.
2563 (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
2564 so that re_search functions only quit when callers expect them to.
2565
25662000-10-24 Kenichi Handa <handa@etl.go.jp>
2567
2568 * regex.c (regex_compile): Change the way of handling a range from
2569 a char less than 256 to a char not less than 256.
2570
1946f901
GM
25712000-10-24 Gerd Moellmann <gerd@gnu.org>
2572
7ae2f10f
GM
2573 * window.c (size_window): Prevent setting window's width or
2574 height to a negative value (esp. with XSETFASTINT).
2575
5dcab13e
GM
2576 * gmalloc.c (state_protected_p, last_state_size, last_heapinfo)
2577 [GC_MALLOC_CHECK && GC_PROTECT_MALLOC_STATE]: New variables.
2578 (protect_malloc_state) [GC_MALLOC_CHECK &&
2579 GC_PROTECT_MALLOC_STATE]: New function.
2580 (PROTECT_MALLOC_STATE): New macro.
2581 (__malloc_initialize, morecore, _malloc_internal)
2582 (_free_internal) _realloc_internal): Use it to make _heapinfo
2583 read-only outside of gmalloc.
2584
63e1b552
GM
2585 * keymap.c: Update copyright.
2586
1946f901
GM
2587 * .gdbinit (xbacktrace): Handle case that $bt->function isn't
2588 a symbol.
2589
4fa09beb
GM
25902000-10-24 Colin Walters <walters@cis.ohio-state.edu>
2591
2592 * filelock.c (unlock_all_files): Use unlock_file to expand each
2593 buffer's file_truename before trying remove its lock file.
2594
23afac01
EZ
25952000-10-24 Eli Zaretskii <eliz@is.elta.co.il>
2596
2597 * coding.c (decode_coding_emacs_mule): If coding->eol_type is CR
2598 or CRLF, decode EOLs.
2599
04448b95
KH
26002000-10-24 Kenichi Handa <handa@etl.go.jp>
2601
2602 * window.c (Fdisplay_buffer): Fix doc.
2603
3090a5a5
JR
26042000-10-23 Jason Rumney <jasonr@gnu.org>
2605
2606 * fontset.c (syms_of_fontset) [WINDOWSNT]: Special case for
2607 ASCII font of default fontset on Windows.
2608
2609 * w32term.c (VCENTER_BASELINE_OFFSET): Bias division (see
2610 xterm.c comment below).
2611
2612 * w32fns.c (x_to_w32_font): Initialize dpi from dpyinfo->resy.
2613
a83fee2c
GM
26142000-10-23 Gerd Moellmann <gerd@gnu.org>
2615
2616 * xterm.c (x_connection_closed): Reset handling_signal.
2617
2618 * alloc.c (emacs_blocked_free) [GC_MALLOC_CHECK]: Handle freeing
2619 null.
2620
6ffdb539
MB
26212000-10-23 Miles Bader <miles@gnu.org>
2622
2623 * window.c (window_scroll_pixel_based, window_scroll_line_based):
2624 Pass nil for FULLY argument to Fpos_visible_in_window_p to
2625 maintain old behavior.
2626 * minibuf.c (Fminibuffer_complete): Likewise.
2627
7f1c969b
MB
26282000-10-23 Miles Bader <miles@lsi.nec.co.jp>
2629
2630 * xterm.c (VCENTER_BASELINE_OFFSET): Bias the division by two, so
2631 that when a font can't be exactly centered, it errs up rather than
2632 down.
2633
23afac01 26342000-10-23 ShengHuo ZHU <zsh@cs.rochester.edu>
8ec118cd
SZ
2635
2636 * fns.c (Fbase64_decode_string): The decoded result should be
2637 unibyte.
2638
1a578e9b
AC
26392000-10-23 Andrew Choi <akochoi@i-cable.com>
2640
2641 * dispextern.h [macintosh]: Include macgui.h instead of macterm.h.
2642
2643 * dispnew.c [macintosh]: Include macterm.h.
a83fee2c 2644 (init_display) [macintosh]: Initialization for window system.
1a578e9b
AC
2645
2646 * emacs.c (main) [macintosh]: Call syms_of_textprop,
2647 syms_of_macfns, syms_of_ccl, syms_of_fontset, syms_of_xterm,
2648 syms_of_search, x_term_init, and init_keyboard before calling
2649 init_window_once. Also, call syms_of_xmenu.
2650
2651 * fontset.c (syms_of_fontset) [macintosh]: Set ASCII font of
2652 default fontset to Monaco.
2653
2654 * frame.c [macintosh]: Include macterm.h. Remove declarations of
2655 NewMacWindow and DisposeMacWindow.
2656 (make_terminal_frame) [macintosh]: Call make_mac_terminal_frame
2657 instead of calling NewMacWindow and setting fields of
2658 f->output_data.mac directly. Call init_frame_faces.
2659 (Fdelete_frame) [macintosh]: Remove unused code.
2660 (Fmodify_frame_parameters) [macintosh]: Call
2661 x_set_frame_parameters instead of mac_set_frame_parameters.
2662
2663 * frame.h [macintosh]: Define menu_bar_lines field in struct
2664 frame. Define FRAME_EXTERNAL_MENU_BAR macro.
2665
2666 * keyboard.c [macintosh]: Include macterm.h.
2667 (kbd_buffer_get_event) [macintosh]: Generate delete_window_event
2668 and menu_bar_activate_event type events as for X and NT.
2669 (make_lispy_event) [macintosh]: Construct lisp events of type
2670 MENU_BAR_EVENT as for X and NT.
2671
2672 * sysdep.c [macintosh]: Remove declaration for sys_signal.
2673 Include stdlib.h. Remove definition of Vx_bitmap_file_path.
2674 (sys_subshell) [macintosh]: Remove definition entirely.
2675 (init_sys_modes) [macintosh]: Do not initialize Vwindow_system and
2676 Vwindow_system_version here. Remove initialization of
2677 Vx_bitmap_file_path.
2678 (read_input_waiting): Correct the number of parameters passed to
2679 read_socket_hook.
2680 Move all Macintosh functions to mac/mac.c.
2681
2682 * term.c [macintosh]: Include macterm.h.
2683
2684 * window.c [macintosh]: Include macterm.h.
2685
2686 * xdisp.c [macintosh]: Include macterm.h. Declare
2687 set_frame_menubar and pending_menu_activation.
2688 (echo_area_display) [macintosh]: Do not return if terminal frame
2689 is the selected frame.
2690 (update_menu_bar) [macintosh]: Check FRAME_EXTERNAL_MENU_BAR (f).
2691 Allow only the selected frame to set menu bar.
2692 (redisplay_window) [macintosh]: Obtain menu bar to redisplay by
2693 calling FRAME_EXTERNAL_MENU_BAR (f).
2694 (display_menu_bar) [macintosh]: Check FRAME_MAC_P (f).
2695
2696 * xfaces.c [macintosh]: Include macterm.h. Define x_display_info
2697 and check_x. Declare XCreateGC. Define x_create_gc and
2698 x_free_gc. Initialize font_sort_order.
2699 (x_face_list_fonts) [macintosh]: Use the same code as WINDOWSNT,
2700 but call x_list_fonts instead of w32_list_fonts.
2701 (Finternal_face_x_get_resource) [macintosh]: Do not call
2702 display_x_get_resource.
2703 (prepare_face_for_display) [macintosh]: Set xgcv.font.
2704 (realize_x_face) [macintosh]: Load the font if it is specified in
2705 ATTRS.
2706 (syms_of_xfaces) [macintosh]: Initialize Vscalable_fonts_allowed
2707 to Qt.
2708
1ffbabe3
SM
27092000-10-22 Stefan Monnier <monnier@cs.yale.edu>
2710
2711 * keymap.c (fix_submap_inheritance): Don't do anything if parent_entry
2712 is nil: since we go to the end of submap anyway, we'd end up
2713 setting nil to nil.
2714 (access_keymap): Don't use KEYMAPP on meta_map since KEYMAPP
2715 doesn't obey autoload.
2716
bed43f1d
EZ
27172000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
2718
1ffbabe3 2719 * msdos.c (dos_set_window_size): Update screen dimension variables.
bed43f1d 2720
ea4233a7
JR
27212000-10-21 Jason Rumney <jasonr@gnu.org>
2722
2723 * w32term.c (w32_cache_char_metrics): Double check that font is
2724 really fixed pitch before trusting tmPitchAndFamily.
2725
f3d3c491
AI
27262000-10-21 Andrew Innes <andrewi@gnu.org>
2727
2728 * w32gui.h (w32_char_font_type): Move enum from w32term.c
2729
2730 * w32term.h: Extern decl for w32_cache_char_metrics.
2731
2732 * w32bdf.c (w32_load_bdf_font): Call w32_cache_char_metrics.
2733
2734 * w32fns.c (w32_load_system_font): Call w32_cache_char_metrics.
2735 (w32_unload_font): Free per_char array if present.
2736
2737 * w32term.c (w32_per_char_metric): Remove HDC argument. Use
2738 cached information in emulated XFontStruct to handle common cases
2739 quickly. Do not allocate XCharStruct for return.
2740 (w32_native_per_char_metric): New function.
2741 (w32_bdf_per_char_metric): Fill in supplied XCharStruct instead of
2742 allocating one.
2743 (x_produce_glyphs): Don't get an HDC. Change calls to
2744 w32_per_char_metric to match arg change above. Remove calls to
2745 free results.
2746 (w32_get_glyph_overhangs): Ditto.
2747 (w32_cache_char_metrics): New function.
2748
2749 * makefile.w32-in: Change .obj to .$(O) in all dependencies.
2750 ($(BLD)/casefiddle.$(O)): Remove compile command.
2751 ($(BLD)/gmalloc.$(O)): Remove compile command.
2752 ($(BLD)/dispnew.obj):
2753 ($(BLD)/keyboard.obj):
2754 ($(BLD)/w32inevt.obj):
2755 ($(BLD)/w32bdf.obj):
2756 ($(BLD)/alloc.obj):
2757 ($(BLD)/buffer.obj):
2758 ($(BLD)/editfns.obj):
2759 ($(BLD)/emacs.obj):
2760 ($(BLD)/fileio.obj):
2761 ($(BLD)/fns.obj):
2762 ($(BLD)/indent.obj):
2763 ($(BLD)/insdel.obj):
2764 ($(BLD)/intervals.obj):
2765 ($(BLD)/minibuf.obj):
2766 ($(BLD)/print.obj):
2767 ($(BLD)/scroll.obj):
2768 ($(BLD)/sysdep.obj):
2769 ($(BLD)/textprop.obj):
2770 ($(BLD)/widget.obj):
2771 ($(BLD)/xdisp.obj): Add dependency on w32gui.h.
2772 ($(BLD)/term.obj): Add dependency on dispextern.h.
2773
2774 * makefile.nt ($(BLD)\dispnew.obj):
2775 ($(BLD)\keyboard.obj):
2776 ($(BLD)\w32inevt.obj):
2777 ($(BLD)\w32bdf.obj):
2778 ($(BLD)\alloc.obj):
2779 ($(BLD)\buffer.obj):
2780 ($(BLD)\editfns.obj):
2781 ($(BLD)\emacs.obj):
2782 ($(BLD)\fileio.obj):
2783 ($(BLD)\fns.obj):
2784 ($(BLD)\indent.obj):
2785 ($(BLD)\insdel.obj):
2786 ($(BLD)\intervals.obj):
2787 ($(BLD)\minibuf.obj):
2788 ($(BLD)\print.obj):
2789 ($(BLD)\scroll.obj):
2790 ($(BLD)\sysdep.obj):
2791 ($(BLD)\textprop.obj):
2792 ($(BLD)\widget.obj):
2793 ($(BLD)\xdisp.obj): Add dependency on w32gui.h.
2794 ($(BLD)\term.obj): Add dependency on dispextern.h
2795
18ad4821
EZ
27962000-10-21 Eli Zaretskii <eliz@is.elta.co.il>
2797
2798 * minibuf.c (Fminibuffer_complete): Call Fpos_visible_in_window_p
2799 with an additional argument of Qt.
2800
de54681a
MB
28012000-10-21 Miles Bader <miles@gnu.org>
2802
2803 * window.c (pos_fully_visible_in_window_p): New function.
2804 (Fpos_visible_in_window_p): Add FULLY argument.
2805 Use pos_fully_visible_in_window_p.
2806 (window_scroll_pixel_based, window_scroll_line_based): Update
2807 calls to Fpos_visible_in_window_p.
2808 * lisp.h (Fpos_visible_in_window_p): Update prototype
2809
13c844fb
GM
28102000-10-20 Gerd Moellmann <gerd@gnu.org>
2811
2812 * alloc.c (toplevel): Conditionalize compilation of mem_*
2813 functions differently.
2814
d9506268
JR
28152000-10-20 Jason Rumney <jasonr@gnu.org>
2816
2817 * alloc.c (toplevel): Move #ifdef GC_MARK_STACK back to above
2818 mem_init where it used to be. mem_z etc not defined otherwise.
2819
8094989b
GM
28202000-10-20 Gerd Moellmann <gerd@gnu.org>
2821
2822 * alloc.c (toplevel) [SYSTEM_MALLOC || DOUG_LEA_MALLOC]: Undef
2823 GC_MALLOC_CHECK.
2824 (toplevel) [GC_MARK_STACK || GC_MALLOC_CHECK]: Move mem_node
2825 structure definition and related variabled to the top of the file.
2826 Include this code when GC_MALLOC_CHECK is defined.
2827 (lisp_malloc, lisp_free) [GC_MALLOC_CHECK]: Don't
2828 register/unregister allocated region.
2829 (emacs_blocked_free) [GC_MALLOC_CHECK]: Check if freeing something
2830 which isn't allocated.
2831 (emacs_blocked_malloc) [GC_MALLOC_CHECK]: Check if returning
2832 something which is already in use.
2833 (emacs_blocked_realloc) [GC_MALLOC_CHECK]: Likewise.
2834 (mem_insert) [GC_MALLOC_CHECK]: Use _malloc_internal.
2835 (mem_delete) [GC_MALLOC_CHECK]: Use _free_internal.
2836 (init_alloc_once) [GC_MALLOC_CHECK]: Call mem_init.
2837
2838 * gmalloc.c (_malloc_internal) [GC_MALLOC_CHECK]: Use
2839 _malloc_internal instead of malloc.
2840 (_free_internal) [GC_MALLOC_CHECK]: Use _free_internal instead
2841 of free.
2842
ea456eb4
AI
28432000-10-20 Andrew Innes <andrewi@gnu.org>
2844
2845 * strftime.c [!WINDOWSNT]: Don't apply Solaris 2.5 work-around on
2846 Windows.
2847 (my_strftime) <macro>: Don't use macro arg list when redefining as
2848 _strftime_copytm.
2849 (my_strftime) <function>: Supply 0 as ut argument.
2850
e64c3a75
JR
28512000-10-19 Jason Rumney <jasonr@altavista.net>
2852
2853 * w32console.c: Do not undef HAVE_WINDOW_SYSTEM before
2854 including dispextern.h, as it stops faces from working.
2855
2856 * w32fns.c (Fx_create_frame): Don't bother calling
2857 face-set-after-frame-default since the caller does it for us
2858 anyway. Clean up calls to x_get_arg to be consistent with X.
2859
2860 * w32term.c (x_produce_glyphs): Handle
2861 unibyte_display_via_language_environment correctly.
2862 (w32_draw_box_rect): Fix the calculation of width and height.
2863
2864 * w32menu.c (add_menu_item): Do not use MF_OWNERDRAW for titles,
2865 as it has stopped working.
2866 (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar position like
2867 menu-bar.
2868
17401c97
GM
28692000-10-19 Gerd Moellmann <gerd@gnu.org>
2870
2871 * eval.c (skip_debugger): Prevent a compiler warning.
2872 (Fcondition_case): Likewise.
2873 (Fbacktrace_frame): Use a null interactive spec.
2874
773272d8
KH
28752000-10-19 Kenichi Handa <handa@etl.go.jp>
2876
2877 * xterm.c (x_find_ccl_program): Check also fontp->full_name.
2878
a42943e9
GM
28792000-10-18 Gerd Moellmann <gerd@gnu.org>
2880
e50517d9
GM
2881 * strftime.c: Sync with glibc, file version 1.78.
2882 (my_strftime) [HAVE_TZNAME]: Use `UTC' instead of `GMT' which
2883 should no longer be used according to ISO 8601.
2884
9035a35a
GM
2885 * keymap.c (access_keymap): If IDX has a meta prefix, and there's
2886 no map for meta_prefix_char, don't try to use it as a keymap.
2887 Instead, if T_OK is non-zero, look up a default binding, if any,
2888 otherwise, if T_OK is zero, return nil.
2889
a42943e9
GM
2890 * xfns.c (x_to_xcolors, x_set_mouse_color, lookup_pixel_color)
2891 (x_to_xcolors, png_load): Use x_query_color.
2892
2893 * xterm.c (x_color_cells, x_query_colors, x_query_color): New
2894 functions.
2895 (x_alloc_nearest_color): Use it to reduce calls to XQueryColors
2896 which can be slow.
2897 (x_copy_color, x_alloc_lighter_color): Likewise.
2898
2899 * xterm.h (struct x_display_info): Add color_cells and ncolor_cells.
2900 (x_query_color, x_query_colors): Add prototype.
2901
2902 * alloc.c (allocate_string) [GC_CHECK_STRING_BYTES]: Call
2903 check_string_bytes only if not noninteractive, increase count to 50.
2904
00de2987
MB
29052000-10-18 Miles Bader <miles@lsi.nec.co.jp>
2906
2907 * insdel.c (adjust_markers_for_delete): Handle before-insertion
2908 markers correctly.
2909
54918e2b
GM
29102000-10-17 Gerd Moellmann <gerd@gnu.org>
2911
1f0b3fd2
GM
2912 * alloc.c (pure_bytes_used): Renamed from pureptr.
2913 (ALIGN): New macro.
2914 (pure_alloc): New function.
2915 (make_pure_string, pure_cons, make_pure_float, make_pure_vector):
2916 Use it.
2917 (Fpurecopy): Use PURE_POINTER_P.
2918
68c5d1db
GM
2919 * xdisp.c (try_cursor_movement): Use cursor_row_p also when
2920 PT has moved backward.
2921
9a038881
GM
2922 * xdisp.c (cursor_row_p): Take continued lines into account.
2923
361b097f
GM
2924 * alloc.c (mark_object) [GC_CHECK_STRING_BYTES]: Check validity of
2925 string's size_byte.
2926 (check_string_bytes) [GC_CHECK_STRING_BYTES]: New function.
2927 (check_string_bytes_count) [GC_CHECK_STRING_BYTES]: New variable.
2928 (allocate_string) [GC_CHECK_STRING_BYTES]: Call it for every 10th
2929 string allocated.
2930
54918e2b
GM
2931 * xdisp.c (forward_to_next_line_start): Switch iterator's handling
2932 of selective display off while searching for the next line start.
2933
03ed0806
KH
29342000-10-17 Kenichi Handa <handa@etl.go.jp>
2935
2936 * Makefile.in (term.o): Depend on dispextern.h.
2937
7e05cdaf
SM
29382000-10-16 Stefan Monnier <monnier@cs.yale.edu>
2939
2940 * keymap.c (keymap_memberp): Ensure that nil is not a member.
2941
a6801fd1
GM
29422000-10-16 Gerd Moellmann <gerd@gnu.org>
2943
483de32b
GM
2944 * xdisp.c (set_iterator_to_next): Reset box start and end flags of
2945 the iterator at the beginning, so that they can be set later on,
2946 for instance in reseat_at_next_visible_line_start, without being
2947 overwritten.
2948
a6801fd1
GM
2949 * xfns.c (pbm_format): Add :foreground and :background keywords.
2950 (PBM_FOREGROUND, PBM_BACKGROUND): New enumerators.
483de32b 2951 (xbm_load): Recognize foreground and background color
a6801fd1
GM
2952 specifications.
2953
dbf1fcc1
EZ
29542000-10-16 Eli Zaretskii <eliz@is.elta.co.il>
2955
2956 * dispextern.h (unspecified_fg, unspecified_bg): Declare.
2957
2958 * dosfns.c (unspecified_fg, unspecified_bg): Remove extern
2959 declaration.
2960
2961 * msdos.c (IT_set_face): Compare highlighted face with the default
2962 face, and invert colors if these faces' colors are identical.
2963 (Fmsdos_remember_default_colors): Don't swap foreground and
2964 background colors in initial_colors[].
2965 (IT_set_frame_parameters): Don't swap frame's foreground and
2966 background pixels. If ALIST includes "(reverse . t)", swap
2967 foreground-color and background-color properties in frame's
2968 param_alist. If the original frame's param_alist doesn't specify
2969 the colors, store unspecified-fg and unspecified-bg, reversed if
2970 required.
2971
2972 * frame.c (Fframe_parameters): If a tty's frame's param_alist says
2973 the colors are unspecified and reversed, reverse fore- and back-
2974 ground in the returned value.
2975 (Fframe_parameter): Ditto.
2976
b41fe2c3
GM
29772000-10-16 Gerd Moellmann <gerd@gnu.org>
2978
3a6b59d9
GM
2979 * xdisp.c (find_last_unchanged_at_beg_row): Renamed from
2980 get_last_unchanged_at_beg_row.
2981 (find_first_unchanged_at_end_row): Renamed from
2982 get_first_unchanged_at_end_row.
2983 (find_first_unchanged_at_end_row): Convert assertions to
2984 unconditional tests which abort. When looking for a row in
2985 unchanged text, don't go further back than first_text_row.
2986
b41fe2c3
GM
2987 * xdisp.c (try_scrolling) <cursor in scroll margin at the bottom>:
2988 Don't add in the last line's height when deciding if the new
2989 position is below the scroll margin.
9d1af64f 2990
b41fe2c3 29912000-10-16 Miles Bader <miles@gnu.org>
f657bbf6
MB
2992
2993 * editfns.c (Fconstrain_to_field): Check carefully for field
2994 boundaries if either OLD_POS or NEW_POS has a non-nil field
2995 property, even if they're the same.
2996
c412cb7b
KH
29972000-10-16 Kenichi Handa <handa@etl.go.jp>
2998
2999 * xterm.c (x_draw_box_rect): Fix the calculation of width and
3000 height for XFillRectangle.
3001
5586f3eb
SM
30022000-10-15 Stefan Monnier <monnier@cs.yale.edu>
3003
3004 * syntax.c (Fstring_to_syntax): New function extracted from
3005 Fmodify_syntax_entry.
3006 (Fmodify_syntax_entry): Use it and document the ! and | fences.
3007 (skip_chars, Fforward_comment): Remove unused variables.
3008 (syms_of_syntax): Add defsubr for string-to-syntax.
3009 (describe_syntax): Add code for comment and string fences.
3010
db785038
SM
30112000-10-14 Stefan Monnier <monnier@cs.yale.edu>
3012
3013 * keymap.c (access_keymap): Add AUTOLOAD parameter.
3014 Do the meta->esc mapping. Call get_keyelt before returning.
3015 Start scanning from the second element (the first is always `keymap')
3016 to make it easier to detect when we reach a parent map.
3017 Handle the case of inheriting from a symbol whose function is a map.
3018 (Fkeymap_parent): Also handle the `inherit from symbol' case.
3019 (fix_submap_inheritance, Fdefine_key): Update call to access_keymap.
3020 (get_keyelt, Flookup_key): Update call to access_keymap.
3021 Remove the meta->esc mappings.
3022 (define_as_prefix): Delete old disabled code.
3023 (menu_item_p): New function.
3024 (where_is_internal_1): Skip over the few remaining menu items.
3025 * lisp.h (access_keymap): Update prototype.
3026 * keyboard.c (read_char, menu_bar_items, tool_bar_items):
3027 Update call to access_keymap.
3028 (follow_key, read_key_sequence): Update calls to access_keymap.
3029 Remove the meta->esc mappings.
3030
cafafe0b
GM
30312000-10-13 Gerd Moellmann <gerd@gnu.org>
3032
a2e2a7f6
GM
3033 * dispnew.c (direct_output_for_insert): Call set_iterator_to_next
3034 with additional argument.
3035
cafafe0b
GM
3036 * xdisp.c (cursor_row_p): New function.
3037 (try_cursor_movement, display_line): Use it.
3038
3039 * xdisp.c (append_space): Also save/restore iterator's current
3040 character and its length.
3041
3042 * xdisp.c (init_from_display_pos): Add an assertion.
3043 (handle_stop): Don't set iterator's add_overlay_start.
3044 (handle_invisible_prop): Likewise.
3045 (load_overlay_strings): If text under an overlay is invisible,
3046 take both before- and after-strings into account when the iterator
3047 is positioned either at the start or at the end of the overlay.
3048 (forward_to_next_line_start): Rewritten.
3049 (reseat_at_next_visible_line_start): Rewritten.
3050 (set_iterator_to_next): Add parameter RESEAT_P.
3051
3052 * dispextern.h (struct it): Remove member add_overlay_start.
3053 (set_iterator_to_next): Change prototype.
3054
c744452b
KH
30552000-10-13 Kenichi Handa <handa@etl.go.jp>
3056
3057 * coding.c (code_convert_region): Be sure to initialize
3058 coding->category_idx.
e4a3f4e1
KH
3059 (decode_coding_string): Set coding->src_multibyte and
3060 coding->dst_multibyte before using CODING_REQUIRE_DECODING.
3061 (encode_coding_string): Set coding->src_multibyte and
3062 coding->dst_multibyte before using CODING_REQUIRE_ENCODING.
c744452b 3063
321fd26f
SM
30642000-10-12 Stefan Monnier <monnier@cs.yale.edu>
3065
3066 * xfns.c (Fx_create_frame): Don't bother calling
3067 face-set-after-frame-default since the caller does it for us anyway.
3068
76832439
EZ
30692000-10-12 Eli Zaretskii <eliz@is.elta.co.il>
3070
3071 * window.c (coordinates_in_window): Fix detection of vertical line
3072 on character terminals.
3073
2483cf58
GM
30742000-10-12 Gerd Moellmann <gerd@gnu.org>
3075
3076 * editfns.c (save_excursion_save): Additionally record the
3077 selected window.
3078 (save_excursion_restore): If buffer was visible in a window, and a
3079 different window was selected, and the old selected window is
3080 still live, restore point in that window.
3081
eb991b25
KH
30822000-10-12 Kenichi Handa <handa@etl.go.jp>
3083
8a0eba09
KH
3084 * xterm.c (x_produce_glyphs): Handle
3085 unibyte_display_via_language_environment correctly.
3086
20401fcc
KH
3087 * regex.c (regex_compile): Change the way of handling a range from
3088 unibyte char to multibyte char.
3089
3090 * syntax.c (skip_chars): Change the way of handling a range from
3091 unibyte char to multibyte char.
3092
eb991b25
KH
3093 * process.c (read_process_output): Cancel previous change.
3094
365dd325
EZ
30952000-10-11 Eli Zaretskii <eliz@is.elta.co.il>
3096
c1b096cb
EZ
3097 * search.c (Fsearch_backward, Fsearch_forward): Doc fix.
3098
365dd325
EZ
3099 * charset.c (Ffind_charset_string): Doc fix.
3100 (Ffind_charset_region): Doc fix.
3101
eb483c2b
KH
31022000-10-11 Kenichi Handa <handa@mule.m17n.org>
3103
3104 * process.c (read_process_output): Fix previous change. Adjust
3105 multibyteness of text to insert in a buffer by
df3c11b9 3106 string_make_unibyte/multibyte instead of
eb483c2b
KH
3107 Fstring_as_unibyte/multibyte.
3108
b40bfb99
AS
31092000-10-10 Andreas Schwab <schwab@suse.de>
3110
3111 * alloc.c (mark_object): Remove all workarounds installed on
3112 1993-08-08.
3113
caff31d4
KH
31142000-10-10 Kenichi Handa <handa@etl.go.jp>
3115
3116 * fns.c (READ_QUADRUPLET_BYTE): Set *NCHARS_RETURN before
3117 returning.
3118 (base64_encode_1): Make it work for a text of multibyte form.
3119 (Fbase64_decode_region): Allocate sufficient memory for multibyte
3120 case. Don't call str_to_multibyte because base64_decode_1
3121 produces correct multibyte form for eight-bit codes.
3122 (Fbase64_decode_string): Adjusted for the change of
3123 base64_decode_1.
3124 (base64_decode_1): New args MULTIBYTE and NCHARS_RETURN. If
3125 MULTIBYTE is nonzero, produce correct multibyte form for eight-bit
3126 codes.
3127
3128 * charset.h (CHAR_STRING): Optimized for single byte characters.
3129
cba026ef
AS
31302000-10-09 Andreas Schwab <schwab@suse.de>
3131
3132 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Reset S to
3133 -1 after socket is closed, to fall through to error processing.
3134
1e21fe48
EZ
31352000-10-09 Eli Zaretskii <eliz@is.elta.co.il>
3136
3137 * msdos.c (IT_set_frame_parameters): Don't initialize Lisp_Object
365dd325 3138 variables. If ALIST includes foreground-color or
1e21fe48
EZ
3139 background-color, change also the colors of the default face for
3140 this frame.
3141
a640322e
EZ
31422000-10-08 Eli Zaretskii <eliz@is.elta.co.il>
3143
3144 * msdos.c (top-level) <Qbackground_color, Qforeground_color>: Make
3145 them extern (they are defined on xfaces.c).
3146 (syms_of_msdos): Don't intern and don't staticpro
3147 Qbackground_color and Qforeground_color.
3148
a115794c
EZ
31492000-10-07 Eli Zaretskii <eliz@is.elta.co.il>
3150
3151 * frame.c (Fframe_parameter): For non-windowed frames, if
3152 f->param_alist says foreground or background color is unspecified,
3153 call tty_color_name to return the color name computed from the
3154 frame's current colors.
3155
f5533b63
DL
31562000-10-06 Dave Love <fx@gnu.org>
3157
3158 * terminfo.c (ospeed): Don't declare.
3159
3160 * sysdep.c: Don't include string.h.
3161 (h_errno): Declare conditional also on TRY_AGAIN.
3162
3163 * charset.c (Ffind_charset_string): Doc fix.
3164
3165 * fns.c (Fbase64_encode_region, Fbase64_encode_string)
3166 (Fbase64_decode_region, Fbase64_decode_string): More explicit
3167 error messages.
3168
2b06561a
DL
31692000-10-05 Dave Love <fx@gnu.org>
3170
3171 * xmenu.c (Fx_popup_menu, Fx_popup_dialog): Check for tool-bar
3172 position like menu-bar.
3173
ca839c85
GM
31742000-10-05 Gerd Moellmann <gerd@gnu.org>
3175
3176 * keyboard.c (Frecursive_edit): Make sure redisplay can happen.
3177
3178 * xdisp.c (handle_single_display_prop): Use safe_call1.
3179 (safe_call): Renamed from call_function.
3180 (safe_call1): New function.
3181 (handle_fontified_prop): Use safe_call1 instead of call1.
3182 (safe_eval): Renamed from eval_form.
3183 (safe_eval_handler): Renamed from eval_handler.
3184 (handle_single_display_prop, display_mode_element): Use safe_eval
3185 instead of eval_form.
3186
3187 * xfaces.c (merge_face_heights): Use safe_call instead of
3188 call_function.
3189
3190 * keyboard.c (show_help_echo): Use safe_call instead of
3191 call_function; use safe_eval instead of eval_form.
3192
3193 * lisp.h (safe_call): Renamed from call_function.
3194 (safe_eval): Renamed from eval_form.
3195 (safe_call1): Add prototype.
3196
a3489ece
MB
31972000-10-05 Miles Bader <miles@lsi.nec.co.jp>
3198
3199 * xfns.c (image_ascent): Rearrange ascent calculation for the
3200 has-a-font case.
3201
35810b6f
SM
32022000-10-04 Stefan Monnier <monnier@cs.yale.edu>
3203
3204 * keymap.c (Fwhere_is_internal): Ignore `menu-bar' and `tool-bar'.
3205 (where_is_internal_1): Don't bother ignoring menu-items any more.
3206
3dc78168
GM
32072000-10-04 Gerd Moellmann <gerd@gnu.org>
3208
3209 * keyboard.c (update_menu_bindings): New variable.
3210 (parse_menu_item): Use AREF. If update_menu_bindings
3211 is 0, don't update menu bindings.
3212 (syms_of_keyboard): New Lisp variable `update-menu-bindings'.
3213
1efc2bb9
EZ
32142000-10-03 Eli Zaretskii <eliz@is.elta.co.il>
3215
3216 * alloc.c (Fgarbage_collect): Prevent compiler warning for a call
3217 to `mark_object'.
3218
3f679f55
SM
32192000-10-02 Stefan Monnier <monnier@cs.yale.edu>
3220
3221 * syntax.c (forw_comment): Match nestedness of ender/starter.
3222 (Fforward_comment): Treat an unmatched \n comment-ender as whitespace.
3223 (prev_char_comstart_first): Remove.
3224 (back_comment): Check two-char comment markers more carefully
3225 to better handle overlapping cases like *//* or /* */* */ ...
3226 Match nestedness of ender/starter.
3227
2021ab61
DL
32282000-10-02 Dave Love <fx@gnu.org>
3229
3230 * config.in (HAVE_GAI_STRERROR): Add undef.
3231
3232 * process.c (Fopen_network_stream): Use it.
3233
3234 * m/alpha.h (NO_REMAP): Don't define.
3235
64e6cc18
GM
32362000-10-02 Gerd Moellmann <gerd@gnu.org>
3237
3238 * lisp.h (wrong_type_argument): Remove NO_RETURN, the function can
3239 return with a string converted to an integer or vice versa when
3240 Vmocklisp_arguments is t.
3241 (Fsignal): Likewise. The function can return for `quit'.
3242 (struct gcpro): Declare member `var' to point to a volatile
3243 Lisp_Object.
3244
3245 * eval.c (error): Prevent compiler warning.
3246
b1904cd9
SM
32472000-09-30 Stefan Monnier <monnier@cs.yale.edu>
3248
3249 * keymap.c (keymap_memberp): New function.
3250 (Fset_keymap_parent): Use it.
3251 (fix_submap_inheritance): Use get_keyelt, get_keymap_1 and KEYMAPP.
3252 Use keymap_memberp to avoid creating cycles.
3253 (access_keymap): Use KEYMAPP.
3254
71c9ec51
GM
32552000-09-30 Gerd Moellmann <gerd@gnu.org>
3256
3257 * process.c (Fopen_network_stream) [HAVE_GETADDRINFO]: Use
64e6cc18
GM
3258 gai_strerror. Make sure xerrno is set if connect fails. Improve
3259 error recovery.
71c9ec51 3260
c70c6b58
JR
32612000-09-29 Jason Rumney <jasonr@gnu.org>
3262
3263 * w32term.c (w32_char_font_type, w32_encode_char)
3264 (x_produce_glyphs): Distinguish single and multibyte BDF fonts.
3265 (w32_bdf_per_char_metric): New function.
3266 (w32_per_char_metric): Use it.
3267 (x_draw_glyph_string_background): Always draw background for BDF
3268 glyphs.
3269
3270 * w32bdf.h (glyph_struct, cache_bitmap): Cache bitmap data, not
3271 GDI object which is a scarce resource.
3272
3273 * w32bdf.c (search_file_line): Fix skipping of whitespace.
3274 (get_quoted_string): Fix limit on memchr search.
3275 (set_bdf_font_info): Use unsigned chars. Negate yoffset.
3276 (w32_init_bdf_font): Initialize codepoint and bitmap heaps.
3277 (w32_free_bdf_font): Free bitmaps and codepoints on heaps.
3278 (get_cached_font_char, cache_char_offset): Use macro
3279 BDF_CODEPOINT_RANGE_COVER_P.
3280 (cache_char_offset): Use HeapAlloc to allocate codepoints on own heap.
3281 (clear_cached_bitmap_slots): New function.
3282 (GET_HEX_VALUE): G-Z, g-z are not hex.
3283 (w32_get_bdf_glyph): Convert to DIB format. Return bytes read.
3284 (get_bitmap_with_cache): Use new cache implementation.
3285 (create_offscreen_bitmap): New function.
3286 (w32_BDF_TextOut): Use it. Draw glyphs as DIBs.
3287
3288 * w32term.c (x_produce_glyphs): If the distance from the current
3289 position to the next tab stop is less than a canonical character
3290 width, use the tab stop after that.
3291 (x_draw_glyphs): Handle case START and END are out of bounds more
3292 carefully.
3293 (x_clear_mouse_face): Block/unblock input.
3294 (x_display_and_set_cursor): Don't show a hollow box cursor for
3295 buffers whose cursor_type is nil.
3296
fe01239f
GM
32972000-09-29 Gerd Moellmann <gerd@gnu.org>
3298
3299 * xfns.c (x_set_tool_bar_lines): Clear frame when tool bar
3300 disappears.
3301
3302 * dispextern.h (updating_frame): Declare extern.
3303
e7c52f1f
AS
33042000-09-29 Andreas Schwab <schwab@suse.de>
3305
3306 * m/ia64.h: Remove hack of not prototyping bcopy, etc.
3307
de6e1f7c
GM
33082000-09-29 Gerd Moellmann <gerd@gnu.org>
3309
25126faa
GM
3310 * keyboard.c (menu_bar_one_keymap): If KEYMAP is a symbol,
3311 use its function definition.
3312 (tool_bar_items): Likewise.
3313
de6e1f7c
GM
3314 * lisp.h (fatal): Declare NO_RETURN.
3315
454ee39b
KH
33162000-09-29 Kenichi Handa <handa@etl.go.jp>
3317
3318 * keymap.c: Remove the line "#undef NULL".
3319
96301c5f
GM
33202000-09-28 Gerd Moellmann <gerd@gnu.org>
3321
3322 * xterm.c (x_make_frame_visible): Try harder to make the frame
3323 visible.
3324
efffeeb4
DL
33252000-09-28 Dave Love <fx@gnu.org>
3326
ecb8b666
DL
3327 * s/osf5-0.h: Define USE_MMAP_FOR_BUFFERS, not REL_ALLOC_MMAP.
3328
dc3cd20f
DL
3329 * s/sunos413.h (USE_MMAP_FOR_BUFFERS): Define.
3330
3331 * .gdbinit (xreload): Note its need on GNU/Linux.
3332
efffeeb4
DL
3333 * m/alpha.h (XUINT) [REL_ALLOC && _MALLOC_INTERNAL]: Don't declare
3334 r_alloc, r_alloc_free.
3335
8610d903
KH
33362000-09-28 Kenichi Handa <handa@etl.go.jp>
3337
3338 * syntax.c (skip_chars): Handle negation correctly.
3339
8901d1ac
GM
33402000-09-27 Gerd Moellmann <gerd@gnu.org>
3341
6f22f1ad
GM
3342 * xfaces.c (realize_default_face): Call set_lface_from_font_name
3343 with non-zero FORCE_P argument.
3344
8901d1ac
GM
3345 * dispnew.c (adjust_glyph_matrix, enable_glyph_matrix_rows):
3346 Add assertions.
3347
3348 * xdisp.c (window_box_height): Add an assertion.
3349
3350 * xfns.c (x_set_tool_bar_lines): Don't use more lines for the
3351 tool-bar than is available.
3352 (x_change_window_heights): Renamed from x_set_menu_bar_lines_1.
3353
36f1966f
DL
33542000-09-27 Dave Love <fx@gnu.org>
3355
efffeeb4 3356 * s/irix6-5.h: Now works 64-bit. Tidied.
36f1966f 3357
31d929e5
GM
33582000-09-26 Gerd Moellmann <gerd@gnu.org>
3359
c98863bf
GM
3360 * lisp.h (XINT) [EXPLICIT_SIGN_EXTEND]: Use BITS_PER_EMACS_INT
3361 instead of BITS_PER_INT.
3362 (XINT, XUINT) [NO_UNION_TYPE]: Cast result to EMACS_INT and
3363 EMACS_UINT, respectively.
3364 (NO_UNION_TYPE) [USE_LISP_UNION_TYPE]: Undefine.
3365
3366 * m/sparc.h (BITS_PER_EMACS_INT) [__arch64__]: Don't define.
3367
3368 * unexelf.c (ELFSIZE) [__NetBSD__ && __sparc_v9__]: Define to 64.
3369
77072ab1
GM
3370 * window.c (freeze_window_starts): Construct last argument for
3371 foreach_window differently.
3372
3373 * xfns.c (x_decode_color): Don't return a Lisp_Object.
3374
3375 * lisp.h (union Lisp_Object) [!NO_UNION_TYPE]: Use EMACS_INT and
3376 EMACS_UINT instead of `int' and `unsigned int'.
3377 (XSET) [EXPLICIT_SIGN_EXTEND]: Use EMACS_INT instead of `int'.
3378
3379 * frame.h (struct frame): Make the `nothing' member of union
3380 output_data an EMACS_INT.
3381
31d929e5
GM
3382 * alloc.c (GC_CHECK_STRING_BYTES): Temporarily define, for bug
3383 hunting.
3384 (struct sdata) [GC_CHECK_STRING_BYTES]: Always record the string's
3385 size in the sdata structure.
3386 (SDATA_NBYTES, SDATA_DATA): New macros.
3387 (SDATA_OF_STRING, SDATA_SIZE) [GC_CHECK_STRING_BYTES]: Define
3388 differently for the different layout of the sdata structure.
3389 (allocate_string_data) [GC_CHECK_STRING_BYTES]: Record string size
3390 in sdata.
3391 (sweep_strings, compact_small_strings) [GC_CHECK_STRING_BYTES]:
3392 Check that size recorded in the string size and size recorded in
3393 the sdata structure agree.
3394
3e60b029
DL
33952000-09-25 Dave Love <fx@gnu.org>
3396
3397 * buffer.c: Include stdio.h.
3398
3399 Partly suggested by Eduardo Horvath <eeh@netbsd.org>.
3400
3401 * ralloc.c (__malloc_extra_blocks): Declare as __malloc_size_t.
3402
3403 * alloc.c (__malloc_size_t) [DOUG_LEA_MALLOC]: Don't redefine it.
3404 (__malloc_size_t) [!DOUG_LEA_MALLOC]: Define unconditionally as
3405 size_t.
3406 (__malloc_extra_blocks): Declare as __malloc_size_t.
3407
8ff16b4e
GM
34082000-09-25 Gerd Moellmann <gerd@gnu.org>
3409
755a2ccd
GM
3410 * alloc.c (mark_image): Use GC_NILP instead of NILP.
3411
d8b4516f
GM
3412 * keyboard.c (show_help_echo): Set help_echo_showing_p.
3413 (read_char): If help-echo is showing, preserve the echo area
3414 when redisplaying.
3415
3416 * xdisp.c (help_echo_showing_p): New variable.
3417 (set_message): Reset it to 0.
3418 (init_xdisp): Initialize help_echo_showing_p.
3419
3420 * dispextern.h (help_echo_showing_p): Declare extern.
3421
3422 * config.in: Fix typo in __GNUC_MINOR__.
3423
3424 * keyboard.h (quit_throw_to_read_char): Declare NO_RETURN.
3425
b11af2dd
GM
3426 * s/freebsd.h (POSIX_SIGNALS): Define.
3427
8ff16b4e
GM
3428 * xterm.c (x_clear_mouse_face): Block/unblock input.
3429
844eb643
DL
34302000-09-24 Dave Love <fx@gnu.org>
3431
3432 * fns.c (base64_encode_1): Fix last change.
3433
b30ab1b3
GM
34342000-09-22 Gerd Moellmann <gerd@gnu.org>
3435
3436 * dispnew.c (enable_glyph_matrix_rows): Remove xasserts.
3437
3438 * xdisp.c (try_window_reusing_current_matrix): More fixes
3439 for the case window has a header-line.
3440
c6cbe5f0
DL
34412000-09-22 Dave Love <fx@gnu.org>
3442
4c7c1f3f
DL
3443 * xdisp.c (syms_of_xdisp): Defvar Vmenu_bar_update_hook to provide
3444 a doc string.
3445
3446 * xterm.c [SOLARIS2]: Remove redundant include of string.h.
3447
c6cbe5f0
DL
3448 * fns.c (Fstring_as_unibyte, Fstring_as_multibyte): Doc fix.
3449
550a625e
GM
34502000-09-21 Gerd Moellmann <gerd@gnu.org>
3451
4c7c1f3f 3452 * config.in (NO_RETURN): Define as `__attribute__((__noreturn__))'
fca99116
GM
3453 for GCC >= 2.5.
3454
3455 * lisp.h (wrong_type_argument, Fthrow, Fsignal, error): Declare
3456 NO_RETURN.
3457
80d26f99
GM
3458 * window.c, term.c, xmenu.c, xrdb.c, emacs.c, macros.c,
3459 * keymap.c, insdel.c, marker.c, minibuf.c, fileio.c, dired.c,
3460 * indent.c, search.c, alloc.c, data.c: Avoid some more compiler
3461 warnings.
3462
3463 * marker.c (byte_char_debug_check): Return void.
3464
623a0aae
GM
3465 * xfns.c (Fx_create_frame): Set default frame parameter value
3466 for tool-bar-lines to 1.
3467
3468 * dispnew.c (scrolling_window): Compare y-positions of rows
3469 equal at the start. Some simplification.
3470
3471 * xdisp.c (try_window_reusing_current_matrix): Fix computation of
3472 reused rows' y-position in the case window has a header-line, and
3473 new window start is greater than old window start.
3474
42ac0ae5
GM
3475 * process.c (process_sent_to): New variable.
3476 (send_process): Workaround for a crash on sparc-sun-solaris-2.6
3477 with GCC 2.95.2 caused by a parameter being clobbered by longjmp.
3478 Declare more parameters volatile.
3479
550a625e
GM
3480 * lread.c (Vrecursive_load_depth_limit): New variable.
3481 (Fload): Check recursive loads whose recursion depth exceeds
3482 Vrecursive_load_depth_limit.
3483 (syms_of_lread): DERFAR_LISP recursive-load-depth-limit.
3484
8320414c
GM
34852000-09-20 Gerd Moellmann <gerd@gnu.org>
3486
f46c275e
GM
3487 * fileio.c (Fread_file_name): Doc fix.
3488
3489 * editfns.c (Fmessage_or_box): Doc fix.
3490
3491 * fns.c (Fy_or_n_p, Fyes_or_no_p): Doc fix.
3492
b7e11c5b
GM
3493 * xfns.c (xbm_scan): Allow C-style comments.
3494
8320414c
GM
3495 * xfns.c (xpm_init_color_cache) [ALLOC_XPM_COLORS]: If color
3496 symbols are specified, add color translations to the cache.
3497 (xpm_color_bucket, xpm_cache_color) [ALLOC_XPM_COLORS]: New
3498 functions.
3499 (xpm_lookup_color) [ALLOC_XPM_COLORS]: Use xpm_color_bucket and
3500 xpm_cache_color.
3501 (xpm_load) [ALLOC_XPM_COLORS]: Pass frame and XPM attributes
3502 structures to xpm_init_color_cache.
3503
da1608d9
GM
35042000-09-19 Gerd Moellmann <gerd@gnu.org>
3505
3506 * dispnew.c (update_window_line): Make sure to always draw
3507 mode-lines.
3508
6badfa25
AI
35092000-09-19 Andrew Innes <andrewi@gnu.org>
3510
3511 * makefile.nt (bootstrap-emacs): Don't change directory.
3512
3a5f42bb
KH
35132000-09-19 Kenichi Handa <handa@etl.go.jp>
3514
1b7649bd
KH
3515 * charset.h (UNIBYTE_STR_AS_MULTIBYTE_P): Fix previous change.
3516
3a5f42bb
KH
3517 * ccl.c (Fccl_execute_on_string): Make multibyte string correctly.
3518 If output buffer is too small, signal an appropriated error.
3519
9f83cf0b
DL
35202000-09-18 Dave Love <fx@gnu.org>
3521
3522 * keyboard.c (menu_bar_items, tool_bar_items)
3523 (current_active_maps): Remove redundant get_local_map call.
3524
28c7826c
GM
35252000-09-18 Gerd Moellmann <gerd@gnu.org>
3526
5cefa566
GM
3527 * xterm.c (x_display_and_set_cursor): Don't show a hollow box
3528 cursor for buffers whose cursor_type is nil.
3529
6fed3546
GM
3530 * xterm.c (x_draw_image_glyph_string): Remove a comment describing
3531 a feature to implement that is already implemented.
3532 (note_mouse_highlight, x_find_ccl_program): Avoid some compiler
3533 warnings.
3534
3535 * xfns.c (x_clear_image_1): New function.
3536 (x_clear_image): Use it.
3537 (x_from_xcolors): Use x_clear_image_1; don't free the image's
3538 mask.
3539
05b1f851
GM
3540 * dispnew.c (update_window): Move test for invisible lines
3541 at the top to update_window_line.
3542 (update_window_line): Handle invisible lines here.
3543
f4779de9
GM
3544 * xfns.c (clear_image_cache): Clear current matrices of all
3545 frames sharing an image cache. Block input while freeing
3546 images. Fix timestamp comparison.
3547 (x_clear_image): Also free the mask.
3548
28c7826c
GM
3549 * xfns.c (lookup_image): Block input while loading the image so
3550 that we won't get interrupted in a state where the image isn't yet
3551 set up completely.
3552 (xbm_load_image, xbm_load, xpm_load, xpm_load, lookup_rgb_color)
3553 (lookup_pixel_color, x_to_xcolors, x_from_xcolors)
3554 (x_disable_image, x_build_heuristic_mask, pbm_load, png_load)
3555 (jpeg_load, tiff_load, gif_load, gs_load): Don't block/unblock
3556 input.
3557
b7412313
GM
35582000-09-16 Gerd Moellmann <gerd@gnu.org>
3559
3560 * dispnew.c (update_window): Make sure to make desired rows
3561 current even if they are completely invisible at the top
3562 of a window.
3563
47e351a3
GM
35642000-09-15 Gerd Moellmann <gerd@gnu.org>
3565
7f8f1edc
GM
3566 * xfns.c (lookup_image): Build mask before applying an algorithm.
3567 Recognize algorithm `disabled'.
3568 (cross_disabled_images): New variable.
3569 (COLOR_INTENSITY): New macro.
3570 (x_detect_edges): Use COLOR_INTENSITY.
3571 (x_disable_image): New function.
3572 (syms_of_xfns): DEFVAR_BOOL cross_disabled_images.
3573
3574 * xdisp.c (build_desired_tool_bar_string): For a toolbar item in
3575 disabled state, don't apply an image transformation algorithm if
3576 the user specified an image for the disabled state. Use
28c7826c 3577 `:algorithm disabled' for creating a disabled item's image if the
7f8f1edc
GM
3578 user hasn't specified an image.
3579
ebb8f116
GM
3580 * xfns.c (ALLOC_XPM_COLORS): Define if we can use Emacs' color
3581 allocation functions with the XPM lib.
3582 (struct xpm_cached_color) [ALLOC_XPM_COLORS]: New structure.
3583 (XPM_COLOR_CACHE_BUCKETS) [ALLOC_XPM_COLORS]: New macro.
3584 (xpm_color_cache) [ALLOC_XPM_COLORS]: New variable.
3585 (xpm_init_color_cache, xpm_free_color_cache, xpm_lookup_color)
3586 (xpm_alloc_color, xpm_free_colors) [ALLOC_XPM_COLORS]: New
3587 functions.
3588 (xpm_load) [ALLOC_XPM_COLORS]: Use Emacs' own color allocation
3589 functions, if possible, because these handle color allocation
3590 failure more gracefully.
3591 (Fimage_mask_p): New function.
3592
47e351a3
GM
3593 * xfns.c (QCmatrix, QCcolor_adjustment, QCmask, Qemboss)
3594 (Qedge_detection, Qheuristic): New symbols.
3595 (syms_of_xfns): Initialize new symbols.
3596 (lookup_image): Handle `:mask X', `:algorithm emboss', and
3597 `algorithm (edge-detection ...)'.
3598 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format):
3599 (tiff_format, gif_format, gs_format): Add `:mask'.
3600 (XBM_MASK, XPM_MASK, PBM_MASK, PNG_MASK, JPEG_MASK, TIFF_MASK)
3601 (GIF_MASK, GS_MASK): New enumerators.
3602 (x_laplace_read_row, x_laplace_write_row): Functions removed.
3603 (emboss_matrix, laplace_matrix): New variables.
3604 (x_to_xcolors, x_from_xcolors, x_detect_edges, x_emboss)
3605 (x_edge_detection): New functions.
3606 (x_laplace): Rewritten in terms of x_detect_edges.
3607 (x_build_heuristic_mask): If image has a mask, free it.
3608
fe83b953
AI
36092000-09-14 Andrew Innes <andrewi@gnu.org>
3610
3611 * makefile.w32-in: Revert to Unix line endings.
3612
3021e816
AI
36132000-09-14 Andrew Innes <andrewi@gnu.org>
3614
3615 * makefile.w32-in: Standardize indentation somewhat.
3616 (bootstrap-temacs): Use $(ARGQUOTE) instead of literal quotes, to
3617 cater for differences between shells.
3618
3619 * w32term.c (w32_per_char_metric): Handle non-TrueType fonts.
3620
2a32b5ea
GM
36212000-09-14 Gerd Moellmann <gerd@gnu.org>
3622
3623 * xterm.c (x_produce_glyphs): If the distance from the current
3624 position to the next tab stop is less than a canonical character
3625 width, use the tab stop after that.
3626
b4331e96
DL
36272000-09-14 Dave Love <fx@gnu.org>
3628
3629 * buffer.c (alloc_buffer_text): Fix xmalloc call.
3630
ef9e4345
GM
36312000-09-14 Gerd Moellmann <gerd@gnu.org>
3632
085536c2
GM
3633 * xdisp.c (handle_fontified_prop): While running fontification
3634 functions, bind `fontification-functions' and
3635 `after-change-functions' to nil.
3636
ef9e4345
GM
3637 * s/freebsd.h, s/irix-5.0.h, s/sol2.h, s/template.h
3638 (USE_MMAP_FOR_BUFFERS): Define instead of REL_ALLOC_MMAP.
3639
3640 * Makefile.in (mallocobj) [SYSTEM_MALLOC]: Don't add ralloc.o.
3641
3642 * emacs.c: Change conditional compilation on REL_ALLOC_MMAP to
3643 USE_MMAP_FOR_BUFFERS.
3644
3645 * insdel.c (make_gap): Use enlarge_buffer_text.
3646
3647 * buffer.c: Move allocation with mmap here, from ralloc.c. Change
3648 conditional compilation on REL_ALLOC_MMAP to USE_MMAP_FOR_BUFFERS.
3649 (mmap_alloc, mmap_free, mmap_realloc) [REL_ALLOC_MMAP]: Renamed
3650 from former r_alloc_* functions in ralloc.c.
3651 (mmap_page_size, mmap_initialized_p) [REL_ALLOC_MMAP]: New
3652 variables.
3653 (MEM_ALIGN) [REL_ALLOC_MMAP]: New macro.
3654 (mmap_init) [REL_ALLOC_MMAP]: New function.
3655 (alloc_buffer_text, enlarge_buffer_text, free_buffer_text): New
3656 functions replacing macros BUFFER_ALLOC, BUFFER_REALLOC, and
3657 BUFFER_FREE.
3658
3659 * buffer.h (BUFFER_ALLOC, BUFFER_REALLOC, BUFFER_FREE): Removed.
3660 (enlarge_buffer_text): Add prototype.
3661
3662 * ralloc.c: Remove everything having to do with the use of mmap.
3663
f8608968
GM
36642000-09-13 Gerd Moellmann <gerd@gnu.org>
3665
2a494b2d
GM
3666 * sound.c (Fplay_sound): Doc fix.
3667
8c907a56
GM
3668 * keyboard.c: Avoid some more compiler warnings.
3669 (parse_tool_bar_item): Ignore cached key bindings.
3670
f8608968
GM
3671 * alloc.c: Add some comments about DOUG_LEA_MALLOC's use of mmap
3672 and allocation of Lisp data.
3673
6ab70e9a
GM
36742000-09-12 Gerd Moellmann <gerd@gnu.org>
3675
d12d0a9b
GM
3676 * xfaces.c: Remove conditional compilation on SCALABLE_FONTS.
3677 (Finternal_set_lisp_face_attribute): If frame is 0, set new frame
3678 defaults first.
3679
6ab70e9a
GM
3680 * lread.c (Fload): Put code checking for recursive loads in #if 0.
3681
63c36c3c
KH
36822000-09-12 Miyashita Hisashi <himi@meadowy.org>
3683
3684 * ccl.c: Comment fixed.
3685 (MAX_MAP_SET_LEVEL): Increased to 30.
3686 (PUSH_MAPPING_STACK): Enclose with do-while block.
3687 (POP_MAPPING_STACK): Likewise.
3688 (stack_idx_of_map_multiple): New variable.
3689 (CCL_CALL_FOR_MAP_INSTRUCTION): New macro.
3690 (ccl_driver) <CCL_IterateMultipleMap>: If the content is a symbol,
3691 call the corresponding CCL program by
3692 CCL_CALL_FOR_MAP_INSTRUCTION.
3693 (ccl_driver) <CCL_MapSingle>: Likewise.
3694 (ccl_driver) <CCL_MapMultiple>: Rewritten to fix many bugs, deal
3695 with the case where looking up process reaches to the end of
3696 map-set, and call CCL programs as the above change.
3697
7ee3bd7b
GM
36982000-09-11 Gerd Moellmann <gerd@gnu.org>
3699
8ec8a5ec
GM
3700 * xfns.c (png_load, jpeg_load): Declare some variables volatile
3701 that might be clobbered by longjmp.
3702 (check_x_display_info, x_decode_color, create_frame_xic)
3703 (Fx_display_backing_store, Fx_display_visual_class)
3704 (x_build_heuristic_mask, pbm_scan_number): Avoid compiler
3705 warnings.
3706
f74b0705
GM
3707 * lread.c (init_lread): Set Vloads_in_progress to nil.
3708 (Fload): Show list of recursively loaded files, when signaling an
3709 error.
3710
7ee3bd7b
GM
3711 * lread.c (Vloads_in_progress): New variable.
3712 (record_load_unwind): New function.
3713 (Fload): Check for recursive loads.
3714 (syms_of_lread): Initialize Vloads_in_progress.
3715 (read_integer, read1): Avoid some compiler warnings.
3716
3717 * fns.c (concat, Fsubstring, internal_equal, Fnconc): Avoid some
3718 compiler warnings.
3719
974e1e5b
MB
37202000-09-11 Miles Bader <miles@gnu.org>
3721
3722 * editfns.c (Fbuffer_string): Doc fix.
3723
9824c4e3
GM
37242000-09-10 Gerd Moellmann <gerd@gnu.org>
3725
3726 * ralloc.c (mmap_enlarge): Don't return 0 if successful.
3727
6a72fdd1
KR
37282000-09-09 Ken Raeburn <raeburn@gnu.org>
3729
3730 * s/netbsd.h: Use NOT_C_CODE, not NO_C_SOURCE, when deciding
3731 whether to include other header files.
3732
28e6fb66
GM
37332000-09-09 Gerd Moellmann <gerd@gnu.org>
3734
3735 * xfaces.c (CYCLE_CHECK): Don't use the Lisp_Object returned
9824c4e3 3736 by Fmemq as a boolean.
28e6fb66 3737
7f8b6551
SM
37382000-09-08 Stefan Monnier <monnier@cs.yale.edu>
3739
3740 * xfaces.c (Finternal_set_lisp_face_attribute): Minor thinko.
3741
a8710abf
GM
37422000-09-08 Gerd Moellmann <gerd@gnu.org>
3743
d1a02881
GM
3744 * ralloc.c (mmap_fd): Remove initializer which can make it
3745 read-only in a dumped Emacs.
3746 (mmap_fd_1): New variable.
3747 (mmap_set_vars): Remove local `fd'. Save mmap_fd in mmap_fd_1,
3748 restore it from there.
3749 (r_alloc, r_re_alloc, r_alloc_free): Call r_alloc_init
3750 unconditionally so that mmap_fd can be initialized there.
3751 (r_alloc_init_fd): Open-coded in r_alloc_init; function removed.
3752 (r_alloc_init) [REL_ALLOC_MMAP && !MAP_ANON]: Open /dev/zero.
3753 (r_alloc_init) [REL_ALLOC_MMAP && MAP_ANON]: Set mmap_fd to -1.
3754
c454aac1
GM
3755 * xfaces.c (Finternal_merge_in_global_face): Return a Lisp object.
3756
3757 * xdisp.c (dump_glyph_row): Fix printf format string.
3758 (display_line, move_it_in_display_line_to): Avoid compiler
3759 warnings.
3760
fc653ef2
GM
3761 * s/freebsd.h (GC_MARK_STACK, REL_ALLOC_MMAP): Define.
3762
3015eec0
GM
3763 * keymap.c (Fset_keymap_parent): Check for cycles in keymap
3764 inheritance.
3765
bfe0ee88
GM
3766 * xdisp.c (try_window_id): When trying to locate cursor in
3767 unchanged rows at the top, handle the case that we can't find it.
3768
a8710abf
GM
3769 * xterm.c (x_draw_glyphs): Handle case START and END are out
3770 of bounds more carefully.
3771
6b7d4ae4
DL
37722000-09-08 Dave Love <fx@gnu.org>
3773
423193c5
DL
3774 * s/sol2.h (REL_ALLOC_MMAP): Define.
3775 * s/irix5-0.h (REL_ALLOC_MMAP): Likewise.
3776
3777 * ralloc.c: Don't include string.h (redundant).
3778 (MAP_ANON) [REL_ALLOC_MMAP]: Ensure it's defined.
3779 [!MAP_ANON]: Include fcntl.h.
3780 (mmap_fd) [REL_ALLOC_MMAP]: New variable.
3781 (r_alloc, r_re_alloc, r_alloc_free)
3782 (mmap_enlarge, mmap_set_vars): Use it.
3783 (r_alloc_init_fd): New function.
3784 (__morecore) [SYSTEM_MALLOC]: Don't declare.
3785 (r_alloc_init): Call r_alloc_init_fd. Conditionalize stuff on
3786 malloc type.
3787
3788 * Makefile.in (allocaobj) [!SYSTEM_MALLOC && REL_ALLOC_MMAP]:
3789 Remove vm-limit.o.
3790
6b7d4ae4
DL
3791 * unexelf.c (SHT_MIPS_DEBUG, HDRR) [__mips__]: Really confine last
3792 change to __NetBSD__.
3793
44d31981
KH
37942000-09-08 Kenichi Handa <handa@etl.go.jp>
3795
3796 * search.c (compile_pattern): Check the multibyteness of cached
3797 string and PATTERN.
3798
aad40737
MB
37992000-09-08 Miles Bader <miles@gnu.org>
3800
3801 * xfaces.c (default_face_vector): Function removed.
3802 (Finternal_merge_in_global_face): Restore old global/local
3803 attribute override order. Use inline loop instead of calling
3804 default_face_vector.
3805
91a211b5
GM
38062000-09-07 Gerd Moellmann <gerd@gnu.org>
3807
3808 * ralloc.c (obtain, relinquish, relinquish, r_alloc_size_in_use)
3809 (get_bloc, relocate_blocs, update_heap_bloc_correspondence)
3810 (resize_bloc, r_alloc_sbrk, r_alloc_init): Add casts to `char *'
3811 where necessary, in case POINTER_TYPE is `void'.
3812
03419440
EZ
38132000-09-07 Eli Zaretskii <eliz@is.elta.co.il>
3814
3815 * frame.c (make_terminal_frame): Initialize frame foreground and
3816 background colors to unspecified, for the initial instance of an
3817 MSDOS frame.
3818
f46f845b
GM
38192000-09-07 Gerd Moellmann <gerd@gnu.org>
3820
24f76fbf
GM
3821 * ralloc.c (mmap_find): Fix overlap computation.
3822 (mmap_enlarge): Compute nbytes before trying to find an
3823 overlapping region.
3824
f46f845b
GM
3825 * xfaces.c (smaller_face): Compare font heights with `<' and `>'
3826 instead of `!='.
3827
3828 * lread.c (syms_of_lread): Change value of regexp
3829 Vbytecomp_version_regexp to not match some XEmacs-compiled files.
3830
3831 * xmenu.c (xdialog_show): When looking up the selection in
3832 menu_items, take `quote' boundaries into account; this corresponds
3833 to a nil ITEM in x-popup-dialog.
3834
3c014385
KH
38352000-09-07 Kenichi Handa <handa@etl.go.jp>
3836
fd6f711b
KH
3837 * charset.h (MIN_CHARSET_OFFICIAL_DIMENSION1): Define it as 0x80,
3838 not 0x81.
3839 (MIN_CHAR_OFFICIAL_DIMENSION1): Define it as ((0x81 - 0x70) << 7).
3840
3c014385 3841 * coding.c (encode_coding_sjis_big5): Use translation table for
ed254191
KH
3842 encoding, not decoding. Fix the handling of latin-jisx0201.
3843 Check for the charset katakana-jisx0201 too.
3c014385 3844 (ONE_MORE_CHAR): Call translate_char with CHARSET arg -1.
f46f845b 3845 (detect_coding_sjis): Check the byte sequence more rigidly.
3c014385 3846
0da3ecef
GM
38472000-09-07 Gerd Moellmann <gerd@gnu.org>
3848
ab0ee409
GM
3849 * xfaces.c (Vparam_value_alist): New variable.
3850 (syms_of_xfaces): Initialize it.
3851 (Finternal_set_lisp_face_attribute): Avoid more consing.
3852
3853 * frame.c (Fframe_parameter): Handle `name' and `background-mode'
3854 specially.
3855 (Fframe_parameter) [HAVE_X_WINDOWS]: Handle `display' specially.
3856 (Qbackground_mode): New variable.
3857 (syms_of_frame_1): Initialize Qbackground_mode.
3858
3859 * lisp.h (Qdisplay): Declare extern.
1091dd67 3860
0da3ecef
GM
3861 * xfaces.c (Finternal_set_lisp_face_attribute): If FRAME is 0,
3862 change face on all frames, and change the default for new frames.
3863
b14654b9
DL
38642000-09-07 Dave Love <fx@gnu.org>
3865
3866 * Makefile.in [!SYSTEM_MALLOC && REL_ALLOC_MMAP]: Set mallocobj.
3867
d24fd56f
KH
38682000-09-07 Kenichi Handa <handa@etl.go.jp>
3869
794f3670
KH
3870 * charset.h (MAKE_CHAR): Be sure to set MSB of C1 to 0.
3871
0fddd0dc
KH
3872 * charset.c: Include composite.h
3873 (lisp_string_width): New function.
3874 (Fstring_width): Call lisp_string_width instead of strwidth.
3875
3876 * Makefile.in (charset.o): Depends on composite.h.
3877
d24fd56f
KH
3878 * process.c (read_process_output): Before inserting the decoded
3879 text in the buffer, adjust the multibyteness.
3880
fa0b693c
GM
38812000-09-06 Gerd Moellmann <gerd@gnu.org>
3882
73b77ee5
GM
3883 * buffer.c (set_buffer_internal_1) [REL_ALLOC_MMAP]: If
3884 buffer's text buffer is null, map new memory.
3885
0a58f946
GM
3886 * ralloc.c (POINTER, SIZE) [emacs]: Define in terms of
3887 POINTER_TYPE and size_t.
3888 (struct mmap_region) [REL_ALLOC_MMAP]: New structure.
3889 (mmap_regions, mmap_regions_1) [REL_ALLOC_MMAP]: New variables.
3890 (ROUND, MMAP_REGION_STRUCT_SIZE, MMAP_REGION, MMAP_USER_AREA)
3891 [REL_ALLOC_MMAP]: New macros.
3892 (mmap_find, mmap_free, mmap_enlarge, mmap_set_vars)
3893 (mmap_mapped_bytes, r_alloc, r_re_alloc, r_alloc_free)
3894 [REL_ALLOC_MMAP]: New functions.
3895
3896 * emacs.c (Fdump_emacs) [REL_ALLOC_MMAP]: Call mmap_set_vars
3897 before and after unexec.
3898
3899 * buffer.c (init_buffer) [REL_ALLOC_MMAP]: Map new buffer
3900 text buffers if necessary.
3901
3902 * buffer.h (R_ALLOC_DECLARE): Removed because unused.
3903 (r_alloc, r_re_alloc, r_alloc_free): Use POINTER_TYPE and size_t
3904 in prototypes.
3905
fa0b693c
GM
3906 * config.in (HAVE_MMAP): Add #undef.
3907
877055f6
GM
39082000-09-05 Gerd Moellmann <gerd@gnu.org>
3909
08ba3862
GM
3910 * frame.c (Qdisplay_type): New variable.
3911 (syms_of_frame_1): Initialize it.
3912 (Fframe_parameter): New function that avoids consing.
3913 (syms_of_frame): Defsubr it.
3914
66ffe51c
GM
3915 * buffer.c (Fother_buffer): Consider buffers as invisible when
3916 they are displayed in a window on an invisible frame.
3917
877055f6
GM
3918 * window.c (window_loop) <GET_LARGEST_WINDOW>: Fix bug making
3919 get-largest-window always return nil.
3920
bb970e67
GM
39212000-09-04 Gerd Moellmann <gerd@gnu.org>
3922
3923 * lread.c (syms_of_lread): Make Vbytecomp_version_regexp a Lisp
3924 variable; recognize Emacs 19 elc files.
3925
7a3d0e0e
MB
39262000-09-04 Miles Bader <miles@gnu.org>
3927
3928 * xmenu.c (xmenu_show): Call x_set_menu_resources_from_menu_face
3929 before initially popping up the menu, so the menu doesn't flash
3930 when the face settings are significantly different from the
3931 defaults.
3932
14473664
SM
39332000-09-04 Stefan Monnier <monnier@cs.yale.edu>
3934
3935 * regex.c (WIDE_CHAR_SUPPORT): New macro.
3936 (btowc, iswctype, wctype) [_LIBC]: Redefine to __<fun>.
3937 (BIT_ALPHA, BIT_ALNUM, BIT_ASCII, BIT_NONASCII, BIT_GRAPH, BIT_PRINT)
3938 (BIT_UNIBYTE): Remove.
3939 (re_match_2_internal): Delete corresponding code and streamline the
3940 BIT_MULTIBYTE case to not bother checking ISUNIBYTE.
3941 (CHAR_CLASS_MAX_LENGTH) [!WIDE_CHAR_SUPPORT]: Set to 9 rather than 6.
3942 (re_wctype_t): New type.
3943 (re_wctype, re_iswctype, re_wctype_to_bit): New functions.
3944 (regex_compile): Use them and fix handling of overly long char classes.
3945
c1174479
AI
39462000-09-03 Andrew Innes <andrewi@gnu.org>
3947
f8803e97
AI
3948 * makefile.w32-in: Change to DOS line endings.
3949
c1174479
AI
3950 * s/ms-w32.h (ORDINARY_LINK): New define.
3951
3952 * w32.c (_ANONYMOUS_UNION) [__GNUC__]: New define
3953 (_ANONYMOUS_STRUCT) [__GNUC__]: New define.
3954
3955 * makefile.w32-in (clean): Don't delete config.h and epaths.h.
3956 (distclean): Delete them here instead.
3957
44ef7cf6
AI
3958 * w32proc.c (compare_env): Convert to uppercase for comparison,
3959 not lowercase, to match how the native Windows shell works.
3960
49b3bd82
JR
39612000-09-03 Jason Rumney <jasonr@gnu.org>
3962
3963 * ChangeLog: Remove -unix from coding. Let Emacs autodetect, as
3964 CVS changes the line-ends when checking in/out on DOS/Windows.
3965
3966 * makefile.nt (emacs): Do not change directory to run temacs, as
3967 the load-path is set relative to current directory.
3968
a3d35a39
MB
39692000-09-03 Miles Bader <miles@gnu.org>
3970
3971 * xterm.c (x_alloc_lighter_color_for_widget): New function.
3972
d276b0cf
GM
39732000-09-02 Gerd Moellmann <gerd@gnu.org>
3974
715e84c9
GM
3975 * xdisp.c (redisplay_mode_lines): New function.
3976 (display_mode_lines): Return number of mode lines displayed.
3977 (echo_area_display): Use redisplay_mode_lines to draw garbaged
3978 mode lines. Don't temporarily bind redisplay-dont-pause to t.
3979
8892f40b
GM
3980 * emacs.c, callint.c, doc.c, editfns.c: Remove includes of
3981 string.h and strings.h.
3982 (index) [HAVE_INDEX]: Add prototype.
3983
d276b0cf
GM
3984 * unexelf.c (SHT_PROGBITS) [__NetBSD__ && !PT_LOAD]: Don't define.
3985 (SHT_MIPS_DEBUG, HDRR) [__NetBSD__ && __mips__]: Define.
3986
3987 * s/netbsd.h [!NO_C_SOURCE]: Include <signal.h>.
3988 (GC_SETJMP_WORKS, GC_MARK_STACK): Define.
3989
38404229
GM
39902000-09-01 Gerd Moellmann <gerd@gnu.org>
3991
3992 * lread.c (read1): Accept `?' as symbol constituent, for
3993 compatiblity with XEmacs.
3994
c0f9ea08
SM
39952000-08-31 Stefan Monnier <monnier@cs.yale.edu>
3996
3997 * regex.h (RE_NO_NEWLINE_ANCHOR): New syntax flag.
3998 (struct re_pattern_buffer): Remove newline_anchor.
3999 * regex.c: Keep namespace clean for GNU libc by renaming <fun>
4000 to __<fun> and using `weak_alias (__<fun>, <fun>)'.
4001 (re_max_failures, fail_stack): Use size_t rather than unsigned.
4002 (regex_compile): For ^ and $, choose between buffer and line (beg|end)
4003 depending on the new RE_NO_NEWLINE_ANCHOR syntax flag.
4004 (print_compiled_pattern, re_search_2, mutually_exclusive_p)
4005 (re_match_2_internal, re_compile_pattern, re_comp, regcomp):
4006 Get rid of references to newline_anchor.
4007 (regcomp): Allocate and precompute a fastmap.
4008
8c0f83fe
GM
40092000-08-31 Gerd Moellmann <gerd@gnu.org>
4010
4011 * lread.c (openp): GCPRO local variable `filename'.
4012
4bb91c68
SM
40132000-08-30 Stefan Monnier <monnier@cs.yale.edu>
4014
4015 * regex.h (struct re_pattern_buffer): Use size_t for used/allocated.
4016
4017 * regex.c: Merge some changes from GNU libc. Add prototypes.
4018 (bcopy, bcmp, REGEX_REALLOCATE, re_match_2_internal):
4019 Use memcmp and memcpy instead of bcopy and bcmp.
4020 (init_syntax_once): Use ISALNUM.
4021 (PUSH_FAILURE_POINT, re_match_2_internal): Remove failure_id.
4022 (REG_UNSET_VALUE): Remove. Use NULL instead.
4023 (REG_UNSET, re_match_2_internal): Use NULL.
4024 (SET_HIGH_BOUND, MOVE_BUFFER_POINTER, ELSE_EXTEND_BUFFER_HIGH_BOUND):
4025 New macros.
4026 (EXTEND_BUFFER): Use them (to work with BOUNDED_POINTERS).
4027 (GET_UNSIGNED_NUMBER): Don't use ISDIGIT.
4028 (regex_compile): In handle_interval, return an error rather than try to
4029 unfetch the interval if we can't find the closing brace.
4030 Obey the RE_NO_GNU_OPS syntax bit.
4031 (TOLOWER): New macro.
4032 (regcomp): Use it.
4033 (regexec): Allocate regs.start and regs.end as one block.
4034
5226a931
GM
40352000-08-30 Gerd Moellmann <gerd@gnu.org>
4036
868dd24b
GM
4037 * xdisp.c (echo_area_display): Check display_completed instead
4038 of calling detect_input_pending.
4039
4040 * dispnew.c (update_frame): Only set display_completed here; move
4041 the update_begin and update_end calls here from update_frame_1.
4042 (update_frame_1): Don't set display_completed here, don't call
4043 update_begin/update_end.
4044
5226a931
GM
4045 * xfaces.c (set_font_frame_param): Use Fmodify_frame_parameters
4046 instead of store_frame_param.
4047
2a8bd25f
GM
40482000-08-29 Gerd Moellmann <gerd@gnu.org>
4049
4050 * dispnew.c (build_frame_matrix_from_leaf_window): If a row of a
4051 desired window matrix hasn't been displayed, use the current row
4052 instead. Make sure that only those frame rows are updated for
4053 which there exists a corresponding enabled desired row.
4054
ba3478d9
MB
40552000-08-29 Miles Bader <miles@gnu.org>
4056
4057 * xfaces.c (default_face_vector): New function.
4058 (Finternal_merge_in_global_face): Use it instead of merge_face_vectors.
4059
87d0f685
GM
40602000-08-29 Gerd Moellmann <gerd@gnu.org>
4061
4062 * lread.c (openp): Prevent temporary string passed to
4063 Ffile_readable_p from being garbage collected.
4064
6fa86045
DL
40652000-08-28 Dave Love <fx@gnu.org>
4066
4067 * keymap.c (store_in_keymap): Add `static' to declaration.
4068
bb17930d
GM
40692000-08-28 Gerd Moellmann <gerd@gnu.org>
4070
4071 * emacs.c, callint.c, doc.c, editfns.c
4072 (toplevel) [HAVE_STRING_H]: Include string.h.
4073 (toplevel) [HAVE_STRINGS_H]: Include strings.h.
4074 (index): Remove prototypes which might conflict with non-standard
4075 definitions of index/strchr.
4076
4077 * s/usg5-3.h (index): Define only if not HAVE_INDEX.
4078 (rindex): Define only if !HAVE_RINDEX.
4079
4080 * s/sco5.h (bcopy, bzero, bcmp): Don't define.
4081
4082 * config.in (HAVE_INDEX, HAVE_RINDEX, HAVE_STRINGS_H): Add undefs.
4083
87188200
MB
40842000-08-28 Miles Bader <miles@gnu.org>
4085
4086 * xfaces.c (merge_face_vectors): Clear TO's :font attribute if
4087 made inconsistent by a font-related attribute in FROM.
4088 (merge_face_inheritance): Add function comment.
4089
41a68aef
KH
40902000-08-28 Kenichi Handa <handa@etl.go.jp>
4091
4092 * keyboard.c (read_char_minibuf_menu_prompt): Call read_char with
4093 the 4th arg (PREV_EVENT) Qt to suppress input method.
4094
f7c436c1
SM
40952000-08-27 Stefan Monnier <monnier@cs.yale.edu>
4096
0b32bf0e
SM
4097 * regex.c: Indent cpp directives and remove parens after `defined'.
4098 (PTR_TO_OFFSET, POS_AS_IN_BUFFER): Move to a better place.
4099 (ISDIGIT, ISCNTRL, ISXDIGIT) [!emacs]: Remove duplicate definition.
4100 (regex_compile): Use RE_FRUGAL instead of RE_ALL_GREEDY.
4101 (re_compile_pattern): Use size_t for length.
4102 (init_syntax_once): Move to a better place.
4103 * regex.h: Merge changes from GNU libc. Indent cpp directives.
4104 (RE_FRUGAL): Replaces RE_ALL_GREEDY (inverted meaning).
4105
f7c436c1
SM
4106 * syntax.c (back_comment): Detect cases where a comment-starter is
4107 actually inside another comment as in: /* a // b */ c // d \n.
4108 Make it clear that `comstart_pos' is unused for nested comments.
4109
4110 * keymap.c (store_in_keymap, fix_submap_inheritance): New prototypes.
4111 (KEYMAPP): New macro.
4112 (Fkeymap_parent, Fset_keymap_parent): Use it.
4113 (fix_submap_inheritance): Mark it static.
4114 (define_as_prefix, describe_buffer_bindings, describe_command)
4115 (describe_translation, describe_map): Complete prototypes.
4116
4117 * lisp.h (store_in_keymap, fix_submap_inheritance): Remove.
4118
4119 * keyboard.c (menu_bar_item): Detect duplicate entries for all items
4120 to better match the key-lookup behavior.
4121
6288c62f
GM
41222000-08-27 Gerd Moellmann <gerd@gnu.org>
4123
4124 * xfaces.c (lface_fully_specified_p): Handle :inherit.
4125 (Finternal_set_lisp_face_attribute): Fix typo in error message.
4126
e931344e
EZ
41272000-08-27 Eli Zaretskii <eliz@is.elta.co.il>
4128
4129 * Makefile.in (dispnew.o, indent.o, fontset.o, minibuf.o)
4130 (process.o, scroll.o, sysdep.o): Depend on keyboard.h.
4131 (xterm.o): Depend on coding.h
4132
d10dfeef
KH
41332000-08-26 Kenichi Handa <handa@etl.go.jp>
4134
4135 * cmds.c (internal_self_insert): Delete '#ifdef HAVE_FACES' and
4136 the corresponding '#endif'.
4137
2d73e8d3
MB
41382000-08-26 Miles Bader <miles@gnu.org>
4139
4140 * dispextern.h (enum lface_attribute_index): Add LFACE_INHERIT_INDEX.
4141 * xfaces.c (QCinherit): New variable.
4142 (syms_of_xfaces): Initialize it.
4143 (LFACE_INHERIT): New macro.
4144 (Finternal_get_lisp_face_attribute)
4145 (merge_face_vector_with_property)
4146 (Finternal_set_lisp_face_attribute): Deal with :inherit attribute.
4147 (check_lface_attrs): Allow new types of face height. Check
4148 inherit attribute.
4149 (CYCLE_CHECK): New macro.
4150 (merge_face_inheritance): New function.
4151 (merge_face_vectors): Merge inherited faces too. Add F and
4152 CYCLE_CHECK arguments.
4153 (merge_face_vector_with_property, Finternal_merge_in_global_face)
4154 (lookup_named_face, lookup_derived_face, realize_named_face)
4155 (face_at_string_position, face_at_buffer_position): Supply
4156 new F and CYCLE_CHECK arguments to merge_face_vectors.
4157 (merge_face_heights): New function.
4158 (merge_face_vectors, merge_face_vector_with_property)
4159 (Finternal_set_lisp_face_attribute): Call merge_face_heights to
4160 handle relative face heights.
4161 (lface_same_font_attributes_p): Compare heights using EQ.
4162
6ce974d4
KH
41632000-08-26 Kenichi Handa <handa@etl.go.jp>
4164
4165 * charset.c (char_to_string): Check the character validity.
4166 (char_valid_p): If C is not less than MAX_CHAR, be sure to return
4167 0.
4168
dc1e502d
SM
41692000-08-25 Stefan Monnier <monnier@cs.yale.edu>
4170
4171 * regex.c (PUSH_FAILURE_COUNT): New macro.
4172 (POP_FAILURE_REG_OR_COUNT): Renamed from POP_FAILURE_REG.
4173 Handle popping of a register's or a counter's data.
4174 (POP_FAILURE_POINT): Use the new name.
4175 (re_match_2_internal): Push counter data on the stack for succeed_n,
4176 jump_n and set_number_at and remove misleading dead code in succeed_n.
4177
bd9d0f3f
GM
41782000-08-25 Gerd Moellmann <gerd@gnu.org>
4179
4180 * xdisp.c (redisplay_internal): If considering all windows on all
4181 frames, update the display for each frame as soon as possible,
4182 instead of first building all desired matrices for all frames, and
4183 then updating them all.
4184 (try_cursor_movement): Handle case that last_cursor.vpos is -1.
4185
aa5b8e15
GM
41862000-08-24 Gerd Moellmann <gerd@gnu.org>
4187
17494071
GM
4188 * bytecode.c (mark_byte_stack): Add a comment.
4189
aa5b8e15
GM
4190 * frame.h (FRAME_FLAGS_AREA_COLS, FRAME_FLAGS_AREA_WIDTH)
4191 (FRAME_LEFT_FLAGS_AREA_WIDTH): Return 0 unless frame is
4192 a graphical frame.
4193
c543db81
KH
41942000-08-24 Kenichi Handa <handa@etl.go.jp>
4195
d246d5f5
KH
4196 * minibuf.c (do_completion): Always use compare-string, not
4197 string-equal because the latter doesn't pay attention to
4198 multibyteness of strings.
4199
c543db81
KH
4200 * process.c (create_process): Don't setup raw-text coding here.
4201 (Fopen_network_stream): Don't set coding->src_multibyte and
4202 coding->dst_multibyte here.
4203 (read_process_output): For process filter, return unibyte string
4204 if default-enable-multibyte-characters is nil.
4205 (send_process): If OBJECT is multibyte text, be sure to encoded it
4206 by the specified coding system for the process. Otherwise, setup
4207 raw-text coding.
4208 (init_process): Don't initialize default-process-coding-system
4209 here.
4210
9b47cfe0
EZ
42112000-08-23 Eli Zaretskii <eliz@is.elta.co.il>
4212
4213 * buffer.c (syms_of_buffer) <scroll-up-aggressively>: Doc fix.
4214 <scroll-down-aggressively>: Likewise.
4215
f5a36960
KH
42162000-08-23 Kenichi Handa <handa@etl.go.jp>
4217
4218 * coding.c (encode_eol): Fix bug for the case of dst_bytes being
4219 zero. Set coding->produced_char correctly.
4220
69a7ffa7
AI
42212000-08-22 Andrew Innes <andrewi@gnu.org>
4222
4223 * makefile.w32-in: New file.
4224
4225 * unexw32.c (unexec): Ignore old_name, and use the actual location
4226 of the current executable instead. Base new_name on this.
4227
4228 * w32proc.c (create_child): Remove reference to security
4229 descriptor, which isn't needed and doesn't compile with mingw32.
4230
4231 * w32term.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
4232 up dllimport attributes.
4233 (x_update_window_end): Update prototype.
4234
4235 * unexec.c (write_segment) [USE_CRT_DLL]: Remove unnecessary
4236 extern, which screws up dllimport attributes.
4237
4238 * sysdep.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
4239 up dllimport attributes.
4240
4241 * strftime.c [USE_CRT_DLL]: Remove unnecessary extern, which
4242 screws up dllimport attributes.
4243
4244 * process.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
4245 up dllimport attributes.
4246 (create_process) [USE_CRT_DLL]: Remove unnecessary extern, which
4247 screws up dllimport attributes.
4248
4249 * lread.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
4250 up dllimport attributes.
4251
4252 * keyboard.c [USE_CRT_DLL]: Remove unnecessary extern, which
4253 screws up dllimport attributes.
4254
4255 * floatfns.c [USE_CRT_DLL]: Remove unnecessary extern, which
4256 screws up dllimport attributes.
4257
4258 * fileio.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
4259 up dllimport attributes.
4260
4261 * emacs.c (malloc_initialize_hook) [USE_CRT_DLL]: Remove
4262 unnecessary extern, which screws up dllimport attributes.
4263 (main): Ditto.
4264
4265 * editfns.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
4266 up dllimport attributes.
4267
4268 * dispnew.c (window_change_signal) [USE_CRT_DLL]: Remove
4269 unnecessary extern, which screws up dllimport attributes.
4270
4271 * callproc.c [USE_CRT_DLL]: Remove unnecessary extern, which
4272 screws up dllimport attributes.
4273
4274 * buffer.c [USE_CRT_DLL]: Remove unnecessary extern, which screws
4275 up dllimport attributes.
4276
4277 * w32proc.c (IsValidLocale): Extern missing from mingw32 headers.
4278
4279 * w32bdf.c (search_file_line):
4280 (set_bdf_font_info):
4281 (seek_char):
4282 (w32_get_bdf_glyph):
4283 (w32_BDF_to_x_font): Fix compile warnings.
4284
4285 * w32menu.c: Include keyboard.h before frame.h. Fix compile
4286 warnings.
4287
4288 * w32select.c: Include keyboard.h before frame.h.
4289
4290 * w32fns.c (max): Define macro.
4291 (JOHAB_CHARSET): Define if not known.
4292 (MOD_ALT, MOD_CONTROL, MOD_SHIFT, MOD_WIN): Define if not known.
4293 (Fx_show_tip): Synch with X version.
4294
4295 * w32xfns.c: Include keyboard.h before frame.h.
4296
4297 * w32fns.c: Include keyboard.h before frame.h.
4298
4299 * w32term.c: Include keyboard.h before frame.h.
4300
4301 * fontset.c: Include keyboard.h before frame.h.
4302
4303 * w32inevt.c: Include keyboard.h before frame.h.
4304 (MOUSE_MOVED): Define if not known.
4305
4306 * minibuf.c: Include keyboard.h before frame.h.
4307
4308 * keyboard.c: Include keyboard.h before frame.h.
4309
4310 * indent.c: Include keyboard.h before frame.h.
4311
4312 * dispnew.c: Include keyboard.h before frame.h.
4313
4314 * buffer.c: Include keyboard.h before frame.h.
4315
4316 * alloc.c: Include keyboard.h before frame.h.
4317
4318 * print.c: Include keyboard.h before frame.h.
4319
4320 * process.c: Include keyboard.h before frame.h.
4321
4322 * scroll.c: Include keyboard.h before frame.h.
4323
4324 * sysdep.c: Include keyboard.h before frame.h.
4325
4326 * term.c: Include keyboard.h before frame.h.
4327
4328 * window.c: Include keyboard.h before frame.h.
4329
4330 * xdisp.c: Include keyboard.h before frame.h.
4331 Separate GLYPH_DEBUG and DEBUG_TRACE_MOVE.
4332
4333 * frame.c: Include keyboard.h before frame.h.
4334
4335 * w32heap.h: Undefine min, max.
4336
4337 * w32gui.h: Undefine min, max.
4338
4339 * unexw32.c: Change PUCHAR to PCHAR.
4340 (PTR_TO_OFFSET): Cast ptr to unsigned char *.
4341 (relocate_offset):
4342 (get_section_info):
4343 (copy_executable_and_dump_data): Remove unnecessary static defs.
4344 (copy_executable_and_dump_data): Fix compile warnings.
4345
4346 * sysdep.c (NULL) [WINDOWSNT]: Define NULL if not defined.
4347
4348 * w32console.c (min): Define macro.
4349 (clear_frame, write_glyphs): Fix compile warning.
4350
4351 * w32proc.c (compare_env):
4352 (find_child_console): Fix compile warning.
4353
4354 * w32.c (sys_strerror): Use sys_nerr instead of _sys_nerr. Use
4355 sys_errlist instead of _sys_errlist.
4356 (get_emacs_configuration_options): New function.
4357
4358 * s/ms-w32.h (sys_nerr): Provide default definition.
4359 (strdup, strupr, strnicmp, stricmp, tzset, tzname): Map to same
4360 name with _ prepended.
4361 (NSIG): Define if not known.
4362 (get_emacs_configuration): Provide extern declaration.
4363 (get_emacs_configuration_options): Provide extern declaration.
4364 (EMACS_CONFIG_OPTIONS): Call get_emacs_configuration_options.
4365
4366 * w32.c (gettimeofday): Use struct timeb, not struct _timeb.
4367 (map_w32_filename):
4368 (read_unc_volume): Fix compile warning.
4369
4370 * s/ms-w32.h (_WINSOCK_H): Define to prevent normal winsock
4371 definitions from being used.
4372
4373 * lisp.h [WINDOWSNT]: Don't declare externs for getenv, ctime and getwd.
4374
4375 * w32.c (unc_volume_file_attributes):
4376 (open_unc_volume): Make arg const.
4377
4378 * sysdep.c [WINDOWSNT]: Remove extern decl of errno.
4379 (read_input_waiting): Remove excess parameter.
4380
4381 * w32.c (init_environment): Call _access.
4382 (check_windows_init_file): Call _close.
4383 (init_user_info): Call _putenv.
4384 (init_environment): Call _putenv and _strdup.
4385 (init_ntproc): Reset volume info cache on startup.
4386
4387 * s/ms-w32.h (malloc, free, realloc, calloc): Rename if
4388 USE_CRT_DLL is defined, so Emacs can use GNU malloc even though it
4389 cannot override the CRT malloc.
4390
4391 * makefile.nt (LOCAL_FLAGS): Define USE_CRT_DLL if requested.
4392 (LINK_FLAGS): Append to original value of LINK_FLAGS.
4393
4394 * w32heap.c [!USE_CRT_DLL]: Don't define _heap_init and _heap_term
4395 unless we are linking with a static CRT.
4396 (RVA_TO_PTR): Cast result to unsigned char*.
4397
4398 * w32.c (GetCachedVolumeInformation): Use xmalloc, xfree and xstrdup.
4399 (add_volume_info): Use xstrdup.
4400
25060080
SM
44012000-08-22 Stefan Monnier <monnier@cs.yale.edu>
4402
4403 * minibuf.c (Vcompletion_auto_help): Renamed from `auto_help'.
4404 (do_completion, Fminibuffer_complete_word): Use it.
4405 (syms_of_minibuf): Turn completion-auto-help into a proper Lisp
4406 var so it can take non-boolean values.
4407
6917e6bb
GM
44082000-08-21 Gerd Moellmann <gerd@gnu.org>
4409
acb7cc89
GM
4410 * editfns.c (find_field): Formatting changes.
4411 (toplevel): Some old-style function forward declarations
4412 changed to prototypes, some new protypes added, some functions
4413 made static.
4414
4415 * lisp.h (set_time_zone_rule): Add prototype.
4416 (use_dialog_box): External declaration.
4417
0bbfdc25
GM
4418 * keyboard.c (gen_help_event): Add parameter SIZE.
4419 (kbd_buffer_events_waiting): Slightly rewritten.
4420 (clear_event): New function.
4421 (kbd_buffer_get_event): Use it, and clear the input_events of
4422 HELP_EVENTs.
4423 (init_keyboard): Remove duplicate creation of kbd_buffer_gcpro and
4424 don't fill the newly created array with nils.
4425 (toplevel): Convert some old-style function forward declarations
4426 to prototypes.
4427
4428 * keyboard.h (gen_help_event): Change prototype.
4429
4430 * xterm.c (XTread_socket): Change calls to gen_help_event.
4431
4432 * w32term.c (w32_read_socket): Change calls to gen_help_event.
4433
6917e6bb
GM
4434 * eval.c (Fmacroexpand): Doc fix.
4435
e5cd3d11
JR
44362000-08-20 Jason Rumney <jasonr@gnu.org>
4437
4438 * w32term.h (x_display_info_for_display): Remove as this function
4439 does not exist on W32.
4440
4441 * w32term.c (help_echo_window): New variable.
4442 (syms_of_w32term): staticpro it.
4443 (note_mode_line_highlight): Set it.
4444 (XTextExtents16): Removed as there is no equivalent on W32.
4445 (x_compute_glyph_string_overhangs): Incomplete body removed, as
4446 the X way of doing this will not work for W32.
4447 (w32_intersect_rectangles): Removed. Use IntersectRect API call.
4448 (x_draw_image_foreground): Avoid drawing outside of the clip area
4449 when image doesn't have a mask.
4450 (note_mouse_highlight): Process overlays in the right order of
4451 priority. Set help_echo_window.
4452 (x_draw_bar_cursor): If cursor is on an image, draw a box cursor
4453 because that's more visible for large images.
4454
4455 * w32menu.c (keymap_panes): Pass the keymap's prompt as the pane
4456 name to single_keymap_panes.
4457 (w32_menu_show): Set wv->title when dealing with titles.
4458 (w32_menu_display_help): Call show_help_echo with OBJECT and POS.
4459
6e69ab8c
MB
44602000-08-21 Miles Bader <miles@gnu.org>
4461
4462 * minibuf.c (do_completion): Try again if we rewrite the input
4463 string, but no completion was done, so that any completion message
4464 will be correct.
4465
511bd4eb
GM
44662000-08-20 Gerd Moellmann <gerd@gnu.org>
4467
4468 * xfaces.c (lface_equal_p): Compare strings differently.
4469 (Qtty_color_alist, Vtty_defined_color_alist): New variables.
4470 (realize_tty_face): Use them.
4471 (syms_of_xfaces): Initialize new variables.
4472 (map_tty_color): New function, extracted from realize_tty_face.
4473 (map_tty_color) [MSDOS || WINDOWSNT]: If using the frame's default
4474 foreground or background color, store the new color name in the
4475 realized face; previous code trying to do this had no effect.
4476 (realize_tty_face): Use map_tty_color.
4477 (Fclear_face_cache): Set face_change_count and ensure thorough
4478 redisplay.
4479
1433385f
GM
44802000-08-19 Gerd Moellmann <gerd@gnu.org>
4481
511bd4eb
GM
4482 * undo.c (record_first_change, record_marker_adjustment): Don't
4483 use XBUFFER on last_undo_buffer which might not be a buffer.
1433385f 4484
419ac0a2
KH
44852000-08-18 Kenichi Handa <handa@etl.go.jp>
4486
4487 * coding.c (decode_coding_string): Set members consumed,
4488 consumed_char, produced, produced_char of *coding correctly. If
4489 decode_coding doesn't consume any byte, don't try anymore.
4490 (encode_coding_string): Likewise.
4491
7eb9e30d
GM
44922000-08-18 Gerd Moellmann <gerd@gnu.org>
4493
511bd4eb
GM
4494 * lisp.h (CHECK) [ENABLE_CHECKING]: Make both sides of the
4495 conditional have void type, for Standard C compilers.
7eb9e30d
GM
4496
4497 * xdisp.c (redisplay_internal): Compare windows for equality with
4498 EQ, instead of applying XWINDOW to something that might not
4499 be a window.
4500
dd34a735
KH
45012000-08-18 Kenichi Handa <handa@etl.go.jp>
4502
4503 * fontset.c (Finternal_char_font): Search only the selected frame
4504 for a window of the current buffer.
4505
385ff9e3
GM
45062000-08-18 Gerd Moellmann <gerd@gnu.org>
4507
511bd4eb 4508 * minibuf.c (do_completion): Use EQ instead of `!=' to compare
01cce3e7
GM
4509 Lisp_Objects.
4510
385ff9e3
GM
4511 * keyboard.c (kbd_buffer_get_event): Handle the case that the
4512 second half of a HELP_EVENT is found at the start of kbd_buffer.
4513
d6abb4c7
MB
45142000-08-18 Miles Bader <miles@gnu.org>
4515
4618074a
MB
4516 * lisp.h (Lisp_String): Replace DECLARE_INTERVALS with real decl.
4517
d6abb4c7
MB
4518 * editfns.c (save_restriction_save): Rewrite to use markers.
4519 (save_restriction_restore): Rewrite to understand new form of data
4520 saved by save_restriction_save.
4521 (Fsave_restriction): Remove cautionary note in doc-string.
4522
a7b28523
GM
45232000-08-17 Gerd Moellmann <gerd@gnu.org>
4524
4525 * fileio.c (build_annotations): Add a comment explaining the
4526 return value of format-annotate-function. Replace a spurious call
4527 to Flength with a CONSP test. Call format-annotate-function with
4528 a fifth arg specifying how many times the function is been called
4529 in a row, to let it choose temporary buffers appropriately.
4530
03c9ed77
DL
45312000-08-17 Dave Love <fx@gnu.org>
4532
4533 * lisp.h: Remove DECLARE_INTERVALS, INITIALIZE_INTERVAL. Don't
4534 declare make_temp_name twice.
4535
4536 * lread.c: Prototype readevalloop, load_unwind,
4537 load_descriptor_unwind.
4538 (unreadpure): Give it an arg.
4539
4540 * unexalpha.c: Prototype fatal_unexec, mark_x,
4541 update_dynamic_symbols. Declare unexec as void.
4542
4543 * cm.c [HAVE_TERMCAP_H]: Include <termcap.h>.
4544 [!HAVE_TERMCAP_H]: Prototype tputs, tgoto.
4545
4546 * alloc.c (lisp_malloc): Declare with POINTER_TYPE.
4547 [SYSTEM_MALLOC]: Make decls in malloc.h conditional on
4548 DOUG_LEA_MALLOC.
4549
4550 * alloca.c: Use #error.
4551 [POINTER_TYPE]: Use it.
4552
4553 * eval.c (Fdefvar): Doc fix.
4554
4555 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Avoid
4556 INITIALIZE_INTERVAL.
4557
4558 * buffer.h: Avoid DECLARE_INTERVALS.
4559
4560 * config.in: Add size_t.
4561
aae41d97
EZ
45622000-08-17 Eli Zaretskii <eliz@is.elta.co.il>
4563
4564 * w16select.c (set_clipboard_data): If there's not enough memory
4565 to put text into clipboard, return 1, as Fw16_set_clipboard_data
4566 expects. In case of other failures, return 3.
4567 (system_error_msg): New error message.
4568 (Fw16_set_clipboard_data): If set_clipboard_data returns 3, print
4569 system_error_msg.
4570
65aa5e85
GM
45712000-08-16 Gerd Moellmann <gerd@gnu.org>
4572
4573 * term.c (write_glyphs): Also turn off inverse video after turning
4574 off other appearances in case TS_exit_attribute_mode is not equal
4575 to TS_end_standout_mode.
4576 (insert_glyphs): Turn inverse video on/off for each run of glyphs
4577 with the same face.
4578 (turn_off_face): Reset standout_mode only if
4579 TS_exit_attribute_mode has been output and TS_exit_attribute_mode
4580 is equal to TS_end_standout_mode.
4581
ece23901
KH
45822000-08-16 Kenichi Handa <handa@etl.go.jp>
4583
9d7bcb2e
KH
4584 * coding.c (encode_coding): Fix the bug of not flushing ISO escape
4585 sequence at the end of the source block.
4586
ece23901
KH
4587 * ccl.c (Fccl_program_p): Docstring modified.
4588 (Fccl_execute): Likewise.
4589 (Fccl_execute_on_string): Likewise.
4590
5e30eaa2
EZ
45912000-08-16 Eli Zaretskii <eliz@is.elta.co.il>
4592
4593 * msdos.c (IT_write_glyphs): Convert cbp to unsigned char *.
4594
290602fd
KH
45952000-08-16 Kenichi Handa <handa@etl.go.jp>
4596
4597 The following changes are mainly to fix bugs of
4598 encode/decode-coding-string failing if encoding/decoding return
4599 CODING_FINISH_INSUFFICIENT_DST. In addition, delete the global
4600 variable conversion_buffer.
4601
4602 * ccl.c (CCL_WRITE_CHAR): If CH is eight-bit-control char,
4603 decrement dst_end to avoid buffer overflow in the later call of
4604 string_as_multibyte
4605
4606 * coding.h (conversion_buffer_size, conversion_buffer)
4607 (get_conversion_buffer): Extern deleted.
4608
4609 * coding.c (MINIMUM_CONVERSION_BUFFER_SIZE): Macro deleted.
4610 (conversion_buffer, conversion_buffer_size): Variables deleted.
4611 (get_conversion_buffer): Function deleted.
4612 (struct conversion_buffer): New structure.
4613 (MAX_ALLOCA): New macro.
4614 (allocate_conversion_buffer): New macro.
4615 (extend_conversion_buffer, free_conversion_buffer): New functions.
4616 (ccl_coding_driver): Set coding->result.
4617 (decode_coding): Set coding->result to CODING_FINISH_NORMAL if
4618 this is the last block of source.
4619 (encode_coding): Likewise. Handle the source block as the last
4620 one only when the whole source text is consumed.
4621 (decode_coding_string): Handle the case that the output buffer is
4622 too small to decode the whole source text. Use
4623 allocate_conversion_buffer, extend_conversion_buffer and
4624 free_conversion_buffer, not get_conversion_buffer.
4625 (encode_coding_string): Likewise.
4626 (init_coding): Function deleted.
4627 (init_coding_once): Delete code to initialize
4628 conversion_buffer_size.
4629
4630 * emacs.c (main): Don't call init_coding.
4631
4632 * msdos.c (IT_write_glyphs): Use a locally declared
4633 conversion_buffer.
4634
4635 * term.c (write_glyphs): Use a locally declared conversion_buffer.
4636 (insert_glyphs): Likewise.
4637
4638 * w32console.c (write_glyphs): Use a locally declared
4639 conversion_buffer.
4640
b9f80d41
EZ
46412000-08-15 Eli Zaretskii <eliz@is.elta.co.il>
4642
4643 * msdos.c (IT_update_begin): Don't crash if mouse_face_mouse_frame
4644 member of display_info is NULL.
4645
32dc52f7
GM
46462000-08-15 Gerd Moellmann <gerd@gnu.org>
4647
58ed0d3b
GM
4648 * alloc.c (compact_small_strings): Use safe_bcopy, add an
4649 assertion.
4650
32dc52f7 4651 * term.c (turn_off_face): Reset standout_mode when resetting
58ed0d3b 4652 appearances with capability `me'.
32dc52f7
GM
4653 (write_glyphs): Switch on inverse video before each face change.
4654
4eb22d33
DL
46552000-08-14 Dave Love <fx@gnu.org>
4656
4657 * alloc.c [HAVE_UNISTD_H]: Include unistd.h; don't declare sbrk.
4658 [!HAVE_UNISTD_H]: Use POINTER_TYPE to declare sbrk.
4659 (lisp_free): Declare and make static.
4660
4661 * window.c: Fix embedded comment.
4662 (syms_of_window): Fix doc string.
4663
90cbf47e
GM
46642000-08-14 Gerd Moellmann <gerd@gnu.org>
4665
4666 * keymap.c (push_key_description): If C without modifiers is < 32,
4667 make sure to print `C-' before `M-', like in the manual.
4668
440fc135
GM
46692000-08-11 Gerd Moellmann <gerd@gnu.org>
4670
4671 * fns.c (hashfn_eq, hashfn_eql): Don't handle strings specially
4672 since they aren't relocated anymore.
4673 (sxhash_string): Make sure returned hash code fits in a Lisp
4674 integer.
4675
4676 * xdisp.c (try_cursor_movement): Fix handling of cursor in
4677 partially visible line which is smaller than the window's
4678 height.
4679
6e264fad
KH
46802000-08-11 Kenichi Handa <handa@etl.go.jp>
4681
4682 * ccl.c (CCL_READ_CHAR): If source is multibyte, pay attention to
4683 the multibyte form of eight-bit-control characters.
4684 (Fccl_execute_on_string): Initialize ccl->multibyte.
4685
4686 * ccl.h (struct ccl_program): New member multibyte.
4687
4688 * coding.c (ccl_coding_driver): Initialize ccl->multibyte.
4689
c371f69a
KH
46902000-08-11 Kenichi Handa <handa@etl.go.jp>
4691
4692 * regex.c (regex_compile) <normal_char>: Pay attention to
4693 multibyteness.
4694 (analyse_first) <exactn>: Setup fastmap correctly for
4695 eight-bit-control characters.
4696
46972000-08-11 Kenichi Handa <handa@etl.go.jp>
4698
4699 * termhooks.h (enum event_kind): New member
4700 multibyte_char_keystroke.
4701
4702 * keyboard.c (make_lispy_event): Handle the new event type
4703 multibyte_char_keystroke.
4704
4705 * xterm.c: Include coding.h.
4706 (XTread_socket): Work around a bug of XmbLookupString. If the
4707 input is from XIM, decode it according to the current locale. In
4708 that case, generate multibyte_char_keystroke events.
4709
b8ddbe71
KH
47102000-08-11 Kenichi Handa <handa@etl.go.jp>
4711
4712 * xdisp.c (TRACE_MOVE) [GLYPH_DEBUG]: Delete the last semicolon.
4713 (TRACE_MOVE) [not GLYPH_DEBUG]: Define dummy.
4714
47589c8c
GM
47152000-08-10 Gerd Moellmann <gerd@gnu.org>
4716
4717 * xdisp.c (trace_move) [GLYPH_DEBUG]: New variable.
4718 (TRACE_MOVE) [GLYPH_DEBUG]: New macro.
4719 (move_it_in_display_line_to): Record iterator's ascent and descent
4720 before producing glyphs, and restore them when we know the glyph
4721 doesn't fit on the line.
4722 (move_it_to): Restructured so that it's easier to debug. If
4723 moving to a vpos, and not moving to an x or character position,
4724 stop as soon as the specified vpos is reached; don't move further
4725 into that line because that might change the computed line height.
4726 (try_cursor_movement): New function, extracted from the cursor
4727 movement branch of redisplay_window. If ending on a partially
4728 visible line, don't try to scroll if the cursor line is taller
4729 than the window.
4730 (redisplay_window): Use try_cursor_movement.
4731
4732 * window.c (Fwindow_end): Rewritten to not use Fvertical_motion,
4733 because that function doesn't cope with variable-height lines.
4734
4735 * xterm.c (x_draw_bar_cursor): If cursor is on an image, draw a
4736 box cursor because that's better visible for large images.
4737
c51bacd6
MB
47382000-08-10 Miles Bader <miles@gnu.org>
4739
4740 * w32term.c (note_mouse_highlight): Update calls to overlays_at.
4741
bea56df7
GM
47422000-08-10 Gerd Moellmann <gerd@gnu.org>
4743
4744 * xdisp.c (Vmessages_buffer_name): New variable.
4745 (message_dolog): Use it.
4746 (syms_of_xdisp): Initialize it.
4747
99cd7364
EZ
47482000-08-10 Eli Zaretskii <eliz@is.elta.co.il>
4749
4750 * msdos.c (IT_note_mouse_highlight): Update the calls to
4751 overlays_at.
4752 (toplevel) <kbd_buffer_store_event>: Remove prototype, it's
4753 redundant now that keyboard.h is included.
4754
7d093d56
EZ
47552000-08-09 Eli Zaretskii <eliz@is.elta.co.il>
4756
4757 * keyboard.c (kbd_buffer_events_waiting): New function.
4758
4759 * keyboard.h (kbd_buffer_events_waiting): Add prototype.
4760
4761 * msdos.c: Include keyboard.h.
4762 (XMenuActivate): Empty no_event events from the event buffer. If
4763 no events are left after that, call clear_input_pending.
4764 (mouse_clear_clicks): New function, code moved from mouse_init.
4765 (mouse_init, XMenuActivate): Call mouse_clear_clicks to force the
4766 mouse driver to ``forget'' any past clicks.
4767
4768 * Makefile.in (msdos.o): Depend on keyboard.h.
4769
41e757a6
GM
47702000-08-09 Gerd Moellmann <gerd@gnu.org>
4771
8e7bd231
GM
4772 * lisp.h (input_pending): External declaration.
4773
4774 * dispextern.h (Qredisplay_dont_pause): Declare extern.
4775
4776 * xdisp.c (echo_area_display): Display thoroughly if input is
4777 pending. Bind redisplay-dont-pause to t during the redisplay.
4778 in case input is pending.
4779
4780 * dispnew.c (Qredisplay_dont_pause): New variable.
4781 (syms_of_display): Initialize and staticpro it.
4782 (update_frame_1): Don't interrupt the display for pending input if
4783 redisplay_dont_pause is set.
4784
43028b7e
GM
4785 * dispnew.c (mode_line_string): Declare parameter MODE_LINE_P.
4786
41e757a6
GM
4787 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
4788
2f2174fa
KH
47892000-08-09 Miles Bader <miles@lsi.nec.co.jp>
4790
4791 * callproc.c (Fcall_process): Terminate the unwind-protect around
4792 the post-read-conversion of coding system.
4793
0a6fd67e
MB
4794 * buffer.c (overlays_at): Add CHANGE_REQ parameter.
4795 (Foverlays_at, Fnext_overlay_change, Fprevious_overlay_change): Use it.
4796 * buffer.h (overlays_at): Update prototype.
4797 * xdisp.c (next_overlay_change): Update call to overlays_at.
4798 * xfaces.c (face_at_buffer_position): Likewise.
4799 * textprop.c (Fget_char_property): Likewise.
4800 * xterm.c (note_mouse_highlight): Likewise.
4801
0c80756e
MB
4802 * minibuf.c (do_completion): Don't consider a simple change of
4803 case as `completion'.
4804
975f250a
KR
48052000-08-08 Ken Raeburn <raeburn@gnu.org>
4806
b347b3fd
KR
4807 * keyboard.c (syms_of_keyboard): Initialize
4808 last_point_position_buffer.
4809 * undo.c (record_delete): Make sure last_point_position_buffer is
4810 a buffer before comparing pointers.
4811
4812 * coding.h (decode_coding_string): Declare.
4813
4814 * intervals.h (Fprevious_single_char_property_change): Declare.
4815
4816 * textprop.c (Fprevious_single_char_property_change): Don't do
4817 arithmetic directly on lisp objects.
4818
25ad1371 4819 * editfns.c (find_field): Use EQ, not ==, to compare Lisp
b347b3fd
KR
4820 objects.
4821
4822 * keyboard.h (menu_item_eval_property): Declare.
4823
4824 * xdisp.c (message_dolog): Save and protect string "*Messages*" to
4825 reuse as buffer name, instead of recreating (and discarding) every
4826 time a message is logged.
4827 (with_echo_area_buffer): Make callback arg A2 a lisp object.
25ad1371
GM
4828 (current_message_1, truncate_message_1, set_message_1)
4829 (display_echo_area_1, resize_mini_window_1): Signatures changed.
4830 (current_message, truncate_echo_area, display_echo_area)
4831 (resize_echo_area_axactly): Changed calls.
b347b3fd 4832
975f250a 4833 * coding.c (find_safe_codings): CHAR_TABLE_SET index must be a
25ad1371 4834 Lisp object.
975f250a 4835 (Ffind_coding_systems_region_internal): First argument to Fappend
25ad1371 4836 must be an integer, not a Lisp object.
975f250a 4837
46dc9912
KH
48382000-08-08 Kenichi Handa <handa@etl.go.jp>
4839
4840 * charset.c (Fchar_width): Doc fix.
4841
9f6d1a6c
GM
48422000-08-08 Gerd Moellmann <gerd@gnu.org>
4843
4844 * charset.c (Fstring_width): Doc fix.
4845
ff3d9573
GM
48462000-08-07 Gerd Moellmann <gerd@gnu.org>
4847
41e757a6 4848 * xdisp.c (start_display): When starting display on a continuation
49ad1d99
GM
4849 line, clear ascent and descent members of the iterator structure;
4850 the height of the continued line does not affect the height of the
4851 continuation line.
4852 (make_cursor_line_fully_visible): Do nothing if cursor is on a
4853 line taller than the window.
4854 (redisplay_window) <forced window start>: Handle case that the
4855 middle of the window is not found in any row.
4856 (dump_glyph_row): Show more information.
4857 (compute_line_metrics): Use MATRIX_FIRST_TEXT_ROW to determine the
4858 first text line in a glyph matrix.
4859
4860 * xterm.c (x_draw_image_foreground): Avoid drawing outside
4861 of the clip area when image doesn't have a mask.
4862
70fc58b3
GM
4863 * fns.c (sweep_weak_table): Fix survival conditions for
4864 key-or-value and key-and-value weakness.
4865
4866 * .gdbinit (xhashtable): New command.
4867
ac0e96ee
GM
4868 * fns.c (sweep_weak_hash_tables): Fix the code taking unmarked
4869 tables out of the list of all weak hash tables.
4870
ff3d9573
GM
4871 * xdisp.c (ensure_echo_area_buffers): If a buffer was killed, and
4872 a new buffer is created, make sure echo_area_buffer[] references
4873 the new buffer.
4874
e0d8827b
EZ
48752000-08-07 Eli Zaretskii <eliz@is.elta.co.il>
4876
4877 * msdos.c (Fmsdos_set_mouse_buttons): Add missing backslashes in
4878 the doc string.
4879
c6f35378
KH
48802000-08-07 Kenichi Handa <handa@etl.go.jp>
4881
4882 * syntax.c (skip_chars): Fix previous change. Make the handling
4883 of unibyte string consistent with that of regex search.
4884
1fd4c450
GM
48852000-08-05 Gerd Moellmann <gerd@gnu.org>
4886
e49aa397
GM
4887 * xmenu.c (popup_get_selection): Use xfree instead of free.
4888
4889 * fileio.c (Finsert_file_contents): Use xfree instead of free.
4890
4891 * editfns.c (Ftranspose_regions): Use xfree instead of free.
4892
4893 * callproc.c (child_setup): Use xfree instead of free.
4894
4895 * sysdep.c (opendir, GetTempDirName, run_mac_command): Use xmalloc
4896 instead of malloc.
4897 (run_mac_command, closedir): Use `xfree' instead of `free'.
4898
4899 * keymap.c (current_minor_maps): Use xmalloc instead of malloc.
4900
4901 * eval.c (error): Use xfree instead of free.
4902
1fd4c450
GM
4903 * xfaces.c, xfns.c, w32fns.c: Replace `illegal' with `invalid'.
4904
4905 * fns.c: Replace `illegal' with `invalid'.
e49aa397 4906 (Fmake_hash_table, make_hash_table): Allow table size of 0.
1fd4c450 4907
82d497fc
KH
49082000-08-05 Kenichi Handa <handa@etl.go.jp>
4909
4910 * syntax.c (skip_chars): Fix handling of multibyte<->unibyte
4911 conversion.
4912
59f953a2
NF
49132000-08-04 Noah Friedman <friedman@splode.com>
4914
4915 * fns.c (Fmake_hash_table): Add missing `\n\' to end of line in
4916 docstring.
4917
688351f2
GM
49182000-08-04 Gerd Moellmann <gerd@gnu.org>
4919
4920 * syntax.c (skip_chars): Fix typo in error message.
4921
2dad51cc
AS
49222000-08-04 Andreas Schwab <schwab@suse.de>
4923
4924 * m/ia64.h: Moved from s/ia64.h.
4925
99bb2c60
KH
49262000-08-04 Kenichi Handa <handa@etl.go.jp>
4927
082a1df2
KH
4928 * process.c (read_process_output): Big simplification. Handle
4929 composition and post-read-conversion of coding system correctly.
4930 (send_process): Handle composition correctly.
4931
4932 * callproc.c (Fcall_process): Handle post-read-conversion of
4933 coding system if any.
4934
99bb2c60
KH
4935 * coding.c (decode_coding_iso2022): More strict check for handling
4936 single shifting.
082a1df2
KH
4937 (coding_restore_composition): Pay attention to the case that
4938 cmp_data is not set properly (because of invalid code in the
4939 source text).
4940 (run_pre_post_conversion_on_str): Include text properties in the
4941 resulting string.
4942 (decode_coding_string): Set members of coding correctly.
99bb2c60 4943
f4988be7
GM
49442000-08-03 Gerd Moellmann <gerd@gnu.org>
4945
4946 * s/ia64.h: New file.
4947
4948 * widget.c (set_frame_size, update_wm_hints, EmacsFrameSetValues):
4949 Use NULL instead of 0 at the end of variable argument list of
4950 XtVaGetValues and XtVaSetValues, because 0 fails on systems where
4951 sizeof (int) < sizeof (void *).
4952
4953 * xmenu.c (update_frame_menubar): Use NULL instead of 0 at the end
4954 of variable argument lists of XtVaGetValues and XtVaSetValues.
4955
4956 * xfns.c (Fx_file_dialog): Use NULL instead of 0 at the end of
4957 variable argument lists of XtVaGetValues and XtVaSetValues.
4958
ead53494
GM
49592000-08-02 Gerd Moellmann <gerd@gnu.org>
4960
4961 * alloc.c (lisp_malloc, lisp_free): Use size_t and POINTER_TYPE.
4962 (xrealloc, xmalloc): Use size_t. Some callers adjusted.
4963
4964 * lisp.h (Fsingle_key_description, xmalloc, xrealloc): Change
4965 prototype.
4966
4967 * keyboard.c (read_char_minibuf_menu_prompt): Add new parameter
4968 in call to Fsingle_key_description.
4969
4970 * keymap.c (Fsingle_key_description): Add parameter NO_ANGLES.
4971 Callers changed.
4972
49732000-08-02 Colin Walters <walters@cis.ohio-state.edu>
4974
4975 * window.c (display_buffer_reuse_frames): New variable.
4976 (Fdisplay_buffer): If display_buffer_reuse_frames is set, reuse
4977 frames displaying BUFFER.
4978 (syms_of_window): Define Lisp variable
4979 display-buffer-reuse-frames.
4980
10b0f752
MB
49812000-08-01 Miles Bader <miles@gnu.org>
4982
4983 * editfns.c (Fconstrain_to_field): Fix the conditions for deciding
4984 when to constrain NEW_POS (they were pretty screwed up before).
4985
16425c4a
EZ
49862000-07-31 Eli Zaretskii <eliz@is.elta.co.il>
4987
4988 * msdos.c (run_msdos_command): Save and restore the master
4989 environment, for the case that child_setup signals an error.
4990 When mirroring slashes in DOS shell commands, don't fail when
4991 argv[2] has embedded blanks.
da288c14
EZ
4992 (Fmsdos_set_mouse_buttons, mouse_setup_buttons): New functions.
4993 (syms_of_msdos): Defsubr Fmsdos_set_mouse_buttons.
4994 (dos_ttraw): Call mouse_setup_buttons.
16425c4a
EZ
4995
4996 * callproc.c (child_setup) [MSDOS]: malloc pwd_var instead of
4997 using alloca; free it after run_msdos_command returns.
4998
27f73852
DL
49992000-07-27 Dave Love <fx@gnu.org>
5000
5001 * s/irix6-5.h (IRIX_FORCE_32_BITS, LD_SWITCH_SYSTEM): Don't
5002 define.
5003 [_MIPS_SZLONG == 64]: Set up for 64-bit mode -- not currently
5004 working.
5005
5006 * m/iris4d.h (XUINT, XSET, XUNMARK) [_LP64]: Don't define.
5007
c0261b5e
EZ
50082000-07-27 Eli Zaretskii <eliz@is.elta.co.il>
5009
5010 * editfns.c (lisp_time_argument): Fix last change.
5011
b548072f
GM
50122000-07-27 Gerd Moellmann <gerd@gnu.org>
5013
3ab82477
GM
5014 * fns.c (Fdelete): Make it work on vectors and strings in addition
5015 to lists.
5016
b548072f
GM
5017 * fns.c (Qkey_or_value, Qkey_and_value): New variables.
5018 (syms_of_fns): Initialize new variables.
5019 (sweep_weak_table): Handle weakness `key-or-value' and
5020 `key-and-value'.
5021 (Fmake_hash_table): Recognize `key-and-value' and `key-or-value'
5022 weakness, with t meaning the same as `key-and-value'.
5023
91ae8751
KH
50242000-07-27 Kenichi Handa <handa@etl.go.jp>
5025
5026 * coding.h (struct coding_system): Member safe_charset deleted.
5027
5028 * coding.c (Qsafe_charsets): This variable deleted.
5029 (Qsafe_chars, Vchar_coding_system_table, Qchar_coding_system): New
5030 variables.
5031 (coding_safe_chars): New function.
5032 (CODING_SAFE_CHAR_P): New macro.
5033 (CHARSET_OK): New arg C. Call CODING_SAFE_CHAR_P instead of
5034 checking safe_charsets member of the coding system. Caller
5035 changed.
5036 (detect_coding_iso2022): New local variable safe_chars.
5037 (DECODE_DESIGNATION): Call CODING_SAFE_CHAR_P instead of checking
5038 safe_charsets member of the coding system.
5039 (decode_coding_iso2022): New local variable safe_chars.
5040 (ENCODE_ISO_CHARACTER_DIMENSION1): Don't check unsafe chars here.
5041 (ENCODE_ISO_CHARACTER_DIMENSION2): Likewise.
5042 (ENCODE_ISO_CHARACTER): Arguments changed. Caller changed.
5043 (ENCODE_UNSAFE_CHARACTER): New macro.
5044 (encode_coding_iso2022): New local variable safe_chars. Check
5045 unsafe chars.
5046 (setup_coding_system): Delete the code to initialize
5047 coding->safe_charses
5048 (intersection, find_safe_codings): New functions.
5049 (Ffind_coding_systems_region_internal): New function.
5050 (syms_of_coding): Defsubr it. Initialize Qsafe_chars,
5051 Qsafe_cding_system. Make Vchar_coding_system_table a Lisp
5052 variable and initialize it.
5053
5054 * fns.c (char_table_ref_and_index): New function.
5055
5056 * lisp.h (char_table_ref_and_index): Add prototype.
5057
34a7a267
SS
50582000-07-26 Sam Steingold <sds@gnu.org>
5059
5060 * editfns.c (lisp_time_argument): Added third argument `usec'.
3ab82477 5061 (Ffloat_time): New built-in Lisp function.
34a7a267 5062
a95cb10a
GM
50632000-07-26 Gerd Moellmann <gerd@gnu.org>
5064
3353ef5a
GM
5065 * dispextern.h (GLYPH_FROM_CHAR_GLYPH): Use CHARACTERBITS bits
5066 for the character code.
5067
5068 * config.in (HAVE_SOUND): Define only for FreeBSD, NetBSD and
5069 GNU/Linux.
5070
a95cb10a
GM
5071 * xmenu.c (menu_highlight_callback): Call show_help_echo directly
5072 if called for a popup menu.
5073 (xmenu_show): Store help string in widget values.
5074
b4a12321
DL
50752000-07-26 Dave Love <fx@gnu.org>
5076
5077 * syswait.h: Move some definitions.
5078 (HAVE_SYS_WAIT_H): Undef for HPUX7, Convex.
5079 [!HAVE_SYS_WAIT_H]: Define things unconditionally. More
5080 perspicuous definitions.
5081 (WTERMSIG): Fix bit pattern used.
5082
13f5ad37
KH
50832000-07-26 Kenichi Handa <handa@etl.go.jp>
5084
5085 * print.c (print_object): If vector printing is truncated, print
5086 "..." to indicate it as well as the case of list printing.
5087
070fe99c
GM
50882000-07-25 Gerd Moellmann <gerd@gnu.org>
5089
969065c3
GM
5090 * xdisp.c (next_element_from_display_vector): Improve comments.
5091
5092 * lisp.h (GLYPH_MASK_CHAR, GLYPH_MASK_FACE): Use 19 bits
5093 for the character code, and the rest for the face id as in 20.x.
5094 (FAST_GLYPH_FACE, FAST_MAKE_GLYPH): Changed accordingly.
5095
5096 * window.c (window_display_table): Cleaned up.
5097
070fe99c
GM
5098 * syntax.c (Fforward_word): Add last arg nil in call of
5099 Fconstrain_to_field.
5100
bad77ef7
EZ
51012000-07-25 Eli Zaretskii <eliz@is.elta.co.il>
5102
969065c3 5103 * fileio.c (Frename_file) [DOS_NT]: If the file names are
bad77ef7
EZ
5104 identical but for the letter-case, don't call
5105 barf_or_query_if_file_exists.
5106
c28da489
MB
51072000-07-25 Miles Bader <miles@gnu.org>
5108
5109 * editfns.c (find_field): Honor special `boundary' fields.
5110 (Qboundary): New variables.
5111 (syms_of_editfns): Initialize Qboundary.
5112 (Fconstrain_to_field): Add the INHIBIT-CAPTURE-PROPERTY argument.
5113 Use scan_buffer instead of find_before_next_newline, because it
5114 allows us to detect the boundary case where there's a newline at
5115 the search limit.
5116 * lisp.h (Fconstrain_to_field): Update external declaration.
5117
e3c31fd5
GM
51182000-07-24 Gerd Moellmann <gerd@gnu.org>
5119
5120 * print.c (temp_output_buffer_setup): Don't call1 Vrun_hooks
5121 if that is nil.
c28da489 5122
c66c29a2
DL
51232000-07-24 Dave Love <fx@gnu.org>
5124
5125 * s/sunos4-0.h, s/sol2.h:
5126 (LIBS_TERMCAP): Move from m/sparc.h.
5127
5128 * m/sparc.h (TERMINFO): Moved to system files (probably only
5129 relevant for sunos4 judging by its vintage).
5130 (BITS_PER_LONG, BITS_PER_EMACS_INT, _LP64): Define conditional on
5131 __arch64__.
5132
fbe0a958
EZ
51332000-07-24 Eli Zaretskii <eliz@is.elta.co.il>
5134
5135 * xmenu.c (keymap_panes): Pass the keymap's prompt as the pane
5136 name to single_keymap_panes.
5137
7d88e5c9
AS
51382000-07-24 Andreas Schwab <schwab@suse.de>
5139
5140 * fns.c (Fmakehash): Pass Qeql to Fmake_hash_table if TEST is nil.
5141
e024b101
GM
51422000-07-24 Gerd Moellmann <gerd@gnu.org>
5143
5144 * xdisp.c (with_echo_area_buffer): Take additional EMACS_INT
5145 parameters instead of using int parameters. Expect FN to accept
5146 EMACS_INT parameters.
5147 (display_echo_area, resize_echo_area_axactly, current_message)
5148 (truncate_echo_area, set_message_1): Call with_echo_area_buffer
5149 with new argument list.
5150 (resize_mini_window_1): New callback function.
5151 (current_message_1, truncate_message_1, set_message_1): Change
5152 parameter lists to the new format expected by
5153 with_echo_area_buffer.
5154
25c1a9ce
KH
51552000-07-24 Kenichi Handa <handa@etl.go.jp>
5156
5157 * fontset.c (fontset_ref): Remove INLINE declaration.
5158 (fontset_ref_via_base): Likewise.
5159 (Fset_fontset_font): Convert FAMILY and REGISTRY specifications
5160 to downcase.
5161
7f987ac0
EZ
51622000-07-23 Eli Zaretskii <eliz@is.elta.co.il>
5163
5164 * msdos.c (IT_note_mouse_highlight): Process overlays in the
5165 correct order of priority. If help echo was found in an overlay,
5166 use that overlay as the object in which the help echo was found.
5167
e2db3069
MB
51682000-07-22 Miles Bader <miles@gnu.org>
5169
5170 * textprop.c (Fprevious_single_char_property_change): The initial
5171 property value should be from the position preceding POSITION, not
5172 following it.
5173
5e3203e4
EZ
51742000-07-22 Eli Zaretskii <eliz@is.elta.co.il>
5175
5176 * coding.c (syms_of_coding): Doc fix for
5177 inhibit-iso-escape-detection.
5178
62145073
GM
51792000-07-21 Gerd Moellmann <gerd@gnu.org>
5180
c20aeb83
GM
5181 * xterm.c (note_mouse_highlight): Process overlays in the right
5182 order of priority.
34a7a267 5183
743934db
GM
5184 * keyboard.c (show_help_echo, gen_help_event): Extend comments.
5185
5186 * xterm.c (note_mouse_highlight): If help-echo was found in an
5187 overlay, use that overlay as the object in which the help was
5188 found.
5189
d1dc7e43 5190 * window.c (foreach_window_1): Fix typo reversing an if-condition.
34a7a267 5191
62145073
GM
5192 * window.c (foreach_window): Instead of a fake variable argument
5193 list, take one USER_DATA argument.
5194 (foreach_window_1): Likewise, and call callback functions with two
5195 args, the window and USER_DATA.
5196 (struct check_window_data): New struct.
5197 (check_window_containing): Use it.
5198 (window_from_coordinates): Set up a struct check_window_data for
5199 foreach_window.
5200 (add_window_to_list, freeze_window_start): Change parameters
5201 according to new calling convention.
5202
5203 * window.h (foreach_window): Change prototype.
5204
5205 * buffer.c (Fprevious_overlay_change): Avoid memory leak.
5206
52072000-07-21 Eli Zaretskii <eliz@is.elta.co.il>
5208
5209 * xmenu.c (menu_help_callback): Call show_help_echo with
5210 additional arguments OBJECT and POS.
5211
11270583
KH
52122000-07-21 Kenichi Handa <handa@etl.go.jp>
5213
07b14857
KH
5214 * data.c (Faset): Allow storing any multibyte character in a
5215 string. Convert unibyte string to multibyte if necessary.
5216
11270583
KH
5217 * xfns.c (x_encode_text): New function.
5218 (x_set_name): Use x_encode_text.
5219 (x_set_title): Likewise.
5220
5221 * xselect.c (lisp_data_to_selection_data): Use x_encode_text.
5222
5223 * xterm.h (x_encode_text): Add prototype.
5224
bc75b4fd
DL
52252000-07-20 Dave Love <fx@gnu.org>
5226
5227 * ccl.c (Fccl_execute_on_string): Don't check xmalloc return. Use
5228 xfree, not free.
5229
48c14970
EZ
52302000-07-20 Eli Zaretskii <eliz@is.elta.co.il>
5231
5232 * msdos.c (help_echo_window): New variable.
5233 (syms_of_msdos): Initialize and staticpro it.
5234 (IT_note_mode_line_highlight): Set help_echo_window.
5235 (IT_note_mouse_highlight): Ditto.
5236 (dos_rawgetc): Store help_echo_window in the second event produced
5237 for HELP_EVENTs.
5238
5239 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight):
5240 Record the object that generated the help echo and the position of
5241 that object in help_echo_object and help_echo_pos. Record that
5242 some glyphs in a row are displayed in mouse-face.
5243 (IT_update_begin): Don't clear mouse highlight unless one of the
5244 enabled glyph rows is marked as being displayed in mouse-face.
5245 (dos_rawgetc): Generate 2 events for HELP_EVENT. Pass the object
5246 and position recorded in help_echo_object and help_echo_pos to the
5247 event queue.
5248 (IT_menu_display): Accept a new argument PN: the pane number of
5249 the current menu pane. Record the pane number and the item
5250 number of the item which has associated help string.
5251 (XMenuActivate): Update the prototype for help_callback in
5252 function declaration. Call IT_menu_display with the current menu
5253 pane number as an additional argument. Call help_callback with
5254 two additional arguments: the pane number and the item number of
5255 the menu item associated with the help text.
5256 (help_echo_object, help_echo_pos): New variables.
5257 (syms_of_msdos): Initialize them and staticpro help_echo_object.
5258
5259 * msdos.h (XMenuActivate): Update prototype.
5260
4279296d
GM
52612000-07-19 Gerd Moellmann <gerd@gnu.org>
5262
47db06aa
GM
5263 * xdisp.c (with_echo_area_buffer): Call FN with more arguments.
5264 Add some more prototypes.
5265
5266 * xterm.c, xterm.h: Add some more prototypes.
5267
5268 * lisp.h (Fnext_single_char_property_change): Add prototype.
5269
5270 * dispnew.c (direct_output_for_insert): Remove confusing
5271 outer local variable mouse_face_overwritten_p.
5272 (glyph_row_slice_p): Put in #ifdef GLYPH_DEBUG.
5273
4279296d
GM
5274 * alloc.c (allocate_string_data): Don't copy old string contents.
5275
670acd62
KH
52762000-07-19 Kenichi Handa <handa@etl.go.jp>
5277
5278 * coding.c (code_convert_region): Delete text properties before
5279 shrinking the conversion region.
5280
7cea38bc
GM
52812000-07-18 Gerd Moellmann <gerd@gnu.org>
5282
dc1cac59
GM
5283 * dispnew.c (update_text_area): Write the whole row if it
5284 has mouse-face in it.
5285
85a8aca9
GM
5286 * xfaces.c (face-alternative-font-family-alist): Remove
5287 DEFVAR_LISP; staticpro instead.
5288
34a7a267 5289 * xmenu.c (menu_help_callback): Call show_help_echo with
7cea38bc
GM
5290 new arguments.
5291
5292 * keyboard.c (show_help_echo): Add parameter WINDOW.
5293 (read_char): Call show_help_echo with window extracted from Lisp
5294 help event.
5295 (gen_help_event): Add parameter WINDOW.
5296
5297 * keyboard.h (show_help_echo, gen_help_event): Change prototypes.
5298
5299 * xterm.c (help_echo_window): New variable.
5300 (note_mouse_highlight, note_tool_bar_highlight): Set
5301 help_echo_window.
5302 (XTread_socket): Pass help_echo_window to gen_help_event.
5303 (syms_of_xterm): Initialize and staticpro help_echo_window.
5304
f8276b77
DL
53052000-07-18 Dave Love <fx@gnu.org>
5306
5307 * Makefile.in: Fix dependencies of blockinput.h on atimer.h,
5308 systime.h.
5309
088831a6
GM
53102000-07-18 Gerd Moellmann <gerd@gnu.org>
5311
3d6cd763
GM
5312 * alloc.c (allocate_string_data): If string had already data
5313 assigned, copy old contents to new string data.
5314
5315 * coding.c (syms_of_coding): Fix typo in spelling of variable
5316 `inhibit-iso-escape-detection'.
5317
088831a6
GM
5318 * alloca.c (free) [emacs && EMACS_FREE]: Define as EMACS_FREE.
5319
5320 * Makefile.in: Add dependencies on dispextern.h.
5321 (alloca.o): Don't define malloc and define EMACS_FREE instead of
5322 `free'; both can conflict with system header files.
5323
bc8a8d55
KH
53242000-07-18 Kenichi Handa <handa@etl.go.jp>
5325
5326 * charset.h (MAKE_CHAR): Return reasonable code even if CHARSET is
5327 undefined.
5328
069f5950
DL
53292000-07-18 Dave Love <fx@gnu.org>
5330
5331 * window.c (Fwindow_list): Declare arg `window'.
5332
aa96c820
KH
53332000-07-18 Kenichi Handa <handa@etl.go.jp>
5334
5335 * coding.c (setup_coding_system): Don't override the explicitly
5336 specified designations.
5337
06be8d32
MB
53382000-07-15 Miles Bader <miles@gnu.org>
5339
5340 * editfns.c (char_property_eq, char_property_stickiness): Renamed
5341 from `text_property_eq' and `text_property_stickiness', respectively.
5342 (find_field, Fconstrain_to_field, char_property_eq)
5343 (char_property_stickiness): Changed to call char-property functions
5344 instead of text-property-only ones.
5345
5346 * textprop.c (Fnext_single_char_property_change): Made a subr (was
5347 `next_single_char_property_change'). Do more error checking, and
5348 cleanup limit behavior.
5349 (Fprevious_single_char_property_change): New function.
5350 (syms_of_textprop): Initialize new subrs.
5351
5352 * xdisp.c (display_prop_end, invisible_text_between_p):
5353 Call Fnext_single_char_property_change instead of
5354 next_single_char_property_change.
5355
3fddcdc3
JR
53562000-07-15 Jason Rumney <jasonr@gnu.org>
5357
5358 * w32menu.c (w32_menu_show): Call free_menubar_widget_value_tree
5359 after menu is finished with.
5360 (add_menu_item): Only consider wv->title as a menu title.
5361 (w32_menu_display_help): Add OBJECT and POS to show_help_echo.
5362
5363 * w32fns.c (w32_wnd_proc) [WM_DRAW_ITEM]: Do not try to draw a
5364 null title.
5365 (FONT_REGEXP): Remove unused macro, and its sub-components.
5366 (syms_of_w32fns): Replace underscore in w32-enable-synthesized-fonts.
5367
5368 * w32term.c (help_echo_object, help_echo_pos): New variables.
5369 (note_mode_line_highlight): Store additional information about the
5370 help-echo in help_echo_object and help_echo_pos. Check both
5371 `local-map' and `keymap' properties for changing the cursor
5372 (note_mouse_highlight): Store additional information about the
5373 help-echo in help_echo_object and help_echo_pos.
5374 (note_tool_bar_highlight): Set help_echo_object to nil and
5375 help_echo_pos to -1.
5376 (w32_read_socket): Use gen_help_event instead of filling
5377 input_events manually.
5378 (syms_of_w32term): Staticpro help_echo_object.
5379 (x_update_window_end): Add parameter MOUSE_FACE_OVERWRITTEN_P. If
5380 set, arrange for a mouse-highlight redisplay in
5381 XTframe_up_to_date.
5382 (x_clear_mouse_face): New function.
5383 (w32_redisplay_interface): Add pointer to x_clear_mouse_face.
5384 (x_update_window_begin): No need to turn off the mouse
5385 highlight here.
5386 (show_mouse_face): Set the mouse_face_p flag of glyph rows
5387 depending on whether they contain glyphs highlighted in
5388 mouse-face.
5389 (x_fill_stretch_glyph_string): Consume runs of stretch
5390 glyphs instead of a single one.
5391 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
5392 with new argument list.
5393 (x_set_glyph_string_gc): Make sure the face's GC is valid.
5394 (x_append_glyph, x_append_composite_glyph)
5395 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
5396 changes in struct glyph starting 1999-12-27. See comments for
5397 xterm.c on 2000-07-05.
5398
178c5d9c
SS
53992000-07-14 Sam Steingold <sds@gnu.org>
5400
5401 * xfaces.c (realize_x_face): Fix the last patch:
5402 check `default_face' before dereferencing.
5403
6fe533f6
DL
54042000-07-14 Dave Love <fx@gnu.org>
5405
069f5950 5406 * syntax.c (back_comment): Add null default in switch (for pcc).
6fe533f6 5407
dd7b81cf
KH
54082000-07-14 Kenichi Handa <handa@etl.go.jp>
5409
0693904a 5410 * xfaces.c (realize_x_face): Make fontset using the base of the
178c5d9c 5411 default_face's fontset, not using the default fontset.
0693904a 5412
dd7b81cf
KH
5413 * coding.c (inhibit_iso_escape_detection): New variable.
5414 (syms_of_coding): Make it a Lisp variable.
5415 (detect_coding_iso2022): If inhibit_iso_escape_detection is
5416 nonzero, ignore ISO2022's escape sequence.
5417
d5aa31d8
GM
54182000-07-14 Gerd Moellmann <gerd@gnu.org>
5419
e5acf0ca
GM
5420 * alloca.c (malloc) [emacs]: Define as xmalloc.
5421
bd23a692
GM
5422 * xfns.c (Fx_show_tip): If frame parameters contain a position,
5423 use that instead of the mouse position. Add parameters DX and DY.
5424
5425 * dispextern.h (Fx_show_tip): Adjust number of parameters
5426 in prototype.
5427
9662da0b
GM
5428 * keyboard.c (show_help_echo): Add parameters OBJECT and POS.
5429 if HELP is a function, call it with OBJECT and POS as parameters
5430 to get the help to display.
5431 (gen_help_event, kbd_buffer_store_help_event): New functions.
5432 (kbd_buffer_get_event): Construct the Lisp help-event differently.
5433 (read_char): Call show_help_echo with new parameters.
5434
178c5d9c 5435 * keyboard.h (gen_help_event, kbd_buffer_store_help_event):
9662da0b
GM
5436 Add prototypes.
5437
5438 * xterm.c (help_echo_object, help_echo_pos): New variables.
5439 (note_mode_line_highlight): Store additional information about the
5440 help-echo in help_echo_object and help_echo_pos. Check both
5441 `local-map' and `keymap' properties for changing the cursor
5442 (note_mouse_highlight): Store additional information about the
5443 help-echo in help_echo_object and help_echo_pos.
5444 (note_tool_bar_highlight): Set help_echo_object to nil and
5445 help_echo_pos to -1.
5446 (XTread_socket): Use gen_help_event instead of filling
5447 input_events manually.
5448 (syms_of_xterm): Staticpro help_echo_object.
5449
5450 * xmenu.c (menu_highlight_callback): Use
5451 kbd_buffer_store_help_event instead of setting up and input_event
5452 structure manually.
5453
5454 * xdisp.c (eval_form): GCPRO argument sexpr.
5455 (call_function): New function.
5456 (handle_single_display_prop): Use call_function and FUNCTIONP
5457 instead of checking whether if font_height is a symbol and
5458 using eval_form.
5459
5460 * eval.c (internal_condition_case_2): New function.
5461
5462 * lisp.h (FUNCTIONP): New macro.
5463 (internal_condition_case_2, call_function): Add prototypes.
5464
d5aa31d8
GM
5465 * xterm.c (construct_mouse_click, x_scroll_bar_to_input_event)
5466 (x_scroll_bar_handle_click, SET_SAVED_MENU_EVENT, XTread_socket):
5467 Always set `arg' member of input_events.
5468 (construct_menu_click): Unused function removed.
5469
5470 * msdos.c (dos_rawgetc): Always set `arg' member of input_events.
5471
5472 * w32term.c (construct_mouse_click, construct_mouse_wheel)
5473 (construct_drag_n_drop, x_scroll_bar_handle_click)
5474 (w32_read_socket): Always set `arg' member of input_events.
5475
5476 * keyboard.c (show_help_echo): Use eval_form. Add comment.
5477
5478 * lisp.h (eval_form): Add prototype.
5479
5480 * xdisp.c (eval_form): Make it externally visible.
5481
0f1a9b23
GM
54822000-07-13 Gerd Moellmann <gerd@gnu.org>
5483
5484 * xterm.c (x_handle_tool_bar_click): Store the frame in the
5485 frame_or_window slot of TOOL_BAR_EVENT input events instead of
5486 consing. For prefix events, store the frame in the `arg' slot of
5487 the event, otherwise store the key there.
5488 (XTread_socket): Instead of consing, use the frame_or_window slot
5489 of HELP_EVENTs for the frame, and the `arg' slot for the help
5490 string.
5491
5492 * xmenu.c (menu_highlight_callback): Store help string in the
5493 `arg' member of the input event; don't cons.
5494 (menubar_selection_callback): Use the `arg' slot of input events
5495 to queue additional information, instead of consing.
5496
5497 * msdos.c (dos_rawgetc): Adapt to change of HELP_EVENTs.
5498
5499 * w32term.c (w32_handle_tool_bar_click): Adapt to changes in
5500 TOOL_BAR_EVENTs.
5501 (w32_read_socket): Adapt to changes in HELP_EVENTs.
5502
5503 * w32menu.c (menubar_selection_callback): Use the `arg' slot of
5504 input events to queue additional information, instead of consing.
5505
5506 * keyboard.c (kbd_buffer_gcpro): Renamed from
5507 kbd_buffer_frame_or_window. Now used for all Lisp objects
5508 referenced from the input queue.
5509 (kbd_buffer_store_event): Always use structure assignment for
5510 copying input events. Record all Lisp objects referenced from
5511 events in kbd_buffer_gcpro.
5512 (kbd_buffer_get_event): Construct Lisp `help-echo' events
5513 differently from input events. Test for prefix menu_bar_events
5514 and TOOL_BAR_EVENTs differently. Reset all slots used by an input
5515 event in kbd_buffer_gcpro to nil.
5516 (make_lispy_event) <TOOL_BAR_EVENT>: Treat an input event whose
5517 frame_or_window is equal to its arg member as prefix events.
5518 (stuff_buffered_input): Reset all slots in kbd_buffer_gcpro
5519 used by an input event to nil.
5520 (init_keyboard): Use two times the size of the input queue
5521 for kbd_buffer_gcpro.
5522 (syms_of_keyboard): Likewise.
5523
5524 * emacs.c (handle_USR2_signal, handle_USR1_signal): Use
5525 USER_SIGNAL_EVENT.
5526
5527 * termhooks.h (struct input_event): Add member `arg'.
5528 (MENU_BAR_EVENT): Renamed from menu_bar_event.
5529 (USER_SIGNAL_EVENT): Renamed from user_signal.
5530
5531 * xfaces.c (ASET): Remove definition.
5532
5533 * lisp.h (AREF, ASET, ASIZE): New macros.
5534
5535 * fontset.c (AREF, ASIZE): Remove definitions.
5536
5537 * fns.c (AREF): Remove definition.
178c5d9c 5538
0f1a9b23
GM
5539 * composite.c (AREF): Remove definition.
5540
712eaef2
GM
55412000-07-12 Gerd Moellmann <gerd@gnu.org>
5542
d8ee7803
GM
5543 * dispnew.c (redraw_overlapped_rows): Add missing local.
5544 (scrolling_window): Remove debug code.
5545
712eaef2
GM
5546 * xdisp.c (try_window_reusing_current_matrix, try_window_id):
5547 Before scrolling, turn off a mouse-highlight in the window
5548 being scrolled.
5549
5550 * xterm.c (x_update_window_end): Add parameter
5551 MOUSE_FACE_OVERWRITTEN_P. If set, arrange for a mouse-highlight
5552 redisplay in XTframe_up_to_date.
5553 (x_clear_mouse_face): New function.
5554 (x_redisplay_interface): Add pointer to x_clear_mouse_face.
5555
5556 * dispnew.c (make_current): Preserve the mouse_face_p flag of the
5557 current glyph row.
5558 (update_window_line): Add parameter MOUSE_FACE_OVERWRITTEN_P. Set
5559 it when any row is written to that contains glyphs highlighted in
5560 mouse-face.
5561 (update_window): Call the window update end hook with new
5562 parameter MOUSE_FACE_OVERWRITTEN_P.
5563 (direct_output_for_insert): Give up if row contains mouse-face.
5564
5565 * dispextern.h (struct redisplay_interface): Add parameter
5566 MOUSE_FACE_OVERWRITTEN_P to update_window_end_hook function.
5567 (clear_mouse_face): New function pointer member.
5568
02010917
SM
55692000-07-11 Stefan Monnier <monnier@cs.yale.edu>
5570
5571 * syntax.c (back_comment): Use one switch rather than a few `if's.
5572 Obey open_paren_in_column_0_is_defun_start.
5573 When reverting to the `slow' method, try to nicely handle the case
5574 of nested comments by checking that the comment-starter we found
5575 does indeed match the comment-ender.
5576 (scan_sexps_forward, scan_sexps_forward):
5577 Ignore excessive opening parenthesis rather than throwing an error.
5578
d76c03ea
GM
55792000-07-11 Gerd Moellmann <gerd@gnu.org>
5580
5581 * doc.c (Fsubstitute_command_keys): Handle case that a GC
5582 in Fwhere_is_internal or get_keymap_1 relocates string contents.
5583
5584 * dispnew.c (direct_output_forward_char): Give up if currently
5585 displaying a message instead of the minibuffer contents.
5586
5587 * xterm.c (x_update_window_begin): No need to turn off the mouse
5588 highlight here.
5589 (show_mouse_face): Set the mouse_face_p flag of glyph rows
5590 depending on whether they contain glyphs highlighted in
5591 mouse-face.
5592
5593 * dispnew.c (row_equal_p): Add parameter MOUSE_FACE_P. If set,
5594 compare the mouse_face_p flags of both rows.
5595
5596 * dispextern.h (struct glyph_row): Add flag mouse_face_p.
5597
d55ead18
EZ
55982000-07-11 Eli Zaretskii <eliz@is.elta.co.il>
5599
5600 * keyboard.c (show_help_echo): Accept additional parameter
5601 ok_to_overwrite_keystroke_echo.
5602 (read_char): Call show_help_echo with a zero
5603 ok_to_overwrite_keystroke_echo argument.
5604 * keyboard.h (show_help_echo): Update prototype of
5605 show_help_echo.
5606 * xmenu.c (menu_help_callback): Call show_help_echo with non-zero
5607 ok_to_overwrite_keystroke_echo argument.
5608 * w32menu.c (w32_menu_display_help): Call show_help_echo with
5609 non-zero ok_to_overwrite_keystroke_echo argument.
5610
df75b1a3
GM
56112000-07-10 Gerd Moellmann <gerd@gnu.org>
5612
4b92c49a
GM
5613 * xdisp.c (try_window_id): If changes are all below what is
5614 displayed in the window, and point is in the window, we still
5615 might have to find point on the display.
5616
5617 * xterm.c (x_fill_stretch_glyph_string): Consume runs of stretch
5618 glyphs instead of a single one.
5619 (BUILD_STRETCH_GLYPH_STRING): Call x_fill_stretch_glyph_string
5620 with new argument list.
5621 (x_set_glyph_string_gc): Make sure the face's GC is valid.
5622
df75b1a3
GM
5623 * keymap.c (get_keymap_1): Add comment that this function can GC.
5624 (where_is_internal_2, where_is_internal_1): Add GCPROs, add
5625 comment that functions can GC.
5626 (Fset_keymap_parent): GCPRO arg KEYMAP.
5627
4314cf3e
EZ
56282000-07-10 Eli Zaretskii <eliz@is.elta.co.il>
5629
5630 * msdos.c (XMenuActivate): After exiting the menu, restore the
5631 echo area message and erase it.
5632
ab49ce15
KH
56332000-07-10 Kenichi Handa <handa@etl.go.jp>
5634
5635 * fontset.c (Ffontset_info): Make the return value more compatible
5636 with that of Emacs 20.
5637
090a072f
GM
56382000-07-07 Gerd Moellmann <gerd@gnu.org>
5639
5640 * eval.c (Fsignal): Handle case that backtrace_list is null.
5641
f92de4a6
KH
56422000-07-07 Kenichi Handa <handa@etl.go.jp>
5643
5644 * ccl.c (Fccl_execute): Typo fixed.
5645
dd8888a1
GM
56462000-07-06 Gerd Moellmann <gerd@gnu.org>
5647
e5c81191 5648 * window.c (window_loop): Add missing gcpro1 local variable.
178c5d9c 5649
dd8888a1
GM
5650 * window.c (Fwindow_list): Reverse list at the end.
5651 (candidate_window_p): Add parameter OWINDOW. ALL_FRAMES nil
5652 means allow windows on OWINDOW's frame, only.
5653 (window_loop): Simplified; use Fwindow_list.
5654
5655 * Makefile.in (TAGS-LISP): Don't pass `$(lispsource)' to make.
5656
485266d0
GM
56572000-07-05 Gerd Moellmann <gerd@gnu.org>
5658
5659 * xterm.c (XTread_socket): Increment handling_signal at the start,
5660 decrement it at the end.
5661
5662 * eval.c (handling_signal): New variable.
5663 (Fsignal): Abort if handling_signal is non-zero.
5664
5665 * lisp.h (handling_signal): External declaration.
178c5d9c 5666
485266d0
GM
5667 * s/freebsd.h (WAITTYPE, WRETCODE): Put in #if 0.
5668
80fcd514
KR
56692000-07-05 Ken Raeburn <raeburn@gnu.org>
5670
5671 Sound support for NetBSD through "Linux emulation" support:
5672 * config.in (HAVE_SOUNDCARD_H): Undef.
5673 (HAVE_SOUND): Define if HAVE_SOUNDCARD_H.
5674 * Makefile.in (LIBSOUND): New variable.
5675 (LIBES): Include it.
5676 * sound.c [HAVE_SOUNDCARD_H]: Include <sys/ioctl.h> and
5677 <soundcard.h>.
5678 (DEFAULT_SOUND_DEVICE): Define to "/dev/dsp" if not defined
5679 elsewhere.
5680 (vox_open): Use DEFAULT_SOUND_DEVICE.
5681 * s/netbsd.h (DEFAULT_SOUND_DEVICE): Define to /dev/audio.
5682
d5c5cddd
GM
56832000-07-05 Gerd Moellmann <gerd@gnu.org>
5684
5685 * print.c (print_error_message): If Vsignaling_function is set,
5686 show it in *Messages*.
5687
5688 * lisp.h (Vsignaling_function): External declaration.
5689
5690 * eval.c (Vsignaling_function): New variable.
5691 (Fsignal): Compute it.
5692 (syms_of_eval): Staticpro it.
5693
65171e3a
DL
56942000-07-05 Dave Love <fx@gnu.org>
5695
5696 * syswait.h: Use the autoconf recommended approach. Old code
5697 #if'd out in case we need to revert.
5698
178c5d9c 5699 * config.in (HAVE_SYS_WAIT_H): Added.
65171e3a 5700
e2c46326
AI
57012000-07-05 Andrew Innes <andrewi@gnu.org>
5702
5703 * vm-limit.c (check_memory_limits) [REL_ALLOC]: Use real_morecore
5704 when non-NULL instead of __morecore, to take account of buffer
5705 memory. This also solves a problem with spurious memory warnings
5706 on Windows.
5707
5708 * ralloc.c: Make real_morecore non-static.
5709
5710 * eval.c (internal_condition_case): Comment out abort if
5711 interrupt_input_blocked is not zero.
5712
5713 * makefile.nt: Add support for `bootstrap' and related targets.
5714 Include minimal debug info in emacs.exe in release build.
5715 Remove all dependencies on lisp.h, and fixup some others.
5716
5717 * w32.c (init_environment): Install code from 20.7 for providing
5718 default values for environment variables, based on the
5719 executable's own location.
5720 (map_w32_filename): Handle filenames that are longer than
5721 MAX_PATH.
5722 (sys_socket): Install socket inheritance bug fix from 20.7.
5723
5724 * alloca.c [emacs]: Include lisp.h (needed by atimer.h included
5725 here via blockinput.h).
5726
a027a91b
SM
57272000-07-05 Stefan Monnier <monnier@cs.yale.edu>
5728
e4b31601
SM
5729 * w32menu.c (w32_menu_display_help):
5730 * xmenu.c (menu_help_callback): Use show_help_echo.
a027a91b
SM
5731
5732 * keyboard.h (show_help_echo): Declare.
5733
5734 * keyboard.c (show_help_echo): New function, extracted from read_char.
5735 Feval its `msg' argument if it's a cons cell.
5736 (read_char): Use it.
4cf8d9d5 5737 (follow_key): Pass `autoload' to get_keyelt.
a027a91b 5738
178c5d9c 5739 * xterm.c (note_mode_line_highlight, note_mouse_highlight)
a027a91b 5740 (note_tool_bar_highlight, XTread_socket):
178c5d9c 5741 * msdos.c (IT_note_mode_line_highlight, IT_note_mouse_highlight)
a027a91b
SM
5742 (dos_rawgetc):
5743 * w32term.c (note_mode_line_highlight, note_mouse_highlight)
5744 (note_tool_bar_highlight, w32_read_socket):
5745 Do not gratuitously ignore non-string `help-echo' properties.
5746
88d75730
GM
57472000-07-05 Gerd Moellmann <gerd@gnu.org>
5748
969f7e79
GM
5749 * eval.c (Feval): Put check for interrupt_input_block in #if 0.
5750
71201b00
GM
5751 * window.c (delete_all_subwindows): Reset Vwindow_list.
5752
88d75730
GM
5753 * xterm.c (x_append_glyph, x_append_composite_glyph)
5754 (x_produce_image_glyph, x_append_stretch_glyph): Accomodate to
5755 changes in struct glyph starting 1999-12-27. Some bit-fields of
5756 struct glyph were not set, which made glyphs unequal when compared
5757 with GLYPH_EQUAL_P. Redisplay outputs such glyphs, and flickering
5758 effects were the result. This also depended on the contents of
5759 memory returned by xmalloc. If flickering happens again, activate
5760 the code in clear_glyph_row that's in #if 0. If the flickering is
5761 gone with that, chances are that it is caused by something
5762 similar.
5763
5764 * dispnew.c (clear_glyph_row): Add debug code in #if 0.
178c5d9c 5765
88d75730
GM
5766 * dispextern.h: Add some comments.
5767
5768 * window.c (add_window_to_list): Add parameter LIST.
5769 (window_list): Order list so that, for each frame, windows are
5770 in canonical order, and so that frames appear in the list in
5771 the order given by Vframe_list.
5772 (next_window): Reverse the handling of NEXT_P.
5773
53654733
GM
57742000-07-04 Gerd Moellmann <gerd@gnu.org>
5775
87efd256
GM
5776 * window.c (Vwindow_list): New variable.
5777 (make_window, delete_window): Set Vwindow_list to nil.
5778 (check_window_containing): New function.
5779 (window_from_coordinates): Rewritten.
5780 (add_window_to_list, window_list, candidate_window_p)
5781 (decode_next_window_args, next_window): New functions.
5782 (Fnext_window, Fprevious_window): Rewritten in terms of
5783 next_window.
5784 (Fwindow_list): New function.
5785 (Fother_window): Cleaned up.
5786 (foreach_window): Add a longer "variable argument list". Let
5787 callback function return 0 to indicate that cycling over windows
5788 should stop.
5789 (foreach_window_1): Likewise.
5790 (freeze_window_start): Return int.
5791 (init_window): New function.
5792 (syms_of_window): Staticpro Vwindow_list and defsubr Swindow_list.
5793
5794 * emacs.c (handle_USR1_signal, handle_USR2_signal) Clear
5795 input_event with bzero.
5796 (main): Call init_window.
5797
53654733
GM
5798 * keymap.c (get_keyelt): Temporarily inhibit GC while evaluating
5799 a menu filter.
5800
4a8c194f
KH
58012000-07-04 Kenichi Handa <handa@etl.go.jp>
5802
5803 * composite.h (make_composition_value_copy): Extern it.
5804
5805 * composite.c (make_composition_value_copy): New function.
5806
5807 * editfns.c (Fformat): While copying text properties, make each
5808 composition property value a copy.
5809
5810 * fns.c (concat): While copying text properties, make each
5811 composition property value a copy.
5812
831a6cb0
GM
58132000-07-03 Gerd Moellmann <gerd@gnu.org>
5814
2f516940
GM
5815 * m/macppc.h (LINKER, LD_SWITCH_MACHINE) [LINUX]: Define.
5816
178c5d9c 5817 * fns.c (sweep_weak_table): Mark only objects that are not
aee625fa
GM
5818 marked already.
5819
831a6cb0
GM
5820 * frame.c (next_frame, prev_frame): If MINIBUF is a window,
5821 include those frames as candidates which have their focus
5822 redirected to the minibuffer frame.
5823
d9c4f922
SM
58242000-07-03 Stefan Monnier <monnier@cs.yale.edu>
5825
5826 * fns.c (Fputhash): Return `value' rather than nil.
5827
3780bc22
GM
58282000-06-30 Gerd Moellmann <gerd@gnu.org>
5829
97d176db
GM
5830 * frame.c (next_frame): Don't check focus redirection in case
5831 MINIBUF is a window. Doing so excludes frames using MINIBUF
3780bc22
GM
5832 unless their focus is redirected, which contradicts the
5833 specification of next-frame, and leads to infinite loops in
5834 certain situations when cycling through windows with next-window.
5835
dca9961d
KH
58362000-06-30 Kenichi Handa <handa@etl.go.jp>
5837
5838 * coding.c (code_convert_region): Even if the length of text is
5839 zero, try to convert it if coding->type is coding_type_ccl.
5840 (decode_coding_string, encode_coding_string): Likewise.
5841
d5483ab1
GM
58422000-06-28 Gerd Moellmann <gerd@gnu.org>
5843
af5c25e1 5844 * xdisp.c (try_window_reusing_current_matrix): Don't try to reuse
97d176db 5845 the display if windows_or_buffers_changed.
af5c25e1
GM
5846
5847 * dispnew.c (struct row_entry): New structure.
5848 (row_entry_pool, row_entry_pool_size, row_entry_idx, row_table)
5849 (row_table_size, old_lines, new_lines, old_lines_size)
5850 (new_lines_size, run_pool, runs_size, runs): New variables.
5851 (add_row_entry): New function.
5852 (scrolling_window): Use data structures allocated with xmalloc and
97d176db 5853 held in global variables, instead of allocating them with alloca and
af5c25e1
GM
5854 holding them in local variables. Use a larger hash table whose
5855 size depends on glyph matrix sizes. Don't use bzero to clear the
5856 hash table; instead, clear used slots only.
5857
5858 * fns.c (next_almost_prime): Make it externally visible.
5859
5860 * lisp.h (next_almost_prime): Add prototype.
5861
d5483ab1
GM
5862 * s/isc4-0.h (sigunblock): Define.
5863
5864 * s/sco5.h (sigunblock): Define.
5865
93e40f40
DL
58662000-06-27 Dave Love <fx@gnu.org>
5867
5868 * s/osf1.h (C_SWITCH_SYSTEM, LIBS_SYSTEM): Revert last change
5869 (moved to osf5-0.h).
5870 [!NOT_C_CODE]: Protect string.h stuff.
5871
5872 * s/osf5-0.h (C_SWITCH_SYSTEM, WAIT_USE_INT, SYS_SIGLIST_DECLARED)
5873 (sys_siglist, NSIG): Definitions moved here from osf1.h.
5874
3c4b7685
GM
58752000-06-27 Gerd Moellmann <gerd@gnu.org>
5876
97d176db 5877 * xdisp.c (resize_mini_window): Subtract the extra line spacing
3c4b7685
GM
5878 below the last line from the needed window height.
5879
32cad0aa
SM
58802000-06-26 Stefan Monnier <monnier@cs.yale.edu>
5881
5882 * fns.c (Fplist_member): Renamed from Fwidget_plist_member.
5883 (Fwidget_get): Use it.
5884 (syms_of_fns): Defsubr it.
5885
2c69ced2
GM
58862000-06-26 Gerd Moellmann <gerd@gnu.org>
5887
178c5d9c 5888 * xterm.c (xim_initialize) [!USE_XIM]: Don't set up the
1d36487c
GM
5889 display info for XIM.
5890 (xim_open_dpy): Likewise.
5891 (xim_close_dpy): Don't free the display info's XIM.
5892
5893 * xfns.c (x_window) [!USE_XIM]: Don't call create_frame_ic.
5894
5895 * config.in (USE_XIM): New define.
5896
3fc720e4
GM
5897 * keymap.c (get_keyelt): For menu-items containing a `:filter
5898 FILTER', apply FILTER to the menu-item's definition to get the
5899 real definition to use.
5900
5901 * lisp.h (QCfilter): External declaration.
5902
2c69ced2
GM
5903 * xfns.c (Fimage_size): New function.
5904 (syms_of_xfns): Defsubr it.
5905
f978b2a2
AS
59062000-06-26 Andreas Schwab <schwab@suse.de>
5907
5908 * coding.c (decode_coding_string): Re-fetch STRING_BYTES after
5909 Fstring_as_unibyte.
5910
94cc7892
DL
59112000-06-25 Dave Love <fx@gnu.org>
5912
5913 * term.c [!HAVE_TERMCAP_H]: Declare tputs, tgetent, tgetflag,
5914 tgetnum.
5915
5916 * Makefile.in (blockinput.h): Depend on atimer.h.
5917 (atimer.h): Depend on systime.h.
5918
5919 * blockinput.h: Protect against multiple inclusion. Include
5920 atimer.h.
5921
5922 * atimer.h: Protect against multiple inclusion. Include
5923 systime.h.
5924
5925 * lisp.h (swap_in_global_binding): Declare.
5926
b8c24556
KR
59272000-06-24 Ken Raeburn <raeburn@gnu.org>
5928
5929 * process.c (Fopen_network_stream): Turn off atimers for duration
5930 of call to connect. (Patch from Gerd.)
5931
8cf8560b
DL
59322000-06-23 Dave Love <fx@gnu.org>
5933
511c7541
DL
5934 * ralloc.c: Maybe include unistd.h
5935
8cf8560b
DL
5936 * emacs.c (setgrp): Undefine before defining.
5937 (malloc_warning, set_time_zone_rule, index): Prototype.
5938
5939 * systime.h (EMACS_GET_TIME) [!GETTIMEOFDAY_ONE_ARGUMENT]: Use
5940 HAVE_STRUCT_TIMEZONE.
5941
5942 * s/osf1.h: Move string.h hack here from alpha.h and make it
5943 conditional.
5944 (C_SWITCH_SYSTEM): Use _OSF_SOURCE, not -BSD, which clashes with
5945 _XOPEN_SOURCE.
5946 (WAIT_USE_INT, SYS_SIGLIST_DECLARED, sys_siglist, NSIG): Define.
5947 (SOCKLEN_TYPE): Don't define.
5948
5949 * m/alpha.h: Remove string.h hack.
5950
5951 * s/osf5-0.h: New file.
5952
5953 * filelock.c: Use feature tests for fcntl.h, string.h. Don't
5954 include time.h, done by systime.h.
5955 [__FreeBSD__]: Remove redundant includes.
5956
3fc720e4 5957 * callproc.c (setpgrp): Undefine before defining.
8cf8560b
DL
5958 (delete_temp_file): Return Qnil to avoid warning.
5959
5960 * config.in (HAVE_TERM_H, HAVE_STRUCT_TIMEZONE): Add.
5961
5962 * xfaces.c: Include fontset.h dependent on HAVE_WINDOW_SYSTEM, not
5963 HAVE_X_WINDOWS.
5964
5965 * fontset.h (free_face_fontset): Renamed from fs_free_face_fontset.
5966
5967 * composite.h (compose_text): Declare.
5968
5969 * xterm.c: Don't include sys/types.h unconditionally. Don't
5970 protect its inclusion with !USG (following xmenu.c).
5971
ea055732
GM
59722000-06-23 Gerd Moellmann <gerd@gnu.org>
5973
5974 * xfns.c (x_create_tip_frame): Initialize frame's colors like
5975 in x_create_frame.
5976
74b01b80
EZ
59772000-06-23 Eli Zaretskii <eliz@is.elta.co.il>
5978
5979 * coding.c (decode_eol_post_ccl): Special handling for undecided
5980 and inconsistent EOL types.
5981
64f3a166
GM
59822000-06-22 Gerd Moellmann <gerd@gnu.org>
5983
16cf31f7
GM
5984 * xrdb.c (x_load_resources): Add default resource for scroll bar's
5985 trough color and main window's background color.
5986
178c5d9c 5987 * xfns.c (Fx_file_dialog) [HAVE_MOTIF_2_1]: Handle events
16cf31f7
GM
5988 differently.
5989
5990 * xterm.h (Xt_app_con): External declaration.
5991
5992 * widget.c (EmacsFrameRealize): Fix typo.
178c5d9c 5993
486a103d
GM
5994 * widget.c (EmacsFrameRealize): Remove SubstructureRedirectMask.
5995
64f3a166
GM
5996 * xdisp.c (handle_stop): Initialize it->add_overlay_start to zero.
5997 (handle_invisible_prop): Record the start of invisible text in
5998 it->add_overlay_start.
5999 (struct overlay_entry): Add member `overlay'.
6000 (handle_overlay_change): Simplify.
6001 (next_overlay_string): After having processed overlay strings at the
6002 end of the buffer, record that fact in
6003 it->overlay_strings_at_end_processed_p.
6004 (compare_overlay_entries): If before- and after-strings come
6005 from the same overlay, let before-strings come first.
6006 (RECORD_OVERLAY_STRING): Record the overlay that strings come from.
6007 (load_overlay_strings): Take it->add_overlay_start into account
6008 when adding overlay strings.
6009
6010 * dispextern.h (struct it): Add member add_overlay_start.
6011
bb746ea6
DL
60122000-06-22 Dave Love <fx@gnu.org>
6013
6014 * s/isc3-0.h (C_SWITCH_SYSTEM): Define _XOPEN_SOURCE=500.
6015
6016 * s/gnu-linux.h (C_SWITCH_SYSTEM): Don't define _XOPEN_SOURCE here.
6017
a8f573f3
KH
60182000-06-22 Kenichi Handa <handa@etl.go.jp>
6019
6020 * ccl.c (ccl_driver) <CCL_End>: Decrement stack_idx only when it
6021 is greater than 0.
6022
9f2bbc92
DL
60232000-06-21 Dave Love <fx@gnu.org>
6024
178c5d9c 6025 * Makefile.in (GETLOADAVG_OBJ): Removed -- LIBOBJS does it.
9f2bbc92 6026
3ee5041c
SM
60272000-06-21 Stefan Monnier <monnier@cs.yale.edu>
6028
6029 * syntax.c (back_comment): Simplify string-parity counting (with
6030 the added benefit of handling multiple string-styles as long as
6031 they are not intertwined).
6032 Jump to the slow code as soon as a comment starter is found in
6033 a "string_lossage" position. Fixes the case: " /* " /* " */.
6034
4c343001
DL
60352000-06-21 Dave Love <fx@gnu.org>
6036
6037 * Makefile.in: Use GETLOADAVG_LIBS.
6038
6039 * config.in: Add HAVE_FCNTL_H, _FILE_OFFSET_BITS,
6040 _LARGEFILE_SOURCE, _LARGE_FILES, _XOPEN_SOURCE.
6041
e6365855
SM
60422000-06-20 Stefan Monnier <monnier@cs.yale.edu>
6043
6044 * syntax.c (describe_syntax): Recognize the `n'estable bit.
6045 (Fforward_comment, scan_lists):
6046 Check the comstyle of single-char comment-starters.
6047 (scan_sexps_forward): Don't try to recognize `half comment-enders' if
6048 we're just at the beginning of the comment (f.ex with (*) ... (*)).
d355bd8a
SM
6049 Check the comstyle of single-char comment-starters.
6050 Clarify control-flow around the Scomment case.
e6365855 6051
5700d2cc
DL
60522000-06-20 Dave Love <fx@gnu.org>
6053
d355bd8a
SM
6054 * fns.c (make_hash_table, maybe_resize_hash_table):
6055 Cast arg of next_almost_prime.
5700d2cc 6056
178c5d9c 6057 * tparam.c [emacs]: Include lisp.h.
5700d2cc
DL
6058
6059 * termcap.c [emacs]: Test HAVE_FCNTL_H, not USG5. Include lisp.h
6060 and unistd.h.
6061
4a27bdfb
GM
60622000-06-20 Gerd Moellmann <gerd@gnu.org>
6063
a61d762c
GM
6064 * keyboard.c (adjust_point_for_property): Check if display
6065 property should be treated as intangible by looking at its
6066 value.
6067
178c5d9c 6068 * xdisp.c (single_display_prop_intangible_p)
a61d762c
GM
6069 (display_prop_intangible_p): New functions.
6070
6071 * dispextern.h (display_prop_intangible_p): Add prototype.
6072
6073 * xdisp.c (dump_glyph_row): Show type of glyph->object.
178c5d9c 6074
4a27bdfb
GM
6075 * s/isc4-0.h (sigblock): Redefined to pass a pointer as second
6076 argument to sigprocmask.
6077
6078 * s/sco5.h (sigblock): Redefined to pass a pointer as second
6079 argument to sigprocmask.
6080
6081 * syssignal.h (sigblock, sigunblock) [USG5_4]: Set
6082 sigprocmask_set, and pass a pointer to it to sigprocmask.
6083
6084 * sysdep.c (sigprocmask_set): New variable.
6085
6086 * fileio.c (make_temp_name): Don't use `%s' in string passed to
6087 report_file_error.
6088
427ec082
SS
60892000-06-20 Sam Steingold <sds@gnu.org>
6090
6091 * xrdb.c: Don't declare xmalloc, xrealloc.
6092
8972fe79 60932000-06-20 Stefan Monnier <monnier@cs.yale.edu>
8972fe79
SM
6094
6095 * regex.c (re_match, re_match_2): Protect calls to alloca (0).
6096 (re_comp): Cast gettext return value to avoid complaints when
6097 !HAVE_LIBINTL.
6098
074b6efe
DL
60992000-06-20 Dave Love <fx@gnu.org>
6100
f85c008a
DL
6101 * m/stride.h, m/mips.h: Don't define HAVE_GETWD,
6102 HAVE_GETTIMEOFDAY.
6103
5700d2cc 6104 * m/ibmrt-aix.h: Don't declare HAVE_GETTIMEOFDAY, HAVE_VFORK.
f85c008a 6105
d355bd8a 6106 * m/ibmrs6000.h, m/ibmps2-aix.h, m/dpx2.h: Don't declare HAVE_GETWD.
f85c008a
DL
6107
6108 * m/alpha.h: Don't declare xmalloc, xrealloc.
6109
0af4f205
DL
6110 * s/ux4800.h: Don't declare GETTIMEOFDAY_ONE_ARGUMENT.
6111
6112 * s/usg5-4-2.h: Don't declare HAVE_GETWD, VFORK_RETURN_TYPE.
6113
6114 * s/umips.h: Don't declare HAVE_GETWD, HAVE_GETTIMEOFDAY.
6115
6116 * s/cxux.h, s/gnu-linux.h, s/iris3-6.h, s/irix3-3.h: Don't declare
6117 HAVE_GETWD.
6118
074b6efe
DL
6119 * keyboard.h (poll_for_input_1): Declare.
6120
6121 * getloadavg.c: Don't define NLIST_STRUCT (handled by configure).
6122
6123 * alloc.c (xmalloc, xrealloc, xfree): Define using POINTER_TYPE.
6124
6125 * doprnt.c: Don't declare xmalloc, xrealloc.
6126
6127 * lisp.h (x_set_tool_bar_lines, free_frame_xic, compose_text)
6128 (getenv, ctime, getwd): Removed.
6129 (xmalloc, xrealloc, xfree): Declare using POINTER_TYPE.
6130
6131 * xterm.h: Remove duplicate prototypes. Declare free_frame_xic,
6132 x_set_tool_bar_lines.
6133
6134 * config.in: Add HAVE_GETWD. Move some definitions above
6135 machine/system includes.
6136
68a5e97b
KH
61372000-06-20 Kenichi Handa <handa@etl.go.jp>
6138
95417e1e
KH
6139 * s/bsd386.h (HAVE_GETLOADAVG): Define it as 1.
6140
68a5e97b
KH
6141 * xfaces.c (font_list): Handle the case that REGISTRY doesn't
6142 contain information about ENCODING.
6143
6144 * fontset.c (FONTSET_ASCII): Use the first element of char table
6145 for an ASCII font, not defalt slot.
6146 (fontset_ref_via_base): If FONTSET doesn't contain information for
6147 C, try the default fontset.
6148 (make_fontset): Don't copy the default fontset.
6149 (fontset_font_pattern): Likewise.
6150 (accumulate_font_info): If ELT is nil, use the corresponding
6151 element in the default fontset.
6152
3b4fa1b2
DL
61532000-06-19 Dave Love <fx@gnu.org>
6154
943e731c
DL
6155 * syntax.c (Fparse_partial_sexp): Doc fix.
6156
6157 * regex.h: Test PROTOTYPES as well as __STDC__.
6158
3b4fa1b2
DL
6159 * unexalpha.c: Include errno.h, string.h, unistd.h. Don't declare
6160 errno, strerror. Put text after #endif in comment.
6161
6162 * xdisp.c (dump_glyph_matrix): Add `static' to declaration (for
6163 pcc).
6164
6165 * xterm.c (x_frame_of_widget): Likewise.
6166
cdf0357b
GM
61672000-06-19 Gerd Moellmann <gerd@gnu.org>
6168
6169 * abbrev.c (syms_of_abbrev): Set buffer_default's abbrev table
6170 to Vfundamental_mode_abbrev_table.
6171
6172 * alloc.c (mark_object) [GC_CHECK_MARKED_OBJECTS]: Check that no
6173 bogus objects are marked. This slows down GC by ~80 percent, but
6174 it might be worth trying when debugging GC-related problems.
6175 This feature requires conservative stack marking to be enabled.
6176
6177 * xterm.c (XTread_socket) <KeyPress>: In case XmbLookupString
6178 returns XLookupChars, reset `modifiers' to zero.
6179
998e9f8c
DL
61802000-06-19 Dave Love <fx@gnu.org>
6181
6182 * mktime.c: Unprotoized.
6183
18e21ce8 61842000-06-19 Richard Stallman <rms@gnu.org>
d1504184
GM
6185
6186 * data.c (set_internal): If variable is frame-local,
6187 store the new value immediately into the frame parameter alist.
6188
140c4ac6
KR
61892000-06-19 Ken Raeburn <raeburn@gnu.org>
6190
14358466
KR
6191 * xfns.c (jpeg_load): Fetch error-handling data first, then fill
6192 in the custom handler pointer.
6193
140c4ac6
KR
6194 * keyboard.c (follow_key, read_key_sequence): Use XUINT on key
6195 value, or checks for CHAR_META can fail when Lisp_Object is a
6196 union type.
6197 * keymap.c (get_keyelt): Likewise.
6198
10d7bf84
KH
61992000-06-19 Kenichi Handa <handa@etl.go.jp>
6200
6201 * ccl.h (struct ccl_program): New member eol_type.
6202 (struct ccl_spec): New member cr_carryover.
6203
6204 * ccl.c (CCL_WRITE_CHAR): Convert NL according to ccl->eol_type.
6205 (setup_ccl_program): Initialize ccl->eol_type to CODING_EOL_LF.
6206
6207 * coding.c (setup_coding_system) <4>: Reset member `cr_carryover'.
6208 (ccl_coding_driver): On encoding, initialize ccl->eol_type.
6209 (decode_eol_post_ccl): New function.
6210 (decode_coding): Don't detect EOL format here for CCL based coding
6211 systems.
6212 (decode_coding) <coding_type_ccl>: Handle carryovered CR. Call
6213 decode_eol_post_ccl after running the CCL program.
6214 (code_convert_region): Don't detect EOL format here for CCL based
6215 coding systems.
6216 (decode_coding_string): Likewise.
6217
52e386c2
KR
62182000-06-18 Ken Raeburn <raeburn@gnu.org>
6219
6220 * charset.c (update_charset_table): Use XINT on "iso_final_char"
6221 when treating it as an integer.
6222
6223 * coding.h (encode_coding_string): Declare.
6224
6225 * keyboard.c (read_key_sequence): Use XINT on "pos" when treating
6226 it as an integer.
6227
6228 * keymap.c (Fwhere_is_internal): Rename argument "keymap" to
6229 "xkeymap" to avoid shadowing the "enum map_type" value that needs
6230 to be passed to get_local_map.
6231
6232 * sound.c (Fplay_sound): Don't call make_number on
6233 Frun_hook_with_args count argument.
6234
6235 * xterm.c (x_send_scroll_bar_event): Fudge lisp object/integer
6236 for lisp objects in X event structure data field, when lisp
6237 objects are represented with unions.
6238 (x_scroll_bar_to_input_event): Ditto.
6239
b357b9d4
KR
62402000-06-16 Ken Raeburn <raeburn@gnu.org>
6241
6242 * xdisp.c (decode_mode_spec): In "no_value" case, do NUL
37d034d3
KR
6243 termination of string. Fix sense of test whether
6244 Vline_number_display_limit is an integer.
b357b9d4 6245
a871441d
GM
62462000-06-16 Gerd Moellmann <gerd@gnu.org>
6247
a9021acd
GM
6248 * xfaces.c (syms_of_xfaces) [DEBUG_X_COLORS]: Defsubr dump_colors
6249 only if HAVE_X_WINDOWS.
6250
6344985d
GM
6251 * keymap.c (describe_buffer_bindings): Add `\f\n' in front
6252 of titles.
6253
427ec082 6254 * dispnew.c (update_frame_1): Handle case that cursor vpos is
a871441d
GM
6255 out of bounds.
6256
228b083e
EZ
62572000-06-15 Eli Zaretskii <eliz@is.elta.co.il>
6258
6259 * unexec.c (toplevel): Fix last change, so as not to deprive MSDOS
6260 of its headers.
6261
c25b53a2
KH
62622000-06-15 Kenichi Handa <handa@etl.go.jp>
6263
6264 * coding.c (decode_coding_emacs_mule): Always set src_base at the
6265 start of the while loop.
6266
a6981b11
GM
62672000-06-15 Gerd Moellmann <gerd@gnu.org>
6268
e9924e52
GM
6269 * atimer.c (alarm_signal_handler): Add forward declaration.
6270
a6981b11
GM
6271 * data.c (set_internal): Remove debug code.
6272
25fa6deb
GM
62732000-06-14 Gerd Moellmann <gerd@gnu.org>
6274
dce6b995
GM
6275 * Makefile.in (bootstrap-temacs): Add `-I../src'.
6276
9f817ea4
GM
6277 * unexec.c (toplevel) [COFF]: Include coff.h.
6278
6279 * s/lynxos.h: New file.
6280
6281 * keymap.c (Fsingle_key_description): Enclose function key and
6282 event symbol names in angle brackets.
6283
8a4e3c0c
GM
6284 * xdisp.c (setup_echo_area_for_printing): Call
6285 message_log_maybe_newline if message_buf_print is not set.
6286
6287 * print.c (printchar, strout): Don't check message_buf_print
427ec082 6288 before calling setup_echo_area_for_printing because that
8a4e3c0c
GM
6289 function does something useful even when message_buf_print is
6290 already set.
6291
25fa6deb
GM
6292 * xdisp.c (message_truncate_lines, Qmessage_truncate_lines): New
6293 variables.
6294 (ensure_echo_area_buffers): Initialize echo buffer's
6295 truncate lines setting to nil.
6296 (with_echo_area_buffer): Don't set the echo buffer's truncate
6297 lines setting here.
8a4e3c0c 6298 (set_message_1): Set it here instead, based on the value
25fa6deb
GM
6299 of message_truncate_lines.
6300 (resize_mini_window): Handle case that lines are truncated.
6301 (syms_of_xdisp): Initialize Qmessage_truncate_lines. DEFVAR_BOOL
6302 message-truncate-lines.
6303
6304 * keyboard.c (read_char): Bind message-truncate-lines to t
6305 while displaying a help-echo.
6306
6307 * lisp.h (Qmessage_truncate_lines): External declaration.
6308
163dcff3
GM
63092000-06-13 Gerd Moellmann <gerd@gnu.org>
6310
1681ead6
GM
6311 * xdisp.c (Vline_number_display_limit): Renamed from
6312 line_number_display_limit.
6313 (syms_of_xdisp): Use DEFVAR_LISP for line-number-display-limit.
6314 Extend documentation string. Initialize
6315 Vline_number_display_limit to nil meaning no limit.
6316 (decode_mode_spec): Use Vline_number_display_limit with its new
6317 meaning.
6318
163dcff3
GM
6319 * xterm.c (x_check_font) [GLYPH_DEBUG]: Add prototype.
6320
18e21ce8 63212000-06-13 Richard Stallman <rms@gnu.org>
163dcff3
GM
6322
6323 * frame.c (Fmodify_frame_parameters): Doc fix.
427ec082 6324
163dcff3
GM
6325 * xfns.c (x_set_frame_parameters): Comment fix.
6326
6327 * frame.c (store_frame_param): Call swap_in_global_binding if the
6328 variable's current binding was chosen based on this frame.
6329
6330 * data.c (swap_in_global_binding): New function.
6331
a704139d
EZ
63322000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
6333
6334 * msdos.c (IT_write_glyphs): Don't use CODING_REQUIRE_ENCODING
6335 macro, instead AND with CODING_REQUIRE_ENCODING_MASK.
6336
9b6610db
EZ
63372000-06-13 Eli Zaretskii <eliz@is.elta.co.il>
6338
6339 * msdos.h (EMACS_MSDOS_H): Renamed from MSDOS_H_.
6340
c68833d2
JR
63412000-06-12 Jason Rumney <jasonr@gnu.org>
6342
6343 * w32bdf.h (EMACS_W32BDF_H): Renamed from __W32BDF_H__
6344
6345 * w32.h (EMACS_W32_H): Renamed from _NT_H_
6346
6347 * w32gui.h (EMACS_W32GUI_H): Renamed from __W32GUI_H__
6348
6349 * w32inevt.h (EMACS_W32INEVT_H): Renamed from __NTINEVT_H__
6350
ed1056b3
GM
63512000-06-12 Gerd Moellmann <gerd@gnu.org>
6352
6353 * xfaces.c (Fdump_colors) [DEBUG_X_COLORS]: New function.
6354 (syms_of_xfaces): Defsubr Sdump_colors.
6355 (x_free_colors): Don't treat b&w specially on default visual.
6356 (x_free_dpy_colors): New function.
6357 (free_face_colors): Don't check visual class; it's done
6358 in x_free_colors.
6359
6360 * xterm.c (x_frame_of_widget): New function.
6361 (x_alloc_nearest_color_for_widget): Use it.
6362 (x_copy_dpy_color): New function.
6363 (x_destroy_window): Free various colors.
6364
5050a2ef
KH
63652000-06-12 Kenichi Handa <handa@etl.go.jp>
6366
6367 * ccl.h (EMACS_CCL_H): Renamed from _CCL_H.
6368
6369 * charset.h (EMACS_CHARSET_H): Renamed from _CHARSET_H.
6370
6371 * coding.h (EMASC_CODING_H): Renamed from _CODING_H.
6372
6373 * composite.h (EMACS_COMPOSITE_H): Renamed from _COMPOSITE_H.
6374
6375 * fontset.h (EMACS_FONTSET_H): Renamed from _FONTSET_H.
6376
fb1b041d
DL
63772000-06-11 Dave Love <fx@gnu.org>
6378
6379 * systime.h (EMACS_SYSTIME_H): Renamed from _SYSTIME_H.
6380
ff96b5f4
EZ
63812000-06-11 Eli Zaretskii <eliz@is.elta.co.il>
6382
6383 * msdos.h: Don't use _MSDOS_H_ as a symbol, use MSDOS_H_ instead.
6384
db8eeecd
GM
63852000-06-11 Gerd Moellmann <gerd@gnu.org>
6386
ed1056b3 6387 * xmenu.c (xmenu_show): Cast second parameter of lw_popup_menu
db8eeecd
GM
6388 to `XEvent *'.
6389
49b71c5f
KH
63902000-06-10 Kenichi Handa <handa@etl.go.jp>
6391
c479bd55
KH
6392 * regex.c (MAKE_CHAR) [!emacs]: Dummy macro for non-Emacs env.
6393 (regex_compile): Fix the code for handling the case of single byte
6394 char and multibyte char being mixed in a range within [...].
6395
ff6a65c2
KH
6396 * fileio.c (Finsert_file_contents): Be sure to setup src_multibyte
6397 and dst_multibyte members of coding.
6398
49b71c5f
KH
6399 * charset.c (update_charset_table): Update the table
6400 bytes_by_char_head.
6401 (init_charset_once): Initialize elements of bytes_by_char_head to
6402 1 except for leading codes for private charases.
6403
6404 * charset.h (CHARSET_8_BIT_GRAPHIC): Define as 0x80.
6405 (UNIBYTE_STR_AS_MULTIBYTE_P): Fix for an invalid multibyte
6406 sequence.
6407
9e80b57d
KR
64082000-06-09 Ken Raeburn <raeburn@gnu.org>
6409
6410 * xterm.c (x_connection_closed): If dpyinfo is NULL, don't try to
6411 access the data it doesn't point to.
6412
f83fe4b4
GM
64132000-06-08 Gerd Moellmann <gerd@gnu.org>
6414
6415 * xterm.c (XTread_socket) <FocusIn>: Queue a FOCUS_IN_EVENT which
db8eeecd 6416 will be translated to a switch-frame event when reading the
f83fe4b4
GM
6417 event queue. This is necessary because Emacs otherwise won't
6418 perform a switch-frame to a new frame until some other event, for
6419 example a keystroke event, forces it to do so. This has various
6420 effects, one visible being that the cursor of a frame created with
6421 C-x 5 2 or switched to with a window manager key binding like
6422 A-TAB stays hollow because selected_window isn't on the newly
6423 focused frame until the switch-frame is performed.
6424
6425 * keyboard.c (kbd_buffer_get_event): Handle FOCUS_IN_EVENT by
6426 generating a switch-frame event if necessary.
6427
6428 * termhooks.h (enum event_kind): Add FOCUS_IN_EVENT.
6429
6430 * xdisp.c (handle_fontified_prop): Don't GCPRO local var `pos';
6431 it's an integer.
6432
0890801b
KH
64332000-06-08 Kenichi Handa <handa@etl.go.jp>
6434
6435 * fontset.c (Fset_fontset_font): The arg CHARACTER may be a
6436 charset.
6437
173cbca8
GM
64382000-06-07 Gerd Moellmann <gerd@gnu.org>
6439
3091c2a6
GM
6440 * window.c (displayed_window_lines): Take empty lines at
6441 the bottom of a window into account.
427ec082 6442
f38952fe
GM
6443 * window.c (displayed_window_lines): New function.
6444 (Fmove_to_window_line): Use displayed_window_lines to determine
6445 the number of lines to move, instead of using the window's height.
6446
6447 * lread.c (readevalloop): If READCHARFUN sets point to ZV, arrange
6448 to stop reading, even if the form read sets point to a different
6449 value when evaluated.
6450
427ec082 6451 * xdisp.c (display_line): Fix code deciding in which line to
173cbca8
GM
6452 put the cursor.
6453
6ba6c818
KH
64542000-06-07 Kenichi Handa <handa@etl.go.jp>
6455
6456 * fileio.c (e_write): Free composition data if stored in
6457 coding->cmp_data.
6458
5f1aea9a
GM
64592000-06-06 Gerd Moellmann <gerd@gnu.org>
6460
666852af
GM
6461 * xdisp.c (display_line): Set row's and iterator's
6462 starts_in_middle_of_char_p and ends_in_middle_of_char_p flags.
6463 Set cursor even if row ends in the middle of a character.
6464 (dump_glyph_row): Print values of new flags.
6465 (redisplay_window) <cursor movement in unchanged window>: When
6466 point has been moved forward, and PT is at the end of the cursor
6467 row, don't place the cursor in the next row if the cursor row ends
6468 in the middle of a character or at ZV.
6469
6470 * dispextern.h (struct it): Add starts_in_middle_of_char_p.
6471 (struct glyph_row): Add starts_in_middle_of_char_p and
6472 ends_in_middle_of_char_p.
6473 (MATRIX_ROW_ENDS_IN_MIDDLE_OF_CHAR_P): Test row's
6474 ends_in_middle_of_char_p flag.
6475 (MATRIX_ROW_STARTS_IN_MIDDLE_OF_CHAR_P): Likewise.
6476
d13f3e2e
GM
6477 * term.c (append_glyph): Revert change of 2000-06-06.
6478
6479 * xdisp.c (display_line): Revert change of 2000-06-06. Treat
6480 padding glyph not fitting on line as whole character not
6481 fitting on line.
6482
5f1aea9a
GM
6483 * xterm.c (x_produce_glyphs): Don't xassert `it->descent > 0';
6484 this isn't true for images with `:ascent 100'.
6485
10cda9b0
KH
64862000-06-06 Kenichi Handa <handa@etl.go.jp>
6487
ed00559d
KH
6488 * buffer.c (Fset_buffer_multibyte): Don't make the current buffer
6489 as modified if it is originally unmodified.
6490
10cda9b0
KH
6491 * term.c (encode_terminal_code): Change the way to check if
6492 terminal coding does any conversion.
6493 (append_glyph): Set glyph->pixel_width correctly.
6494
6495 * xdisp.c (display_line): While checking line continuation, pay
6496 attention to a padding glyph.
6497
1969fae2
GM
64982000-06-05 Gerd Moellmann <gerd@gnu.org>
6499
6500 * xdisp.c (redisplay_window): Always use set_buffer_internal_1.
6501
162ccef4
DL
65022000-06-05 Dave Love <fx@gnu.org>
6503
f19f32dd
DL
6504 * xdisp.c: Include fontset.h.
6505
6506 * xfns.c (x_real_positions): Declare tmp_nchildren as unsigned.
6507
6508 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
6509
6510 * dispnew.c: Conditionally include term.h.
6511
6512 * coding.h: Declare code_convert_string_norecord.
6513
6514 * frame.h (struct frame): Use volatile unconditionally.
6515
6516 * buffer.h: Remove Vbefore_change_function, Vafter_change_function.
6517
6518 * xmenu.c (menu_item_selection): Declare volatile unconditionally.
6519
6520 * systime.h: Protect against multiple inclusion.
6521 (timezone) [USG5_4]: Define as time_t.
6522
6523 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
6524 (Foptimize_char_table, make_temp_name): Declare.
6525
6526 * Makefile.in (xdisp.o): Depend on fontset.h.
6527
6528 * xterm.c (x_calc_absolute_position): Declare nchildren unsigned.
6529
6530 * lisp.h (DEFUN, EXFUN): Test PROTOTYPES.
6531 (Foptimize_char_table, make_temp_name): Declare.
6532
427ec082 6533 * s/irix4-0.h:
162ccef4
DL
6534 * s/irix5-0.h:
6535 * s/netbsd.h: Don't define autoconfiscated MATHERR.
6536
2082fe81
DL
65372000-06-02 Dave Love <fx@gnu.org>
6538
6539 * lread.c (_XOPEN_SOURCE, __EXTENSIONS__): Don't define.
6540
dcf671d2
GM
65412000-06-02 Gerd Moellmann <gerd@gnu.org>
6542
6543 * xfaces.c (realize_x_face): When copying BASE_FACE bitwise to the
1969fae2 6544 result face, set flags in that face indicating that colors may not
dcf671d2
GM
6545 be freed.
6546
6547 * xterm.c (x_set_mouse_face_gc): If first glyph isn't a character
6548 glyph, use the ASCII NUL character to determine the face.
6549
d42122a3
DL
65502000-06-02 Dave Love <fx@gnu.org>
6551
6552 * sysdep.c: Conditionally include stdlib.h, unistd.h.
6553 (VFORK_RETURN_TYPE): Remove.
427ec082 6554
d42122a3
DL
6555 * config.in: Add NO_MATHERR.
6556
dd432f16
DL
65572000-06-01 Dave Love <fx@gnu.org>
6558
90aa4ea8
DL
6559 * cmds.c (internal_self_insert): Don't check
6560 Vbefore_change_function, Vafter_change_function.
6561
6562 * insdel.c (signal_before_change, signal_after_change): Likewise.
6563
6564 * buffer.c (Vbefore_change_function, Vafter_change_function):
6565 Variables and their initializations deleted.
6566
2330c9d4
DL
6567 * callint.c (Fcall_interactively): Doc fix.
6568
dd432f16
DL
6569 * terminfo.c (ospeed) [HAVE_SPEED_T]: Don't declare extern.
6570
bf9e8804
DL
65712000-05-31 Dave Love <fx@gnu.org>
6572
6573 * textprop.c: Revert last change -- duplicated.
6574
3694b4ab
GM
65752000-05-31 Gerd Moellmann <gerd@gnu.org>
6576
6577 * dispnew.c (find_glyph_row_slice, swap_glyphs_in_rows): Put
6578 in #if 0.
6579
6580 * lisp.h (eassert) [!ENABLE_CHECKING]: Define as `(void) 0'.
6581
f14156cd
JR
65822000-05-31 Jason Rumney <jasonr@gnu.org>
6583
8119aab8
JR
6584 * search.c (Fre_search_forward, Fre_search_backward)
6585 (Fposix_search_backward, Fposix_search_forward): Fix newlines in docs.
6586
f14156cd
JR
6587 * w32select.c (Fw32_set_clipboard_data): Change QNil to Qnil.
6588
4aab9be3
JR
65892000-05-30 Jason Rumney <jasonr@gnu.org>
6590
6591 * coding.h (ENCODE_SYSTEM, DECODE_SYSTEM) [WINDOWSNT]: New macros.
6592 [WINDOWSNT]: Add extern for Vw32_system_coding_system.
6593
6594 * dispextern.h (struct glyph) [WINDOWSNT]: Add w32_font_type
6595 member.
6596
6597 * fileio.c (Fread_file_name) [HAVE_NTGUI]: Use file dialog.
6598 (Fread_file_name) [HAVE_NTGUI, USE_MOTIF]: Do not attempt to
6599 expand a nil default_filename.
6600
6601 * keyboard.c (make_lispy_event) [WINDOWS_NT]: Pass a window
6602 pointer to glyph_to_pixel_coords, not a frame.
6603
6604 * makefile.nt (w32fns.obj, w32menu.obj): Add charset.h and
6605 coding.h to dependencies.
6606
6607 * w32bdf.c (w32_load_bdf_font): Initialize font->double_byte_p.
6608
6609 * w32console.c (glyph_to_pixel_coords): Change first parameter to
6610 window pointer to be consistent with w32term.c and xterm.c.
6611
6612 * w32fns.c: Format and doc changes to bring closer to xfns.c.
6613 (VIETNAMESE_CHARSET): Define if not defined in system headers.
6614 (Qline_spacing, Qcenter): New variables.
6615 (Qw32_charset_*, w32_codepage_for_font): Moved from w32term.c.
6616 (x_set_line_spacing): New function.
6617 (x_set_frame_parameters): Use FRAME_NEW_WIDTH, FRAME_NEW_HEIGHT
6618 macros.
6619 (x_specified_cursor_type): New function.
6620 (x_set_cursor_type): Use it.
6621 (x_set_name, x_set_title): Use ENCODE_SYSTEM to encode titlebar
6622 and icon strings.
6623 (validate_x_resource_name, x_get_resource_string): Measure lengths
6624 of external strings in bytes.
6625 (w32_wnd_proc) [WM_MEASURE_ITEM]: Avoid calling
6626 GetTextExtentPoint32 with NULL title.
6627 (Fx_create_frame): Initialize Qline_spacing.
6628 (w32_load_system_font): Initialize font->double_byte_p.
6629 (x_to_w32_charset): Use Vw32_charset_info_alist.
6630 (Image, busy cursor, tooltip functions): Merged changes from
6631 xfns.c. Not yet functional on Windows.
6632
6633 * w32gui.h (W32FontStruct): Add double_byte_p member.
6634
6635 * w32inevt.c (NUM_TRANSLATED_MOUSE_BUTTONS): New constant.
6636 (emacs_button_translation): Use it.
6637 (do_mouse_event): Allow up to 32 mouse buttons by allowing any bit
6638 in `mask' to be set.
6639
6640 * w32menu.c (single_submenu, w32_menu_show): Call ENCODE_SYSTEM on
6641 menu strings.
6642
6643 * w32term.c: Format and doc changes to bring closer to xterm.c.
6644 (w32_char_font_type): New enum.
6645 (Qw32_charset_*, w32_codepage_for_font): Moved to w32fns.c.
6646 (w32_per_char_metric): Use w32_char_font_type instead of unicode_p.
6647 (w32_encode_char): New function.
6648 (x_encode_char): Removed.
6649 (x_get_glyph_and_face_encoding): Use w32_encode_char in place of
6650 x_encode_char and w32_font_is_double_byte.
6651 (x_produce_image_glyph): Use image_ascent.
6652 (x_produce_glyphs): Use new version of w32_per_char_metric and
6653 handle NULL return value. Allow extra line spacing.
6654 (W32_TEXTOUT): Distinguish between Unicode and DBCS text.
6655 (w32_get_glyph_overhangs): Remove unicode_p param. Use
6656 w32_font_type member of glyph instead.
6657 (x_draw_glyph_string): Draw underline and strike-out for BDF fonts.
6658 (fast_find_position): Make sure not to consider rows not visible
6659 in the window.
6660 (w32_read_socket) [WM_MENUSELECT]: Cannot call
6661 w32_menu_display_help with input blocked, as it can abort.
6662 (x_display_and_set_cursor): Choose cursor depending
6663 on buffer-local value of cursor_type.
6664 (x_draw_bar_cursor): Add parameter WIDTH.
6665
6666 * w32term.h (CP_DEFAULT): Define.
6667 (Fx_display_color_p, Fx_display_grayscale_p, image_ascent): Declare.
6668
10fc3187
GM
66692000-05-30 Gerd Moellmann <gerd@gnu.org>
6670
6671 * search.c (Fre_search_forward, Fre_search_backward)
6672 (Fposix_search_backward, Fposix_search_forward): Doc fix.
6673
d0555360
KH
66742000-05-30 Kenichi Handa <handa@etl.go.jp>
6675
6676 * coding.c (detect_coding_iso2022): Fix code for checking
6677 CODING_CATEGORY_MASK_ISO_8_2.
6678
f1ad044f
SM
66792000-05-29 Stefan Monnier <monnier@cs.yale.edu>
6680
6681 * regex.c (PREFETCH_NOLIMIT): New function.
6682 (re_match_2_internal): Use it and adjust the end_match_2 logic.
6683
84ec3b4b
GM
66842000-05-29 Gerd Moellmann <gerd@gnu.org>
6685
66254a13
GM
6686 * syntax.c (find_defun_start): Move test for
6687 open_paren_in_column_0_is_defun_start outside of the loop.
6688
49e70dec
GM
6689 * xdisp.c (redisplay_window): Really switch buffers when
6690 displaying mode lines, and temporarily set selected_frame to the
6691 frame of the window that's redisplayed.
6692
84ec3b4b
GM
6693 * xfaces.c (free_realized_faces): Block/unblock input.
6694 (free_realized_multibyte_face): Ditto.
6695
869a3a14
DL
66962000-05-29 Dave Love <fx@gnu.org>
6697
6698 * textprop.c (Qkeymap): New variable.
6699 (syms_of_textprop): Intern it.
6700
6701 * keymap.c: Include intervals.h.
6702 (Fkey_binding, Fwhere_is_internal): Deal with `keymap' property.
6703
6704 * Makefile.in (keymap.o): Depend on intervals.h.
6705
6706 * keyboard.c (menu_bar_items, tool_bar_items)
6707 (Fexecute_extended_command): Deal with `keymap' property.
6708 (read_key_sequence): Track map from `keymap' property as well as
6709 `local_map'.
6710
6711 * intervals.c (get_local_map): Extra arg to allow looking for
6712 `keymap' too.
6713
6714 * intervals.h (map_property): New enum.
6715 (get_local_map): Extra arg using it.
6716 (Qkeymap): Declare.
6717
84ec3b4b 6718 * lisp.h (get_local_map): Don't declare here.
869a3a14 6719
89d0c844
KH
67202000-05-29 Kenichi Handa <handa@etl.go.jp>
6721
6722 * Makefile.in (callproc.o): Depend on composite.h.
6723
6724 * callproc.c: Include composite.h.
6725 (Fcall_process): Handle composition correctly.
6726
6727 * coding.h (coding_allocate_composition_data): Extern it.
6728 (coding_restore_composition): Likewise.
6729
6730 * coding.c (DECODE_COMPOSITION_START): If coding->cmp_data is not
6731 yet allocated, finish decoding with result
6732 CODING_FINISH_INSUFFICIENT_CMP.
6733 (coding_allocate_composition_data): Make it non-static.
6734 (coding_restore_composition): Likewise.
6735
797a084a
EZ
67362000-05-29 Eli Zaretskii <eliz@is.elta.co.il>
6737
6738 * charset.c (syms_of_charset): Revert last change.
6739
cf872af5
EZ
67402000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
6741
6742 * term.c (produce_glyphs): Treat characters from the eight-bit-*
d7d0dac0
SM
6743 charsets as unibyte, with 1-column screen width. Sent by Kenichi
6744 Handa.
cf872af5 6745
5b1ae051
EZ
67462000-05-28 Eli Zaretskii <eliz@is.elta.co.il>
6747
6748 * charset.c (syms_of_charset): Set width of character sets
6749 eight-bit-control and eight-bit-graphic to 1 column.
6750
34ec9ebe
GM
67512000-05-26 Gerd Moellmann <gerd@gnu.org>
6752
6753 * config.in (HAVE_SPEED_T): New define.
6754
6755 * sysdep.c, terminfo.c (ospeed) [HAVE_SPEED_T]: Declare as
6756 `extern speed_t'.
6757
dd854dc2
DL
67582000-05-26 Dave Love <fx@gnu.org>
6759
6760 * coding.c (shrink_decoding_region): Initialize eol_conversion.
6761
6762 * data.c (Qsubrp, Qmany, Qunevalled): New variables.
6763 (Fsubr_arity): New function.
6764 (syms_of_data): Install them.
6765
ba9f8f95
KH
67662000-05-26 Kenichi Handa <handa@etl.go.jp>
6767
0f3e0672
KH
6768 * charset.c (init_charset_once): Set the table bytes_by_char_head
6769 correctly.
6770
cebefb44
KH
6771 * fontset.c (syms_of_fontset): Adjust the font name for ascii of
6772 the default fontset to what Emacs uses by default.
0f3e0672
KH
6773 (check_registry_encoding): This function deleted.
6774 (Fset_fontset_font): Remove the adhoc condition for the default
6775 fontset. Allow cons in FONTNAME.
cebefb44 6776
0f3e0672
KH
6777 * fns.c (map_char_table): Ignore char-table entries for
6778 charsets eight-bit-control and eight-bit-graphic.
ba9f8f95 6779
7a18af49
KR
67802000-05-25 Ken Raeburn <raeburn@gnu.org>
6781
6782 * emacs.c (main): Initialize keyboard syms before initializing
6783 window code, so face names are available.
6784
d2af47df
SM
67852000-05-25 Stefan Monnier <monnier@cs.yale.edu>
6786
6787 * regex.c (at_begline_loc_p): Also recognize the \\(?:^ case
6788 of an anchor at the beginning of a shy-group.
6789
fc6a6a4e
GM
67902000-05-25 Gerd Moellmann <gerd@gnu.org>
6791
6792 * xdisp.c (handle_invisible_prop): Don't try to skip over
6793 invisible text if end of text is already reached.
6794
005f0d35
DL
67952000-05-25 Dave Love <fx@gnu.org>
6796
02513cdd
DL
6797 * xdisp.c (Fdump_glyph_matrix): Declare the arg.
6798
005f0d35
DL
6799 * coding.c (encode_eol): Add null statement after label.
6800
89f6ca4e
EZ
68012000-05-25 Eli Zaretskii <eliz@is.elta.co.il>
6802
6803 * w16select.c (Fw16_set_clipboard_data): Fix the change from
6804 2000-05-20.
6805
a4e1759e
KH
68062000-05-25 Kenichi Handa <handa@etl.go.jp>
6807
6808 * ccl.c (ccl_driver): Fix previous change.
6809
eacfd7fe
KH
68102000-05-25 Kenichi Handa <handa@etl.go.jp>
6811
46ab33a9
KH
6812 * coding.c (run_pre_post_conversion_on_str): Set point to the
6813 beginning of buffer before calling coding->post_read_conversion.
6814 (decode_coding_string): Give correct args to
6815 run_pre_post_conversion_on_str.
6816 (encode_coding_string): Likewise.
6817
eacfd7fe
KH
6818 * ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>
6819 <CCL_WriteMultibyteChar2>: Handle charsets eight-bit-control and
6820 eight-bit-graphic correctly.
6821
f8569325
DL
68222000-05-24 Kenichi HANDA <handa@etl.go.jp>
6823
6824 * fileio.c (Finsert_file_contents): Even if a file is not found,
6825 execute codes for setting up coding system. Call
6826 after-insert-file-functions unconditionally.
6827
04545643
GM
68282000-05-24 Gerd Moellmann <gerd@gnu.org>
6829
6830 * callproc.c, emacs.c, sysdep.c (setpgrp): Don't define if USG and
6831 BSD_PGRPS are not defined.
6832
747d90ea
KH
68332000-05-24 Kenichi Handa <handa@etl.go.jp>
6834
6835 * charset.c (update_charset_table): Accept nil in LONG_NAME and
6836 DESCRIPTION.
6837 (syms_of_charset): Avoid building same strings.
6838
716e3b88
GM
68392000-05-23 Gerd Moellmann <gerd@gnu.org>
6840
6841 * lread.c (Fload): Add a comment about the meaning of
6842 Vuser_init_file being t.
6843
6844 * puresize.h (BASE_PURESIZE): Increase to 675000.
6845
6846 * s/gnu-linux.h (setpgrp): Don't define it here because this
6847 prevents compilation on GNU/Linux systems with glib 2.2.
6848
6849 * callproc.c, emacs.c, sysdep.c (setpgrp) [HAVE_SETPGID]: Define
6850 as setpgid.
427ec082 6851
9aeb39fa
EZ
68522000-05-23 Eli Zaretskii <eliz@is.elta.co.il>
6853
6854 * Makefile.in (SOME_MACHINE_LISP): Add disp-table.elc,
6855 dos-vars.elc, ccl.elc, and codepage.elc, all loaded by the MS-DOS
6856 version.
6857 (MSDOS_SUPPORT): Add dos-vars.elc, ccl.elc, and codepage.elc.
6858
29ced61b
KH
68592000-05-23 Kenichi Handa <handa@etl.go.jp>
6860
0574a2ed
KH
6861 * syntax.c (skip_chars): Use FETCH_STRING_CHAR_ADVANCE
6862 unconditionally.
6863
3d80f24d
KH
6864 * msdos.c (IT_write_glyphs): Set coding->src_multibyte to 1.
6865
6866 * term.c (encode_terminal_code): Set coding->src_multibyte
6867 properly.
6868
29ced61b
KH
6869 * coding.c (encode_eol): Fix a bug of DOS style EOL encoding.
6870
d7e00792
KH
68712000-05-22 Kenichi Handa <handa@etl.go.jp>
6872
c9d80d38
KH
6873 * keyboard.c (read_char): Allow character codes 128..255 to be
6874 handled by input-method-function.
6875
d7e00792
KH
6876 * insdel.c (adjust_markers_for_replace): Fix previous change.
6877 (adjust_after_replace): If PREV_TEXT is nil, call
6878 adjust_markers_for_insert, not adjust_markers_for_replace.
6879
087121cc 68802000-05-20 NIIBE Yutaka <gniibe@mri.co.jp>
427ec082 6881
087121cc
GM
6882 * s/gnu-linux.h (UNIX98_PTYS) [HAVE_GRANDPT]: Define.
6883 (PTY_ITERATION, PTY_NAME_SPRINTF, PTY_OPEN, PTY_TTY_NAME_SPRINTF)
6884 [HAVE_GRANDPT]: Define.
6885 (C_SWITCH_SYSTEM): Add -D_XOPEN_SOURCE.
6886
6887 * sysdep.c (setup_pty): Treat case that UNIX98_PTYS is defined
6888 like SYSV_PTYS.
6889
6890 * config.in (HAVE_GRANDPT, HAVE_GETPT): New defines.
6891
6892 * process.c (toplevel) [UNIX98_PTYS]: Include stdlib.h.
6893
c9671f81
KH
68942000-05-20 Kenichi Handa <handa@etl.go.jp>
6895
6896 The following changes are to handle 8-bit characters in a
6897 multibyte buffer/string without facing with byte combining
6898 problem. Two new charsets eight-bit-control (for 0x80..0x9F) and
6899 eight-bit-graphic (for 0xA0..0xFF) are introduced.
6900
6901 * Makefile.in (fns.o): Depend on charset.h.
6902
6903 * alloc.c (Fmake_byte_code): If BYTECODE-STRING is multibyte,
6904 convert it to unibyte.
6905 (make_string): Use parse_str_as_multibyte, not chars_in_text.
6906
6907 * buffer.c (advance_to_char_boundary): Don't use DEC_POS to find a
6908 apparent char boundary.
6909 (Fset_buffer_multibyte): Convert 8-bit characters in the range
6910 0x80..0x9F to/from multibyte form.
6911
6912 * bytecode.c (Fbyte_code): If arg BYTESTR is multibyte, convert it
6913 to unibyte.
6914
6915 * callproc.c (Fcall_process): Always encode an argument string if
6916 it is multibyte. Setup src_multibyte and dst_multibyte members of
6917 process_coding properly.
ce75fd23 6918
c9671f81
KH
6919 * category.c (Fmodify_category_entry): Use SPLIT_CHAR, not
6920 SPLIT_NON_ASCII_CHAR.
6921
6922 * ccl.c (CCL_WRITE_CHAR): Be sure to write single byte characters
6923 as is.
6924 (CCL_MAKE_CHAR): Use MAKE_CHAR, not MAKE_NON_ASCII_CHAR.
6925
6926 * charset.c (Qeight_bit_control, Qeight_bit_graphic): New
6927 variables.
6928 (SPLIT_CHARACTER_SEQ): This macro deleted.
6929 (SPLIT_MULTIBYTE_SEQ): Assume that multibyte sequence at STR is
6930 valid.
6931 (CHAR_COMPONENTS_VALID_P): Handle new charsets; eight-bit-control
6932 and eight-bit-graphic.
6933 (char_to_string): Likewise. Signal an error for too large
6934 character code.
6935 (char_printable_p): Return 0 for 8-bit characters.
6936 (update_charset_table): Update iso_charset_table only when a final
6937 character is non-negative.
6938 (find_charset_in_text): Renamed from find_charset_in_str.
6939 Arguments and return value changed. Callers changed.
6940 (Fdefine_charset): Args ISO-FINAL-CHAR and ISO-GRAPHIC-PLANE can
6941 be -1 if CHARSET is used only internally.
6942 (Fmake_char_internal): Handle new charsets; eight-bit-control and
6943 eight-bit-graphic.
6944 (Fcharset_after): Simplified.
6945 (char_valid_p): Use SPLIT_CHAR, not SPLIT_NON_ASCII_CHAR.
6946 (char_bytes): Return 2 for chars of the range 0xA0..0xFF.
6947 (multibyte_chars_in_text): Simplified by assuming there's no
6948 invalid multibyte sequence.
6949 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
6950 str_as_unibyte): New functions.
6951 (Fstring): Simpified by assuming that byte combining never
6952 happens.
6953 (init_charset_once): Initialization for
6954 LEADING_CODE_8_BIT_CONTROL.
6955 (syms_of_charset): Intern and staticpro Qeight_bit_control and
6956 Qeight_bit_graphic. Include them in Vcharset_list. Make charsets
6957 eight-bit-control and eight-bit-graphic.
6958
6959 * charset.h (LEADING_CODE_8_BIT_CONTROL, CHARSET_8_BIT_CONTROL,
6960 CHARSET_8_BIT_GRAPHIC): New macros.
6961 (SINGLE_BYTE_CHAR_P): Make it faster by using casting.
6962 (CHARSET_ISO_GRAPHIC_PLANE): Use XINT instead of XFASTINT.
6963 (CHARSET_REVERSE_CHARSET): Likewise.
6964 (CHARSET_VALID_P): Handle new charsets; eight-bit-control and
6965 eight-bit-graphic.
6966 (BYTES_BY_CHAR_HEAD, WIDTH_BY_CHAR_HEAD): Optimize for ASCII.
6967 (CHAR_CHARSET, MAKE_CHAR, SPLIT_CHAR, CHAR_BYTES): Likewise.
6968 (PARSE_MULTIBYTE_SEQ) [BYTE_COMBINING_DEBUG]: Abort if we
6969 encounter an invalid multibyte sequence.
6970 (PARSE_MULTIBYTE_SEQ) [not BYTE_COMBINING_DEBUG]: Assume multibyte
6971 sequence is always valid.
6972 (MAKE_NON_ASCII_CHAR, SPLIT_NON_ASCII_CHAR): These macros Deleted.
6973 (UNIBYTE_STR_AS_MULTIBYTE_P, MULTIBYTE_STR_AS_UNIBYTE_P): New
6974 macros.
6975 (CHAR_STRING): For 8-bit characters, call char_to_string.
6976 (INC_POS) [not BYTE_COMBINING_DEBUG]: Faster version. Assume
6977 multibyte sequence is always valid.
6978 (BUF_INC_POS) [not BYTE_COMBINING_DEBUG]: Likewise.
6979 (parse_str_as_multibyte, str_as_multibyte, str_to_multibyte,
6980 str_as_unibyte): Extern them.
6981 (BCOPY_SHORT): Fix a bug.
6982 (CHAR_LEN): This macro deleted. Callers changed to use
6983 CHAR_BYTES.
6984 (FETCH_STRING_CHAR_ADVANCE): Check multibyteness of STRING.
6985 (FETCH_STRING_CHAR_ADVANCE_NO_CHECK): New macro.
6986 (FETCH_CHAR_ADVANCE): Check multibyteness of the current buffer.
6987
bd4bde7f 6988 * coding.c (ONE_MORE_BYTE, TWO_MORE_BYTES): Set coding->result to
c9671f81
KH
6989 CODING_FINISH_INSUFFICIENT_SRC if there's not enough source.
6990 (ONE_MORE_CHAR, EMIT_CHAR, EMIT_ONE_BYTE, EMIT_TWO_BYTE,
6991 EMIT_BYTES): New macros.
6992 (THREE_MORE_BYTES, DECODE_CHARACTER_ASCII,
6993 DECODE_CHARACTER_DIMENSION1, DECODE_CHARACTER_DIMENSION2): These
6994 macros deleted.
6995 (CHECK_CODE_RANGE_A0_FF): This macro deleted.
6996 (detect_coding_emacs_mule): Use UNIBYTE_STR_AS_MULTIBYTE_P to
6997 check the validity of multibyte sequence.
6998 (decode_coding_emacs_mule): New function.
6999 (encode_coding_emacs_mule): New macro.
7000 (detect_coding_iso2022): Use ONE_MORE_BYTE to fetch a byte from
7001 the source.
7002 (DECODE_ISO_CHARACTER): Just return a character code.
7003 (DECODE_COMPOSITION_START): Set coding->result instead of result.
7004 (decode_coding_iso2022, decode_coding_sjis_big5, decode_eol): Use
7005 EMIT_CHAR to produced decoded characters. Exit the loop only by
7006 macros ONE_MORE_BYTE or EMIT_CHAR. Don't handle the case of last
7007 block here.
7008 (ENCODE_ISO_CHARACTER): Don't translate character here. Produce
7009 only position codes for an invalid character.
7010 (encode_designation_at_bol): Return new destination pointer. 5th
7011 arg DSTP is changed to DST.
7012 (encode_coding_iso2022, decode_coding_sjis_big5): Get a character
7013 from the source by ONE_MORE_CHAR. Don't handle the case of last
7014 block here.
7015 (DECODE_SJIS_BIG5_CHARACTER, ENCODE_SJIS_BIG5_CHARACTER): These
7016 macros deleted.
7017 (detect_coding_sjis, detect_coding_big5, detect_coding_utf_8,
7018 detect_coding_utf_16, detect_coding_ccl): Use ONE_MORE_BYTE and
7019 TWO_MORE_BYTES to fetch a byte from the source.
7020 (encode_eol): Pay attention to coding->src_multibyte.
7021 (detect_coding, detect_eol): Preserve members src_multibyte and
7022 dst_multibyte.
7023 (DECODING_BUFFER_MAG): Return 2 even for coding_type_raw_text.
7024 (encoding_buffer_size): Set magnification to 3 for all coding
7025 systems that require encoding.
7026 (ccl_coding_driver): For decoding, be sure that the result is
7027 valid multibyte sequence.
7028 (decode_coding): Initialize coding->errors and coding->result.
7029 For emacs-mule, call decode_coding_emacs_mule. For no-conversion
7030 and raw-text, always call decode_eol. Handle the case of last
7031 block here. If not coding->dst_multibyte, convert the resulting
7032 sequence to unibyte.
7033 (encode_coding): Initialize coding->errors and coding->result.
7034 For emacs-mule, call encode_coding_emacs_mule. For no-conversion
7035 and raw-text, always call encode_eol. Handle the case of last
7036 block here.
7037 (shrink_decoding_region, shrink_encoding_region): Detect cases
7038 that we can't skip data more rigidly.
7039 (code_convert_region): Setup src_multibyte and dst_multibyte
7040 members of coding. For decoding, if the buffer is multibyte,
7041 convert the source sequence to unibyte in advance. For encoding,
7042 if the buffer is multibyte, convert the resulting sequence to
7043 multibyte afterward.
7044 (run_pre_post_conversion_on_str): New function.
7045 (code_convert_string): Deleted and divided into the following two.
7046 (decode_coding_string, encode_coding_string): New functions.
7047 (code_convert_string1, code_convert_string_norecord): Call one of
7048 above.
7049 (Fdecode_sjis_char, Fdecode_big5_char): Use MAKE_CHAR instead of
7050 MAKE_NON_ASCII_CHAR.
7051 (Fset_terminal_coding_system_internal,
7052 Fset_safe_terminal_coding_system_internal): Setup src_multibyte
7053 and dst_multibyte members.
7054 (init_coding_once): Initialize iso_code_class with new enum
7055 ISO_control_0 and ISO_control_1.
7056
7057 * coding.h (enum iso_code_class_type): Member ISO_control_code is
7058 devided into ISO_control_0 and ISO_control_1.
7059 (struct coding_system): New members src_multibyte, dst_multibyte,
7060 errors, and result. Delete member fake_multibyte.
7061 (CODING_REQUIRE_DECODING): Return 1 if coding->dst_multibyte is
7062 nonzero.
7063 (CODING_REQUIRE_ENCODING): Return 1 if coding->src_multibyte is
7064 nonzero.
7065
7066 * data.c (Faref): Use SPLIT_CHAR instead of SPLIT_NON_ASCII_CHAR.
7067 (Faset): Likewise.
7068
7069 * editfns.c (Fformat): Be sure to convert 8-bit characters to
7070 multibyte form.
7071 (Ftranspose_region) [BYTE_COMBINING_DEBUG]: Abort if byte
7072 combining occurs.
7073 (Ftranspose_region): Delete codes for handling byte combining.
7074
7075 * fileio.c (Finsert_file_contents): Setup src_multibyte and
7076 dst_multibyte members of coding. On handling REPLACE on unibyte
7077 buffer, convert the result of decode_coding to unibyte. On
7078 inserting into a mutibyte buffer, always call code_convert_region.
bd4bde7f 7079 (e_write): Setup coding->src_multibyte according to the
c9671f81
KH
7080 multibyteness of the source (buffer or string).
7081
7082 * fns.c (concat): Handle 8-bit characters correctly.
7083 (Fstring_as_unibyte): Be sure to make all 8-bit characters in
7084 unibyte in the result.
7085 (Fstring_as_multibyte): Be sure to make all 8-bit characters in
7086 valid multibyte form in the result.
7087 (map_char_table): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
7088 (Fbase64_encode_region, Fbase64_encode_string): If base64_encode_1
7089 return -1, signal an error.
7090 (base64_encode_1): New arg MULTIBYTE. Get each character by
7091 CHAR_STRING_AND_LENGTH if MULTIBYTE is nonzero. If a multibyte
7092 character is found, return -1.
7093 (Fbase64_decode_region): Delete codes for handling byte-combining.
7094 Treat each decoded byte as a unibyte character.
7095 (Fbase64_decode_string): Return unibyte string.
7096 (Fcompare_strings, concat, string_byte_to_char): Use
7097 FETCH_STRING_CHAR_ADVANCE_NO_CHECK instead off
7098 FETCH_STRING_CHAR_ADVANCE.
7099 (Fstring_lessp): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
7100 (mapcar1): If SEQ is string, always use FETCH_STRING_CHAR_ADVANCE.
7101
7102 * fontset.c (fontset_ref): Use SPLIT_CHAR instead of
7103 SPLIT_NON_ASCII_CHAR.
7104 (fontset_ref_via_base, fontset_set): Likewise
7105
7106 * insdel.c (adjust_markers_for_record_delete): Deleted.
7107 (adjust_markers_for_insert): Argument changed. Caller changed.
7108 (adjust_markers_for_replace): Likewise.
7109 (ADJUST_CHAR_POS, combine_bytes, byte_combining_error,
7110 CHECK_BYTE_COMBINING_FOR_INSERT): Deleted.
7111 (copy_text): Delete unused local varialbe c_save. For converting
7112 to multibyte, be sure to make all 8-bit characters in valid
7113 multibyte form.
7114 (count_size_as_multibyte): Handle 8-bit characters correctly.
7115 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
7116 adjust_after_replace, replace_range, del_range_2)
7117 [BYTE_COMBINING_DEBUG]: Abort if byte combining occurs.
7118 (insert_1_both, insert_from_string_1, insert_from_buffer_1,
7119 adjust_after_replace, replace_range, del_range_2) Delete codes for
7120 handling byte combining.
7121 (adjust_before_replace): Deleted.
427ec082 7122
c9671f81
KH
7123 * keymap.c (Fsingle_key_description): Use SPLIT_CHAR instead of
7124 SPLIT_NON_ASCII_CHAR.
7125 (describe_vector): Use MAKE_CHAR instead of MAKE_NON_ASCII_CHAR.
7126 (Faccessible_keymaps): Use FETCH_STRING_CHAR_ADVANCE
7127 unconditionally.
7128 (Fkey_description): Likewise.
7129
7130 * lread.c (read1): On reading multibyte string, be sure to make
7131 all 8-bit chararacters in valid multibyte form.
7132 (readchar): Use FETCH_STRING_CHAR_ADVANCE unconditionally.
7133
7134 * print.c (print_object): Use FETCH_STRING_CHAR_ADVANCE
7135 unconditionally.
7136
7137 * process.c (Fstart_process): GCPRO current_dir before calling
7138 Ffind_operation_coding_system. Encode arguments here.
7139 (create_process): Don't encode arguments here. Setup
7140 src_multibyte and dst_multibyte members of struct coding.
7141 (read_process_output): Setup src_multibyte and dst_multibyte
7142 members of struct coding. If the output is to multibyte buffer,
7143 always decode the output of the process. Adjust the
7144 representation of 8-bit characters to the multibyteness of the
7145 output.
7146 (send_process): Setup coding->src_multibyte according to the
7147 multibyteness of the source.
7148
7149 * search.c (wordify): Use FETCH_STRING_CHAR_ADVANCE
7150 unconditionally.
7151 (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and
7152 FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately.
7153
7154 * term.c (produce_special_glyphs): Use CHAR_BYTES instead of
7155 CHAR_LEN.
7156
7157 * w16select.c (Fw16_set_clipboard_data): Setup members
7158 src_multibyte and dst_multibyte of coding. Adjusted for the
7159 change for find_charset_in_str.
7160 (Fw16_get_clipboard_data): Likewise.
7161
7162 * w32fns.c (w32_to_x_font): Setup members src_multibyte and
7163 dst_multibyte of coding.
7164 (x_to_w32_font): Likewise.
7165
7166 * w32select.c (Fw32_set_clipboard_data): Setup members
7167 src_multibyte and dst_multibyte of coding. Adjusted for the
7168 change for find_charset_in_str.
7169 (Fw32_get_clipboard_data): Likewise.
7170
7171 * xdisp.c (get_next_display_element): Handle 8-bit characters
7172 correctly.
7173 (next_element_from_display_vector): Use CHAR_BYTES instead of
7174 CHAR_LEN.
7175 (disp_char_vector): Use SPLIT_CHAR instead of
7176 SPLIT_NON_ASCII_CHAR.
7177
7178 * xselect.c (selection_data_to_lisp_data): Setup members
7179 src_multibyte and dst_multibyte of coding. Adjusted for the
7180 change for find_charset_in_str.
7181 (lisp_data_to_selection_data): Likewise.
7182
5f64c9e0
GM
71832000-05-19 Gerd Moellmann <gerd@gnu.org>
7184
2b63d473
GM
7185 * buffer.c (Fbury_buffer): Avoid trouble from burying a killed
7186 buffer.
7187
5f64c9e0
GM
7188 * dispextern.h (Vimage_types): Add extern declaration.
7189
7190 * xdisp.c (Vimage_types): Moved here from xfns.c.
7191 (syms_of_xdisp): Move `image-types' variable here from xfns.c.
7192
7193 * xfns.c (Vimages_types): Moved to xdisp.c.
7194 (syms_of_xfns): Move `image-types' to xdisp.c.
7195
7196 * w32fns.c (Vimage_types): Removed.
7197 (syms_of_w32fns): Remove `image-types'.
7198
813086ea
KH
71992000-05-18 Kenichi Handa <handa@etl.go.jp>
7200
7201 * fns.c (map_char_table): Pay attention to character number of
7202 charset. Check the validity of charset at the first level. For
7203 leaf nodes that has nil value, call C_FUNCTION or FUNCTION with
7204 the default value.
7205
7206 * fontset.c: Include "buffer.h".
7207 (fs_load_font): If the face has fontset, record the face ID in
7208 that fontset.
7209 (Finternal_char_font): New function.
7210 (accumulate_font_info): New function.
7211 (Ffontset_info): Rewritten for the new fontset implementation.
7212 (syms_of_fontset): Register Vdefault_fontset in the first element
7213 of Vfontset_table. Include Vdefault_fontset in
7214 Vfontset_alias_alist. Declare `internal-char-font' as a Lisp
7215 function.
7216
bdaebbf0
DL
72172000-05-16 Dave Love <fx@gnu.org>
7218
7219 * m/iris5d.h: Deleted -- unused.
7220
cb613bb8
GM
72212000-05-16 Gerd Moellmann <gerd@gnu.org>
7222
b15f3b77
GM
7223 * xdisp.c, w32.c, print.c, msdos.c, emacs.c: Use the term
7224 `invalid' instead of `illegal'.
7225
7226 * indent.c (Fmove_to_column): When ending within a tab, insert
7227 spaces first so that markers at the end of the tab get adjusted.
7228
835c1b36
GM
7229 * frame.c (frames_bury_buffer): Don't add a buffer to the frame's
7230 buffer list that wasn't selected in that frame.
7231
cb613bb8
GM
7232 * filelock.c (get_boot_time): To obtain an 8 char file name, which
7233 is needed on mescaline, use a 2 char prefix, and call
7234 make_temp_name with second arg non-zero.
7235
7236 * fileio.c (make_temp_name): New function, extracted from
7237 Fmake_temp_name.
7238 (Fmake_temp_name): Use it.
7239
f685bea9
EZ
72402000-05-15 Eli Zaretskii <eliz@is.elta.co.il>
7241
7242 * window.c (coordinates_in_window): Subtract 1 when computing
7243 right_x.
7244
a1b8d58b
GM
72452000-05-15 Gerd Moellmann <gerd@gnu.org>
7246
7247 * Makefile.in (lisp): Add env.elc.
7248
7249 * callproc.c (Fgetenv_internal): Renamed from Fgetenv.
7250
a265079f
GM
72512000-05-12 Gerd Moellmann <gerd@gnu.org>
7252
7253 * search.c (Freplace_match): Handle case of `\N' in the
7254 replacement when there's no group N.
7255
da4496b6
GM
72562000-05-11 Gerd Moellmann <gerd@gnu.org>
7257
0ace421a
GM
7258 * xdisp.c (add_to_log): Don't pass the terminating NUL byte
7259 of the message to message_dolog.
7260
1172eb8d
GM
7261 * keyboard.c (read_char): Don't clear current message for help
7262 events; let the code handling help events handle this. Change
7263 code detecting help events that should be ignored.
7264
da4496b6
GM
7265 * xdisp.c (handle_single_display_prop): Don't try to set PT if
7266 we're interating over a string.
7267
0623e40f
DL
72682000-05-09 Dave Love <fx@gnu.org>
7269
7270 * fileio.c (Fwrite_region): If APPEND arg is an integer, seek to
7271 that offset before writing. Move gcpro region past call of
7272 Ffile_regular_p.
7273
bae2503b
DL
72742000-05-04 Dave Love <fx@gnu.org>
7275
7276 * buffer.c (syms_of_buffer) [auto-fill-function]: Doc fix.
7277
ec82fb2f
GM
72782000-05-04 Gerd Moellmann <gerd@gnu.org>
7279
7280 * insdel.c (insert_from_buffer_1): Adjust FROM position by number
7281 of inserted characters when BUF equals the current buffer, and PT
7282 is in front of or equal to FROM.
7283
cbf18892
GM
72842000-05-03 Gerd Moellmann <gerd@gnu.org>
7285
4ff40dd0
GM
7286 * xdisp.c (handle_single_display_prop): If display property value
7287 is invalid, or something not supported on the frame, restore
7288 iterator's position to what it was initially. Make sure to return
7289 0 for invalid and unsupported property values.
7290
cbf18892
GM
7291 * xterm.c (x_produce_glyphs) <composite chars>: Handle case
7292 that x_per_char_metric returns null.
7293
1b0672c3
GM
72942000-05-02 Gerd Moellmann <gerd@gnu.org>
7295
576da55d
GM
7296 * xterm.h (struct face): Add forward declaration.
7297 (struct image): Ditto.
7298 (image_ascent): Add prototype.
7299
7300 * xterm.c (x_produce_image_glyph, x_draw_image_foreground)
7301 (x_draw_image_relief, x_draw_image_foreground_1): Call function
7302 image_ascent instead of using IMAGE_ASCENT.
7303
7304 * dispextern.h (DEFAULT_IMAGE_HEIGHT): New macro.
7305 (IMAGE_ASCENT): Removed.
7306
7307 * xfns.c (Qcenter): New variable.
7308 (enum image_value_type): Add IMAGE_ASCENT_VALUE.
7309 (parse_image_spec): Handle IMAGE_ASCENT_VALUE.
7310 (image_ascent): New function.
7311 (lookup_image): Recognize `:ascent center'.
7312 (xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
7313 (tiff_format, gif_format, gs_format): Use IMAGE_ASCENT_VALUE.
7314 (xbm_load): Don't set image's ascent here.
7315 (xbm_image_p, xpm_image_p, pbm_image_p, png_image_p)
7316 (jpeg_image_p, tiff_image_p, gif_image_p, gs_image_p): Don't
7317 check ascent values here.
7318 (Fimagep, Flookup_image [GLYPH_DEBUG]: Removed.
7319 (syms_of_xfns) [GLYPH_DEBUG]: Don't defsubr removed functions.
7320 (syms_of_xfns): Initialize Qcenter.
7321
1b0672c3
GM
7322 * eval.c (Fsignal): If lisp_eval_depth or spepdl_size are near
7323 to the limits, increase the limits.
7324
0d7811ed
KH
73252000-05-01 Kenichi Handa <handa@etl.go.jp>
7326
7327 * fontset.c (fs_load_font): By default, use 0x00..0x7f for ASCII.
7328 Check Vfont_encoding_alist against the full name of the opened
7329 font.
7330
a943a5ca
GM
73312000-04-28 Gerd Moellmann <gerd@gnu.org>
7332
7333 * xdisp.c (make_cursor_line_fully_visible): Handle case of rows
7334 taller than the window.
7335
5dba1e29
KH
73362000-04-28 Kenichi Handa <handa@etl.go.jp>
7337
7338 * xfaces.c (realize_x_face): Fix the argument of the second
7339 xassert. BASE_FACE may not be a face for ASCII.
7340
353964e3
GM
73412000-04-27 Gerd Moellmann <gerd@gnu.org>
7342
c76e04a8
GM
7343 * print.c (print_object): Treat print-length < 0 as nil.
7344
7345 * Makefile.in (termcapobj): Don't use TERMCAP_OBJ.
7346
7347 * s/freebsd.h (TERMCAP_OBJ): Removed.
7348 (LIBS_TERMCAP): Don't define for __FreeBSD_version >= 400000.
7349
7350 * lread.c (read1): Don't treat period followed by certain
7351 characters as symbol start.
7352
7353 * xfns.c (slurp_file): New function.
7354 (xbm_image_p): Handle case of in-memory XBM files.
7355 (xbm_scan): Rewritten to work on memory buffers instead of files.
7356 (xbm_read_bitmap_data): Renamed from xbm_read_bitmap_file_data.
7357 Work on memory buffers instead of files. If DATA is null test
7358 if buffer looks like an in-memory XBM file.
7359 (xbm_load_image): Renamed from xbm_load_image_file. Work on
7360 memory buffers instead of files.
7361 (xbm_file_p): New function.
7362 (xbm_load): Accept :data DATA where DATA is an in-memory XBM file.
7363
353964e3
GM
7364 * lread.c (end_of_file_error): New function.
7365 (read1): Call it instead of signaling `end-of-file' directly.
7366
427ec082 7367 * print.c (print_error_message): Print data of `end-of-file'
353964e3
GM
7368 with Fprinc instead of Fprin1.
7369
24d744ac
KR
73702000-04-26 Ken Raeburn <raeburn@gnu.org>
7371
7372 * window.c (freeze_window_start): Check that minibuffer scroll
7373 window isn't nil before extracting the window structure pointer
7374 from it.
7375
7376 * undo.c (record_delete): If we hit the end of the undo list, stop
7377 picking elements apart.
7378
7464346d
GM
73792000-04-26 Gerd Moellmann <gerd@gnu.org>
7380
7381 * xdisp.c (display_line): If lines are continued, restore
7382 iterator's ascent/descent information to the values before the
7383 first glyph not fitting on the line.
7384
612839b6
GM
73852000-04-25 Gerd Moellmann <gerd@gnu.org>
7386
7387 * xdisp.c (try_window_id) <all changes above window start>: Adjust
7388 positions in glyph matrix. Don't compute new window end
7389 positions.
7390
7391 * dispnew.c (increment_matrix_positions): Renamed from
7392 increment_glyph_matrix_buffer_positions.
7393 (increment_row_positions): Renamed from
7394 increment_glyph_row_buffer_positions.
7395
7396 * dispextern.h: Change names of renamed functions from dispnew.c
7397 in prototypes.
7398
cc181e95
GM
73992000-04-24 Gerd Moellmann <gerd@gnu.org>
7400
abfcc168
GM
7401 * fileio.c (Fdo_auto_save): Create directories for auto-save
7402 list file if necessary.
7403
cc181e95
GM
7404 * xdisp.c (init_iterator): Set iterator's extra_line_spacing
7405 from buffer or frame.
7406 (automatic_hscrolling_p): New variable.
7407 (hscroll_windows): Scroll windows horizontally only if automatic
7408 hscrolling is allowed.
7409 (syms_of_xdisp): New variable `automatic-hscrolling'.
7410
7411 * frame.h (struct frame): Add member extra_line_spacing.
7412
7413 * xfns.c (x_set_line_spacing): New function.
7414 (Fx_create_frame): Set line spacing from resources.
7415 (Qline_spacing): New variable.
7416 (syms_of_xfns): Initialize Qline_spacing.
427ec082 7417
cc181e95
GM
7418 * emacs.c (USAGE2): Add `--line-spacing' and `-lsp'.
7419
7420 * buffer.c (init_buffer_once): Handle extra_line_spacing.
7421 (syms_of_buffer): Add `default-line-spacing' and `line-spacing'.
abfcc168 7422 (reset_buffer): Don't initialize extra2 and extra3. Initialize
cc181e95
GM
7423 extra_line_spacing from default value.
7424 (init_buffer_once): Initialize default value of extra_line_spacing.
7425
7426 * buffer.h (struct buffer): Add extra_line_spacing, remove extra2
7427 and extra3.
7428
7429 * xterm.c (x_produce_glyphs): Remove reference to struct it's
7430 prompt_width. Add extra line spacing.
7431
7432 * term.c (produce_glyphs): Remove reference to struct it's
7433 prompt_width.
7434
7435 * dispextern.h (struct it): Remove member prompt_width, add
7436 extra_line_spacing.
7437
58827478
GM
74382000-04-22 Gerd Moellmann <gerd@gnu.org>
7439
7440 * dispnew.c (update_frame_line): When writing a whole line, make
7441 sure cursor is in the right row afterwards, otherwise a use of
7442 capability `ch' in cmgoto might leave the cursor in the row below.
7443
25a87f42
GM
74442000-04-21 Gerd Moellmann <gerd@gnu.org>
7445
7446 * lisp.h (struct Lisp_Buffer_Cons): Remove.
7447
7448 * keyboard.c (timer_check): Fix typo in comment.
7449
54edf5c2
KH
74502000-04-21 Kenichi Handa <handa@etl.go.jp>
7451
7452 * fontset.c (Fset_fontset_font): Fix docstring. Local variable
7453 name change: ch -> character.
7454
3a64eef5
GM
74552000-04-20 Gerd Moellmann <gerd@gnu.org>
7456
7457 * keyboard.c (echo_message_buffer): New variable.
7458 (echo_now): Set echo_message_buffer to the echo area buffer used
7459 to display the echo.
7460 (cancel_echoing): Reset echo_message_buffer to nil.
7461 (read_char): Code rewritten that handles canceling an echo or
7462 echoing a dash, respectively.
7463
7464 * fileio.c (Ffile_writable_p) [WINDOWSNT]: Return nil if parent
7465 directory doesn't exist.
7466
6142fdcb
DL
74672000-04-19 Dave Love <fx@gnu.org>
7468
7469 * fns.c (syms_of_fns): Defsubr mapc.
a9cacab7
DL
7470 (concat): Don't allow numeric args.
7471 (Fconcat): Doc change.
6142fdcb 7472
ac6b5352
SM
74732000-04-19 Stefan Monnier <monnier@cs.yale.edu>
7474
7475 * regex.c (re_match_2_internal): Don't shorten the strings anymore,
7476 instead define end_match(1|2) more carefully.
7477 Use GET_CHAR_BEFORE_2 for `begline'.
7478
cb9215e4
GM
74792000-04-19 Gerd Moellmann <gerd@gnu.org>
7480
5e3dac3f
GM
7481 * frame.h (SELECTED_FRAME): Change definition to compile cleanly
7482 on 64-bit systems where NULL is defined as `0'.
7483
7484 * xdisp.c (with_echo_area_buffer): Add more `int' parameters for
7485 the `variable argument list' to make it work on Alpha.
7486
cb9215e4
GM
7487 * m/alpha.h (_LP64) [!_LP64]: Define.
7488 (ORDINARY_LINK): Define for NetBSD.
7489
7490 * m/macppc.h (ORDINARY_LINK): Define for NetBSD.
427ec082 7491
f532dca0
DL
74922000-04-19 Dave Love <fx@gnu.org>
7493
c750667e
DL
7494 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Revert 2000-04-14
7495 change.
7496
7497 * Makefile.in (LIBS): Don't use.
7498 (GETLOADAVG_OBJ): Define again.
7499 (otherobj): Add GETLOADAVG_OBJ.
7500
f532dca0
DL
7501 * buffer.c (Fmake_indirect_buffer): Escape newline in doc.
7502
1c7e22fd
GM
75032000-04-18 Gerd Moellmann <gerd@gnu.org>
7504
f6d3257b
GM
7505 * lread.c (read_filtered_event): Cancel and start busy cursor.
7506
427ec082 7507 * xterm.c (x_produce_glyphs) <ASCII chars>: Take into account
1c7e22fd
GM
7508 that the per-character metrics may be null.
7509
e10f64e7
GM
75102000-04-17 Gerd Moellmann <gerd@gnu.org>
7511
0daee095
GM
7512 * buffer.c (clone_per_buffer_values): New function.
7513 (Fmake_indirect_buffer): Add optional argument CLONE. Call
7514 clone_per_buffer_values if CLONE is not nil.
7515
e10f64e7
GM
7516 * xfaces.c (Ftty_suppress_bold_inverse_default_colors): Doc fix.
7517
38687d43
DL
75182000-04-16 Dave Love <fx@gnu.org>
7519
7520 * Makefile.in: Remove obsolete localcpp stuff.
7521 (GETLOADAVG_OBJ): Don't define.
7522 (obj): Move LIBOBJS...
7523 (otherobj): ... to here.
7524 (MSDOS_OBJ): Convert to make variable -- preprocessing zapped
7525 whitespace-only lines after the continuation (Irix).
7526
c21c7262
GM
75272000-04-14 Gerd Moellmann <gerd@gnu.org>
7528
7529 * xfns.c (xpm_load) [DEBUG_X_COLORS]: Register colors.
7530
7531 * s/freebsd.h (LD_SWITCH_SYSTEM): Add `-L /usr/local/lib'.
7532
314767c0
DL
75332000-04-14 Dave Love <fx@gnu.org>
7534
7535 * s/aix3-1.h, s/bsd4-2.h, s/bsd4-3.h, s/cxux.h, s/dgux.h, s/gnu.h:
7536 * s/hpux.h, s/iris3-5.h, s/iris3-6.h, s/irix3-3.h, s/rtu.h:
7537 * s/unipl5-0.h, s/unipl5-2.h, s/usg5-0.h, s/usg5-2-2.h, s/usg5-2.h:
7538 * s/usg5-3.h, s/xenix.h, s/umax.h: Don't define autoconfiscated
7539 NLIST_STRUCT.
7540
7541 * s/bsd386.h, s/freebsd.h, s/gnu.h, s/netbsd.h: Don't define
7542 autoconfiscated HAVE_GETLOADAVG.
7543
7544 * s/nextstep.h, s/sco4.h, s/sco5.h: Don't define autoconfiscated
7545 BROKEN_MKTIME.
7546
a2522dca
GM
75472000-04-14 Gerd Moellmann <gerd@gnu.org>
7548
7549 * filelock.c (MAKE_LOCK_NAME): Allocate 2 more bytes.
7550 (fill_in_lock_file_name): Avoid existing files that aren't
7551 links.
7552
33744b5d
DL
75532000-04-14 Dave Love <fx@gnu.org>
7554
c21c7262 7555 * Makefile.in (LIBS, LIBOBJS): New variable.
33744b5d
DL
7556 (INTERVAL_SRC): Convert to make variable.
7557 (INTERVAL_OBJ, MKTIME_OBJ, FLOAT_SUPPORT, FACE_SUPPORT)
7558 (HAVE_X_WINDOWS, OBJECTS_SYSTEM): Remove.
7559 (obj): Substitute INTERVAL_OBJ, add MKTIME_OBJ, GETLOADAVG_OBJ and
7560 add LIBOBJS.
7561 (SOME_MACHINE_OBJECTS): Remove interval stuff.
7562 (lisp): Substitute FACE_SUPPORT, FLOAT_SUP.
7563 (shortlisp): Add facemenu, float-sup, frame.
7564 (SOME_MACHINE_LISP): Remove them from here.
7565 (LIBES): Change unused LDLIBS to autoconf LIBS.
7566
7567 * config.in: Add BROKEN_MKTIME, NLIST_STRUCT, NLIST_NAME_UNION.
7568
9d3d5916
KH
75692000-04-14 Kenichi Handa <handa@etl.go.jp>
7570
7571 * composite.c (update_compositions): If FROM and TO are not in a
7572 valid range, do nothing.
7573
198e3c7a
GM
75742000-04-13 Gerd Moellmann <gerd@gnu.org>
7575
7576 * tparam.c (tparam1): Abort when encountering an unknown
7577 `%'-specifier.
7578
7579 * s/freebsd.h (TERMCAP_OBJ) [__FreeBSD__ >= 4]: Define as
7580 terminfo.o.
7581
7582 * Makefile.in (termcapobj) [LIBS_TERMCAP && TERMCAP_OBJ]: Define
7583 as TERMCAP_OBJ.
7584
055a28c9
EZ
75852000-04-13 Eli Zaretskii <eliz@is.elta.co.il>
7586
7587 * fileio.c (a_write): Remove redundant semi-colons.
7588 (e_write): Return -1 if failed to write all the data.
7589 This fixes the changes made at 1999-12-15.
7590
f5c75033
DL
75912000-04-12 Dave Love <fx@gnu.org>
7592
7593 * fns.c (mapcar1): Test for null vals to support mapc.
7594 (Fmapc): New function.
7595
0c3cfc51
EZ
75962000-04-12 Eli Zaretskii <eliz@is.elta.co.il>
7597
7598 * msdos.c (NUM_MOUSE_BUTTONS): Define.
7599 (IT_frame_up_to_date): Support the buffer local value of
7600 cursor-type, if defined.
7601
33465a31
DL
76022000-04-10 Dave Love <fx@gnu.org>
7603
7604 * editfns.c (preceding-char, following-char): Doc fix.
7605
6ed56568
KR
76062000-04-10 Ken Raeburn <raeburn@gnu.org>
7607
7608 * Makefile.in (temacs): Revert 2000-03-12 change.
7609
7cf80d4e
JR
76102000-04-10 Jason Rumney <jasonr@gnu.org>
7611
7612 * xfaces.c (realize_face): Change FRAME_X_P to FRAME_WINDOW_P.
7613
34f3f342
GM
76142000-04-10 Gerd Moellmann <gerd@gnu.org>
7615
1a1b1895
GM
7616 * xdisp.c (setup_echo_area_for_printing): Choose an echo
7617 area buffer, if it's not set up yet.
7618
34f3f342
GM
7619 * indent.c (compute_motion): Set immediate_quit.
7620
be0dbdab
GM
76212000-04-09 Gerd Moellmann <gerd@gnu.org>
7622
c45be9ac
GM
7623 * xfaces.c (tty_suppress_bold_inverse_default_colors_p): New
7624 variable.
7625 (realize_tty_face): Suppress boldness if colors are the inverse of
7626 the default colors, and tty_suppress_bold_inverse_default_colors_p
7627 is set.
7628 (Ftty_suppress_bold_inverse_default_colors): New function.
7629 (syms_of_xfaces): Defsubr it.
7630
be0dbdab
GM
7631 * buffer.c (Frestore_buffer_modified_p): New function.
7632 (syms_of_buffer): Defsubr it.
7633
e8413c3b
KR
76342000-04-08 Ken Raeburn <raeburn@gnu.org>
7635
87f67317
KR
7636 * charset.c (Fmake_char_internal): CHAR_COMPONENTS_VALID_P takes a
7637 charset id (int) argument, not a charset (Lisp_Object).
7638
e8413c3b
KR
7639 * coding.h (code_convert_string): Declare.
7640 * coding.c (code_convert_string_norecord): Pass an int, not a lisp
7641 object, as the fourth argument to code_convert_string.
7642
7643 * fontset.c (make_fontset_for_ascii_face): Use XINT on return
7644 value.
7645 (Fset_fontset_font): Use EQ to compare lisp objects.
7646
7c752c80
KR
76472000-04-05 Ken Raeburn <raeburn@gnu.org>
7648
c0333abc
KR
7649 * intervals.h (SET_INTERVAL_PARENT): Use INT_LISPLIKE to test for
7650 a pointer that looks like a lisp object.
7651 (SET_INTERVAL_OBJECT): Don't explicitly compare the object with
7652 zero, instead see whether it's an integer object, since they can't
7653 have intervals.
7654 (GET_INTERVAL_OBJECT): Simply assign to the destination.
7655
7c752c80
KR
7656 * dispnew.c (allocate_matrices_for_frame_redisplay,
7657 direct_output_forward_char): Use X(U)INT and make_number as needed
7658 to convert between (unsigned) int values and lisp integers.
7659 * keyboard.c (read_key_sequence): Likewise.
7660 * lread.c (substitute_object_recurse): Likewise.
7661 * fns.c (concat, hash_lookup, hash_remove): Likewise.
7662 * minibuf.c (do_completion, Fminibuffer_complete_word,
7663 Fminibuffer_completion_help): Likewise.
7664 * term.c (produce_special_glyphs): Likewise.
7665
7666 * fileio.c (Fwrite_region): Use EQ when comparing lisp objects.
7667 * print.c (print_preprocess, print_object): Likewise.
7668
7669 * search.c (compile_pattern): Use NILP when checking for nil.
7670
74e49b38
KR
7671 * lisp.h (make_number) [!NO_UNION_TYPE && __GNUC__ >= 2 &&
7672 __OPTIMIZE__]: Provide a GNU C macro version that handles
7673 lisp-object unions.
7674 (XSET) [!NO_UNION_TYPE]: Set the value field first, then the type
7675 field, to better cope with ENABLE_CHECKING and calls that modify a
7676 Lisp_Object using its old value.
7677
685e5ed2
GM
76782000-04-04 Gerd Moellmann <gerd@gnu.org>
7679
c407c570
GM
7680 * window.c (compare_window_configurations): Signal an error
7681 if parameters C1 or C2 aren't window configurations.
7682
685e5ed2
GM
7683 * bytecode.c (Fbyte_code): Add a bunch of BEFORE_POTENTIAL_GC/
7684 AFTER_POTENTIAL_GC calls around calls to functions that can
7685 signal an error and thus invoke the debugger.
7686
587a49ab
GM
76872000-04-03 Gerd Moellmann <gerd@gnu.org>
7688
62f20204
GM
7689 * fns.c (Fbase64_decode_region, Fbase64_decode_string): Signal
7690 an error if decoding fails.
7691
587a49ab
GM
7692 * keyboard.c (lispy_mouse_names): Variable removed.
7693 (Vlispy_mouse_stem): New variable.
7694 (syms_of_keyboard): Initialize Vlispy_mouse_stem.
7695 (make_lispy_event) <mouse_click, scroll_bar_click>: Don't abort
7696 for any mouse button number. Increase size of mouse_syms and
7697 button_down_location as needed. Call modify_event_symbol with
7698 different arguments.
7699 (make_lispy_event) <scroll_bar_click> [USE_TOOLKIT_SCROLL_BARS]:
7700 Call modify_event_symbol with different arguments.
7701 (make_lispy_event) <w32_scroll_bar_click> [WINDOWSNT]: Don't abort
7702 for any button number. Call modify_event_symbol with different
7703 arguments.
7704 (modify_event_symbol): Rename NAME_ALIST to NAME_ALIST_OR_STEM.
7705 Accept a string for NAME_ALIST_OR_STEM.
7706
7707 * lisp.h (larger_vector): Add prototype.
7708
7709 * fns.c (larger_vector): Make externally visible.
7710
7711 * termhooks.h (NUM_MOUSE_BUTTONS): Removed.
7712
2d1675e4
SM
77132000-04-02 Stefan Monnier <monnier@cs.yale.edu>
7714
7715 * regex.c (PTR_TO_OFFSET) [!emacs]: Remove.
7716 (RE_MULTIBYTE_P, RE_STRING_CHAR_AND_LENGTH): New macros.
7717 (GET_CHAR_BEFORE_2): Moved from charset.h plus fixed minor bug when
7718 we are between str1 and str2.
7719 (MAX_MULTIBYTE_LENGTH, CHAR_STRING) [!emacs]: Provide trivial default.
7720 (PATFETCH): Use `TRANSLATE'.
7721 (PATFETCH_RAW): Fetch multibyte char if applicable.
7722 (PATUNFETCH): Remove.
7723 (regex_compile): Rely on PATFETCH to do most of the multibyte magic.
7724 When writing a char, write it directly into the pattern buffer rather
7725 than going needlessly through a temp char-array.
7726 (re_match_2_internal): Similarly, rely on RE_STRING_CHAR to do the
7727 multibyte magic and remove the useless `#ifdef emacs'.
7728 (bcmp_translate): Don't compare as multibyte chars when in a unibyte
7729 buffer.
7730
7731 * regex.h (struct re_pattern_buffer): Make field `multibyte'
7732 conditional on `emacs'.
7733
7734 * charset.h (GET_CHAR_BEFORE_2): Moved to regex.c.
7735
cc2d8c6b
KR
77362000-04-01 Ken Raeburn <raeburn@gnu.org>
7737
7738 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P): Expand
7739 non-union-type versions of XMARK and friends here, because XMARK
7740 and friends won't work on an integer field if NO_UNION_TYPE is not
7741 defined.
7742 (make_number): Define as a function if it's not defined as a
7743 macro.
7744
09654086
KR
7745 * composite.c (run_composite_function): Use NILP when checking for
7746 nil.
7747 (syms_of_composite): Delete local var NARGS, pass an int as first
7748 argument to Fmake_hash_table.
7749
2387b382
KR
7750 * editfns.c (text_property_stickiness): Use NILP to test
7751 Lisp_Object boolean value.
7752 (Fmessage_or_box): Don't use NILP to test int variable.
c01fbf95
KR
7753 (Fformat): Use a temporary variable to avoid ENABLE_CHECKING
7754 problems reading from and changing the same lisp value in an
7755 XSETSTRING call.
7756
27660e89
GM
77572000-04-01 Gerd Moellmann <gerd@gnu.org>
7758
7759 * term.c (TN_no_color_video): New variable.
7760 (term_init): Intitialize TN_no_color_video.
7761 (enum no_color_bit): New enumeration.
7762 (MAY_USE_WITH_COLORS_P): New macro.
7763 (turn_on_face): Use it to determine if attributes may be used
7764 combined with colors.
7765
3578db3c
KR
77662000-04-01 Ken Raeburn <raeburn@gnu.org>
7767
7768 * window.c (CURBEG, CURSIZE): Don't overload lisp object lvalues
7769 with int lvalues via casts; instead, just yield lisp object
7770 lvalues.
7771 (enlarge_window): Variable sizep now points to Lisp_Object. Use
7772 proper accessor macros.
7773 (shrink_window_lowest_first): w->top is Lisp_Object; use XINT.
7774 (grow_mini_window): Fix typo getting int value of root->height.
7775
6fc556fd
KR
7776 * xdisp.c (compute_string_pos): Fix order of arguments to
7777 string_pos_nchars_ahead.
7778 (handle_fontified_prop, add_to_log): Pass int, not Lisp_Object, as
7779 count arg to variable-arg routines like Frun_hook_with_args and
7780 Fformat.
587a49ab
GM
7781 (back_to_previous_visible_line_start)
7782 (build_desired_tool_bar_string): Pass Lisp_Object, not int, to
6fc556fd
KR
7783 fixed-arg routines like Fget_char_property and Fmake_string.
7784 (reconsider_clip_changes): Use XINT when comparing integer lisp
7785 objects, or passing them as int arguments.
587a49ab
GM
7786 (mark_window_display_accurate, insert_left_trunc_glyphs)
7787 (append_space, extend_face_to_end_of_line): Use make_number when
6fc556fd
KR
7788 storing or passing integer values as lisp objects.
7789 (set_cursor_from_row, highlight_trailing_whitespace): Use
7790 INTEGERP, not implicit test against zero, for glyph object.
7791 (try_window_id): Don't use make_number when we want an int value.
7792
7793 * xfaces.c (xlfd_symbolic_value): Make last argument a
7794 Lisp_Object, to be consistent with callers.
7795 (Fbitmap_spec_p): Use XINT to get numeric value of height.
7796 (lface_hash): Apply XFASTINT to lisp values before folding in.
7797
7798 * xfns.c (Fx_show_tip): Use make_number to get lisp objects to
7799 fill in window width and height. Pass an int, not a lisp object,
7800 as first arg to Finsert.
7801
6e7b2457
GM
78022000-04-01 Gerd Moellmann <gerd@gnu.org>
7803
610d841e
GM
7804 * xfaces.c (realize_basic_faces): Block input while realizing
7805 the faces.
7806
6e7b2457
GM
7807 * keyboard.c (lispy_mouse_names): Add additional mouse names.
7808
7809 * termhooks.h (NUM_MOUSE_BUTTONS): Increase to 15.
7810
aa110c0c
GM
78112000-03-31 Gerd Moellmann <gerd@gnu.org>
7812
7813 * xterm.c (x_produce_glyphs): When displaying unibyte text
610d841e 7814 or ASCII, handle case that per-char metric is null.
aa110c0c 7815
8801a864
KR
78162000-03-30 Ken Raeburn <raeburn@gnu.org>
7817
c6129d7e
KR
7818 * lisp.h (NO_UNION_TYPE) [ENABLE_CHECKING]: Undef.
7819
8801a864
KR
7820 * lisp.h (XCONS, XSTRING, XSYMBOL, XFLOAT, XPROCESS, XWINDOW,
7821 XSUBR, XBUFFER): Verify correct object type before returning
7822 pointer, using eassert.
7823 * frame.h (XFRAME): Likewise.
7824
7825 * buffer.c (Frename_buffer, Fset_buffer_multibyte,
7826 swap_out_buffer_local_variables, Fmove_overlay): Don't apply
7827 XSYMBOL, XBUFFER, etc, to values that may be nil or of the wrong
7828 type.
7829 * data.c (set_internal): Likewise.
7830 * dispextern.h (WINDOW_WANTS_MODELINE_P,
7831 WINDOW_WANTS_HEADER_LINE_P): Likewise.
7832 * fileio.c (auto_save_1): Likewise.
7833 * insdel.c (check_markers): Likewise.
7834 * marker.c (buf_charpos_to_bytepos, unchain_marker): Likewise.
7835 * undo.c (record_insert): Likewise.
7836 * vmsproc.c (child_sig): Likewise.
7837 * window.c (unshow_buffer, window_loop): Likewise.
7838 * xterm.c (x_erase_phys_cursor): Likewise.
7839
8e7af858
GM
78402000-03-30 Gerd Moellmann <gerd@gnu.org>
7841
7842 * xfns.c (free_image_cache): Free the cache structure itself
7843 last, after all its members have been freed.
7844
7845 * lisp.h (xstrdup): Add prototype.
7846
7847 * alloc.c (xstrdup): Moved here from xfaces.c.
7848 (allocating_for_lisp): Variable removed.
7849 (lisp_malloc): Block input around the calls to malloc and
7850 mem_insert.
7851
7852 * xfaces.c (realize_tty_face): Use find_symbol_value instead
7853 of Fsymbol_value.
7854 (xstrdup): Moved to alloc.c.
7855
e0b8c689
KR
78562000-03-29 Ken Raeburn <raeburn@gnu.org>
7857
b96f9fb7
KR
7858 * scroll.c (CHECK_BOUNDS): Renamed from CHECK.
7859
7860 * emacs.c (main): Fix sense of no-loadup test.
7861
e0b8c689
KR
7862 * config.in (ENABLE_CHECKING): Undef.
7863
7864 * lisp.h (struct interval): Replace "parent" field with a union of
7865 interval pointer and Lisp_Object; add new bitfield to use as
7866 discriminant. Change other flag fields to bitfields.
7867 (CHECK): New macro for consistency checking. If ENABLE_CHECKING
7868 is defined and the supplied test fails, print a message and
7869 abort.
7870 (eassert): New macro. Use CHECK to provide an assert-like
7871 facility.
7872
7873 * intervals.h (NULL_INTERVAL_P): Now applies only to real interval
7874 pointers; abort if the value looks like a lisp object.
7875 (NULL_INTERVAL_P, NULL_PARENT, HAS_PARENT, HAS_OBJECT, SET_PARENT,
7876 SET_OBJECT, INTERVAL_PARENT, GET_INTERVAL_OBJECT, COPY_PARENT):
7877 Modify for new interval parent definition.
7878
7879 * alloc.c (mark_interval_tree, MARK_INTERVAL_TREE,
7880 UNMARK_BALANCE_INTERVALS): Update references that need an
7881 addressable lisp object in the interval structure.
7882 (die): New function.
7883 (suppress_checking): New variable.
7884
7885 * intervals.c (interval_start_pos): Just return 0 if there's no
7886 parent object.
7887
f83c5440
GM
78882000-03-29 Gerd Moellmann <gerd@gnu.org>
7889
7890 * lread.c (read1): Accept `.' (period) as symbol start like in CL
7891 and earlier Emacs versions.
7892
7893 * keyboard.c (Ftop_level): Cancel busy-cursor.
7894
7895 * eval.c (call_debugger): Cancel busy-cursor.
7896
fdce64ff
KH
78972000-03-29 Kenichi Handa <handa@etl.go.jp>
7898
7899 * search.c (Freplace_match): Adjust multibyteness of the current
7900 buffer and NEWTEXT. Free allocated memory before signaling an
7901 error.
7902
f6a3f532
SM
79032000-03-28 Stefan Monnier <monnier@cs.yale.edu>
7904
7905 * regex.c (analyse_first): New function obtained by ripping out most
7906 of re_compile_fastmap and generalizing it a little bit so that it
7907 can also just return whether a given (sub)pattern can match the empty
7908 string or not.
7909 (regex_compile): Use `analyse_first' to decide whether the loop-check
7910 needs to be done or not for *, +, *? and +? (the loop check is costly
7911 for non-greedy repetition).
7912 (re_compile_fastmap): Delegate the actual work to `analyse_first'.
7913
e9b309ac
DL
79142000-03-28 Dave Love <fx@gnu.org>
7915
bb15bd9a
DL
7916 * s/gnu-linux.h (GC_SETJMP_WORKS): Define for i386, sparc, m68k,
7917 alpha.
7918
e9b309ac
DL
7919 * alloc.c: Include stdio.h. Test STDC_HEADERS, not __STDC__.
7920
ed0767d8
SM
79212000-03-27 Stefan Monnier <monnier@cs.yale.edu>
7922
7923 * regex.c (REGEX_FREE_STACK, RESET_FAIL_STACK): Make them usable as
7924 an expression.
7925 (enum re_opcode_t): Update description of succeed_n.
7926 (PATFETCH): Always define.
7927 (regex_compile): Use lookahead rather than PATUNFETCH (for repetition
7928 operators, char classes, shy-groups and intervals).
7929 Optimize special cases of intervals so as to only use succeed_n and
7930 jump_n when really needed.
7931 (re_compile_fastmap): Simplify handling of jump_n and succeed_n now
7932 that we don't have to handle the special cases any more.
7933 Simplify on_failure_jump handling as well.
7934
e11e7e46
JR
79352000-03-28 Jason Rumney <jasonr@gnu.org>
7936
7937 * lread.c (Fload): Move safe_p definition to above #ifdef DOS_NT.
7938
88faab89
GM
79392000-03-27 Gerd Moellmann <gerd@gnu.org>
7940
182ff242
GM
7941 * s/freebsd.h (GC_SETJMP_WORKS): Define.
7942
7943 * s/msdos.h (GC_SETJMP_WORKS): Define.
427ec082 7944
182ff242
GM
7945 * alloc.c (mark_maybe_object): New function.
7946 (mark_memory): Use it.
7947 (SETJMP_WILL_LIKELY_WORK, SETJMP_WILL_NOT_WORK): New macros.
7948 (setjmp_tested_p, longjmp_done): New variables.
7949 (test_setjmp): New function.
7950 (mark_stack) [!GC_SETJMP_WORKS]: Call test_setjmp.
7951 (init_alloc): Initialize setjmp_tested_p and longjmp_done.
7952
c1005d06
GM
7953 * xdisp.c (face_before_or_after_it_pos): Pass multibyteness
7954 to DEC_TEXT_POS and INC_TEXT_POS.
7955
7956 * dispnew.c (direct_output_for_insert): Use DEC_TEXT_POS
7957 with parameter MULTIBYTE_P.
7958
427ec082 7959 * dispextern.h (INC_TEXT_POS, DEC_TEXT_POS): Add parameter
c1005d06
GM
7960 MULTIBYTE_P.
7961
7439e5b9 7962 * editfns.c (Fsubst_char_in_region): Don't use INC_POS in unibyte
182ff242
GM
7963 buffers because it looks for multibyte character byte sequences
7964 which don't exist in unibyte text.
7439e5b9 7965
d9c545da
GM
7966 * xterm.h (x_specified_cursor_type, x_copy_color): Add prototypes.
7967
11fd416e 7968 * xfaces.c (register_color, unregister_color, unregister_colors)
d9c545da
GM
7969 [DEBUG_X_COLORS]: New functions.
7970 (x_free_colors) [DEBUG_X_COLORS]: Unregister colors.
7971
7972 * xfns.c (x_set_cursor_color): Get color reference counts right.
7973
7974 * xterm.c (x_copy_color): New function.
7975 (x_alloc_nearest_color) [DEBUG_X_COLORS]: Call register_color.
7976
7977 * buffer.h (MAX_PER_BUFFER_VARS): Renamed from MAX_BUFFER_LOCAL_VARS.
7978 (PER_BUFFER_VAR_OFFSET): Renamed from BUFFER_LOCAL_VAR_OFFSET.
7979 (PER_BUFFER_VAR_IDX): Renamed from BUFFER_LOCAL_VAR_IDX.
7980 (PER_BUFFER_VALUE_P): Renamed from BUFFER_HAS_LOCAL_VALUE_P.
7981 (SET_PER_BUFFER_VALUE_P): Renamed from SET_BUFFER_HAS_LOCAL_VALUE_P.
7982 (PER_BUFFER_IDX): Renamed from BUFFER_LOCAL_IDX.
7983 (PER_BUFFER_DEFAULT): Renamed from BUFFER_LOCAL_DEFAULT_VALUE.
7984 (PER_BUFFER_VALUE): Renamed from BUFFER_LOCAL_VALUE.
7985 (PER_BUFFER_SYMBOL): Renamed from BUFFER_LOCAL_SYMBOL.
7986 (PER_BUFFER_TYPE): Renamed from BUFFER_LOCAL_TYPE.
7987
11fd416e
GM
7988 * category.c, data.c, syntax.c, print.c, lread.c: Use new macro
7989 names for handling per-buffer variables.
d9c545da
GM
7990
7991 * buffer.c (buffer_permanent_local_flags): Use MAX_PER_BUFFER_VARS
7992 instead of MAX_BUFFER_LOCAL_VARS.
7993 (last_per_buffer_idx): Renamed from max_buffer_local_idx.
7994
7995 * xfaces.c (lookup_face): Don't assert FACE_SUITABLE_FOR_CHAR_P.
7996
88faab89
GM
7997 * xfns.c (x_specified_cursor_type): New function.
7998 (x_set_cursor_type): Use it.
7999
8000 * buffer.h (struct buffer): Add cursor_type.
8001
d80f42b7
SM
80022000-03-26 Stefan Monnier <monnier@cs.yale.edu>
8003
8004 * regex.c (enum re_opcode_t): New opcode on_failure_jump_nastyloop.
427ec082 8005 (print_partial_compiled_pattern, re_compile_fastmap): Handle new
88faab89 8006 opcode.
d80f42b7
SM
8007 (regex_compile): Use on_failure_jump_nastyloop for non-greedy loops.
8008 (re_match_2_internal): Add code for on_failure_jump_nastyloop when
8009 executing it as well as when popping it off the stack to find infinite
8010 loops in non-greedy repetition operators.
8011
89e80928
GM
80122000-03-26 Gerd Moellmann <gerd@gnu.org>
8013
3d4ff2dd
GM
8014 * doc.c (Qfunction_documentation): New variable.
8015 (syms_of_doc): Initialize Qfunction_documentation.
8016 (Fdocumentation): If FUNCTION is a symbol with non-nil
8017 `function-documentation' property, return a documentation derived
8018 from that.
8019
bd96bd79
GM
8020 * buffer.c (syms_of_buffer): Add default-cursor-type.
8021 (init_buffer_once): Don't let cursor_type have a local value
8022 in every buffer.
8023
19d1bc27
GM
8024 * xterm.c (x_display_and_set_cursor): Choose cursor depending
8025 on buffer-local value of cursor_type.
8026 (x_draw_bar_cursor): Add parameter WIDTH.
8027
8028 * buffer.c (reset_buffer): Initialize buffer's cursor_type.
8029 (init_buffer_once): Set default cursor_type value to t.
8030 Mark cursor_type as local everywhere.
8031 (syms_of_buffer): New per-buffer variable cursor-type.
8032
89e80928
GM
8033 * buffer.h (struct buffer): Remove member local_var_flags,
8034 add local_flags.
8035 (MAX_BUFFER_LOCAL_VARS): New macro.
8036 (BUFFER_LOCAL_VAR_OFFSET, BUFFER_LOCAL_VAR_IDX)
8037 (BUFFER_HAS_LOCAL_VALUE_P, SET_BUFFER_HAS_LOCAL_VALUE_P)
8038 (BUFFER_LOCAL_IDX, BUFFER_LOCAL_DEFAULT_VALUE, BUFFER_LOCAL_VALUE)
8039 (BUFFER_LOCAL_SYMBOL, BUFFER_LOCAL_TYPE): New macros.
8040
8041 * print.c (print_object): Use new macros for per-buffer
8042 variables.
8043
8044 * category.c (Fset_category_table): Use new macros for per-buffer
8045 variables.
8046
8047 * buffer.c (buffer_permanent_local_flags): Make a char array.
8048 (max_buffer_local_idx): New variable.
8049 (reset_buffer_local_variables, Fbuffer_local_variables): Rewritten
8050 for new handling of per-buffer variables.
8051 (buffer_slot_type_mismatch): Use new macros for per-buffer vars.
8052 (init_buffer_once): Initialize per-buffer vars differently.
8053 Set max_buffer_local_idx.
8054
8055 * syntax.c (Fset_syntax_table): Use new macros for per-buffer
8056 variables.
8057
8058 * lread.c (defvar_per_buffer): Use new macros for per-buffer
8059 variables.
8060
8061 * data.c (do_symval_forwarding, store_symval_forwarding)
8062 (find_symbol_value, set_internal, default_value, Fset_default)
8063 (Fkill_local_variable, Flocal_variable_p): Use new macros for
8064 per-buffer variables.
8065
8066 * Makefile.in (bootstrap-emacs): Use `mv -f' instead of `mv'.
8067
9a0dd3dc
GM
80682000-03-24 Gerd Moellmann <gerd@gnu.org>
8069
b68c375f
GM
8070 * xterm.c (x_term_init): Unblock input around call1 of
8071 Qvendor_specific_keysyms.
8072
9a0dd3dc
GM
8073 * syntax.c (open_paren_in_column_0_is_defun_start): New variable.
8074 (find_defun_start): Consider an open parenthesis in column 0
8075 a defun start only if open_paren_in_column_0_is_defun_start is set.
8076 (syms_of_syntax): New variable open-paren-in-column-0-is-defun-start.
8077
7973e637
SM
80782000-03-24 Stefan Monnier <monnier@cs.yale.edu>
8079
8080 * eval.c (Fautoload): Add entry in load-history (if after dump).
8081 * lread.c (load-history): Update docstring.
8082
39210e90
GM
80832000-03-24 Gerd Moellmann <gerd@gnu.org>
8084
8085 * indent.c (Fvertical_motion): Always use the current buffer.
8086 Temporarily change the window's buffer, if necessary.
8087
72db3ab5
GM
80882000-03-23 Gerd Moellmann <gerd@gnu.org>
8089
8090 * xterm.c (fast_find_position): Make sure not to consider rows
8091 not visible in the window.
8092
990b2375
SM
80932000-03-22 Stefan Monnier <monnier@cs.yale.edu>
8094
8095 * regex.c (enum syntaxcode): Provide default for non-Emacs.
8096 (re_compile_fastmap, re_match_2_internal): Undo Dave's previous fix.
8097
ff4df011
JR
80982000-03-22 Jason Rumney <jasonr@gnu.org>
8099
8100 * w32menu.c (single_submenu): Set help string to NULL if none.
8101 (w32_menu_show): Set help string correctly.
8102 (add-menu-item): Set help string in MIIM_DATA for menu item.
8103 Load SetMenuItemInfoA explicitly.
8104 (w32_menu_display_help): New function.
427ec082 8105
ff4df011
JR
8106 * w32fns.c (w32_wnd_proc): Handle WM_MENUSELECT message.
8107 (QCdata): Moved to xdisp.c.
8108
8109 * w32term.c (w32_read_socket): Handle WM_MENUSELECT message.
8110 (Vw32_charset_to_codepage_alist): Removed.
8111 (Vw32_charset_info_alist): New variable.
8112 (Qw32_charset_[ansi, default, symbol, shiftjis, hangul, gb2312,
8113 chinesebig5, oem, easteurope, turkish, baltic, russian, arabic,
8114 greek, hebrew, thai, johab, mac, unicode]): New symbols.
8115 (x_produce_glyphs): Remove out of date #ifdef 0'd section. Replace
8116 with TODO comment.
8117 (w32_codepage_for_font): Use Vw32_charset_info_alist.
8118 (syms_of_w32term): Remove Vw32_charset_to_codepage_alist.
8119 Define Vw32_charset_info_alist and w32_charset symbols.
8120
81212000-03-22 Jason Rumney <jasonr@gnu.org>
8122
8123 * makefile.nt (w32bdf.obj): Update dependencies.
8124
8125 * w32bdf.c: Include frame.h and dispextern.h before fontset.h.
8126
8127 * w32fns.c: Include fontset.h after dispextern.h.
8128 (Fx_create_frame): Do not create fontset.
8129 (w32_load_system_font): Doc fix.
8130 (Fx_close_connection): Free full_name if it is not shared.
8131
8132 * w32term.c: Include fontset.h after dispextern.h.
8133 (x_get_glyph_face_and_encoding): New parameter two_byte_p. Callers
8134 updated.
8135 (w32_per_char_metric): If PCM is invalid, delete and return NULL.
8136 (x_get_char_and_face_encoding): Use FACE_FOR_CHAR to get face_id.
8137 (w32_font_is_double_byte): New function, needs body.
8138 (x_append_glyph): Set glyph->glyph_not_available_p.
8139 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
8140 it->charset. If it->multibyte_p is zero and it->c is a multibyte
8141 character, convert it to a unibyte character.
8142 (struct glyph_string): Delete member `charset'.
8143 (W32_TEXTOUT): Temporarily remove charset_dim until another way of
8144 calculating it is found.
8145 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
8146 the case that per char metric is not available correctly.
8147 (x_fill_glyph_string): Handle the case that the specific glyph is
8148 not available correctly.
8149 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
8150 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
8151 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
8152 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
8153 fontset. Don't call FS_LOAD_FONT.
8154
439d5cb4
KR
81552000-03-22 Ken Raeburn <raeburn@gnu.org>
8156
8157 * intervals.h (NULL_INTERVAL): Cast to INTERVAL type.
8158 (INT_LISPLIKE): New macro.
8159 (NULL_INTERVAL_P): Use it.
8160 (INTERVAL_HAS_PARENT, INTERVAL_HAS_OBJECT, SET_INTERVAL_PARENT,
8161 SET_INTERVAL_OBJECT, INTERVAL_PARENT, COPY_INTERVAL_PARENT,
8162 GET_INTERVAL_OBJECT, INTERVAL_PARENT_OR_NULL): New macros.
8163
8164 * alloc.c (make_interval, gc_sweep): Use new macros; eliminate all
8165 explicit references to "parent" field of struct interval and
8166 associated unclean type conversions.
8167 * intervals.c (create_root_interval, root_interval, rotate_right,
8168 rotate_left, balance_possible_root_interval, split_interval_right,
8169 split_interval_left, interval_start_pos, find_interval,
8170 next_interval, previous_interval, update_interval,
8171 adjust_intervals_for_insertion, delete_node, delete_interval,
8172 adjust_intervals_for_deletion, merge_interval_right,
8173 merge_interval_left, reproduce_tree, graft_intervals_into_buffer,
8174 copy_intervals_to_string): Likewise.
8175 * intervals.h (AM_LEFT_CHILD, AM_RIGHT_CHILD, RESET_INTERVAL):
8176 Likewise.
8177 * syntax.c (update_syntax_table): Likewise.
8178
8179 * intervals.c (reproduce_tree_obj): New function, like
8180 reproduce_tree but takes a Lisp_Object for the parent. Declare
8181 with prototype.
8182 (graft_intervals_into_buffer): Use it when appropriate.
8183 (reproduce_tree): Declare with prototype.
8184 (balance_possible_root_interval): Check that the parent is a lisp
8185 object before trying to examine its type.
8186
ee1c5b21
GM
81872000-03-22 Gerd Moellmann <gerd@gnu.org>
8188
8189 * xfaces.c (lface_same_font_attributes_p): Compare font attributes
8190 as strings only if both are known to be strings.
8191
8192 * s/openbsd.h (LIBS_TERMCAP): Undef.
8193
1fb352e0
SM
81942000-03-21 Stefan Monnier <monnier@cs.yale.edu>
8195
8196 * regex.c (CHAR_CHARSET, CHARSET_LEADING_CODE_BASE): Add default
8197 definitions for non-Emacs compilation.
8198 (enum re_opcode_t): Remove (not)wordchar and move (not)syntaxspec
8199 outside of `#ifdef emacs'.
8200 (print_partial_compiled_pattern): Update.
8201 (regex_compile): Use (not)syntaxspec(Sword) instead of (not)wordchar.
8202 (re_compile_fastmap): Merge handling of charset and charset_not (for
8203 emacs and non-emacs compilation as well).
8204 Similarly for (not)categoryspec and (not)syntaxspec.
8205 Don't use the fastmap when reaching `anychar' since the added
8206 complexity is not justified.
8207 (re_match_2_internal): Merge (not)wordchar (emacs and non-emacs)
8208 and (not)syntaxspec. Merge (not)categoryspec.
8209
fdaa1f77
KH
82102000-03-22 Kenichi Handa <handa@etl.go.jp>
8211
ff1a0d8e
KH
8212 * dispextern.h [!HAVE_WINDOW_SYSTEM] (FACE_SUITABLE_FOR_CHAR_P,
8213 FACE_FOR_CHAR): Define them differently for the configuration of
8214 --without-x.
fdaa1f77 8215
d152fb46
DL
82162000-03-21 Dave Love <fx@gnu.org>
8217
8218 * fontset.c (Fset_fontset_font, Ffontset_font): Fix newlines in
8219 doc string.
8220
d2cafc8c
GM
82212000-03-21 Gerd Moellmann <gerd@gnu.org>
8222
8223 * xfaces.c (check_lface_attrs) [GLYPH_DEBUG]: Fix syntax error.
8224 (lface_fully_specified_p): Don't check contents of
8225 LFACE_FONT_INDEX because that attribute is optional.
8226 (realize_x_face): Remove now unwarranted xassert.
8227
9111d4b5
KH
82282000-03-21 Kenichi HANDA <handa@etl.go.jp>
8229
8230 The following changes are to make font selection based on
8231 characters, not charset. In addition, they recover fontset
8232 facilities while utilizing the new font selection mechanism.
8233
6c4bfdc0
KH
8234 * Makefile.in (fontset.o): Depend on dispextern.h.
8235
8236 * alloc.c (mark_face_cache): Don't mark face->registry.
8237
9111d4b5
KH
8238 * dispextern.h (struct glyph): New member glyph_not_available_p.
8239 Use 22 bits for face_id.
8240 (enum lface_attribute_index): Add LFACE_FONT_INDEX.
8241 (struct face): Delete member registry, new member ascii_face.
8242 (FACE_SUITABLE_FOR_CHAR_P): Renamed from
8243 FACE_SUITABLE_FOR_CHARSET_P. Caller changed.
8244 (FACE_FOR_CHAR): Renamed from FACE_FOR_CHARSET. Caller changed.
8245 (struct it): Delete member charset, new member
8246 glyph_not_available_p.
8247
8248 * fontset.h (FONT_NOT_OPENED, FONT_NOT_FOUND): Macros removed.
8249 (struct fontset_info, struct fontset_data): Structs removed.
8250 (allloc_fontset_data, free_fontset_data, fs_regiser_fontset,
8251 Vglobale_fontset_alist, font_idx_temp): Externs removed.
8252 (fs_load_font, fs_query_fontset): Adjusted for new argument.
8253 (fs_free_face_fontset, fontset_font_pattern,
8254 face_suitable_for_char_p, face_for_char,
8255 make_fontset_for_ascii_face): Extern them.
8256 (FS_LOAD_FONT): Adjusted for the change of fontset implementation.
8257 (FS_LOAD_FACE_FONT): New macro.
8258
8259 * fontset.c: All codes rewritten or adjusted for the change of
8260 fontset implementation. Now fontset is represented by char table.
8261 (Vglobal_fontset_alist, font_idx_temp, my_strcasetbl): Variables
8262 removed.
8263 (my_strcasecmp): Function removed.
8264 (Vfontset_table, next_fontset_id, Vdefault_fontset): New
8265 variables.
8266 (AREF, ASIZE): New macros.
8267 (FONTSET_FROM_ID, FONTSET_ID, FONTSET_NAME, FONTSET_FRAME,
8268 FONTSET_ASCII, FONTSET_BASE, BASE_FONTSET_P, FONTSET_REF,
8269 FONTSET_REF_VIA_BASE, FONTSET_SET): New macros.
8270 (fontset_ref, fontset_ref_via_base, fontset_set, make_fontset,
8271 fontset_id_valid_p, font_family_registry, fontset_name,
8272 fontset_ascii, free_face_fontset, face_suitable_for_char_p,
8273 face_for_char, make_fontset_for_ascii_face, fontset_font_pattern):
8274 New functions.
8275 (fs_load_font): New arg FACE. Caller changed.
8276 (fs_query_fontset): Argument changed. Caller changed.
8277 (Fquery_fontset): call fs_query_fontset.
8278 (fs_register_fontset, alloc_fontset_data, free_fontset_data):
8279 Functions removed.
8280 (clear_fontset_elements, check_registry_encoding,
8281 check_fontset_name): New functions.
8282 (syms_of_fontset): Set char-table-extra-slots property of fontset
8283 to 3. Staticpro and initialize Vfontset_table and
8284 Vdefault_fontset. Defsubr fontset_font and fontset_list.
8285
8286 * frame.h (struct frame): Member `fontset_data' removed.
8287 (FRAME_FONTSET_DATA): Macro removed.
8288
8289 * frame.c (make_frame): Don't allocate f->fontset_data.
8290 (Fdelete_frame): Don't free f->fontset_data.
8291
6c4bfdc0
KH
8292 * msdos.c (XMenuActivate): Args to lookup_derived_face changed.
8293
9111d4b5
KH
8294 * xdisp.c (charset_at_position): Function removed.
8295 (init_iterator): Don't set member charset of struct `it'.
8296 (handle_face_prop, reseat_to_string, set_iterator_to_next,
8297 next_element_from_display_vector, insert_left_trunc_glyphs):
8298 Likewise.
8299 (face_before_or_after_it_pos): Call FACE_FOR_CHAR, not
8300 FACE_FOR_CHARSET.
8301 (get_next_display_element, append_space,
8302 extend_face_to_end_of_line): Likewise.
8303
8304 * xfaces.c (Qx_charset_registry, Vface_default_registry):
8305 Variables removed.
8306 (clear_font_table, frame_update_line_height, load_face_font):
8307 Adjusted for the change of fontset implementation.
8308 (load_face_fontset_font): Function removed.
8309 (pixel_point_size): New function.
8310 (font_list): Argument type changed. Caller changed.
8311 (LFACE_FONT): New macro.
8312 (check_lface_attrs): Check attr[LFACE_FONT_INDEX].
8313 (set_lface_from_font_name): Type of arg FONTNAME is changed to
8314 Lisp_Object. Determine the font name by actually loading a font
8315 by the specified pattern. Set LFACE_FONT (lface) to the specified
8316 pattern. Even if a font is not found, don't try alternatives.
8317 (Finternal_set_lisp_face_attribute): Handle `font' slot in lface.
8318 (set_font_frame_param): If `font' is specified in lface, use it.
8319 (Finternal_get_lisp_face_attribute): Handle `font' slot in lface.
8320 (lface_same_font_attributes_p): Likewise.
8321 (make_realized_face): Arguent changed. Caller changed. Set
8322 face->ascii_face to face itself.
8323 (free_realized_face): Free face->fontset if face is for ASCII.
8324 (face_suitable_for_iso8859_1_p, face_suitable_for_charset_p,
8325 deduce_unibyte_registry, x_charset_registry): Functions removed.
8326 (free_realized_multibyte_face): New function.
8327 (lookup_face, lookup_named_face, lookup_derived_face): Argument
8328 changed. Caller changed.
8329 (try_font_list): Argument type changed.
8330 (face_fontset): Check `font' slot of ATTRS, not `family' slot.
8331 (choose_face_font): Argument changed. Handle fontset properly.
8332 (choose_face_fontset_font): Function removed.
8333 (realize_default_face, realize_named_face): Don't remove the
8334 former face here.
8335 (realize_face): Argument changed. Caller changed. Remove face
8336 with the arg former_face_id in advance. Load font for the new
8337 face.
8338 (realize_x_face): Argument changed. Caller changed. For a
8339 multibyte character, share fontset with base_face. For a single
8340 byte character, make a new realized fontset. Don't load a font
8341 here.
8342 (realize_tty_face): Argument changed. Caller changed.
8343 (compute_char_face): Call FACE_FOR_CHAR, not FACE_FOR_CHARSET.
8344 (face_at_buffer_position): Don't check multibyte_p for returning
8345 DEFAULT_FACE_ID.
8346 (face_at_string_position): Call FACE_SUITABLE_FOR_CHAR_P, not
8347 FACE_SUITABLE_FOR_CHARSET_P.
8348 (syms_of_xfaces): Remove code for Qx_charset_registry and
8349 Vface_default_registry.
8350
6c4bfdc0
KH
8351 * xterm.c: Include fontset.h after dispextern.h. Undo the changes
8352 related to PER_CHAR_METRIC done by Gerd on 2000-03-03.
9111d4b5
KH
8353 (x_per_char_metric): Don't try FONT->default_char. Even if
8354 pcm->width is zero, glyph bits may exist.
8355 (x_encode_char): Always initialize char2b->byte1.
8356 (x_get_char_face_and_encoding): Call FACE_FOR_CHAR to get face_id.
8357 (x_get_glyph_face_and_encoding): New arg two_byte_p. Caller
8358 changed.
8359 (x_append_glyph): Set glyph->glyph_not_available_p.
8360 (x_produce_glyphs): Set it->glyph_not_available_p. Don't set
8361 it->charset. Handle the case that per char metric is not
8362 available. If it->multibyte_p is zero and it->c is a multibyte
8363 character, convert it to a unibyte character.
8364 (struct glyph_string): Delete member `charset'.
8365 (x_set_mouse_face_gc): Call FACE_FOR_CHAR to get face_id. Handle
8366 the case that per char metric is not available correctly.
8367 (x_fill_glyph_string): Handle the case that the specific glyph is
8368 not available correctly.
8369 (BUILD_CHAR_GLYPH_STRINGS): Don't set s->charset.
8370 (BUILD_COMPOSITE_GLYPH_STRING): Likewise.
8371 (x_new_font): Call FS_LOAD_FONT, not fs_load_font.
8372 (x_new_fontset): Call fontset_ascii to get ASCII font name of the
8373 fontset. Don't call FS_LOAD_FONT.
8374
8375 * xfns.c (Fx_create_frame): Don't cal fs_register_fontset.
8376 (x_create_tip_frame): Likewise.
8377 (Fx_close_connection): Free full_name of font_info.
8378
8379 * fns.c (optimize_sub_char_table): New function.
8380 (Foptimize_char_table): New function.
8381 (syms_of_fns): Defsubr Soptimize_char_table.
8382
b33dd3b0
GM
83832000-03-20 Gerd Moellmann <gerd@gnu.org>
8384
8385 * buffer.c (Fset_buffer_modified_p): Set update_mode_lines
8386 only if buffer is displayed in some window.
8387
8388 * xdisp.c (handle_single_display_prop): Initialize local `value'.
8389 (try_window_reusing_current_matrix): Don't call scroll run
8390 function if run's current and desired position are the same;
8391 this prevents cursor flickering.
8392
4e8a9132
SM
83932000-03-19 Stefan Monnier <monnier@cs.yale.edu>
8394
8395 * regex.h (RE_TRANSLATE. RE_TRANSLATE_P): Moved to regex.c.
8396
8397 * regex.c (RE_STRING_CHAR): New macro.
8398 (GET_CHAR_AFER_2): Remove.
8399 (RE_TRANSLATE, RE_TRANSLATE_P): New macros moved from regex.h.
8400 (enum re_opcode_t): Remove on_failure_jump_exclusive.
8401 (print_partial_compiled_pattern, re_compile_fastmap)
8402 (re_match_2_internal): Remove on_failure_jump_exclusive.
8403 (regex_compile): Turn optimizable P+ loops into PP*, so that the
8404 optimization only need to work for * (ie. can use of_keep_string_jump).
8405 Remove the special case for .*\n since it is now covered by the general
8406 optimization.
8407 (re_search_2): Don't bother with `room'.
8408 (skip_one_char): New function.
8409 (skip_noops): Simplify since `memory' is not needed any more.
8410 (mutually_exclusive_p): Restructure slightly to use `switch' and
8411 add handling for "all" remaining cases.
8412 (re_match_2_internal): Change on_failure_jump_smart to use
8413 on_failure_keep_string_jump (and redirect the end-of-loop jump)
8414 rather than on_failure_jump_exclusive.
8415
2136fdd4
GM
84162000-03-19 Gerd Moellmann <gerd@gnu.org>
8417
8418 * xfns.c (select_visual): Don't set dpyinfo->n_planes to the
8419 number of bits per RGB because it's everywhere used as the depth
8420 of the visual.
8421
8422 * term.c (calculate_costs): Remove code dealing with X frames.
8423
18e21ce8 84242000-03-19 Richard M. Stallman <rms@gnu.org>
e53ae11c
RS
8425
8426 * lread.c (syms_of_lread): Doc fix for load-convert-to-unibyte.
8427
d7b511c4
GM
84282000-03-18 Gerd Moellmann <gerd@gnu.org>
8429
8430 * lread.c (read_integer): Unread the last char not consumed.
8431
16b5d424
GM
84322000-03-17 Gerd Moellmann <gerd@gnu.org>
8433
8434 * xterm.c (x_update_window_cursor): Don't update in frames
d7b511c4 8435 which are in the process of being deleted.
16b5d424 8436
1fa28578
GM
84372000-03-16 Gerd Moellmann <gerd@gnu.org>
8438
83488cce
GM
8439 * Makefile.in (mostlyclean): Add `*.core'.
8440 (clean): Add `bootstrap-emacs'.
8441
1fa28578
GM
8442 * lread.c (read_integer): New function.
8443 (read1): Support read syntax #o, #x, #b, #r.
8444
99633e97
SM
84452000-03-15 Stefan Monnier <monnier@cs.yale.edu>
8446
1fa28578
GM
8447 * regex.c (re_match_2): Fix string shortening (to fit `stop') to
8448 make sure POINTER_TO_OFFSET gives the same value before and after
8449 PREFETCH. Use `dfail' to guarantee "atomic" matching.
99633e97
SM
8450 (PTR_TO_OFFSET): Use POINTER_TO_OFFSET.
8451 (debug): Now only active if > 0 rather than if != 0.
8452 (DEBUG_*): Update for the new meaning of `debug'.
1fa28578
GM
8453 (print_partial_compiled_pattern): Add missing `succeed' case. Use
8454 CHARSET_* macros in the charset(_not) branch. Fix off-by-two bugs
8455 in `succeed_n', `jump_n' and `set_number_at'.
99633e97
SM
8456 (store_op1, store_op2, insert_op1, insert_op2)
8457 (at_begline_loc_p, at_endline_loc_p): Add prototype.
1fa28578
GM
8458 (group_in_compile_stack): Move to after its arg's types are
8459 declared and add a prototype.
99633e97 8460 (PATFETCH): Define in terms of PATFETCH_RAW.
1fa28578
GM
8461 (GET_UNSIGNED_NUMBER): Add the usual `do { ... } while(0)'
8462 wrapper.
99633e97 8463 (QUIT): Redefine as a nop except for NTemacs.
1fa28578
GM
8464 (regex_compile): Handle intervals {,M} as if it was {0,M}. Fix
8465 indentation of the greedy-op and shy-group code.
99633e97
SM
8466 (at_(beg|end)line_loc_p): Fix argument's types.
8467 (re_compile_fastmap): Ifdef out failure_stack_ptr to shut up gcc.
8468 (re_search_2): Use POS_AS_IN_BUFFER. Simplify `room' computation.
8469 (MATCHING_IN_FIRST_STRING): Remove.
1fa28578
GM
8470 (re_match_2): Use POS_AS_IN_BUFFER. Ifdef out failure_stack_ptr
8471 to shut up gcc. Use FIRST_STRING_P and POINTER_TO_OFFSET. Use
8472 QUIT unconditionally.
99633e97 8473
699238d9
GM
84742000-03-15 Gerd Moellmann <gerd@gnu.org>
8475
8476 * minibuf.c (Fminibuffer_complete): Set point to ZV if finding
8477 a sole completion.
8478
8479 * process.c (send_process): Add a hint that the function
8480 can call Lisp code to its comment.
8481
8482 * lread.c (load_dangerous_libraries): New variable.
8483 (Vbytecomp_version_regexp): New variable.
8484 (safe_to_load_p): New function.
8485 (Fload): Handle files not compiled with Emacs specially.
8486 (syms_of_lread): New Lisp variable load-dangerous-libraries.
8487
34e23e5a
GM
84882000-03-14 Gerd Moellmann <gerd@gnu.org>
8489
9c763cca
GM
8490 * lisp.h (free_frame_xic) [HAVE_X_I18N]: Add missing semicolon.
8491
8492 * xterm.c (xim_close_dpy, xim_initialize): Use X11R6-style XIM
8493 support functions only if HAVE_X11R6_XIM is defined.
8494 (xim_instantiate_callback): Define only if HAVE_X11R6_XIM.
8495
8496 * s/sol2.h (INHIBIT_X11R6_XIM): Define.
8497
8498 * xfns.c (X_I18N_INHIBITED): Don't define.
8499 (create_frame_xic): Remove conditional compilation on
8500 X_I18N_INHIBITED.
8501 (x_kill_gs_process, x_window): Use FRAME_X_VISUAL.
8502
8503 * config.in (HAVE_X_I18N): Moved here from xterm.h.
8504 (HAVE_X11R6_XIM): Define.
8505
8506 * xterm.h (HAVE_X_I18N) [HAVE_X11R6]: Moved to config.in.
8507
34e23e5a
GM
8508 * xterm.c (x_term_init): Add support for X resource `synchronous'.
8509 If set, call XSynchronize.
8510
66f0296e
SM
85112000-03-13 Stefan Monnier <monnier@cs.yale.edu>
8512
34e23e5a
GM
8513 * regex.c: Declare a new type `re_char' used throughout the code
8514 for the string char type. It's `const unsigned char' to match the
8515 rest of Emacs. Consistently make sure all pointers to strings use
8516 it and make sure all pointers into the pattern use `unsigned
8517 char'.
66f0296e 8518 (re_match_2_internal): Use `PREFETCH+STRING_CHAR' instead of
34e23e5a
GM
8519 GET_CHAR_AFTER_2. Also merge wordbound and notwordbound to reduce
8520 code duplication.
66f0296e
SM
8521
8522 * charset.h (GET_CHAR_AFTER_2): Remove.
8523 (GET_CHAR_BEFORE_2): Use unsigned chars, like everywhere else.
8524
854a025c
KR
85252000-03-12 Ken Raeburn <raeburn@gnu.org>
8526
8527 * Makefile.in (temacs): Evaluate ALL_LDFLAGS into a temporary
8528 variable before the invocation of YMF_PASS_LDFLAGS, in case both
8529 of them try to use backquotes.
8530
b9d2c7e2
DL
85312000-03-12 Dave Love <fx@gnu.org>
8532
8533 * unexelf.c: Restore changes of 1999-10-19.
8534 (unexec): Don't adjust bss for sbss type SHT_PROGBITS; otherwise
8535 fix its type and alignment; copy it from current process.
8536
5e5dff44
GM
85372000-03-12 Gerd Moellmann <gerd@gnu.org>
8538
9b2f3c38
GM
8539 * atimer.c (cancel_atimer): Break out of the loop as soon as timer
8540 has been found. Fix bug not computing timer's predecessor.
8541
427ec082 8542 * fileio.c (Fread_file_name): Handle case that DIR contains a
9172b88d
GM
8543 file name.
8544
e1cff360
GM
8545 * window.c (Fsave_window_excursion): Doc fix.
8546
5e5dff44
GM
8547 * xfns.c (x_defined_color): Rewritten to use
8548 x_allocate_nearest_color.
8549
e411ce4b
EZ
85502000-03-12 Eli Zaretskii <eliz@is.elta.co.il>
8551
8552 * msdos.c (vga_installed): New function, code moved from
8553 dos_set_window_size.
8554 (Qbar, Qcursor_type, outside_cursor): New variables.
8555 (syms_of_msdos): Intern and staticpro them.
8556 (dos_ttraw) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Save the cursor
8557 shape used outside Emacs when called for the first time.
8558 (dos_ttcooked) [__DJGPP__ >= 2, !HAVE_X_WINDOWS]: Restore the
8559 cursor shape used outside Emacs.
8560 (msdos_set_cursor_shape, IT_set_cursor_type): New functions.
8561 (IT_frame_up_to_date): Call IT_set_cursor_type, in case the cursor
8562 type has changed.
8563 (IT_set_frame_parameters): Call IT_set_cursor_type if the frame
8564 parameters specify the cursor. Make qreverse a global
8565 variable (renamed to Qreverse).
8566
80460654
GM
85672000-03-09 Gerd Moellmann <gerd@gnu.org>
8568
8569 * fns.c (Fy_or_n_p): Cancel busy-cursor.
8570
95cd4c40
SM
85712000-03-08 Stefan Monnier <monnier@cs.yale.edu>
8572
8573 This is a big redesign of failure-stack and register handling, prompted
8574 by bugs revealed when trying to add shy-groups. Overall, what happened
8575 is that loops are now structured a little differently, groups can be
8576 shy and the code is a little simpler.
8577
8578 * regex.h: Update the copyright.
8579 (RE_SHY_GROUPS): New value.
8580 (RE_UNMATCHED_RIGHT_PAREN_ORD): Renumber.
8581 (RE_SYNTAX_EMACS): Add RE_SHY_GROUPS.
8582
80460654
GM
8583 * regex.c (enum re_opcode_t): Remove jump_past_alt,
8584 maybe_pop_jump, push_dummy_failure and dumy_failure_jump. Add
8585 on_failure_jump_(exclusive, loop and smart). Also fix the comment
8586 for (start|stop)_memory since they now only take one argument (the
8587 second has becomes unnecessary).
8588 (print_partial_compiled_pattern): Adjust for changes in
8589 re_opcode_t.
8590 (print_compiled_pattern): Use %ld to printf long ints and flush to
8591 make debugging a little easier.
95cd4c40
SM
8592 (union fail_stack_elt): Make the integer unsigned.
8593 (struct fail_stack_type): Add a `frame' element.
8594 (INIT_FAIL_STACK): Init `frame' as well.
8595 (POP_PATTERN_OP): New macro for re_compile_fastmap.
8596 (DEBUG_PUSH, DEBUG_POP): Remove.
8597 (NUM_REG_ITEMS): Remove.
8598 (NUM_NONREG_ITEMS): Adjust.
80460654
GM
8599 (FAILURE_PAT, FAILURE_STR, NEXT_FAILURE_HANDLE)
8600 (TOP_FAILURE_HANDLE): New macros for the cycle detection.
95cd4c40 8601 (ENSURE_FAIL_STACK): New macro for PUSH_FAILURE_(REG|POINT).
80460654
GM
8602 (PUSH_FAILURE_REG, POP_FAILURE_REG, CHECK_INFINITE_LOOP): New
8603 macros.
8604 (PUSH_FAILURE_POINT): Don't push registers any more. The pattern
8605 address pushed is not the destination of the jump but the source
8606 of it instead.
95cd4c40
SM
8607 (NUM_FAILURE_ITEMS): Remove.
8608 (POP_FAILURE_POINT): Adapt to the new stack structure (i.e. pop
80460654
GM
8609 registers before the actual failure point). Don't hardcode any
8610 meaning for str==NULL anymore.
95cd4c40 8611 (union register_info_type, REG_MATCH_NULL_STRING_P, IS_ACTIVE)
80460654
GM
8612 (MATCHED_SOMETHING, EVER_MATCHED_SOMETHING, SET_REGS_MATCHED):
8613 Remove.
95cd4c40
SM
8614 (REG_UNSET_VALUE): Use NULL (why not?).
8615 (compile_range): Remove declaration since it doesn't exist.
8616 (struct compile_stack_elt_t): Remove inner_group_offset.
8617 (old_reg(start|end), reg_info, reg_dummy, reg_info_dummy): Remove.
8618 (regex_grow_registers): Remove dead code.
8619 (FIXUP_ALT_JUMP): New macro.
80460654
GM
8620 (regex_compile): Add shy-groups Change loops to use
8621 on_failure_jump_smart&jump instead of
8622 on_failure_jump&maybe_pop_jump. Change + loops to eliminate the
8623 initial (dummy_failure_)jump. Remove c1_base (looks like unused
8624 variable to me). Use `jump' instead of `jump_past_alt' and don't
8625 bother with push_dummy_failure in alternatives since it is now
8626 unnecessary. Use FIXUP_ALT_JUMP. Eliminate a useless `#ifdef
8627 emacs' for (re)allocating the stack.
8628 (re_compile_fastmap): Remove dead variables i and num_regs. Exit
8629 from loop when bufp->can_be_null rather than jumping to `done'.
8630 Avoid jumping backwards so as to ensure termination. Use
8631 PATTERN_STACK_EMPTY and POP_PATTERN_OP. Improved handling of
8632 backreferences. Remove dead code in handling of `anychar'.
95cd4c40 8633 (skip_noops, mutually_exclusive_p): New functions taken from the
80460654
GM
8634 handling of `maybe_pop_jump' in re_match_2_internal. Slightly
8635 improve mutually_exclusive_p to handle ".+\n".
8636 (lowest_active_reg, highest_active_reg,
8637 NO_(LOWEST|HIGHEST)_ACTIVE_REG) Remove.
8638 (re_match_2_internal): Use %p instead of 0x%x when printf'ing
8639 ptrs. Don't SET_REGS_MATCHED anymore. Remove many dead
8640 variables. Push register (in `start_memory') on the stack rather
8641 than storing it in old_reg(start|end). Remove the cycle detection
8642 from `stop_memory', replaced by the use of on_failure_jump_loop
8643 for greedy loops. Add code for the new on_failure_jump_<foo>.
8644 Remove ad-hoc code in `on_failure_jump' to push more registers in
8645 the case of a loop. Take out code from `maybe_pop_jump' into
8646 separate functions and adapt it to the semantics of
8647 `on_failure_jump_smart'. Remove jump_past_alt, dummy_failure_jump
8648 and push_dummy_failure. Remove dummy_failure handling and
8649 handling of `failures to jump to on_failure_jump' (this last one
8650 was already dead code, it seems).
8651 (group_match_null_string_p, alt_match_null_string_p)
8652 (common_op_match_null_string_p): Remove.
95cd4c40 8653
7397acc4
DL
86542000-03-08 Dave Love <fx@gnu.org>
8655
8656 * config.in: Don't depend on __STDC__ for volatile.
8657 Add POINTER_TYPE, PTR, PROTOTYPES.
8658
8659 * hftctl.c, strftime.c: Use PROTOTYPES.
8660 * eval.c (find_handler_clause): Likewise.
8661
8662 * mem-limits.h: Use POINTER_TYPE.
8663
8664 * lisp.h (P_): Define based on PROTOTYPES, not __STDC__.
8665 (memory_warnings): Declare using POINTER_TYPE.
8666
5e91ff9e
GM
86672000-03-08 Gerd Moellmann <gerd@gnu.org>
8668
feab4fba
GM
8669 * xfns.c (x_set_cursor_type): If ARG is nil, give frame no cursor.
8670
25edb08f
GM
8671 * xdisp.c (display_echo_area): Temporarily inhibit garbage
8672 collection.
8673
5e91ff9e
GM
8674 * xfns.c: Remove obsolete code in #if 0.
8675 (Fx_focus_frame): New function.
8676
a735b7e1
KH
86772000-03-07 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
8678
8679 * coding.c (coding_category_name): Add coding-category-utf-8,
8680 coding-category-utf-16-be, coding-category-utf-16-le.
8681 (UTF_8_1_OCTET_P, UTF_8_EXTRA_OCTET_P, UTF_8_2_OCTET_LEADING_P,
8682 UTF_8_3_OCTET_LEADING_P, UTF_8_4_OCTET_LEADING_P,
8683 UTF_8_5_OCTET_LEADING_P, UTF_8_6_OCTET_LEADING_P): New macros.
8684 (detect_coding_utf_8): New function.
8685 (UTF_16_INVALID_P, UTF_16_HIGH_SURROGATE_P
8686 UTF_16_LOW_SURROGATE_P): New macros.
8687 (detect_coding_utf_16): New function
8688 (detect_coding_mask): When priorities are specified, skip any
8689 categories that have `nil' coding-system. Fix bug of returning
8690 wrong mask when PRIORITIES is specified and detect_coding_XXX()
8691 returns a mask not set in PRIORITIES.
8692 (detect_eol_type_in_2_octet_form): New function.
8693 (detect_eol): selects detect_eol_type_XXX to call according to
8694 cooding->category_idx.
8695 (detect_coding_system): Remove `nil' coding-system in the result.
8696 (Fupdate_coding_systems_internal): Update all coding-categories.
8697
8698 * coding.h (CODING_CATEGORY_IDX_UTF_8,
8699 CODING_CATEGORY_IDX_UTF_16_BE, CODING_CATEGORY_IDX_UTF_16_LE): New
8700 macros.
8701 (CODING_CATEGORY_IDX_RAW_TEXT, CODING_CATEGORY_IDX_BINARY,
8702 CODING_CATEGORY_IDX_MAX): Adjusted for the above macros.
8703 CODING_CATEGORY_IDX_UTF_16_LE.
8704 (CODING_CATEGORY_MASK_UTF_8, CODING_CATEGORY_MASK_UTF_16_BE,
8705 CODING_CATEGORY_MASK_UTF_16_LE): New macros.
8706 (CODING_CATEGORY_MASK_ANY): Include the above macros.
8707 (CODING_CATEGORY_MASK_UTF_16_BE_LE): New macro.
8708
9994cc69
GM
87092000-03-07 Gerd Moellmann <gerd@gnu.org>
8710
e9b4e5ff
GM
8711 * doc.c (Fdocumentation_property): If value is not a string,
8712 and doesn't refer to etc/DOC, evaluate it to obtain a string.
8713
f7daf1e1
GM
8714 * xterm.c (x_connection_closed) [USE_X_TOOLKIT]: Don't try to
8715 close the display with XtCloseDisplay. This caused a bus error
8716 on OpenWindows.
8717
9994cc69
GM
8718 * minibuf.c (Fminibuffer_complete): Move point to ZV when input is
8719 complete but not unique.
8720
4336c705
GM
87212000-03-06 Gerd Moellmann <gerd@gnu.org>
8722
18bb0684
GM
8723 * process.c (send_process): Remove local variable `procname' that
8724 might become invalid when a GC happens. Instead, access the
8725 process name slot directly.
8726
4336c705
GM
8727 * xfns.c (x_set_menu_bar_lines_1): Adjust window's orig_top and
8728 orig_height if set.
8729
8730 * frame.c (set_menu_bar_lines_1): Adjust window's orig_top and
8731 orig_height if set.
8732
515d0d0e
EZ
87332000-03-06 Eli Zaretskii <eliz@is.elta.co.il>
8734
8735 * msdos.c (IT_note_mouse_highlight): Return immediately if frame's
8736 glyph matrices have been freed.
8737
100b3cbb
GM
87382000-03-05 Gerd Moellmann <gerd@gnu.org>
8739
50df5e5a 8740 * Makefile.in (tags): Include ../lwlib/TAGS in TAGS.
6178bc23 8741 (bootstrap-temacs): Set LC_ALL to C like for temacs.
50df5e5a
GM
8742
8743 * xfns.c (QCdata): Moved to xdisp.c.
8744
8745 * xdisp.c (QCdata): Moved here from xfns.c.
8746 (syms_of_xdisp): Initialize QCdata.
8747
8748 * frame.h (FRAME_INTERNAL_BORDER_WIDTH) [!HAVE_X_WINDOWS]: Define.
8749
8750 * window.c (coordinates_in_window): Use
8751 FRAME_INTERNAL_BORDER_WIDTH_SAFE instead of
8752 FRAME_INTERNAL_BORDER_WIDTH.
8753
100b3cbb 8754 * xdisp.c (try_window_id): Recompute unchanged information if
4336c705 8755 it is obviously invalid.
100b3cbb
GM
8756
8757 * xterm.c (x_term_init): Create a colormap if not using the
8758 default visual.
8759
8760 * xterm.h (select_visual): Change prototype.
8761
8762 * xfns.c (select_visual): Rewritten. Recognize user-specified
8763 visual classes.
8764 (visual_classes): New variable.
8765
64d739c4
GM
87662000-03-04 Gerd Moellmann <gerd@gnu.org>
8767
8768 * xfns.c (x_defined_color, x_set_mouse_color, lookup_rgb_color)
8769 (lookup_pixel_color, x_laplace, x_build_heuristic_mask)
8770 (png_load): Access colormap of frame using FRAME_X_COLORMAP.
8771 (x_decode_color): Don't handle allocation of white and black
8772 specially.
8773 (x_window) [USE_X_TOOLKIT]: Set XtNvisual, XtNdepth, and
8774 XtNcolormap resources.
8775 (x_window) [!USE_X_TOOLKIT]: Pass colormap to XCreateWindow.
8776 (Fx_create_frame): Initialize color members of x_output structure.
8777 (xpm_load): Pass colormap to XPM lib.
8778
8779 * xfaces.c (x_free_colors): Access colormap of frame using
8780 FRAME_X_COLORMAP. Be paranoid about freeing black and white
8781 when default colormap is used.
8782
8783 * xterm.c (x_term_init): Set Colormap member of x_display_info
8784 structure. Copy colormap if resource `privateColormap' is
8785 specified (PseudoColor only).
8786 (x_setup_relief_color): Access colormap of frame using
8787 FRAME_X_COLORMAP.
8788
8789 * xterm.h (struct x_display_info): Add Colormap member `cmap'.
8790 (FRAME_X_COLORMAP, FRAME_X_VISUAL): New macros.
8791
c3cee013
JR
87922000-03-04 Jason Rumney <jasonr@gnu.org>
8793
8794 * xfaces.c Change many FRAME_X... macros to FRAME_WINDOW... or
8795 other non-platform-specific equivalents.
64d739c4 8796 [WINDOWSNT]: Include w32term.h, fontset.h and define X
c3cee013
JR
8797 specific functions and macros as their w32 equivalents where
8798 non-platform-specifics are not available.
8799 [HAVE_X_WINDOWS]: Change most of these to HAVE_WINDOW_SYSTEM.
8800 (x_create_gc, x_free_gc) [WINDOWSNT]: Add W32 versions.
8801 (clear_font_table) [WINDOWSNT]: Call w32_unload_font.
8802 (frame_update_line_height): Use macros to access f->output_data.
8803 (defined_color): Remove FIXME comments; fixed.
8804 (x_face_list_fonts, prepare_face_for_display): Put X specifics
8805 into #ifdef blocks. Add WINDOWSNT blocks.
8806 (Fx_list_fonts): Use macros for accessing font data.
8807 (set_lface_from_font_name): Different default fonts for X and
8808 WINDOWSNT.
8809 (font_scalable_p) [WINDOWSNT]: Treat wildcard XLFD_AVGWIDTH as
8810 scalable for backward compatibility.
64d739c4 8811 (realize_tty_face) [MSDOS]: Do the same for WINDOWSNT.
c3cee013
JR
8812 (syms_of_xfaces) [WINDOWSNT]: Allow scalable fonts by default.
8813
64d739c4 8814 * emacs.c (main) [HAVE_NTGUI]: Call syms_of_xfaces instead of
c3cee013
JR
8815 syms_of_w32faces.
8816
8817 * makefile.nt (w32faces.obj): Remove.
8818 (xfaces.obj): Add.
8819
807cc41c
JR
88202000-03-03 Jason Rumney <jasonr@gnu.org>
8821
8822 * keyboard.c (make_lispy_event): Call buffer_posn_from_coords with
8823 correct parameters.
8824
0007072a
KR
88252000-03-03 Ken Raeburn <raeburn@gnu.org>
8826
8827 * unexelf.c (PT_LOAD, SHT_*, SHN_*) [__NetBSD__]: Only provide
8828 standard ELF definitions here if the system header does not.
8829
71a6ba55
GM
88302000-03-03 Gerd Moellmann <gerd@gnu.org>
8831
8832 * xterm.c (PER_CHAR_METRIC): Removed.
8833 (x_per_char_metric_1, x_default_char): New functions.
8834 (x_per_char_metric): If font's default char is invalid, return
8835 metrics of a suitably chosen usable default char.
8836 (x_draw_glyph_string_foreground): If font has an invalid default
64d739c4
GM
8837 char, replace occurrences of unprintable chars with a suitably
8838 chosen usable default char.
71a6ba55 8839
900fa1f1
GM
88402000-03-02 Gerd Moellmann <gerd@gnu.org>
8841
42f55fe0
GM
8842 * xterm.c (note_mouse_highlight): Return quickly if frame's
8843 glyph matrices have been freed.
8844
8845 * dispnew.c (free_glyphs): Block input while freeing matrices.
8846
900fa1f1
GM
8847 * xfns.c (x_clear_image, x_kill_gs_process): Use x_free_colors.
8848
8849 * xterm.c (x_alloc_lighter_color, x_setup_relief_color): Use
8850 x_free_colors.
8851
8852 * dispextern.h (x_free_colors): Add prototype.
8853
8854 * xfaces.c (x_free_colors): New function.
8855 (unload_color, free_face_colors): Use it.
8856
2f950292
EZ
88572000-03-02 Eli Zaretskii <eliz@is.elta.co.il>
8858
8859 * msdos.h (FRAME_INTERNAL_BORDER_WIDTH): Define to zero.
8860
8861 * window.c [MSDOS]: Include msdos.h.
8862
54d04320
DL
88632000-03-02 Dave Love <fx@gnu.org>
8864
8865 * m/powerpcle.h, m/sparc.h: Don't set C_OPTIMIZE_SWITCH.
8866
8867 * m/mips-siemens.h, m/news-r6.h, m/news-risc.h, m/tekxd88.h: Don't
8868 set C_OPTIMIZE_SWITCH for gcc.
8869
0ba93ac4
KH
88702000-03-02 Kenichi Handa <handa@etl.go.jp>
8871
8872 * coding.c (coding_save_composition): Be sure to allocate
8873 composition data area in coding even if there's no composition in
8874 the current run.
8875
a2bc11d4
JR
88762000-03-01 Jason Rumney <jasonr@gnu.org>
8877
8878 * w32term.c: Equivalent changes to those made to xterm.c on
8879 2000-02-25 and 2000-02-24.
8880
8881 * w32fns.c: Equivalent changes to those made to xfns.c on
8882 2000-02-25 and 2000-02-21.
8883
8884 * sysdep.c: [WINDOWSNT]: Use sys_read and sys_write to ensure
8885 correct line-end convention is followed.
8886
8887 * w32menu.c [HAVE_BOXES]: Remove #undef.
8888 (single_keymap_panes): Remove code for simulating checkmarks.
8889 (single_menu_item): Remove notbuttons_ptr argument. Callers changed.
8890 Remove code for drawing simulated checkmarks.
8891 (w32_menu_show): make unibyte help string correctly.
8892 (add_menu_item): draw standard Windows checkmarks. Draw radio
8893 buttons as radio buttons if possible.
8894
72d19d75
GM
88952000-03-01 Gerd Moellmann <gerd@gnu.org>
8896
2df636f4
GM
8897 * sysdep.c (start_of_text): Don't define this function for NetBSD
8898 with ELF.
8899
427ec082 8900 * m/pmax.h (START_FILES, CANNOT_DUMP) [__NetBSD__ || __OpenBSD__]:
2df636f4
GM
8901 Don't define.
8902 (UNEXEC) [__NetBSD__ || __OpenBSD__]: Define to unexelf.o.
8903 (LINKER): Don't undef if __NetBSD__ is defined.
8904
8905 * m/mips.h (LINKER) [__NetBSD__ || __OpenBSD__]: Don't define.
8906
8907 * fileio.c [__NetBSD__]: Define `unix'.
8908
72d19d75
GM
8909 * xfns.c (start_busy_cursor): Allow floats for busy-cursor-delay.
8910
ed4d0512
GM
89112000-02-29 Gerd Moellmann <gerd@gnu.org>
8912
50b1039f
GM
8913 * atimer.c (start_atimer): Don't abort when timers are stopped.
8914 (append_atimer_lists): New function.
8915 (cancel_atimer, stop_other_atimers, run_all_atimers): Handle
8916 arbitrary lists of stopped and running atimers.
8917
ed4d0512
GM
8918 * atimer.c (cancel_atimer): Handle canceling an atimer when
8919 some timers are stopped.
8920
8921 * xfns.c (cancel_busy_cursor): Set busy_cursor_atimer to null
8922 after canceling it.
8923
8924 * fns.c (maybe_resize_hash_table): Handle case of new size
8925 coming out as being the same as old size.
8926
387023ee
JR
89272000-02-27 Jason Rumney <jasonr@gnu.org>
8928
8929 * makefile.nt: Add atimer.h to dependencies.
8930 * w32.c (init_environment): Set Vw32_num_mouse_buttons here.
8931 * w32console.c: Only disable window system features for dispextern.h
8932 (initialize_w32_display): Build a display info for the console.
8933 * w32faces.c (tty_defined_color): Apply xfaces.c change from 02-17.
8934 * w32fns.c (w32_wnd_proc) [WM_LBUTTON_DOWN, WM_RBUTTON_DOWN,
8935 WM_LBUTTON_UP, WM_RBUTTON_UP]: Do not treat 4 or more button mice
8936 as 2 button mice.
8937 * w32gui.h (struct W32FontStruct): Revert last change after change
8938 to xdisp.c.
8939 * w32menu.c (single_submenu): Set up help string.
8940 [!HAVE_MULTILINGUAL_MENU]: Don't overwrite item_name with descrip.
8941 (w32_dialog_show): Set up help string.
8942 * w32term.c (w32_display_info_for_display): Remove unused function.
8943 (w32_draw_bitmap): Use pre-built bitmaps.
8944 (w32_initialize_display_info): New function to initialize parts of
8945 display info that are common to both GUI and console frames.
8946 (w32_term_init): Use w32_initialize_display_info. Do not set
8947 Vw32_num_mouse_buttons here, as it is not called for console
8948 frames. Build bitmaps for indicating truncated lines etc.
8949 (x_delete_display): Destroy pre-built bitmaps.
8950 * xdisp.c (handle_single_display_prop): Use FONT_HEIGHT macro.
8951 (echo_area_display): Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM.
8952
4516715a
DL
89532000-02-27 Dave Love <fx@gnu.org>
8954
8955 * lisp.h: Add a bunch of prototypes.
8956
171ca836
KH
89572000-02-26 Kenichi Handa <handa@etl.go.jp>
8958
8959 * keyboard.c (read_char): Set `usec' correctly.
8960
4013921d
KH
89612000-02-25 Miyashita Hisashi <himi@bird.scphys.kyoto-u.ac.jp>
8962
8963 * ccl.c (ccl_driver) [CCL_MapMultiple]: When the mapped value is
8964 `lambda', set reg[RRR] to the map index.
8965 (ccl_driver) [CCL_MapSingle]: When the mapped value is found, set
8966 reg[RRR] to 0. Otherwise, set it to -1.
8967
9244a058
GM
89682000-02-25 Gerd Moellmann <gerd@gnu.org>
8969
2df636f4 8970 * emacs.c (main): Remove code snippet commented out with `//'.
9244a058 8971
18e21ce8 89722000-02-25 Richard M. Stallman <rms@gnu.org>
427ec082 8973
f43d79c1
GM
8974 * fileio.c (Ffile_symlink_p): If result starts with a `/'
8975 and contains a `:', prepend `/:'.
8976
8977 * window.c (select_window_1): If selected_window is nil,
8978 don't "swap out" the buffer's point.
8979 (Fset_window_configuration): Set selected_window to nil
8980 before calling Fselect_window.
8981 (unshow_buffer): Don't set point in buffer from window's point
8982 if another more recently selected window also shows the buffer.
8983
bed0c171
GM
89842000-02-25 Gerd Moellmann <gerd@gnu.org>
8985
449c3c52
GM
8986 * keyboard.c (recursive_edit_1): Cancel busy-cursor.
8987
f5b58615
GM
8988 * xfns.c (inhibit_busy_cursor, busy_count): Removed.
8989 (Fx_show_busy_cursor, Fx_hide_busy_cursor): Removed.
8990 (busy_cursor_atimer, busy_cursor_shown_p, Vbusy_cursor_delay): New
8991 variables.
8992 (DEFAULT_BUSY_CURSOR_DELAY): New define.
8993 (start_busy_cursor, cancel_busy_cursor, show_busy_cursor)
8994 (hide_busy_cursor): New functions.
8995 (syms_of_xfns): DEFVAR_LISP Vbusy_cursor_delay.
8996
8997 * minibuf.c (read_minibuf): Cancel busy-cursor.
8998
8999 * keyboard.c (command_loop_1): Call start_busy_cursor before
9000 Fcommand_execute and cancel_busy_cursor after it.
9001 (timer_check): Remove busy-cursor code.
9002 (Fread_key_sequence, Fread_key_sequence_vector): Start/cancel busy
9003 cursor timer.
9004
9005 * process.c (wait_reading_process_input): Remove busy-cursor code.
9006
9007 * eval.c (Fsignal): Call cancel_busy_cursor instead of
9008 Fx_hide_busy_cursor.
9009
9010 * dispextern.h (Fx_show_busy_cursor, Fx_hide_busy_cursor):
9011 Remove prototyoes.
9012 (start_busy_cursor, cancel_busy_cursor): Add prototypes.
9013
9014 * lisp.h (Fx_hide_busy_cursor): Remove prototype.
9015
9016 * xterm.c (XTread_socket): Remove busy-cursor code.
9017
4eb8436f
GM
9018 * dispnew.c (flush_stdout) [GLYPH_DEBUG]: New function.
9019 (build_frame_matrix_from_leaf_window): Put code handling
9020 glyph row's not being a slice of a frame row in #if 0.
9021 (sync_window_with_frame_matrix_rows): New function.
9022 (frame_row_to_window): New function.
9023 (mirror_line_dance): Handle copies between windows.
9024
3cb65b0e
GM
9025 * lread.c (Fload): Use `xfree' instead of `free'.
9026 (init_obarray): Use `xmalloc' instead of `malloc'.
9027
bed0c171
GM
9028 * window.c (Fset_window_buffer): Set WINDOW to the window
9029 after decoding.
2add4349
GM
9030 (coordinates_in_window): Take frame's internal border width
9031 into account.
bed0c171 9032
42088c12
GM
90332000-02-24 Gerd Moellmann <gerd@gnu.org>
9034
9035 * xterm.c (x_display_and_set_cursor): Display cursor of
9036 non-selected windows depending on the setting of
9037 cursor_in_non_selected_windows.
9038
9039 * xdisp.c (cursor_in_non_selected_windows): New variable.
9040 (syms_of_xdisp): DEFVAR_BOOL it.
9041
d1e103b2
GM
90422000-02-23 Gerd Moellmann <gerd@gnu.org>
9043
723e779c
GM
9044 * data.c (Fstring_to_number): If number is greater than what
9045 fits into an integer, return a float.
9046
d1e103b2
GM
9047 * eval.c (specbind): Remove references to
9048 keyword_symbols_constant_flag.
9049
9050 * data.c (keyword_symbols_constant_flag): Removed.
9051 (Fmakunbound, set_internal, syms_of_data): Remove references to
9052 keyword_symbols_constant_flag.
9053
9054 * bytecode.c (Fbyte_code): Remove keyword_symbols_constant_flag.
9055
214f877f
KH
90562000-02-23 Kenichi Handa <handa@etl.go.jp>
9057
9058 * syntax.c (multibyte_syntax_as_symbol): New variable.
9059 (syms_of_syntax): Declare it as a Lisp variable.
9060 (SYNTAX_WITH_MULTIBYTE_CHECK): New macro.
9061 (scan_lists): If both sexpflag and multibyte_syntax_as_symbol are
9062 nonzero, treat all multibyte characters as symbol.
42088c12 9063 (init_syntax_once): Give syntax `word' to all multibyte
214f877f
KH
9064 characters.
9065
130adcb7
EZ
90662000-02-22 Eli Zaretskii <eliz@is.elta.co.il>
9067
3cb65b0e 9068 * frame.c (Fdelete_frame): Don't let echo_area_window remain on
d7d0dac0 9069 a deleted frame.
130adcb7 9070
17cbbf95
GM
90712000-02-21 Gerd Moellmann <gerd@gnu.org>
9072
9073 * frame.c (Fmouse_position): GCPRO retval instead of x and y.
9074
9075 * xfns.c (x_window_to_frame, x_any_window_to_frame)
9076 (x_non_menubar_window_to_frame): Check the busy-cursor window.
9077
beb0bc36
DL
90782000-02-21 Dave Love <fx@gnu.org>
9079
9080 * frame.c (Vmouse_position_function): New variable.
9081 (Fmouse_position): Use it.
9082 (syms_of_frame): Install it.
9083
9084 * charset.c (find_charset_in_str): Fix use of `c' instead of `c1'.
9085
1d92afcd
GM
90862000-02-20 Gerd Moellmann <gerd@gnu.org>
9087
9088 * fileio.c (Finsert_file_contents): Unbind the binding of
9089 standard-output done by temp_output_buffer_setup.
329eed9f
GM
9090
9091 * eval.c (funcall_lambda): Don't bind Qmocklisp_arguments unless
9092 Vmocklisp_arguments is nil. Inline Fcar and Fcdr.
9093 (specbind, unbind_to): Handle most common case of non-constant
9094 symbol with trivial value specially.
9095
9096 * bytecode.c (Fbyte_code) <Bvarset>: Inline most common case.
9097
18e21ce8 90982000-02-20 Richard M. Stallman <rms@gnu.org>
2d06696f
RS
9099
9100 * data.c (Fmake_variable_buffer_local): Doc fix.
9101 Init found_for_buffer to 0.
9102 (Fmake_variable_frame_local): If the variable has already
9103 been buffer-local, set the check_frame field.
9104
1d4311c3
EZ
91052000-02-20 Eli Zaretskii <eliz@is.elta.co.il>
9106
9107 * msdos.c (IT_write_glyphs): Allocate a larger screen_buf as data
9108 produced for CODING_MODE_LAST_BLOCK requires.
9109
2dc95ddd
DL
91102000-02-18 Dave Love <fx@gnu.org>
9111
9112 * keyboard.c (echo_keystrokes): Remove declaration.
9113 (Vecho_keystrokes) New variable.
9114 (read_char, record_menu_key, read_key_sequence): Use it to allow
9115 use of float value.
9116 (syms_of_keyboard): Change Vecho_keystrokes declaration.
9117
9118 * lread.c: Undef feature selection macros before defining.
9119
f0930f35
GM
91202000-02-18 Gerd Moellmann <gerd@gnu.org>
9121
9122 * data.c (let_shadows_buffer_binding_p): Ignore specbindings
9123 for symbols other than the symbol in question.
9124
e3d4de90
DL
91252000-02-17 Dave Love <fx@gnu.org>
9126
9127 * s/sol2.h (C_DEBUG_SWITCH): Define to allow optimization.
9128
0b378936
GM
91292000-02-17 Gerd Moellmann <gerd@gnu.org>
9130
d621caf7
GM
9131 * emacs.c (main): Use #if GC_MARK_STACK instead of #ifdef.
9132
0b378936
GM
9133 * alloc.c (enum mem_type): Compile unconditionally.
9134
3b451f74
EZ
91352000-02-17 Eli Zaretskii <eliz@is.elta.co.il>
9136
9137 * xfaces.c (tty_defined_color): Don't return faulire indication
9138 for unspecified-fg and unspecified-bg pseudo-colors.
9139
10689a01
GM
91402000-02-17 Gerd Moellmann <gerd@gnu.org>
9141
1216f5e4
GM
9142 * alloc.c (mark_object): Don't mark symbol names in pure space.
9143 (gc_sweep): Don't unmark symbol names in pure space.
9144
9145 * lisp.h (GC_USE_GCPROS_AS_BEFORE, GC_MAKE_GCPROS_NOOPS)
9146 (GC_MARK_STACK_CHECK_GCPROS, GC_USE_GCPROS_CHECK_ZOMBIES)
9147 [GC_MARK_STACK]: New defines.
427ec082 9148 (GCPRO1, GCPRO2, GCPRO3, GCPRO4, GCPRO5, UNGCPRO)
1216f5e4
GM
9149 [GC_MARK_STACK == GC_MAKE_GCPROS_NOOPS]: Define as no-ops.
9150
9151 * emacs.c (main) [GC_MARK_STACK]: Initialize stack_base.
9152
9153 * buffer.c (Fget_buffer_create, Fmake_indirect_buffer): Use
9154 allocate_buffer instead of xmalloc.
9155
9156 * alloc.c (toplevel): Include setjmp.h.
9157 (PURE_POINTER_P): New define.
9158 (enum mem_type) [GC_MARK_STACK]: New enumeration.
9159 (Vdead) [GC_MARK_STACK]: New variable.
9160 (lisp_malloc): Add parameter TYPE, call mem_insert if
9161 GC_MARK_STACK is defined.
9162 (allocate_buffer): New function.
427ec082 9163 (lisp_free) [GC_MARK_STACK]: Call mem_delete.
1216f5e4
GM
9164 (free_float) [GC_MARK_STACK]: Set type to Vdead.
9165 (free_cons) [GC_MARK_STACK]: Set car to Vdead.
9166 (stack_base, mem_root, mem_z) [GC_MARK_STACK]: New variables.
9167 (MEM_NIL) [GC_MARK_STACK]: New define.
9168 (struct mem_node) [GC_MARK_STACK]: New structure.
9169 (mem_init, mem_find, mem_insert, mem_delete, mem_insert_fixup)
9170 (mem_delete_fixup, mem_rotate_left, mem_rotate_right)
9171 (live_string_p, live_cons_p, live_symbol_p, live_float_p)
9172 (live_misc_p, live_vector_p, live_buffer_p, mark_memory)
9173 (mark_stack) [GC_MARK_STACK]: New functions.
9174 (Fgarbage_collect) [GC_MARK_STACK]: Call mark_stack.
9175 (clear_marks): Removed.
9176 (gc_sweep): Set free conses' car, free floats' type, free
9177 symbols' function to Vdead. Use lisp_free to free buffers.
9178 (init_alloc_once): Initialize Vdead.
9179 (survives_gc_p): Return non-zero for pure objects.
9180
9181 * alloc.c: Add comments throughout the file.
9182
2503c8b1
GM
9183 * atimer.c (stop_other_atimers): Don't call cancel_atimer because
9184 that unblocks alarms.
9185
8389e1e2
GM
9186 * alloc.c, bytecode.c, data.c, dispnew.c, ecrt0.c, editfns.c,
9187 emacs.c, floatfns.c, fns.c, lread.c, print.c, config.in, lisp.h,
9188 Makefile.in: Remove `LISP_FLOAT_TYPE' and `standalone'.
9189
10689a01 9190 * frame.c (make_frame): Set frame initiallly to `garbaged'.
427ec082 9191
bfc17d18
KH
91922000-02-17 Kenichi Handa <handa@etl.go.jp>
9193
4a09dee0
KH
9194 * xdisp.c (decode_mode_spec_coding): Delete superfluous code to
9195 avoid infinite error signaling. Allocate sufficient memory for
9196 eol_str in the case that eoltype is Lisp_Int.
bfc17d18 9197
2b927d02
SM
91982000-02-17 Stefan Monnier <monnier@cs.yale.edu>
9199
9200 * syntax.c (Fforward_comment): Undo the previous change, since cc-mode
9201 depends on the previous behavior.
9202
b49cb764
GM
92032000-02-16 Gerd Moellmann <gerd@gnu.org>
9204
9205 * sysdep.c (vfork) [!HAVE_VFORK]: Removed.
9206
99e95407
GM
92072000-02-15 Gerd Moellmann <gerd@gnu.org>
9208
9209 * s/freebsd.h (BROKEN_PTY_READ_AFTER_EAGAIN): Define.
9210
9211 * process.c (send_process) [BROKEN_PTY_READ_AFTER_EAGAIN]:
b49cb764 9212 Workaround for FreeBSD bug. Clear output queue after EAGAIN in
99e95407
GM
9213 write(2).
9214
6ffd3cf7
RS
92152000-02-15 Richard M. Stallman <rms@gnu.org>
9216
9217 * data.c (set_internal): Don't make variable buffer-local
9218 if within a let-binding for the same buffer.
9219 (let_shadows_buffer_binding_p): New function.
9220
9221 * eval.c (specbind): For buffer-local value,
9222 record the current buffer also.
9223 (unbind_to): Cope with that change.
9224
cad53475
GM
92252000-02-15 Gerd Moellmann <gerd@gnu.org>
9226
9227 * window.c (Fsave_window_excursion): Doc fix.
9228
1aa963c8
SM
92292000-02-15 Stefan Monnier <monnier@cs.yale.edu>
9230
9231 * syntax.c (back_comment): Make sure we only consider comment-starters
9232 of the relevant style and return -1 in case of a failure to find the
9233 beginning of the comment.
9234 (Fforward_comment): If back_comment fails, go back to the position just
9235 after the comment-end.
9236 (scan_lists): Add comment describing a very minor bug.
9237
b9b84fd3
SM
92382000-02-14 Stefan Monnier <monnier@cs.yale.edu>
9239
9240 * minibuf.c (Ftry_completion, Fall_completions): Add a reference to
9241 `completion-regexp-list' in the docstring.
9242
3a28db80
DL
92432000-02-14 Dave Love <fx@gnu.org>
9244
9245 * xfaces.c (tty_defined_color): Declare color_idx unsigned long.
9246
fb4a568d
SM
92472000-02-14 Stefan Monnier <monnier@cs.yale.edu>
9248
9249 * regex.h (RE_SYNTAX_EMACS): Add RE_CHAR_CLASSES and RE_INTERVALS
9250 to Emacs' syntax. Also fix the comment about set/not-set meanings
9251 since Emacs syntax is not the value 0 any more.
9252 * search.c (compile_pattern_1): Remove RE_CHAR_CLASSES from the syntax
9253 since it's now part of RE_SYNTAX_EMACS.
9254
1063ebb5
DL
92552000-02-12 Dave Love <fx@gnu.org>
9256
9257 * frame.h (SELECTED_FRAME): Use NULL, not 0 to avoid warnings on
9258 Alpha.
9259
fb07a302
GM
92602000-02-12 Gerd Moellmann <gerd@gnu.org>
9261
9262 * xdisp.c (syms_of_xdisp): Doc fix for scroll-conservatively.
9263
aaf2320c
DL
92642000-02-12 Dave Love <fx@gnu.org>
9265
9266 * s/aix3-2.h, s/osf-1.h: Define C_DEBUG_SWITCH for non-gcc.
9267
9268 * s/ux4800.h, s/umips.h, s/umax.h, s/sol2.h, s/sco5.h, s/rtu.h:
fb07a302
GM
9269 * s/ptx4.h, s/umax.h, s/dgux.h, s/bsd4-2.h, s/bsd4-3.h:
9270 * s/hpux.h: Don't define HAVE_VFORK.
aaf2320c
DL
9271
9272 * s/gnu-linux.h: Don't define HAVE_VFORK or HAVE_SYS_SIGLIST.
9273
9274 * s/nextstep.h: Don't define HAVE_ALLOCA.
9275
9276 * config.in: Add vfork bits.
9277
eedf8bde
GM
92782000-02-12 Gerd Moellmann <gerd@gnu.org>
9279
9280 * process.c (Fopen_network_stream) [POLL_FOR_INPUT]: Register
9281 unwind function to undo the effect of stopping atimers.
9282
9283 * keyboard.c (bind_polling_period): Stop all timers except
9284 poll_timer.
9285
9286 * atimer.c (stopped_atimers): New variable.
9287 (stop_other_atimers, run_all_atimers, unwind_stop_other_atimers):
9288 New functions.
9289
9290 * atimer.h (stop_other_atimers, run_all_atimers)
9291 (unwind_stop_other_atimers): Add function prototypes.
427ec082 9292
eedf8bde
GM
9293 * s/hpux10.h (HAVE_XRMSETDATABASE): Define if not already defined.
9294
8476c2f8
KR
92952000-02-11 Ken Raeburn <raeburn@gnu.org>
9296
9297 * Makefile.in (LIBX): Link in tiff library before jpeg, since tiff
9298 library may depend on jpeg.
9299 (atimer.o): Depends on atimer.c.
9300
0e85e4a3
KH
93012000-02-11 Kenichi Handa <handa@etl.go.jp>
9302
9303 * insdel.c (del_range_1): Call update_compositions.
9304 (del_range_both): Call update_compositions just once..
9305
97fa0cc8
DL
93062000-02-10 Dave Love <fx@gnu.org>
9307
9308 * xfns.c (create_frame_xic): Fix initialization of automatic
9309 aggregates for pcc.
9310
25566a3c
KH
93112000-02-09 Kenichi Handa <handa@etl.go.jp>
9312
9313 * ccl.c (CCL_MAKE_CHAR): New macro.
9314 (ccl_driver) <CCL_TranslateCharacter>: Check the validity of
9315 registers by CCL_MAKE_CHAR before calling translate_char.
9316 <CCL_TranslateCharacterConstTbl> Likewise.
9317
69da54ba
DL
93182000-02-08 Dave Love <fx@gnu.org>
9319
9320 * lread.c (__EXTENSIONS__): Define.
9321
f7136ee8
GM
93222000-02-08 Gerd Moellmann <gerd@gnu.org>
9323
9324 * puresize.h (BASE_PURESIZE): Increase to 650000.
9325
7768790b
EZ
93262000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
9327
9328 * msdos.c (XMenuActivate): Turn off the cursor after displaying
9329 the help message.
9330
38fd211b
EZ
93312000-02-07 Eli Zaretskii <eliz@is.elta.co.il>
9332
9333 * s/msdos.h (INTERNAL_TERMINAL): Add capabilities se, so, us, ue,
9334 md, mh, mb, mr, and me to the fake termcap entry.
9335
66e4690f
KR
93362000-02-06 Ken Raeburn <raeburn@gnu.org>
9337
9338 * sound.c (sound_cleanup): Don't call device close routine if the
9339 function pointer is null.
9340
a75dfea0
AI
93412000-02-06 Andrew Innes <andrewi@gnu.org>
9342
9343 * dispextern.h: Change HAVE_X_WINDOWS to HAVE_WINDOW_SYSTEM,
9344 around image definitions and prototypes.
9345 (gamma_correct) [WINDOWSNT]: New prototype.
9346
9347 * w32term.c (x_make_frame_visible): Replace call to
9348 input_poll_signal with poll_for_input.
9349
9350 * window.c [WINDOWSNT]: Include w32term.h.
9351
9352 * xdisp.c [WINDOWSNT]: Include w32term.h.
9353
9354 * makefile.nt: Add dependencies on w32gui.h.
9355 (OBJ1): Include atimer.obj.
9356 ($(BLD)\atimer.obj): New dependency rule.
9357
9358 * w32.c (sigmask): New function (does nothing).
9359 (sigunblock): Ditto.
9360
9361 * frame.c [WINDOWSNT]: Include w32term.h.
9362
9363 * w32gui.h (struct W32FontStruct): Add ascent and descent slots.
9364
9365 * lread.c (syms_of_lread): Fix literal newlines.
9366
9367 * emacs.c (USAGE): Split into USAGE1 and USAGE2, to work-around
9368 the string constant limit (2048 bytes) in MSVC.
9369 (main): Ditto.
9370
59ddecde
GM
93712000-02-05 INOUE Seiichiro <inoue@ainet.or.jp>
9372
9373 * xterm.c (x_display_and_set_cursor) [HAVE_X_I18N]: Set pre-edit
9374 area.
9375 (x_display_cursor) [HAVE_X_I18N]: Don't set it here.
9376 (XTread_socket) [HAVE_X_I18N]: <KeyPress, KeyRelease>: Don't
9377 dispatch the event.
9378
07590973
DL
93792000-02-04 Dave Love <fx@gnu.org>
9380
9381 * fileio.c: Remove some unused vars.
9382 (_GNU_SOURCE): Define (for euidaccess).
9383
9384 * lread.c (_XOPEN_SOURCE): Declare (for ftello).
9385
9386 * minibuf.c (read_minibuf_noninteractive): Remove undeclared
9387 gcpro1, gcpro2.
9388 (read_minibuf): Deal with allow_props correctly.
9389
649351f9
EZ
93902000-02-03 Eli Zaretskii <eliz@is.elta.co.il>
9391
9392 * s/msdos.h (SYSTEM_PURESIZE_EXTRA): Enlarge to 60000.
9393
66e4690f 93942000-02-03 Ken Raeburn <raeburn@gnu.org>
f1b9c7c1
KR
9395
9396 * search.c (compile_pattern): If a cache entry has a nil regexp,
9397 fill in that entry instead of clobbering a previously cached
9398 string regexp.
9399
66e4690f 94002000-02-02 Ken Raeburn <raeburn@gnu.org>
15c9cf81
KR
9401
9402 * puresize.h (BASE_PURESIZE): Increase to 610000.
9403
d240a249
GM
94042000-02-02 Gerd Moellmann <gerd@gnu.org>
9405
9406 * frame.c (Fframe_parameters): Add GCPRO because tty_color_name
9407 can GC.
9408
ca91fb26
KH
94092000-02-02 Kenichi Handa <handa@etl.go.jp>
9410
25660570
KH
9411 * ccl.c (ccl_driver) <CCL_WriteExprRegister>: Set jump_address
9412 instead of incrementing ic directly.
9413 <CCL_WriteExprConst> Likewise.
9414 <ccl_set_expr>: Set ic to jump_address.
9415
ca91fb26
KH
9416 * fileio.c (e_write): Fix the handling of
9417 CODING_FINISH_INSUFFICIENT_SRC.
9418
2ede9689
DL
94192000-02-01 Dave Love <fx@gnu.org>
9420
9421 * editfns.c (Fpropertize): Doc fix.
9422
9423 * process.c (Fstart_process): Doc fix.
9424
9425 * eval.c: Fix various doc strings not to duplicate information
9426 from help-manyarg-func-alist.
9427
9428 * window.c (Fset_window_margins): Don't make interactive. Doc
9429 fix.
9430
9431 * doc.c (Vhelp_manyarg_func_alist): New variable.
9432 (Fdocumentation): Use it.
9433 (syms_of_doc): Define it.
9434
b6680a0e
GM
94352000-01-31 Gerd Moellmann <gerd@gnu.org>
9436
2cb750ba
GM
9437 * xterm.c (xim_open_dpy): Remove unused local variable.
9438
74e9213b
GM
9439 * emacs.c (USAGE): Use term `display options' instead of `X
9440 options'.
9441
9442 * xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: New function.
9443 (syms_of_xdisp) [GLYPH_DEBUG]: Defsubr it.
9444
b6680a0e
GM
9445 * fns.c (sweep_weak_table): New function.
9446 (sweep_weak_hash_tables): Use it. Keep on marking until there
9447 is no more change.
9448
994c5afe
GM
94492000-01-30 Gerd Moellmann <gerd@gnu.org>
9450
9451 * xterm.c (x_delete_display): Update next_noop_dpyinfo to ensure
9452 that XTread_socket does not crash by trying to call XNoOp on a
9453 closed display.
427ec082 9454
f00276e3
JR
94552000-01-30 Jason Rumney <jasonr@gnu.org>
9456
9457 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
9458 Change selected_frame to SELECTED_FRAME ().
9459 (w32_console_mouse_position): Remove #ifndef MULE from around
9460 `insist' parameter.
9461
9462 * makefile.nt: Remove dosfns.obj.
9463
9464 * term.c (term_init) [WINDOWSNT]: Initialize TN_max_colors.
9465
9466 * w32fns.c (w32_defined_color): Check for valid frame before
9467 applying gamma correction. Eliminate dependency on frame elsewhere.
9468 (w32_load_system_font): Switch FIXED_PITCH and VARIABLE_PITCH.
9469 (w32_to_x_font): Use resx and resy not height_in and width_in.
9470 (x_to_w32_font): Doc fix.
9471 (xlfd_strip_height): New function to strip and return font height.
9472 (w32_font_match): Compare height separately from rest of xlfd
9473 spec, using xlfd_strip_height.
9474
9475 * w32term.c (w32_term_init): Swap resx and height_in, resy and
9476 width_in. Use w32_defined_color in place of defined_color.
9477
9478 * w32faces.c: Merge more of DOS and X specifics in preparation for
9479 merge with xfaces.c.
9480 (defined_color): Remove FIXME comment.
9481 (tty_color_name): Provide w32-specific function.
9482 (realize_tty_face): Handle FACE_TTY_DEFAULT*_COLOR specially.
9483
9484 * w32console.c (turn_on_face, turn_off_face): Removed.
9485 (w32_face_attributes): New function.
9486 (Global_variables): Reduce scope where possible.
9487 (clear_frame, ins_del_lines, scroll_line): Use char_attr_normal as
9488 fill attribute.
9489 (hl_mode): Don't modify text attributes.
9490 (write_glyphs): Don't do anything if len <= 0. Use
9491 w32_face_attributes to get attributes for drawing. Write
9492 terminating codes using char_attr_normal.
9493 (reset_terminal_modes, set_terminal_modes): Turn off highlight.
9494 (update_begin, update_end): Likewise.
9495 (vga_stdcolor_name): New function.
9496 (initialize_w32_display): Remove char_attr_reverse and char_attr.
9497 (Fset_screen_color): Remove char_attr_reverse.
9498
b08e8bb2
GM
94992000-01-29 Gerd Moellmann <gerd@gnu.org>
9500
9501 * xfns.c (xic_set_preeditarea): Take window parameter and
9502 window-relative pixel-positions.
9503
9504 * xterm.c (x_display_cursor): Set XIC pre-edit area only if window
9505 is its frame's selected window.
9506 (xim_instantiate_callback): Likewise.
9507
9508 * xfns.c (x_create_im): Removed.
9509 (DEFAULT_STYLE, DEFAULT_FONT): Removed.
9510 (supported_xim_styles): Renamed from supported_styles.
9511 (best_xim_style): Renamed from best_style.
9512 (create_frame_xic): Renamed from xic_create_frame.
9513 (free_frame_xic): Renamed from xic_destroy_frame.
427ec082 9514
b08e8bb2
GM
95152000-01-29 INOUE Seiichiro <inoue@ainet.or.jp>
9516
9517 * xterm.c (XTread_socket) [HAVE_X_I18N]: If event is for none of
9518 our frames, call XFilterEvent with 2nd parameter `None'.
9519 (XTread_socket) <KeyPress> [HAVE_X_I18N]: Handle XmbLookupString
9520 returning XBufferOverflow.
9521 (XTread_socket) <ConfigureNotify> [HAVE_X_I18N]: Set XIC status
9522 area.
9523 (x_display_cursor) [HAVE_X_I18N]: Set XIC pre-edit area.
9524 (x_new_fontset) [HAVE_X_I18N]: Create XIC status area fontset.
9525 (xim_destroy_callback, xim_open_dpy, xim_instantiate_callback)
9526 (xim_initialize, xim_close)
9527 [HAVE_X_I18N && HAVE_X11R6]: New functions.
9528 (x_destroy_window) [HAVE_X_I18N]: Call xic_destroy_frame.
9529 (x_term_init) [HAVE_X_I18N]: Call xim_initialize.
9530 (x_delete_display) [HAVE_X_I18N]: Call xim_close.
9531
9532 * xterm.h (struct x_display_info) [HAVE_X_I18N]: Add members `xim'
9533 and `xim_styles'.
9534 (struct x_output) [HAVE_X_I18N]: Remove member `xim', add
9535 `xic_style' and `xic_xfs'.
9536 (FRAME_MENUBAR_HEIGHT, FRAME_X_XIM, FRAME_X_XIM_STYLES)
9537 (FRAME_XIC_STYLE, FRAME_XIC_FONTSET): New macros.
9538 (FRAME_XIM): Removed.
9539
9540 * xfns.c (supported_styles): New variable.
9541 (DEFAULT_STYLE, DEFAULT_FONT): New macros
9542 (xic_create_xfontset, best_style, xic_create_frame)
9543 (xic_destroy_frame, xic_set_preeditarea, xic_set_statusarea)
9544 (xic_set_xfontset): New functions.
9545
142e109c
DL
95462000-01-28 Dave Love <fx@gnu.org>
9547
9548 * s/irix6-5.h: Revert last change after change to irix5-0.h.
9549
9550 * m/iris4d.h (C_SWITCH_MACHINE): Don't use -G0.
9551
b02786f9
GM
95522000-01-28 Gerd Moellmann <gerd@gnu.org>
9553
d060bc9f
GM
9554 * buffer.c (Fother_buffer): Don't call Fset_buffer_major_mode
9555 for *scratch* if it already existed.
9556
b02786f9
GM
9557 * emacs.c (USAGE): New macro.
9558 (main): Use it to display usage information.
9559
2c52d7e4
EZ
95602000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
9561
9562 Support for the menu-help feature:
9563
9564 * msdos.h: Change prototypes of XMenuAddSelection and
9565 XMenuActivate.
9566
9567 * msdos.c (IT_clear_end_of_line): Print the extent of the cleared
9568 part of the line to the termscript file.
9569 (IT_clear_to_end): Clear the entire line, not just its beginning.
9570 (menu_help_message, prev_menu_help_message): New variables.
9571 (IT_menu_make_room): Make room for the help_text member.
9572 (IT_menu_display): New argument disp_help; all callers changed.
9573 If disp_help is non-zero, store the help text of the active menu
9574 item in menu_help_message.
9575 (XMenuAddPane): Initialize the help_text member to NULL.
9576 (XMenuAddSelection): New argument help_text. Store it in the
9577 XMenu structure.
9578 (XMenuActivate): New argument help_callback. If the value of
9579 menu_help_message has changed since the last time, display the
9580 menu help message text while waiting for the mouse to move. Clear
9581 the echo area before exiting.
9582 (XMenuDestroy): Free the help_text member.
9583
ffe0bcd1
GM
95842000-01-27 Gerd Moellmann <gerd@gnu.org>
9585
9586 * xmenu.c (xmenu_show) [!USE_X_TOOLKIT]: Pass help to
9587 XMenuAddSelection. Pass help callback to XMenuActivate.
9588 (menu_help_callback) [!USE_X_TOOLKIT]: New function.
9589
50dbd23f
EZ
95902000-01-27 Eli Zaretskii <eliz@is.elta.co.il>
9591
9592 * atimer.c (start_atimer) [!HAVE_SETITIMER]: Use EMACS_SET_SECS
9593 and EMACS_SET_USECS.
9594
f5941bf8
GM
95952000-01-26 Dave Love <fx@gnu.org>
9596
6c67ddee
DL
9597 * editfns.c (Fchar_after, Fchar_before): Doc fix.
9598
f5941bf8
GM
9599 * bytecode.c (Fbyte_code): Use {BEFORE,AFTER}_POTENTIAL_GC where
9600 an error may be signalled.
9601
9e49c990
GM
96022000-01-26 Gerd Moellmann <gerd@gnu.org>
9603
fc3cb460
GM
9604 * s/irix6-5.h [__GNUC__ && __GNUC_MINOR__ >= 95]: Undef
9605 LD_SWITCH_SYSTEM inherited from irix5-0.h.
9606
9e49c990
GM
9607 * bytecode.c (Fbyte_code) [BYTE_CODE_SAFE]: Fix typo.
9608
d0c037d8
GM
96092000-01-25 Gerd Moellmann <gerd@gnu.org>
9610
9611 * charset.c (Fstring): If there is a multibyte char among
9612 the args, always return a multibyte string.
9613
e12489f9
GM
96142000-01-25 Gerd Moellmann <gerd@gnu.org>
9615
9616 * sysdep.c (sys_select): Turn atimers off and on instead of
9617 recording and restoring old alarm handler
9618
9619 * process.c (toplevel): Include atimer.h.
9620 (create_process_1): Rewritten.
9621 (create_process): Use atimers instead of alarm.
9622 (wait_reading_process_input) [hpux]: Turn atimers off instead
9623 of turning off SIGALRM.
9624 (wait_reading_process_input): Turn off atimers instead off
9625 calling stop_polling.
9626
9627 * emacs.c (main): Call init_atimer.
9628
9629 * keyboard.c (toplevel): Include systime.h and atimer.h.
9630 (polling_for_input): Removed because unused.
9631 (input_poll_signal) [POLL_FOR_INPUT]: Removed.
9632 (poll_timer): New variable.
9633 (poll_for_input, poll_for_input_1): New functions.
9634 (start_polling, stop_polling): Rewritten.
9635
9636 * keyboard.h (polling_for_input): Removed.
427ec082 9637
e12489f9
GM
9638 * atimer.h, atimer.c: New files.
9639
9640 * Makefile.in (obj): Add atimer.o.
9641 (atimer.o): New target.
9642
9643 * blockinput.h (pending_atimers): Add extern declaration.
9644 (UNBLOCK_INPUT): Rewritten. Handle pending atimers.
9645
9646 * lisp.h (popup_activated_flag): Add extern declaration.
9647
9648 * xmenu.c (popup_activated_flag): Make externally visible.
9649 (popup_activate_callback) [USE_MOTIF]: Increment
9650 popup_activated_flag.
9651 (popup_deactivate_callback) [USE_MOTIF]: Decrement it.
9652
9653 * xterm.c (toplevel): Include atimer.h.
9654 (toolkit_scroll_bar_interaction): New variable.
9655 (Fxt_process_timeouts): Removed.
9656 (x_process_timeouts): New function.
9657 (xt_action_hook): Clear toolkit_scroll_bar_interaction.
9658 (x_send_scroll_bar_event): Set toolkit_scroll_bar_interaction.
9659 (x_make_frame_visible): Call poll_for_input_1 instead of
9660 input_poll_signal. Don't call alarm.
9661 (x_initialize): Install timer calling x_process_timeouts.
427ec082 9662
1e5279b9
DL
96632000-01-24 Dave Love <fx@gnu.org>
9664
6c67ddee 9665 * s/irix5-0.h: Don't set LD_SWITCH_SYSTEM -- we use unexelf now.
1e5279b9
DL
9666 Don't use -cckr -- apparently not now necessary.
9667
edf6aeb8
EZ
96682000-01-24 Eli Zaretskii <eliz@is.elta.co.il>
9669
9670 * msdos.c (IT_menu_display): Truncate long menu lines at the right
9671 screen boundary.
9672
9badad41
JR
96732000-01-23 Jason Rumney <jasonr@gnu.org>
9674
9675 * w32fns.c (w32_defined_color): Apply gamma correction before
9676 trying to map to the palette.
9677 (w32_wnd_proc) [WM_ERASE_BACKGROUND]: Pass device context of frame
9678 to w32_clear_rect.
9679
9680 * w32term.c (w32_fill_rect): Do not try to deal with NULL hdc
9681 here. Callers changed to always pass real device context.
9682 (w32_draw_bitmap): Likewise.
9683 (w32_get_glyph_overhangs): Likewise.
9684 (w32_draw_box_rect): Make use of s->hdc rather than getting a new
9685 one.
9686 (w32_set_vertical_scroll_bar): Pass correct HWND parameters to
9687 pfnSetScrollInfo and SetScrollRange.
9688 (x_get_char_face_and_encoding): Don't turn iso8859-1 characters
9689 back into MULE characters after decoding them.
9690 (x_get_glyph_face_and_encoding): Likewise.
9691 (w32_per_char_metric): Use GetCharExtentPoint32W as fallback when
9692 GetCharABCWidthsW fails, since this is defined on Windows 9x.
9693 (x_produce_glyphs): Calculate per char metrics for a character
9694 that we know exists in default font when font_not_found_p is true.
9695
63bd786b
JR
96962000-01-22 Jason Rumney <jasonr@gnu.org>
9697
9698 * makefile.nt (intervals.obj, composite.obj): New modules.
9699 (composite.h): Added as dependency where appropriate.
9700
9701 * w32gui.h (XGCValue): New struct for emulating X GCs.
9702
9703 * w32term.h (XCharStruct): New struct for emulating X.
9704
9705 * w32console.c (turn_on_face, turn_off_face): New functions.
9706 (change_line_highlight): New prototype for new redisplay.
9707 (write_glyphs): Support multibyte text. Support faces.
9708
9709 * w32faces.c: Complete rewrite for new redisplay based on new
9710 xfaces.c.
9711
9712 * w32fns.c: Use SELECTED_FRAME macro in place of selected_frame
9713 throughout. struct frame * in place of FRAME_PTR.
9714 Skeleton support for images, toolbars, tooltips from xfns.c.
9715 (Fx_create_frame): Use system default for default scroll bar
9716 width.
9717 (w32_get_arg): Renamed from x_get_arg.
9718 (Fx_file_dialog): New function.
9719 (w32_list_fonts): Check cache before asking system.
9720 (Vw32_enable_synthesized_fonts): New variable.
9721 (Vw32_enable_italics): Obsolete, removed.
9722
9723 * w32inevt.c (get_frame, w32_console_mouse_position, mouse_moved_to):
9724 Use SELECTED_FRAME macro.
9725
9726 * w32menu.c: Add skeleton support for help strings on menus.
9727 (add_menu_item): Native checkbox and radio support added, but not
9728 yet enabled due to bugs.
9729 (push_menu_item): Add parameters type, selection and help.
9730 Callers updated.
9731 Formatting changes to reduce unnecessary diffs with xmenu.c.
9732
9733 * w32select.c (Fw32_set_clipboard_data): Update call to
9734 find_charset_in_str.
9735
9736 * w32term.c: Complete rewrite for new redisplay based on new
9737 xterm.c with necessary sections merged back in from old w32term.c.
9738
6ffd3cf7 97392000-01-21 Richard M. Stallman <rms@gnu.org>
b50c9214
RS
9740
9741 * data.c (set_internal): Further fix in same criterion.
9742
6ffd3cf7 97432000-01-20 Richard M. Stallman <rms@gnu.org>
8cc95642
RS
9744
9745 * data.c (set_internal): Fix the criteria for whether
9746 to swap out the old cached binding.
9747
60af03f1
DL
97482000-01-19 Dave Love <fx@gnu.org>
9749
9750 * lread.c: (syms_of_lread) [user-init-file]: Doc change.
9751
f9be074f
KH
97522000-01-18 Kenichi Handa <handa@etl.go.jp>
9753
9754 * regex.c (re_compile_fastmap): While checking a range table for
9755 `charset', skip flag bits for a character class correctly.
9756
52b8dbf9
GM
97572000-01-17 Gerd Moellmann <gerd@gnu.org>
9758
d36100c9
GM
9759 * m/news-risc.h (LD_SWITCH_MACHINE): Define differently for GCC.
9760
52b8dbf9
GM
9761 * xfns.c (x_window): Call lw_create_widget with new parameter
9762 list.
9763
9764 * widget.c (EmacsFrameSetCharSize): Change size of children first
9765 because of problems with main window geometry management under
9766 Lesstif.
9767
9768 * xmenu.c (enum menu_item_idx): New enumeration replacing defines
9769 MENU_ITEMS_ITEM_.*.
9770 (MENU_ITEMS_ITEM_HELP): New enumerator.
9771 (push_menu_item): Add parameter HELP. Record help in menu_items.
9772 (single_menu_item, single_submenu, list_of_items): Call
9773 push_menu_item with new parameter.
9774 (single_submenu): Set help string in widget value.
9775 (menu_highlight_callback): New function.
9776 (set_frame_menubar): Call lw_create_widget with new
9777 parameter list.
9778 (xmenu_show, xdialog_show): Ditto.
9779
3139018f
GM
97802000-01-13 Gerd Moellmann <gerd@gnu.org>
9781
9782 * sound.c (Fplay_sound): Improve doc string.
9783
83c8f461
RS
97842000-01-11 Richard M. Stallman <rms@gnu.org>
9785
9786 * lisp.h (set_internal): Enter the new arg.
9787
9788 * eval.c (specbind): Record buffer-local variables specially,
9789 indicating which buffer's binding was saved.
9790 (unbind_to): Restore buffer-local variables specially
9791 in the proper buffer.
9792
9793 * data.c (set_internal): New arg BUF.
427ec082 9794
83c8f461
RS
9795 * eval.c (specbind, unbind_to): Pass new arg to set_internal.
9796 * data.c (Fset): Pass new arg to set_internal.
9797 * bytecode.c (Fbyte_code): Pass new arg to set_internal.
427ec082 9798
1fab1775
GM
97992000-01-11 Gerd Moellmann <gerd@gnu.org>
9800
9801 * .gdbinit: Adapt to new strings. Add xbacktrace, xreload,
9802 xprintsym.
9803
83c8f461 98042000-01-11 Richard M. Stallman <rms@gnu.org>
6f59462e
RS
9805
9806 * minibuf.c (Ftry_completion): Doc fix.
9807
7a85e4df
GM
98082000-01-11 Gerd Moellmann <gerd@gnu.org>
9809
9810 * keyboard.c (Fclear_this_command_keys): Clear recent_keys
9811 vector, too.
9812
a970dae4
AS
98132000-01-11 Andreas Schwab <schwab@suse.de>
9814
9815 * coding.c (code_convert_region): Initialize total_skip.
9816
c65d14ee
DL
98172000-01-08 Dave Love <fx@gnu.org>
9818
9819 * eval.c (Fuser_variable_p): Check customizability too.
9820
834938d2
GM
98212000-01-07 Gerd Moellmann <gerd@gnu.org>
9822
9823 * minibuf.c (Fcompleting_read): Doc fix.
9824
e0303cd6
GM
98252000-01-05 Gerd Moellmann <gerd@gnu.org>
9826
8a26744b
GM
9827 * s/freebsd.h (C_SWITCH_SYSTEM): Add -I /usr/local/include and
9828 -L /usr/local/lib.
9829
e0303cd6
GM
9830 * xfns.c (x_create_im): New function to set IM and IC of a frame.
9831 Check that input style is supported before trying to create an
9832 IC for it.
9833 (x_window): Call x_create_im.
427ec082 9834
2e471eb5
GM
98352000-01-04 Gerd Moellmann <gerd@gnu.org>
9836
560a7bd2
GM
9837 * xfns.c (current_gif_memory_src): New variable.
9838 (gif_load): Record the address of the current memory source
9839 in current_gif_memory_src.
9840 (gif_read_from_memory): Use current_gif_memory_src.
9841
f9ee84a3
GM
9842 * systime.h (EMACS_GET_TIME, EMACS_ADD_TIME, EMACS_SUB_TIME): Give
9843 macros statement form.
9844
d1299cde
GM
9845 * sound.c (struct sound): Renamed from struct sound_file.
9846 (struct sound): Add members `data' and `header_size'.
9847 (enum sound_attr): Add SOUND_DATA.
9848 (current_sound, current_sound_device): Variables renamed from
9849 sound_file and sound_device.
9850 (parse_sound): Parse :data.
9851 (parse_sound): Handle sound data in strings.
9852 (find_sound_type): Function renamed from find_sound_file_type.
427ec082 9853 (wav_init, au_init): Fail if sound's header_size is smaller than
d1299cde
GM
9854 needed header size.
9855 (wav_play, au_play): Play sounds from string data.
9856
2e471eb5
GM
9857 * puresize.h (BASE_PURE_SIZE): Increase to 600000.
9858
9859 * lisp.h: Add prototype for allocate_string_data.
9860
9861 * alloc.c (Fgarbage_collect): Return number of live and free
9862 strings.
9863
9864 * alloc.c (mark_buffer): Remove code in #if 0.
9865 (gc_sweep): Ditto.
9866 (UNMARK_BALANCE_INTERVALS): Give the macro statement form.
9867 (strings_consed): New variable.
9868 (allocate_string): Set it.
9869 (syms_of_alloc): Add DEFVAR_INT for strings_consed.
9870 (Fmemory_use_counts): Return strings_consed. Use Flist.
9871
9872 * alloc.c: General cleanup in comments etc. Remove conditional
9873 compilation for `standalone'.
9874
9875 * lisp.h (struct Lisp_String): Make DATA member `unsigned char *'.
9876
9877 * alloc.c (MARK_STRING, UNMARK_STRING, STRING_MARKED_P):
9878 (GC_STRING_BYTES, GC_STRING_CHARS): New macros.
9879 (DONT_COPY_FLAG): Removed.
9880 (SBLOCK_SIZE, LARGE_STRING_BYTES): New macros.
9881 (struct sdata, struct sblock): New
9882 (struct string_block): Rewritten.
9883 (STRINGS_IN_STRING_BLOCK): New macro.
9884 (oldest_sblock, current_sblock, total_strings, total_free_strings)
9885 (large_sblocks, string_blocks, string_free_list): New variables.
9886 (NEXT_FREE_LISP_STRING, SDATA_OF_STRING, SDATA_SIZE): New macros.
9887 (init_strings): Rewritten.
9888 (allocate_string, allocate_string_data, compact_small_strings)
9889 (free_large_strings, sweep_strings): New functions.
9890 (STRING_BLOCK_SIZE, STRING_BLOCK_OUTSIZE)
9891 (struct string_block_head, current_string_block)
9892 (first_string_block, large_string_blocks, STRING_FULLSIZE)
9893 (STRING_PAD): Removed.
9894 (make_uninit_multibyte_string, make_pure_string): Rewritten.
9895 (Fgarbage_collect): Don't set mark bit in large strings.
9896 (mark_object): Mark strings differently. Mark symbol names
9897 differently.
9898 (survives_gc_p): Test marked strings differently.
427ec082 9899 (gc_sweep): Sweep strings differently, unmark strings in
2e471eb5
GM
9900 symbol names.
9901 (compact_strings): Removed.
9902
42608ba8
EZ
99032000-01-04 Eli Zaretskii <eliz@is.elta.co.il>
9904
9905 * xfaces.c (syms_of_xfaces): defsubr Scolor_gray_p and
9906 Scolor_supported_p even if HAVE_X_WINDOWS is not defined.
9907
e0a09e1a
KH
99082000-01-04 Kenichi Handa <handa@etl.go.jp>
9909
dd9f0750 9910 * fileio.c (Finsert_file_contents): Signal error if visiting file
427ec082 9911 in a non-empty buffer.
dd9f0750 9912
3c0f3b15 9913 * term.c (encode_terminal_code): Fix the previous change.
e0a09e1a 9914
44cd3ae5
GM
99152000-01-03 Gerd Moellmann <gerd@gnu.org>
9916
9917 * xfaces.c (syms_of_xfaces): Change Sface_color_gray_p to
9918 Scolor_gray_p, Sface_color_supported_p to Scolor_supported_p.
9919
9920 * s/hpux9.h (NO_EDITRES): Define even if HAVE_LIBXMU.
9921
c182a70f
EZ
99222000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
9923
9924 * xdisp.c (handle_single_display_prop) [HAVE_WINDOW_SYSTEM]: No
9925 need to test for MSDOS frames.
9926
24480d5b
EZ
99272000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
9928
9929 * dosfns.c (unspecified_colors): Remove.
9930 (msdos_stdcolor_idx): Use global variables unspecified_fg and
9931 unspecified_bg.
9932 (msdos_stdcolor_name): Return strings for unspecified fore- and
9933 back-ground colors.
9934
9935 * xfaces.c (Qunspecified_fg, Qunspecified_bg): Remove.
aaf2320c 9936 (syms_of_xfaces): Remove their staticpro's.
24480d5b
EZ
9937 (tty_color_name): Return Lisp strings for unspecified fore- and
9938 back-ground colors.
9939 (Finternal_set_lisp_face_attribute): Remove the special treatment
9940 for Qunspecified_{f,b}g.
9941 (realize_default_face): Replace Qunspecified_{f,b}g with a Lisp
9942 string.
9943
047f434a
GM
99442000-01-03 Gerd Moellmann <gerd@gnu.org>
9945
9946 * xdisp.c (reseat_at_next_visible_line_start): Position before
9947 newline only if ending up on a newline.
9948 (next_element_from_ellipsis): Return success. Handle case of
9949 displaying no ellipsis. Fix case of ellipsis defined in display
9950 table.
9951 (next_element_from_buffer): Return 0 if next_element_from_ellipsis
9952 returns 0.
9953
d684c676
EZ
99542000-01-03 Eli Zaretskii <eliz@is.elta.co.il>
9955
9956 * xfaces.c (Fcolor_gray_p): Renamed from face-color-gray-p.
9957 (Fcolor_supported_p): Renamed from face-color-supported-p.
9958
5fe1d139
EZ
99592000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
9960
9961 * xfaces.c (tty_defined_color): Pass frame to tty-color-desc. The
9962 list of colors renamed to tty-defined-color-alist.
9963 (tty_color_name): Pass the frame to tty-color-by-index.
9964 (realize_tty_face): tty-color-alist is now a function which
9965 accepts the frame as argument.
9966
9967 * term.c (Ftty_display_color_p): Accept an optional argument
9968 FRAME.
9969
816be8b8
EZ
99702000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
9971
9972 * term.c (insert_glyphs): Pass glyph, not &glyph, to
9973 encode_terminal_code.
9974
b635321e
EZ
99752000-01-02 Eli Zaretskii <eliz@is.elta.co.il>
9976
9977 * dispnew.c (mode_line_string): Support termcap frames as well.
9978
9b784e96
GM
99792000-01-01 Gerd Moellmann <gerd@gnu.org>
9980
27189709
GM
9981 * syntax.c (Fforward_word): Undo previous change.
9982
9983 * editfns.c (Fconstrain_to_field): Don't constrain if
9984 inhibit-field-text-motion is non-nil.
9985 (Fline_beginning_position): Undo previous change.
9986 (Fline_end_position): Ditto.
9987
9988 * syntax.c (Fforward_word): Notice field boundaries only if
9989 inhibit-field-text-motion is nil.
9990
9991 * lisp.h: Add extern declaration for Vinhibit_field_text_motion.
9992
9993 * editfns.c (Vinhibit_field_text_motion): New variable.
9994 (inhibit-field-text-motion): New DEFVAR_LISP.
9995 (Fline_beginning_position, Fline_end_position): Notice field
9996 boundaries only if inhibit-field-text-motion is nil.
9997
45158a91
GM
9998 * xfns.c (x_create_x_image_and_pixmap): Remove parameter FILE.
9999 All calls adjusted.
10000 (x_build_heuristic_mask): Likewise.
10001 (xbm_load_image_from_file): Change error output.
10002 (xbm_load, xpm_load, pbm_load, png_load, jpeg_load, tiff_load)
10003 (gif_load, gs_load, x_kill_gs_process): Ditto.
10004
9b784e96
GM
10005 * xfns.c (gif_load): Avoid sign extension and thus out of bounds
10006 color indices when accessing raster pixels.
63cec32f
GM
10007 (gif_image_p, png_image_p, jpeg_image_p, tiff_image_p): Allow only
10008 one of :file or :data.
10009 (enum pbm_keyword_index): Add PBM_DATA.
10010 (pbm_format): Add :data.
10011 (pbm_image_p): Allow either :file or :data.
10012 (pbm_read_file): New function.
10013 (pbm_scan_number): Rewritten to read from string.
10014 (pbm_load): Support :data.
9b784e96 10015
2cb085db 10016See ChangeLog.8 for earlier changes.
6922b018
KH
10017
10018;; Local Variables:
49b3bd82 10019;; coding: iso-2022-7bit
6922b018 10020;; End: