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