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