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