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