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