ChangeLog.9 460 KB
Newer Older
1 2 3 4
2001-10-20  Gerd Moellmann  <gerd@gnu.org>

	* (Version 21.1 released.)

5
2001-10-20  Pavel Janík  <Pavel@Janik.cz>
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248

	* xfns.c (x_laplace_read_row, x_laplace_write_row): Prototypes removed.

	* xdisp.c (invisible_text_between_p): Put prototype inside #if
	0 because unused.

	* bytecode.c, callint.c, callproc.c, casefiddle.c, casetab.c
	* category.c, ccl.c, charset.c, process.c, syntax.c, window.c:
	Change doc-string comments to `new style' [w/`doc:' keyword].

2001-10-20  Miles Bader  <miles@gnu.org>

	The following changes remove the glyph_row `inverse_p' field,
	which is never set anymore, due to other changes:

	* dispextern.h (struct glyph_row): Remove `inverse_p' field.
	(reassert_line_highlight, change_line_highlight): Declarations removed.
	* dispnew.c (update_frame_line): Don't call reassert_line_highlight.
	(line_hash_code, row_equal_p, fake_current_matrices)
	(build_frame_matrix_from_leaf_window, update_frame_line)
	(update_frame_line, update_frame_line, update_frame_line):
	Don't use `inverse_p' field.
	* xterm.c (x_initialize): Don't set reassert_line_highlight_hook or
	change_line_highlight_hook.
	(XTreassert_line_highlight, x_change_line_highlight):
	Functions removed.
	(x_fix_overlapping_area, x_write_glyphs, expose_area)
	(expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
	* xdisp.c (dump_glyph_row, display_mode_line): Don't use
	`inverse_p' field.
	* w32term.c (x_fix_overlapping_area, x_write_glyphs, expose_area)
	(expose_line, x_erase_phys_cursor): Don't use `inverse_p' field.
	(w32_reassert_line_highlight, x_change_line_highlight):
	Functions removed.
	* w32console.c (reassert_line_highlight, change_line_highlight):
	Functions removed.
	(initialize_w32_display): Don't set reassert_line_highlight_hook
	or change_line_highlight_hook.
	(hl_mode): Function removed.
	(reset_terminal_modes, set_terminal_modes, update_begin)
	(update_end, w32_face_attributes, initialize_w32_display):
	(clear_frame, ins_del_lines): Don't call it.
	* termhooks.h (reassert_line_highlight_hook)
	(change_line_highlight_hook): Declarations removed.
	* term.c (reassert_line_highlight_hook)
	(change_line_highlight_hook): Variables removed.
	(reassert_line_highlight, change_line_highlight): Functions removed.
	* msdos.c (IT_reassert_line_highlight)
	(IT_change_line_highlight): Functions removed.
	(internal_terminal_init): Don't set reassert_line_highlight_hook
	or change_line_highlight_hook.
	(highlight): Variable removed.
	(IT_set_face, IT_update_begin, IT_update_end)
	(IT_set_terminal_modes): Don't set or use it.

	The following changes remove inverse-video support for terminals
	that use a `magic cookie' standout mode.  Due to changes in the
	way mode-lines are displayed, such support no longer works
	anyway, and it's probable that almost no one uses such terminals
	anymore:

	* term.c (standout_requested): Variable removed.
	(update_end, highlight_if_desired): Don't use it.
	(chars_wasted, copybuf): Variables removed.
	(write_standout_marker): Function removed.
	(cursor_to, clear_to_end, clear_frame, clear_end_of_line_raw)
	(clear_end_of_line_raw, write_glyphs, ins_del_lines):
	Don't use `chars_wasted' or `copybuf'.
	(calculate_costs): Don't allocate `chars_wasted' or `copybuf'.
	Set `costs_set' to true.
	(cursor_to, clear_end_of_line): Test `costs_set' instead of
	`chars_wasted'.
	(clear_end_of_line): Function removed.
	(clear_end_of_line_raw): Renamed to `clear_end_of_line'.
	(clear_to_end): Call `clear_end_of_line' instead of
	`clear_end_of_line_raw'.
	(TN_standout_width, TF_xs, TN_magic_cookie_glitch_ul): Vars removed.
	(term_init): Don't set them.
	Turn off any standout/underline modes that require magic cookies.
	(ins_del_lines, highlight_if_desired, background_highlight)
	(turn_on_highlight, turn_off_highlight, reset_terminal_modes):
	Remove special processing for magic-cookie standout modes.
	(turn_off_face, turn_on_face): Remove special processing for
	underline magic-cookie glitch.

2001-10-19  Richard M. Stallman  <rms@gnu.org>

	* eval.c (syms_of_eval): Doc fixes.

2001-10-19  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (redisplay_internal): Don't clear echo area if the
	mini-window is selected.

2001-10-19  Miles Bader  <miles@gnu.org>

	* editfns.c (text_property_stickiness): Non-rear-non-stickiness
	doesn't take precedence if the affected property's value is nil.

	* editfns.c (Fencode_time): Escape a BOL paren in the doc-string.

	* cmds.c (Fbeginning_of_line, Fend_of_line): Clarify interaction
	with fields and suggest using `forward-line' to avoid them.
	* editfns.c (Fline_beginning_position, Fline_end_position):
	Clarify documentation.

2001-10-18  Stefan Monnier  <monnier@cs.yale.edu>

	* keymap.c (current_minor_maps): `override' only shadows its
	correspondent in minor-mode-map-alist, not the whole tail.

2001-10-18  Andrew Innes  <andrewi@gnu.org>

	* fontset.c (fs_load_font) [WINDOWSNT && _MSC_VER]: Disable
	optimization.  The fontp->encoding array was not being initialized
	correctly when compiled with optimizations by MSVC.

2001-10-18  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (display_line): Indicate empty lines in active mini-window.

2001-10-17  Andrew Innes  <andrewi@gnu.org>

	* fontset.h (struct font_info) [WINDOWSNT]: Add codepage field.

	* w32fns.c (w32_load_system_font): Cache codepage for font, in
	font_info.charset field.

	* w32term.c (w32_encode_char): Get cached codepage from font_info,
	rather than working it out by calling w32_codepage_for_font for
	every glyph.

2001-10-17  Andrew Innes  <andrewi@gnu.org>

	* w32term.c (w32_read_socket): Determine clipping rectangle for
	the entire frame, including areas covered by scrollbars and the
	menubar.  This avoids internal arguments about whether a frame is
	fully obscured or not.

2001-10-17  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (try_window_id): Undo last change.  Give up if
	window ends in strings.

	* xdisp.c (try_window_id): Don't display lines after the window
	end if the rest of the window after the window end was already blank.

	* xdisp.c (try_window_id): Remove code that was only there
	for the release of 21.1.

	* xdisp.c (display_line): Don't indicate empty lines in mini-windows.

2001-10-17  Miles Bader  <miles@gnu.org>

	* lisp.h (DEFUN): Remove `DOC_STRINGS_IN_COMMENTS' case.
	* xmenu.c, xdisp.c, term.c, dispnew.c, abbrev.c, editfns.c, buffer.c
	* xfns.c, alloc.c, minibuf.c, xterm.c, xfaces.c:
	Change doc-string comments to `new style' [w/`doc:' keyword].
	(DOC_STRINGS_IN_COMMENTS): Macro removed.
	* minibuf.c: Remove old commented-out-DEFUN that was used to fake
	out make-docfile.

2001-10-16  Miles Bader  <miles@gnu.org>

	* fns.c: Change doc-string comments to `new style' [w/`doc:' keyword].

2001-10-16  Gerd Moellmann  <gerd@gnu.org>

	* buffer.c (Fset_buffer_major_mode): Use initial-major-mode for
	*scratch*.

2001-10-16  Ken Raeburn  <raeburn@gnu.org>

	Avoid the assumption that car and cdr slots of cons cells are
	addressable lvalues; this allows for easier experimentation with
	other lisp implementations that may not permit such accesses for
	various reasons.  Not quite complete -- buffer.c still needs some
	work, and w32/mac files need rechecking -- so compile-time
	enforcement is left disabled for now.

	* lisp.h (LISP_MAKE_RVALUE): New macro, or function in the case of
	gcc with a union-based Lisp object rep.  Redefine as no-op for now.
	(XCAR_AS_LVALUE, XCDR_AS_LVALUE): Rename from old XCAR, XCDR.
	(XCAR, XCDR): Apply LISP_MAKE_RVALUE to the _AS_LVALUE versions.
	(XSETCAR, XSETCDR): New macros.
	(XSETCARFASTINT, XSETCDRFASTINT): New macros.
	(CHECK_NUMBER_CAR, CHECK_NUMBER_CDR): New macros.
	* keyboard.h (POSN_BUFFER_SET_POSN): New macro.
	* alloc.c (Fcons, pure_cons, Fgarbage_collect): Use XSETCAR and
	XSETCDR.
	(mark_buffer): Use XCAR_AS_LVALUE, XCDR_AS_LVALUE.
	* buffer.c (record_buffer, Fbury_buffer)
	(swap_out_buffer_local_variables, recenter_overlay_lists)
	(Foverlay_put): Use XSETCAR and XSETCDR to set the car and cdr
	fields of a cons cell respectively.
	* callint.c (quotify_args, Fcall_interactively): Likewise.
	* ccl.c (Fregister_code_conversion_map): Likewise.
	* coding.c (detect_coding_system): Likewise.
	* composite.c (get_composition_id, make_composition_value_copy):
	Likewise.
	* data.c (Fsetcar, Fsetcdr, swap_in_global_binding)
	(swap_in_symval_forwarding, set_internal, Fset_default)
	(Fmake_variable_buffer_local, Fmake_local_variable)
	(Fmake_variable_frame_local): Likewise.
	* fns.c (concat, Fcopy_alist, Fwidget_put): Likewise.
	* keymap.c (Fset_keymap_parent, store_in_keymap)
	(accessible_keymaps_1, where_is_internal_2, Fcopy_keymap): Likewise.
	* minibuf.c (get_minibuffer): Likewise.
	* search.c (Fmatch_data): Likewise.
	* textprop.c (extend_property_ranges): Likewise.
	* undo.c (record_insert, Fundo_boundary, truncate_undo_list): Likewise.
	* w32fns.c (w32_msg_pump, Fw32_register_hot_key, w32_list_fonts):
	Likewise.
	* w32term.c (x_delete_display): Likewise.
	* xfaces.c (remove_duplicates, Finternal_set_lisp_face_attribute):
	Likewise.
	* xterm.c (x_list_fonts, x_load_font, x_delete_display): Likewise.
	* doc.c (store_function_docstring): Use XSETCARFASTINT.
	* fileio.c (Fdo_auto_save): Use XSETCARFASTINT and XSETCDRFASTINT.
	(Fread_file_name): Use XSETCAR.
	* fontset.c (Fset_fontset_font): Use CHECK_NUMBER_CAR and
	CHECK_NUMBER_CDR.
	(accumulate_font_info, Ffontset_info): Use XSETCAR and XSETCDR.
	* frame.c (Fmake_terminal_frame): Use XSETCDR.
	* indent.c (Fcompute_motion): Use CHECK_NUMBER_CAR and
	CHECK_NUMBER_CDR.
	* keyboard.c (read_char): Alter list traversal to avoid taking the
	address of cons cell slots.  Use POSN_BUFFER_SET_POSN.
	(parse_menu_item): Use XSETCAR and XSETCDR.
	(reach_char_x_menu_prompt): Use XSETCAR.
	(read_key_sequence): Use POSN_BUFFER_SET_POSN.
	(Fcommand_execute): Use XSETCDR.
	* lread.c (Fload): Use XSETCARFASTINT and XSETCDRFASTINT.
	(openp): Change list traversal to avoid using XCAR as lvalue.
	(read_list): Use XSETCDR.
	* process.c (wait_reading_process_input): Change wait_for_cell
	handling to avoid taking addresses of cons cell slots.
	* xselect.c (x_own_selection, x_handle_selection_clear)
	(x_clear_frame_selections): Use XSETCDR.
	(wait_for_property_change): Use XSETCARFASTINT and XSETCDRFASTINT.
	(x_handle_property_notify, x_get_foreign_selection)
	(x_handle_selection_notify): Use XSETCAR.

249
2001-10-15  Pavel Janík  <Pavel@Janik.cz>
250 251 252 253 254 255 256 257 258

	* buffer.c: Put doc strings in comments.

	* sound.c: Include <sys/ioctl.h> also on systems without <soundcard.h>.

2001-10-15  Sam Steingold  <sds@gnu.org>

	* fns.c (Vafter_load_alist): Declare extern (w32 build problem).

259
2001-10-15  Pavel Janík  <Pavel@Janik.cz>
260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276

	* process.c (process-inherit-coding-system-flag)
	(get-buffer-process): Do not confuse make-docfile with doc strings
	in comment.

	* editfns.c (Fchar_to_string): Make doc string consistent with
	arguments.  Put doc strings in comments.

	* abbrev.c, minibuf.c: Put doc strings in comments.

2001-10-15  Gerd Moellmann  <gerd@gnu.org>

	* window.c (window_loop): Don't check for Fother_buffer returning nil.

	* window.c (select_window_1): Unfreeze window start.  Remove a
	doubled test for WINDOW being live.

277
2001-10-15  Pavel Janík  <Pavel@Janik.cz>
278 279 280 281 282 283 284 285 286 287

	* fns.c (Fmapconcat): Fix typo in a doc string.

	* dispnew.c (Fsleep_for): Fix typo in a doc string.

2001-10-15  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_draw_glyph_string): Restore clipping after
	drawing box.

288
2001-10-15  Pavel Janík  <Pavel@Janik.cz>
289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317

	* callint.c (prefix-arg, current-prefix-arg): Fix typo in a doc string.

2001-10-14  Stefan Monnier  <monnier@cs.yale.edu>

	* indent.c (skip_invisible): Use new retval of
	TEXT_PROP_MEANS_INVISIBLE.

	* keymap.c (access_keymap): Unify handling of `t' and generic-char.
	If a parent is reached and noinherit is set, exit immediately.
	Use AREF and ASIZE macros.  Call get_keyelt before checking KEYMAPP.

	* s/ms-w32.h (EXEC_SUFFIXES):
	* s/msdos.h (EXEC_SUFFIXES):
	* process.h (EXEC_SUFFIXES): Remove.

	* callproc.c (syms_of_callproc): Init Vexec_suffixes to Qnil.
	(decode_suffixes): Remove.

	* intervals.h (TEXT_PROP_MEANS_INVISIBLE_WITH_ELLIPSIS)
	(TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS, invisible_noellipsis_p)
	(invisible_ellipsis_p): Remove.

	* xdisp.c (DOLIST, LOOP_PROPVAL): Remove.
	(invisible_p): Return 1 or 2 depending on whether an ellipsis is used.
	(invisible_ellipsis_p, invisible_noellipsis_p): Remove.
	(in_ellipses_for_invisible_text_p, handle_invisible_prop):
	Use new retval of TEXT_PROP_MEANS_INVISIBLE.

318
2001-10-14  Pavel Janík  <Pavel@Janik.cz>
319 320 321

	* lisp.h (Ftop_level): Add prototype.

Juanma Barranquero's avatar
Juanma Barranquero committed
322
	* xterm.c (xlwmenu_window_p, xlwmenu_redisplay): Add prototypes.
323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412
	(XTread_socket): Improve style of comments to follow other
	comments.

	* keyboard.c (Fcommand_execute): Remove unnecessary prototype (it
	is already prototyped in included lisp.h).

	* frame.c (Fset_mouse_position): Improve style of comment to
	follow other comments.
	(Fset_mouse_pixel_position): Improve style of comment to follow
	other comments.
	(Fmake_frame_visible): Doc fix and typo in comment.
	(Fmake_frame_invisible): Doc fix and typo in comment.
	(Ficonify_frame): Fix typo in comment.

2001-10-14  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c, dispnew.c, xterm.c, xdisp.c, xfaces.c, xmenu.c
	* term.c, alloc.c: Put doc strings in comments.

2001-10-13  Gerd Moellmann  <gerd@gnu.org>

	* lisp.h (DEFUN, DEFVAR_LISP, ...) [DOC_STRINGS_IN_COMMENTS]:
	Provide definitions for doc strings in comments.

	* fns.c: Put doc strings in comments.

2001-10-13  Eli Zaretskii  <eliz@is.elta.co.il>

	* dired.c (file_name_completion): Ignore a candidate directory if
	it matches an element in completion-ignored-extensions that ends
	in a slash.
	(syms_of_dired) <completion-ignored-extensions>: Mention the above
	feature in the doc string.
	(Ffile_name_completion): Ditto.

2001-10-12  Stefan Monnier  <monnier@cs.yale.edu>

	* indent.c (skip_invisible): Don't skip "ellipsisized" text.

	* xfns.c (syms_of_xfns): Update calls to Fprovide.

	* lisp.h (Fprovide): Update prototype.
	(Ffeaturep, invisible_p): Remove.

	* xdisp.c (init_iterator): Be more strict with bytepos and charpos.
	(DOLIST, LOOP_PROPVAL): New macros.
	(invisible_p, invisible_ellipsis_p): Use them.
	(invisible_noellipsis_p): New function.
	(syms_of_xdisp): Use empty_string.

	* alloc.c (mark_interval_tree): Use traverse_intervals_noorder.

	* lread.c (substitute_object_recurse): Use traverse_intervals_noorder.
	(syms_of_lread) <Vafter_load_alist>: Update docstring.

	* print.c (Fwith_output_to_temp_buffer): Align with
	internal_with_output_to_temp_buffer.
	(print_preprocess): Use traverse_intervals_noorder.
	(print_object): Update call to traverse_intervals.

	* intervals.h (TEXT_PROP_MEANS_INVISIBLE_NOELLIPSIS): New macro.
	(traverse_intervals_noorder, invisible_noellipsis_p): New funs.

	* intervals.c (traverse_intervals_noorder): New function.
	(search_for_interval, count_intervals): Use it.
	(traverse_intervals): Use less stack space and drop `depth' arg.

	* fns.c (Ffeaturep): Add new `subfeature' arg.
	(Fprovide): Add new `subfeatures' arg.  Use `after-load-alist'.
	(Qsubfeatures): New var.
	(syms_of_fns): Initialize it.

	* keymap.c (Fkey_description): Use empty_string.
	(Fdescribe_bindings_internal, describe_buffer_bindings): Remove.
	(syms_of_keymap): Setup inheritance between maps.
	Don't export Sdescribe_bindings_internal any more.

	* minibuf.c (keys_of_minibuf): Eliminate redundant bindings.

2001-10-12  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (notice_overwritten_cursor): Renamed from
	note_overwritten_text_cursor.  Rewritten to take glyph widths into
	account.

2001-10-12  Eli Zaretskii  <eliz@is.elta.co.il>

	* lread.c (syms_of_lread) <load-suffixes>: Fix last change:
	multi-line strings without a trailing "\n\".

413
2001-10-12  Pavel Janík  <Pavel@Janik.cz>
414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569

	* floatfns.c: float_error() is defined iff FLOAT_CATCH_SIGILL is
	defined.

2001-10-11  Stefan Monnier  <monnier@cs.yale.edu>

	* callint.c (Fcall_interactively): Remove unused code.  Use XCAR.

	* xfns.c (x_create_bitmap_from_file, x_find_image_file):
	* w32proc.c (sys_spawnve):
	* w32fns.c (x_create_bitmap_from_file, x_find_image_file):
	* w32.c (check_windows_init_file):
	* sound.c (Fplay_sound):
	* emacs.c (init_cmdargs):
	* process.c (Fstart_process): Update calls to openp.

	* callproc.c (Vexec_suffixes): New var.
	(Fcall_process): Update call to openp.
	(decode_suffixes): New function.
	(syms_of_callproc): Init exec-suffixes.

	* lread.c (Vload_suffixes, default_suffixes): New vars.
	(openp): Take a lisp list of suffixes.
	Check for file-name-handlers even if the file was absolute already.
	(syms_of_lread): Declare load-suffixes.
	(Fload): Fix up call to openp.
	Don't bother checking for file-name-handler at the very beginning.

	* keymap.h (Fcopy_keymap): Don't export.

	* lisp.h (empty_string): Declare.
	(Vload_suffixes, Vexec_suffixes): Declare.
	(openp): Update prototype.

	* emacs.c (empty_string): New var.
	(syms_of_emacs): Initialize it.

	* search.c (wordify): Use it.

	* buffer.c (Fbury_buffer): Don't try to remove the buffer from the
	selected window if it's not displayed there.  Handle the case
	when the window is dedicated.
	(syms_of_buffer): Fix docstrings not to mention "buffer-local" anymore.

	* undo.c (Fprimitive_undo): Use XCAR/XCDR.

	* syntax.h (struct gl_state_s): Change the meaning of b_property.
	Remove left_ok and right_ok.
	(UPDATE_SYNTAX_TABLE_BACKWARD, UPDATE_SYNTAX_TABLE)
	(SETUP_SYNTAX_TABLE, SETUP_SYNTAX_TABLE_FOR_OBJECT): Update to the
	new meaning of b_property.

	* syntax.c (update_syntax_table): Simplify.
	(Fforward_comment): Don't skip quoted chars when going backward.

2001-10-11  Gerd Moellmann  <gerd@gnu.org>

	* lisp.h (FIXNUM_OVERFLOW_P): Cast I to EMACS_INT in comparisons
	in case I is of some unsigned type, in which case
	MOST_NEGATIVE_FIXNUM will be converted to unsigned, and the
	comparison becomes bogus.

	* editfns.c (Fuser_uid, Fuser_real_uid): Use make_fixnum_or_float.
	(Fuser_full_name): Fix bug treating a float as a fixnum.

	* data.c (Fstring_to_number): Use make_fixnum_or_float.

	* lisp.h (make_fixnum_or_float): New macro.

	* lisp.h (circular_list_error): Add prototype.

	* data.c (Qcircular_list): New variable.
	(circular_list_error): New function.
	(syms_of_data): Initialize it Qcircular_list.

2001-10-10  Stefan Monnier  <monnier@cs.yale.edu>

	* window.c, syntax.c, macros.c, frame.c, emacs.c, cmds.c, category.c
	* casefiddle.c, buffer.c: Include keymap.h.

2001-10-10  Gerd Moellmann  <gerd@gnu.org>

	* s/osf5-0.h (C_SWITCH_SYSTEM) [!__GNUC__]: Add `-nointrinsics'
	options.  From Dave Love <d.love@dl.ac.uk>.

2001-10-09  Gerd Moellmann  <gerd@gnu.org>

	* regex.c (WIDE_CHAR_SUPPORT): Do not use defined() in macro.
	From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.

	* editfns.c (Fcurrent_time_zone): Cast isalnum() argument to
	unsigned char.
	From Hallvard B Furuseth <h.b.furuseth@usit.uio.no>.

2001-10-08  Andrew Innes  <andrewi@gnu.org>

	* lisp.h [max]: Undef min and max before redefining them.

	* w32gui.h: Do not undef min and max.

	* w32heap.h: Do not undef min and max.

	* s/ms-w32.h: Do not undef min and max.

2001-10-08  Stefan Monnier  <monnier@cs.yale.edu>

	* xdisp.c (handle_fontified_prop): Don't bind after-change-functions.

2001-10-08  Sam Steingold  <sds@gnu.org>

	* keymap.c (current-active-maps): Quote newlines (compilation error).

2001-10-08  Eli Zaretskii  <eliz@is.elta.co.il>

	* Makefile.in (lisp, shortlisp): Replace bindings.el with
	bindings.elc, since otherwise doc strings in bindings.el get wrong
	offsets in etc/DOC.

2001-10-08  Stefan Monnier  <monnier@cs.yale.edu>

	* lisp.h: Remove the entries for keymap.c (moved to keymap.h).

	* keyboard.h (map_prompt): Remove.

	* xterm.c, w32term.c, term.c, minibuf.c, keymap.c,
	* intervals.c, fns.c, doc.c, callint.c: Include keymap.h.

	* xmenu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.

	* w32menu.c (keymap_panes, Fx_popup_menu): Use Fkeymap_prompt.

	* keyboard.c (map_prompt): Remove.
	(read_char_x_menu_prompt, read_char_minibuf_menu_prompt):
	Use Fkeymap_prompt.

	* keymap.h: New file.  Extracted from lisp.h.

	* keymap.c (Fkeymap_prompt, Fcurrent_active_maps): New funs.
	(accessible_keymaps_1): New function.
	(Faccessible_keymaps, accessible_keymaps_char_table): Use it.
	(Fwhere_is_internal): Use Fcurrent_active_maps.
	(Fdescribe_buffer_bindings): Renamed from describe_buffer_bindings.
	Insert in current buffer rather than standard-output.
	Don't call `help-mode'.  Export to elisp.
	(describe_buffer_bindings): New wrapper.
	(syms_of_keymap): Defsubr Skeymap_prompt, Scurrent_active_maps
	and Sdescribe_buffer_bindings.

2001-10-08  Gerd Moellmann  <gerd@gnu.org>

	* atimer.c (alarm_signal_handler) [USG && !POSIX_SIGNALS]:
	Remove code setting signal handler.

	* sysdep.c (child_setup_tty) [HAVE_TERMIO || HAVE_TERMIOS]:
	Clear ICRNL and INLCR.  From Daiki Ueno <ueno@unixuser.org>.

570
2001-10-08  Pavel Janík  <Pavel@Janik.cz>
571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586

	* keyboard.c: Don't define min/max.

2001-10-08  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c, xmenu.c, xfns.c, xdisp.c, window.c:
	* w32term.c, w32menu.c, w32console.c, w32bdf.c, w32.c, term.c
	* sysdep.c, sound.c, search.c, scroll.c, minibuf.c, keymap.c
	* intervals.c, insdel.c, indent.c, fns.c, fileio.c, editfns.c
	* dispnew.c, dired.c, charset.c, xfaces.c, alloc.c, atimer.c:
	Don't define min/max.

	* lisp.h (min, max): New macros.

	* puresize.h (BASE_PURESIZE): Increase to 725000.

587
2001-10-08  Pavel Janík  <Pavel@Janik.cz>
588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759

	* xfaces.c (free_frame_menubar): Add prototype.

	* lisp.h (init_window): Add prototype.

	* editfns.c: Include ctype.h.

	* xterm.c: USE_LUCID can be defined iff USE_X_TOOLKIT is defined.
	(xm_scroll_callback) [USE_MOTIF]: Remove unused variable `percent'.
	(x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]: Remove unused
	variable `sb'.

	* xfns.c (Fx_hide_tip): Fix typo in a doc string.
	(Fx_file_dialog) [USE_MOTIF]: Remove unused variables
	`popup_activated_flag' and `title'.

	* doc.c (Fdocumentation_property): Fix typo in a doc string.

	* emacs.c (main): Remove extra `;'.

	* atimer.h (struct atimer): Fix typos in a comment.

	* atimer.c: Fix typo.

	* Makefile.in: Fix typo.

	* README: Remove obsolete part mentioning removed VMS file.

2001-10-07  Miles Bader  <miles@gnu.org>

	* Makefile.in (lisp, shortlisp): Add `button.elc'.

2001-10-07  Ken Raeburn  <raeburn@gnu.org>

	* minibuf.c (Fminibuffer_prompt_end): Don't apply make_number to a
	Lisp_Object.

	* lisp.h (Ffield_end): Declare.

2001-10-07  Gerd Moellmann  <gerd@gnu.org>

	* keyboard.c (parse_modifiers, apply_modifiers): Use VALMASK.

	* insdel.c (make_gap): Use MOST_POSITIVE_FIXNUM.

	* floatfns.c (FLOAT_TO_INT2, FLOAT_TO_INT): Use FIXNUM_OVERFLOW_P.

	* dired.c (Ffile_attributes): Use FIXNUM_OVERFLOW_P.

	* bytecode.c (syms_of_bytecode) [BYTE_CODE_METER]: Doc fix.
	(METER_CODE, Fbyte_code): Use MOST_POSITIVE_FIXNUM.

	* alloc.c (inhibit_garbage_collection): Simplify.
	(Fmemory_use_counts): Ditto.

	* data.c (most_positive_fixnum, most_negative_fixnum): New variables.
	(syms_of_data): DEFVAR_INT most-positive-fixnum and
	most-negative-fixnum.

	* lisp.h (MOST_NEGATIVE_FIXNUM, MOST_POSITIVE_FIXNUM)
	(FIXNUM_OVERFLOW_P): New macros.

2001-10-06  Miles Bader  <miles@gnu.org>

	* xterm.h (struct x_output): Add scroll_bar_top_shadow_pixel and
	scroll_bar_bottom_shadow_pixel fields.
	* xterm.c (x_create_toolkit_scroll_bar): Try to allocate colors
	for the shadows, and tell the toolkit about them if we succeed.
	(x_destroy_window) [USE_TOOLKIT_SCROLL_BARS]:
	Free scroll-bar shadow colors.
	* xfns.c (x_set_scroll_bar_background) [USE_TOOLKIT_SCROLL_BARS]:
	Free scroll-bar shadow colors when the background color changes.
	(Fx_create_frame, x_create_tip_frame) [USE_TOOLKIT_SCROLL_BARS]:
	Initialize scroll-bar shadow-color fields.

2001-10-05  Gerd Moellmann  <gerd@gnu.org>

	* fileio.c (Fcopy_file): If NEWNAME is a directory copy FILE there.

2001-10-05  Miles Bader  <miles@gnu.org>

	* minibuf.c (Fminibuffer_prompt_end, Fminibuffer_contents)
	(Fminibuffer_contents_no_properties, Fdelete_minibuffer_contents):
	New functions (were in simple.el).
	(Fminibuffer_complete_and_exit, Fminibuffer_complete_word)
	(read_minibuf, do_completion, Fminibuffer_completion_help): Use them.
	(syms_of_minibuf): Initialize them.

2001-10-05  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (tiff_error_handler, tiff_warning_handler): New functions.
	(tiff_load): Install them as error and warning handler.

2001-10-04  Andrew Innes  <andrewi@gnu.org>

	* w32fns.c (x_to_w32_color): Fix argument to alloca.
	(w32_load_system_font): Don't believe what GetLanguageFontInfo
	says; query codepage info directly to determine if font is double byte.
	(x_to_w32_charset): Handle private format for unknown charsets.
	Handle wildcards in charset spec, by ignoring them.
	(w32_codepage_for_font): Fix argument to alloca.  Don't remove
	"*-" prefix from charset.
	(x_to_w32_font): Enlarge remainder array for safety.  Specifically
	handle the truncated font spec form constructed by font_list_1, so
	that we correctly identify the charset fields.  Don't remove "*-"
	prefix from charset.
	(w32_list_synthesized_fonts): Fix argument to alloca.

2001-10-04  Stefan Monnier  <monnier@cs.yale.edu>

	* window.h (MINI_WINDOW_P): Use NILP.

	* coding.h (ENCODE_SYSTEM, DECODE_SYSTEM): Define also for non-NT.

	* termhooks.h (struct input_event): Use proper type for `kind'.

2001-10-04  Gerd Moellmann  <gerd@gnu.org>

	This handles unknown keysyms better than before.  For example,
	after `xmodmap -e 'keysym F5 = ccaron' in a Latin-1 environment,
	Emacs formerly completely ignored F5.  With the change, it derives
	a key symbol from the name of the X keysym, `ccaron' in this case.
	Reported by Martin Buchholz.

	* xterm.c (XTread_socket): Return a non_ascii_keystroke for
	unknown keysyms.

	* keyboard.c (make_lispy_event) [HAVE_X_WINDOWS]: If we know
	that EVENT->code isn't a function key, use the keysym's name.

2001-10-04  Gerd Moellmann  <gerd@gnu.org>

	FOREACH is a macro that should make it easier to loop over Lisp
	lists with checks for cycles and proper lists.

	* lisp.h (LIST_END_P, FOREACH): New macros.

2001-10-04  Gerd Moellmann  <gerd@gnu.org>

	On some systems, XtCloseDisplay seems to cause a SIGSEGV when
	called for a lost connection.  Prevent dumping core in this case.
	Instead print the X error, and exit.  On user request.

	* xterm.c (error_msg): New variable.
	(x_fatal_error_signal): New function.
	(x_connection_closed): Set error_msg.  Install x_fatal_error_signal
	as fatal_error_signal_hook around the call to XtCloseDisplay.

	* emacs.c (fatal_error_signal_hook): New variable.
	(fatal_error_signal): Call that function.

2001-10-04  Gerd Moellmann  <gerd@gnu.org>

	With this, Emacs prints how much pure storage it will
	approximately need in case pure storage overflows while dumping.

	* alloc.c (purebeg, pure_size, pure_bytes_used_before_overflow):
	New variables.
	(init_alloc_once): Initialize new variables.
	(PURE_POINTER_P): Use new variables.
	(pure_alloc): If pure storage overflows, allocate from the heap.
	(check_pure_size): New function.
	(Fgarbage_collect): Don't GC if pure storage has overflowed.

	* lisp.h (pure_size) [HAVE_SHM]: Declare extern size_t.
	(check_pure_size): Add prototype.

	* emacs.c (Fdump_emacs_data, Fdump_emacs): Call check_pure_size.

2001-10-04  Gerd Moellmann  <gerd@gnu.org>

	This adds a post-gc-hook that's run with GC inhibited.
Juanma Barranquero's avatar
Juanma Barranquero committed
760
	Requested by François Pinard.  XEmacs has it.  Added to NEWS.
761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794

	* alloc.c (Vpost_gc_hook, Qpost_gc_hook): New variables.
	(syms_of_alloc): DEFVAR_LISP post-gc-hook, initialize Qpost_gc_hook.
	(Fgarbage_collect): Run post-gc-hook.

2001-10-04  Gerd Moellmann  <gerd@gnu.org>

	This adds `defvaralias' and `indirect-variable'.  Changes not
	directly related to this feature are there to gain the same
	performance again as before variable aliases.

	You must use the SYMBOL_VALUE and SET_SYMBOL_VALUE macros in C
	code to get and set symbol values, to take defvaralias into account.

	(Note: the new `constant' bit-flag in symbols would make it
	possible to define arbitrary read-only variables, e.g. with
	`defconst'.)

	Documentation is in lispref/variables.texi.  Added to NEWS.

	* lisp.h (enum symbol_interned): New enumeration.
	(struct Lisp_Symbol): Remove member `obarray', add
	`indirect_variable', `constant', and `interned'.
	(SYMBOL_INTERNED_P, SYMBOL_INTERNED_IN_INITIAL_OBARRAY_P)
	(SYMBOL_CONSTANT_P, SYMBOL_VALUE, SET_SYMBOL_VALUE): New macros.
	(indirect_variable): Add prototype.

	* print.c (print_preprocess, print_object): Test internedness of
	symbols differently.

	* lread.c (Fintern, Funintern): Set symbol's interned and constant
	bit-fields.
	(init_obarray): Likewise for t and nil.

795
	* eval.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836
	(Fdefvaralias): New function.
	(specbind): Simplify the test if symbol is a constant.
	(syms_of_eval): Defsubr Fdefvaralias.

	* data.c: Use SYMBOL_VALUE/SET_SYMBOL_VALUE.
	(Qcyclic_variable_indirection): New variable.
	(Fkeywordp): Check for internedness differently.
	(Fmakunbound): Simplify the test if symbol is a constant.
	(indirect_variable, Findirect_variable): New functions.
	(swap_in_symval_forwarding): If SYMBOL is an alias, use the
	aliased symbol.
	(let_shadows_buffer_binding_p): Check for variable aliases.
	(set_internal): Simplify the test if SYMBOL is a constant.
	If SYMBOL has a buffer-local value and is an alias, use the aliased
	symbol instead.
	(syms_of_data): Initialize Qcyclic_variable_indirection and defsubr
	Sindirect_variable.

	* bytecode.c (Fbyte_code) <varref>: Use SYMBOL_VALUE.
	(Fbyte_code) <varset>: Simplify the test if symbol's value can be
	set directly.

	* alloc.c (Fmake_symbol): Adapt to changes of struct Lisp_Symbol.

	* abbrev.c, buffer.c, coding.c, fns.c, frame.c, keyboard.c:
	* minibuf.c, sunfns.c, w16select.c: Use SYMBOL_VALUE/
	SET_SYMBOL_VALUE macros instead of accessing symbol values directly.

2001-10-04  Gerd Moellmann  <gerd@gnu.org>

	* Branch for 21.1.

2001-10-03  Miles Bader  <miles@gnu.org>

	* callproc.c (syms_of_callproc): Explicitly state in the
	documentation for `process-environment' that earlier entries take
	precedence over later ones.

2001-10-02  Miles Bader  <miles@gnu.org>

	* textprop.c (Fnext_char_property_change)
837
	(Fprevious_char_property_change): Remove reference to non-existent
838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862
	argument OBJECT from doc-string.

2001-10-01  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (display_line): Set row's ends_in_newline_from_string_p.
	(try_window_id): Skip back over lines ending in a newline from a
	string.

	* dispextern.h (struct glyph_row) <ends_in_newline_from_string_p>:
	New bit flag

2001-10-01  Richard M. Stallman  <rms@gnu.org>

	* search.c (Freplace_match): Doc fix.

2001-09-28  Andrew Innes  <andrewi@gnu.org>

	* w32menu.c (set_frame_menubar): Take into account that
	f->menu_bar_vector can be nil, and not a vector.  From Ken Raeburn
	<raeburn@gnu.org>.

2001-09-30  Eli Zaretskii  <eliz@is.elta.co.il>

	* frame.c (syms_of_frame) <default-minibuffer-frame>: Doc fix.

863
2001-09-28  Pavel Janík  <Pavel@Janik.cz>
864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 1047 1048 1049 1050 1051 1052 1053 1054 1055 1056 1057 1058 1059 1060 1061 1062 1063 1064 1065 1066 1067 1068 1069 1070 1071 1072 1073 1074 1075 1076 1077 1078 1079 1080 1081 1082 1083 1084 1085 1086 1087 1088 1089 1090 1091 1092 1093 1094 1095 1096 1097 1098 1099 1100 1101 1102 1103 1104 1105 1106 1107 1108 1109 1110 1111 1112 1113 1114 1115 1116 1117 1118 1119 1120 1121 1122 1123 1124 1125 1126 1127 1128

	* s/gnu-linux.h: Fix a typo in comment.

2001-09-28  Andreas Schwab  <schwab@suse.de>

	* s/gnu-linux.h (LD_SWITCH_SYSTEM_TEMACS): Link temacs with -z
	nocombreloc, in case -z combreloc is the default.

2001-09-28  Gerd Moellmann  <gerd@gnu.org>

	* m/macppc.h [DATA_SEG_BITS]: Put in #if 0 until we know what's
	really going on here.

2001-09-27  Stefan Monnier  <monnier@cs.yale.edu>

	* search.c (trivial_regexp_p): Catch \{N,M\} as well.

2001-09-27  Eli Zaretskii  <eliz@is.elta.co.il>

	* Makefile.in (shortlisp): Resync with loadup.el: add backquote,
	utf-8, menu-bar, and latin-N.
	(SOME_MACHINE_LISP): Remove menu-bar, since it's loaded
	unconditionally now.
	(lisp): Add latin-N, since they are preloaded.

2001-09-27  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_draw_relief_rect): Draw bottom relief 1 pixel more
	to the left.  Some cleanup.

	* xdisp.c (display_mode_element): One more case where a string's
	multibyteness should be used for display.

2001-09-26  Gerd Moellmann  <gerd@gnu.org>

	* fileio.c (Finsert_file_contents): If REPLACE is non-nil, stop
	reading at EOF.

	* xdisp.c (with_echo_area_buffer): Use echo_kboard instead
	of the only temporarily set echoing flag for deciding when
	the cancel echoing.

	* keyboard.c (echo_kboard): Make externally visible.

	* lisp.h (echo_kboard): Declare extern.

	* xdisp.c (make_cursor_line_fully_visible): Return 0 and set
	fonts_changed_p if we need larger matrices due to vscrolling.
	(try_scrolling, try_cursor_movement, redisplay_window): Give up on
	this round of redisplay if make_cursor_line_fully_visible fails.
	(CURSOR_MOVEMENT_*, SCROLLING_*): New enumerators.
	(try_cursor_movement, try_scrolling): Use them instead of integers.

	* dispextern.h (required_matrix_width, required_matrix_height):
	Add prototypes.

	* dispnew.c (required_matrix_width, required_matrix_height):
	New functions.
	(allocate_matrices_for_window_redisplay)
	(allocate_matrices_for_frame_redisplay: Use them.
	Remove parameters CH_DIM.

	* xdisp.c (display_mode_lines): Temporarily set selected_frame
	and selected_window to the frame of the window whose mode-lines
	are displayed, and to the window itself.
	(redisplay_window, redisplay_mode_lines): Don't set selected_frame
	here.

2001-09-25  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (x_kill_gs_process): Recognize if someone has cleared
	the image cache under us.

	* xdisp.c (display_mode_element): If the mode element is a symbol
	with a string value, use that string's multibyteness for displaying.

	* keyboard.c (read_char): Don't clear a message for a switch-frame
	event.   From Stefan Monnier  <monnier@cs.yale.edu>.

	* xterm.c (fast_find_position) [0]: Add a presumably more correct
	version for after 21.1.

	* xdisp.c (row_containing_pos): Make externally visible.

	* dispextern.h (row_containing_pos): Add prototype.

	* process.c (send_process): Disable composition if from_byte < 0.
	From Kenichi Handa <handa@etl.go.jp>.

2001-09-24  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (refreshicon): Function removed.

	* Makefile.in (xterm.o): Remove references to sink.h and sinkmask.h.

	* sink11.h, sink11mask.h, sink.h, sinkmask.h: Removed.

	* xterm.c (toplevel): Remove includes in #if 0.

	* process.c (sigchld_handler) [LINUX]: Don't return from
	the signal handler at the end of the loop.

2001-09-21  Gerd Moellmann  <gerd@gnu.org>

	* sysdep.c (wait_for_termination) [POSIX_SIGNALS]:
	Terminate only if kill returns -1, and errno is ESRCH.

2001-09-21  Markus Rost  <rost@math.ohio-state.edu>

	* Makefile.in (shortlisp): Add ../lisp/env.elc.

2001-09-20  Gerd Moellmann  <gerd@gnu.org>

	* process.c (sigchld_handler): Use GC_CONSP, GC_INTEGERP, GC_EQ
	since this function can be called during GC.

	* callproc.c (Fcall_process): Handle errors from pipe(2).
	(child_setup): Delete code in #ifdef vipc.

2001-09-19  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (decode_mode_spec): Add parameter MULTIBYTE.
	(display_mode_element): Display the string from decode_mode_spec
	depending on its multibyteness.

	* s/netbsd.h (LD_SWITCH_SYSTEM, C_SWITCH_SYSTEM): Add /usr/pkg.

	* m/macppc.h (DATA_SEG_BITS): Also define for GCC 3.

2001-09-18  Gerd Moellmann  <gerd@gnu.org>

	* keyboard.c (Frecursive_edit): Pass (BUFFER . SINGLE-KBOARD) to
	recursive_edit_unwind.
	(recursive_edit_unwind): Set kboard state according to
	SINGLE-KBOARD.

	* buffer.c (modify_overlay): Don't do nothing if START == END;
	This can still be a modification, for example when an overlay has
	a before-string or after-string.
	(Fdelete_overlay): Prevent redisplay optimizations when deleting
	an overlay with before-string or after-string.

	* s/netbsd.h (C_SWITCH_SYSTEM): Add.
	(LD_SWITCH_SYSTEM): Include /usr/local/lib.

	* xdisp.c (try_window_id) [!GLYPH_DEBUG]: Give up if
	first_unchanged_at_end_row is in front of
	last_unchanged_at_beg_row.  This code should be removed after the
	release of 21.1.

2001-09-17  Gerd Moellmann  <gerd@gnu.org>

	* buffer.h (BUF_COMPUTE_UNCHANGED): Use BUF_MODIFF and
	BUF_OVERLAY_MODIFF instead of MODIFF and OVERLAY_MODIFF.

	* m/macppc.h (DATA_SEG_BITS) [__linux__]: Define for GCC
	versions >= 2.95.

2001-09-14  Eli Zaretskii  <eliz@is.elta.co.il>

	* dired.c (Ffile_attributes): Doc fix.

2001-09-14  Gerd Moellmann  <gerd@gnu.org>

	* fileio.c (Ffile_symlink_p): Fix last change.

	* filelock.c (current_lock_owner): Fix last change.

2001-09-13  Gerd Moellmann  <gerd@gnu.org>

	* filelock.c (current_lock_owner): If readlink returns ERANGE,
	take that to mean that the buffer is too small.

	* fileio.c (Ffile_symlink_p): If readlink returns ERANGE, take
	that to mean that the buffer is too small.

	* xdisp.c (reseat_1): Set IT's multibyte_p flag according to the
	current buffer's multibyteness when discarding the iterator's
	stack.

	* xfns.c (Fx_window_property): Handle case that property gets
	deleted between the two calls to XGetWindowProperty.

2001-09-11  Gerd Moellmann  <gerd@gnu.org>

	* minibuf.c (read_minibuf_unwind): Bind inhibit-modification-hooks.

	* minibuf.c (read_minibuf): Bind inhibit-modification-hooks to t,
	in addition to read-only.

	* xdisp.c (with_echo_area_buffer): Bind inhibit-modification-hooks
	to t in addition to read-only.

	* lisp.h (Qinhibit_modification_hooks): Declare.

	* insdel.c (Qinhibit_modification_hooks): New variable.
	(syms_of_insdel): Initialize and staticpro it.

	* textprop.c (verify_interval_modification): Don't run
	modification-hooks if inhibit_modification_hooks.

	* dispnew.c (set_window_cursor_after_update): Fix code
	finding glyph row containing cursor when cursor_in_echo_area
	is >= 0.

	* xdisp.c (init_from_display_pos): Put some code in #if 0.
	(add_to_log): Use bcopy instead of strcpy.
	(init_from_display_pos): Use an explicit loop over bytes in
	overlay strings instead of calling index.

2001-09-10  Gerd Moellmann  <gerd@gnu.org>

	* alloc.c (allocate_buffer): Call VALIDATE_LISP_STORAGE.

	* dispnew.c (direct_output_for_insert): Don't change IT's
	stop_charpos to something in front of its current position.

	* xdisp.c (Ftrace_to_stderr) [GLYPH_DEBUG]: Take args like
	`format'.

2001-09-10  Richard M. Stallman  <rms@gnu.org>

	* frame.c (Fmouse_position): Doc fix.

2001-09-07  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (init_from_display_pos): Don't compare the result
	of calling index with NULL.

2001-09-06  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (x_set_background_color): Don't change the colors
	of the X window of scroll bar widgets.

2001-09-05  Andrew Innes  <andrewi@gnu.org>

	* w32fns.c (w32_createwindow): Undo last change.

2001-09-05  Gerd Moellmann  <gerd@gnu.org>

	* macros.c (store_kbd_macro_char): Fix computation of kbd_macro_end.

	* xdisp.c (string_buffer_position): Use *single_char_property*
	functions instead of the *single_property* functions.

2001-09-04  Andrew Innes  <andrewi@gnu.org>

	* w32term.c (w32_read_socket): Add more information to debugging
	output.

	* w32fns.c (w32_createwindow): Remove the WS_CLIPCHILDREN style
	from Emacs frames, so that calls to GetClipBox in w32term.c
	correctly report when part of a frame is visible (including
	scrollbars, etc).  This prevents repeated redrawing of frames when
	only a scrollbar is visible.
	(w32_wnd_proc): Add more frame information to debugging output.

2001-09-03  Stefan Monnier  <monnier@cs.yale.edu>

	* xdisp.c (handle_single_display_prop): Fix for int/Lisp_Object mixup.

2001-09-03  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (note_mouse_highlight) <help-echo>: When looking for
	help-echo for a string which doesn't have help-echo itself, use
Juanma Barranquero's avatar
Juanma Barranquero committed
1129
	get-char-property to obtain the help-echo from the string's buffer.
1130 1131 1132 1133 1134 1135 1136 1137 1138 1139 1140 1141 1142 1143 1144 1145 1146 1147 1148 1149 1150 1151 1152 1153 1154 1155 1156 1157 1158 1159 1160 1161 1162 1163 1164 1165 1166 1167 1168 1169 1170 1171 1172 1173 1174 1175 1176 1177 1178 1179 1180 1181 1182 1183 1184 1185 1186 1187 1188 1189 1190 1191 1192 1193 1194 1195 1196 1197 1198 1199 1200 1201 1202 1203 1204 1205 1206 1207 1208 1209 1210 1211 1212 1213 1214 1215 1216 1217 1218 1219 1220 1221 1222 1223 1224 1225 1226 1227 1228 1229 1230 1231 1232 1233 1234 1235 1236 1237 1238 1239 1240 1241 1242 1243 1244 1245 1246 1247 1248 1249 1250 1251 1252 1253 1254 1255 1256 1257 1258 1259 1260 1261 1262 1263 1264 1265 1266 1267 1268 1269 1270 1271 1272 1273 1274 1275 1276 1277 1278 1279 1280 1281 1282 1283 1284 1285 1286 1287 1288 1289 1290 1291 1292 1293 1294 1295 1296 1297 1298 1299 1300 1301 1302 1303 1304 1305 1306 1307 1308 1309 1310 1311 1312 1313 1314 1315 1316 1317 1318 1319 1320 1321 1322 1323 1324 1325 1326 1327 1328 1329 1330 1331 1332 1333 1334 1335 1336 1337 1338
	(note_mouse_highlight) <mouse-face>: When on a string that doesn't
	have mouse-face, look ``under'' the string for mouse-face from an
	overlay.
	(fast_find_position): Add parameter STOP.  In the final row, stop
	before glyphs having STOP as object.  Don't consider glyphs that
	are not from a buffer.

	* buffer.c (syms_of_buffer) <default-directory>: Doc fix.

2001-09-01  Eli Zaretskii  <eliz@is.elta.co.il>

	* fns.c (Fmd5): Doc fix.

2001-08-31  Gerd Moellmann  <gerd@gnu.org>

	* composite.c (update_compositions): Do nothing if
	inhibit-modification-hooks is set.

2001-08-30  Gerd Moellmann  <gerd@gnu.org>

	* emacs.c (shut_down_emacs): Don't call check_glyph_memory
	and check_message_stack if terminating abnormally.  We want
	glyph matrices etc. in a core dump.

	* xdisp.c (Qbuffer_position, Qposition, Qobject): New variables.
	(syms_of_xdisp): Initialize them.
	(handle_single_display_prop): Don't change point, bind `object',
	`position', and `buffer-position' instead to the object having the
	`display' property, position in the object and position in the buffer.

	* fileio.c (Finsert_file_contents): Don't change the multibyteness
	of the buffer if REPLACE is non-nil.

2001-08-29  Gerd Moellmann  <gerd@gnu.org>

	* fileio.c (Finsert_file_contents): Undo change of 2001-08-27.

2001-08-28  Eli Zaretskii  <eliz@is.elta.co.il>

	* w32term.c (x_set_glyph_string_background_width)
	(show_mouse_face): Track the last changes in xterm.c.

2001-08-28  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_set_glyph_string_background_width): Set the glyph
	string's background width so that multi-line mouse-face is drawn
	to the right edge of the window.
	(show_mouse_face): Set the row's mouse_face_p flag after drawing
	glyphs.

	* dispnew.c (direct_output_for_insert): Set updated_area
	before inserting/writing glyphs.

	* xdisp.c (display_mode_element): Use string_byte_to_char to
	determine character positions in strings, use chars_in_text
	instead of strwidth.
	(dump_glyph_row) [GLYPH_DEBUG]: Take a glyph row instead of
	a matrix as parameter; this is easier to use from GDB.

2001-08-28  Miles Bader  <miles@gnu.org>

	* textprop.c (Fprevious_single_char_property_change)
	(Fnext_single_char_property_change): Doc fixes.

2001-08-27  Gerd Moellmann  <gerd@gnu.org>

	* fileio.c (Finsert_file_contents): Allocate, restore, and
	free composition data in the case of REPLACE not being nil.

	* xdisp.c (init_from_display_pos, init_to_row_end): Return 0 if
	there exist overlay strings with newlines at POS.
	(text_outside_line_unchanged_p): Return 0 if changes start at
	START and overlays exist at START.  Likewise for END.
	(try_window_id): Give up if init_to_row_end returns 0.

	* fileio.c (Finsert_file_contents): Call Fset_buffer_multibyte
	unconditionally.

2001-08-24  Gerd Moellmann  <gerd@gnu.org>

	* keymap.c (access_keymap): Return the cdr of the binding of
	a generic character instead of its definition (KEY . BINDING).

	* fileio.c (Finsert_file_contents): Set coding's dest_multibyte
	to 0 also in the REPLACE case.

2001-08-24  Andrew Choi  <akochoi@cse.cuhk.edu.hk>

	* fileio.c (Ffile_readable_p) [macintosh]: Call access instead of
	open to determine whether file is readable (as for DOS_NT).

2001-08-23  Gerd Moellmann  <gerd@gnu.org>

	* fileio.c (Finsert_file_contents): If VISIT is non-nil, and
	coding.type is coding_type_no_conversion or coding_type_raw_text,
	use Fset_buffer_multibyte to make the buffer unibyte if REPLACE is
	non-nil instead of just setting enable_multibyte_characters in the
	buffer to nil.

2001-08-22  Gerd Moellmann  <gerd@gnu.org>

	* dispextern.h (struct face_cache): Add member
	menu_face_changed_p.

	* xfaces.c (menu_face_changed_default): New variable.
	(menu_face_changed_count): Variable removed.
	(Finternal_set_lisp_face_attribute): Doc fix.  If FRAME is t, set
	the menu_face_changed_default flag, otherwise set the FRAME's
	menu_face_changed_p flag if the `menu' face has been changed.
	Prevent calling set_font_frame_param if FRAME is t.
	(make_face_cache): Initialize cache's menu_face_changed_p
	from menu_face_changed_default.
	(realize_basic_faces): Look into the frame's face cache to
	determine if the menu appearance needs updating.

	* keymap.c (access_keymap): Fix last change to not consider
	IDX when it has modifiers.

2001-08-21  Gerd Moellmann  <gerd@gnu.org>

	* keymap.c (access_keymap): If a binding of the form (GENERIC-CHAR
	. BINDING) exists, where GENERIC-CHAR is the generic character of
	the charset of IDX, return BINDING unless there exists a binding
	for IDX itself.

2001-08-16  Gerd Moellmann  <gerd@gnu.org>

	* xrdb.c (SYSV): Don't define on Solaris 2.
	From Rainer Orth  <ro@TechFak.Uni-Bielefeld.DE>.

	* xdisp.c (move_it_by_lines) <DVPOS < 0>: Start at the beginning
	of the screen line, not text line, containing IT's current position.

2001-08-15  Gerd Moellmann  <gerd@gnu.org>

	* window.c (window_scroll_pixel_based): Don't recenter if
	PT is partially visible in the window.

	* xterm.c (expose_window_tree, expose_window, expose_line):
	Return 1 when overwriting mouse-face.
	(expose_frame): If mouse-face was overwritten, redo it.

	* xfaces.c (x_update_menu_appearance): Don't call
	set_frame_menubar, let the next redisplay do it.

2001-08-14  Andrew Innes  <andrewi@gnu.org>

	* w32term.c (x_draw_glyph_string): Draw relief (if any) before
	drawing glyph string.

2001-08-14  Eli Zaretskii  <eliz@is.elta.co.il>

	* s/hiuxwe2.h: New file, for the HITACHI SR2001/SR2201 series
	running HI-UX/MPP.

2001-08-14  Gerd Moellmann  <gerd@gnu.org>

	* xfaces.c (x_update_menu_appearance): Save and restore value of
	interrupt_input_blocked.

2001-08-13  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (move_it_by_lines) <DVPOS < 0>: If not already on
	a line start, move back to the line start.

	* xdisp.c (resize_echo_area_exactly): Don't resize the mini-window
	exactly when a mini-buffer is active.

	* keyboard.c (make_lispy_event): Interpret double_click_fuzz
	in units of 1/8 character on non window-system frames.
	(syms_of_keyboard) <double-click-fuzz>: Doc fix.

2001-08-10  Eli Zaretskii  <eliz@is.elta.co.il>

	* keyboard.c (syms_of_keyboard) <double-click-fuzz>: Fix a typo in
	a doc string.

2001-08-09  Gerd Moellmann  <gerd@gnu.org>

	* keyboard.c (Vpre_help_message): New variable.
	(syms_of_keyboard): Initialize and staticpro it.
	(show_help_echo): Record current message before displaying a
	help-echo, and restore that message when clearing the help.

	* xfns.c (x_create_im): Remove prototype.

	* xdisp.c (mark_window_display_accurate_1): Remove an assertion.

	* dispnew.c (adjust_glyph_matrix): Undo last change.

2001-08-08  Gerd Moellmann  <gerd@gnu.org>

	* dispnew.c (adjust_glyph_matrix): In the optimization for
	windows whose height has changed, disable partially visible lines.

2001-08-07  Gerd Moellmann  <gerd@gnu.org>

	* window.c (Frecenter): If ARG < 0, and on a window system
	frame, count in some empty lines when we can't move -ARG lines down.

	* xdisp.c (start_display): Don't try to determine the continuation
	lines width if lines are truncated.  It's superfluous and leads to
	incorrect results if POS is not visible in the window after
	reseating the iterator at the previous line start.

2001-08-06  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_dump_glyph_string): Put in #if GLYPH_DEBUG.

1339
2001-08-06  Pavel Janík  <Pavel@Janik.cz>
1340 1341 1342 1343 1344 1345 1346 1347 1348 1349 1350 1351 1352 1353 1354 1355 1356 1357 1358 1359 1360 1361 1362 1363 1364 1365 1366 1367 1368 1369 1370 1371 1372 1373 1374 1375 1376 1377 1378 1379 1380 1381 1382 1383 1384 1385 1386 1387 1388 1389 1390 1391 1392 1393 1394 1395 1396 1397 1398 1399 1400 1401 1402 1403 1404 1405 1406 1407 1408 1409 1410 1411 1412 1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436 1437 1438 1439 1440 1441 1442 1443 1444 1445 1446 1447 1448 1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486 1487 1488 1489 1490 1491 1492 1493 1494 1495 1496 1497 1498

	* alloc.c (init_stack): Remove declaration.

2001-08-03  Gerd Moellmann  <gerd@gnu.org>

	* keyboard.c (read_key_sequence): Check that key is an integer
	before comparing it with quit_char.
	(add_command_key): Use larger_vector.
	(read_char_x_menu_prompt): Instead of converting symbol and
	integer events into conses (EVENT . nil), use (EVENT . disabled)
	which cannot be confused with valid events.
	(read_char): When reading from Vunread_command_events, check for
	events of the form (EVENT . disabled) instead of
	(EVENT . nil).

	* xdisp.c (resize_mini_window): If Vmax_mini_window_height is
	a float, determine the max height from the frame's height.

2001-08-02  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (redisplay_internal): Take message_cleared_p into
	account only if minibuf_level == 0.

2001-08-01  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (redisplay_internal): Add a check for the last
	displayed message.

	* xdisp.c (message_cleared_p): New variable.
	(clear_message): Set message_cleared_p when clearing the current
	message.
	(redisplay_internal): Look at message_cleared_p to capture
	the case that the echo area should be cleared.

	* keyboard.c (command_loop_1): Fix spelling of
	resize_echo_area_exactly.

	* dispextern.h (resize_echo_area_exactly): Fix typo in function name.

	* xdisp.c (resize_echo_area_exactly): Fix typo in function name.

	* xfns.c (x_set_tool_bar_lines): Clear the tool bar window's
	current matrix when the window gets smaller.

2001-08-01  Eli Zaretskii  <eliz@is.elta.co.il>

	* print.c (strout): Cast the character passed to insert_char to
	unsigned char, to avoid sign extension when it is promoted to int.

2001-07-31  Gerd Moellmann  <gerd@gnu.org>

	* fileio.c (Finsert_file_contents): Don't treat a return value
	of 0 from emacs_read as an IO error.

2001-07-30  Gerd Moellmann  <gerd@gnu.org>

	* keyboard.c (abs): New macro.
	(double_click_fuzz): New variable.
	(make_lispy_event): Use it to determine what makes a double-click.
	(syms_of_keyboard): DEFVAR_INT it.

	* xmenu.c (set_frame_menubar): Take into account that
	f->menu_bar_vector can be nil, and not a vector.  From Ken Raeburn
	<raeburn@gnu.org>.

2001-07-27  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_get_glyph_string_clip_rect): Minor cleanup.

	* dispnew.c (shift_glyph_matrix, blank_row): Fix computation
	of row's visible height.

	* xdisp.c (init_from_display_pos): If POS is in an overlay string,
	deal with the first overlay string having an image `display' property.
	(try_window_reusing_current_matrix, compute_line_metrics):
	Fix computation of row's visible height for the case that part of the
	row is invisible above and part of the row is at the same time
	invisible below the window.

2001-07-26  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (x-show-tip): Doc fix.

	* xfns.c (Vx_max_tooltip_size): New variable.
	(syms_of_xfns): DEFVAR_LISP it.
	(Fx_show_tip): Set frame's window_width to the width of the
	window.  Use a maximum tooltip size specified by
	Vx_max_tooltip_size, if that has valid contents.
	(x_create_tip_frame): Set tooltip buffer's truncate-lines to nil.

2001-07-26  Andrew Innes  <andrewi@gnu.org>

	* w32term.c (x_display_list): New variable.
	(w32_term_init): Set it.

	* w32term.h (x_display_list): New extern.

2001-07-26  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (resize_mini_window): Give up when inhibit-redisplay
	is non-nil, instead of when redisplaying_p is non-zero.
	See comment there.
	(mark_window_display_accurate_1): Add an assertion.

2001-07-25  Gerd Moellmann  <gerd@gnu.org>

	* dispextern.h (struct it): Increase size of ctl_chars to 16.

	* xfns.c (Fx_file_dialog): Block/unblock input while processing
	events so that we get a chance of processing expose events.

	* xdisp.c (resize_mini_window): Don't resize while redisplaying.

2001-07-24  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (valid_image_p): Protect better against invalid image
	specifications.  Previous code could signal an error.

2001-07-23  Gerd Moellmann  <gerd@gnu.org>

	* indent.c (current_column): Fix column computation in the
	presence of display table entries.
	(current_column_1, Fmove_to_column, compute_motion): Likewise.

	* dispnew.c (adjust_glyph_matrix): In the optimization for
	windows whose height has changed, use the new window height
	to compute which rows to invalidate.

	* editfns.c (toplevel) [STDC_HEADERS]: Include float.h.
	(MAX_10_EXP): New macro.
	(Fformat): Use it.

	* coding.c (code_convert_region): Handle the multibyte case if
	decoding ends with CODING_FINISH_INSUFFICIENT_SRC.

2001-07-20  Gerd Moellmann  <gerd@gnu.org>

	* dispextern.h (struct face): Change type of `stipple' to
	int; it's an ID.

	* xterm.c (x_fill_stretch_glyph_string): Remove an assertion.

2001-07-19  Gerd Moellmann  <gerd@gnu.org>

	* dispnew.c (update_window): Don't set the cursor at the end
	of the update if display update has been paused.

	* composite.h (syms_of_composite): Renamed from syms_of_composition.

2001-07-18  Ken Raeburn  <raeburn@gnu.org>

	* fns.c (Fset_char_table_default): Check that a charset is defined
	before checking its dimension.

2001-07-17  Ken Raeburn  <raeburn@gnu.org>

	* coding.c (setup_coding_system): Don't do any designation based
	on reg_bits if charset is not yet defined.

Juanma Barranquero's avatar
Juanma Barranquero committed
1499
	* lisp.h (XVECTOR): Verify correct object type before returning a
1500 1501 1502 1503 1504 1505 1506 1507 1508 1509 1510 1511 1512 1513 1514 1515 1516 1517 1518 1519 1520 1521 1522 1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542 1543 1544 1545 1546 1547 1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580 1581 1582 1583 1584 1585 1586 1587 1588 1589 1590 1591 1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611 1612 1613 1614 1615 1616 1617 1618 1619 1620 1621 1622 1623 1624 1625 1626 1627 1628 1629 1630 1631 1632 1633 1634 1635 1636 1637 1638 1639 1640 1641 1642 1643 1644 1645 1646 1647 1648 1649 1650 1651 1652 1653 1654 1655 1656 1657 1658 1659 1660 1661 1662 1663 1664 1665 1666 1667 1668 1669 1670 1671 1672 1673 1674 1675 1676 1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700 1701 1702 1703 1704 1705 1706 1707 1708 1709 1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734 1735 1736 1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750 1751 1752 1753 1754
	pointer, using eassert.

2001-07-17  Gerd Moellmann  <gerd@gnu.org>

	* keyboard.c (KBD_BUFFER_SIZE) [!HAVE_WINDOW_SYSTEM]:
	Increase to 4096 because of paste problems reported on GNU/Linux.

2001-07-17  Jan Nieuwenhuizen  <janneke@gnu.org>

	* emacs.c (USAGE1): Add +LINE:COLUMN option help.

2001-07-16  Gerd Moellmann  <gerd@gnu.org>

	* fileio.c (unwind_read): Function removed.
	(read_non_regular, read_non_regular_quit): New functions.
	(Finsert_file_contents): When reading from non-regular files,
	arrange to catch a `quit' and terminate the loop.  Rearrange
	code so that a `quit' when reading from a regular file doesn't
	insert text in the buffer.

	* xfaces.c (clear_face_cache): Clear fonts on a display basis.
	Clear faces afterwards.
	(clear_font_table): Take a x_display_info parameter.  Don't free
	fonts being the default font of any frame on the given display.

2001-07-13  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (get_next_display_element): Use CHAR_STRING_NO_SIGNAL
	instead of CHAR_STRING which can signal an error.

	* charset.c (char_to_string_1): Extracted from char_to_string.
	Return -1 instead of signaling an error.
	(char_to_string): Use it.

	* charset.h (CHAR_STRING_NO_SIGNAL): New macro.

2001-07-12  Stefan Monnier  <monnier@cs.yale.edu>

	* coding.c (Ffind_coding_systems_region_internal): If safe_codings
	is t, don't try to append anything to it.

2001-07-12  Eli Zaretskii  <eliz@is.elta.co.il>

	* dired.c (file_name_completion): Pass dp->d_name to
	Fstring_match, not elt, which is always nil here.

2001-07-12  Gerd Moellmann  <gerd@gnu.org>

	* xselect.c (x_decline_selection_request): Handle errors
	caused by receivers that have vanished.

	* xterm.c (XTread_socket) <PropertyNotify>: Put the code
	ignoring events on foreign windows in #if 0.  Always dispatch
	the event after checking it with x_handle_property_notify.

	* xselect.c (TRACE0, TRACE1, TRACE2): New macros, defined
	depending on TRACE_SELECTION.  Replace fprintfs in #if 0 with
	TRACE macros to facilitate debugging.  Add additional trace statements.
	(toplevel): Add prototypes for file-local functions.
	(x_atom_to_symbol): Remove DPYINFO parameter.

2001-07-11  Stefan Monnier  <monnier@cs.yale.edu>

	* w32menu.c (menubar_selection_callback, w32_menu_show):
	Initialize `entry' to nil.
	(w32_dialog_show): Remove unused `save_wv' variable.
	(name_is_separator): Recognize "--:foo" and "--foo-bar".

2001-07-11  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (try_cursor_movement): Prevent a warning from GCC 3.0.

	* fileio.c (unwind_read): Print a message when discarding inserted
	text or switching the buffer to unibyte.  Change parameter.
	(Finsert_file_contents): Don't pass VISIT to unwind_read.

	* fileio.c (unwind_read): New function.
	(Finsert_file_contents): Record it as unwind-function for
	the case that reading is interrupted by C-g.

2001-07-10  Gerd Moellmann  <gerd@gnu.org>

	* dispnew.c (update_window): Don't skip the header-line
	update when scrolling_window returns 0.

	* xfaces.c (unload_color): Do nothing if PIXEL is -1.

	* xfns.c (Fx_create_frame): Initialize frame colors to -1,
	for the case that x_decode_color signals an error.

	* xdisp.c (add_to_log): Do nothing if called asynchronously.

2001-07-09  Gerd Moellmann  <gerd@gnu.org>

	* sound.c (toplevel): Include <signal.h> and "syssignal.h".
	(vox_configure, vox_close) [SIGIO]: Block/unblock SIGIO
	around ioctls.

2001-07-06  Eli Zaretskii  <eliz@is.elta.co.il>

	* dosfns.c (syms_of_dosfns): Add \n\ at the end of a line in the
	doc string line for dos-timezone-offset.

	* msdos.c (do_visible_bell): Add \n\ at the end of each line of
	inline assembly, to avoid compiler warnings.
	(syms_of_msdos): Add \n\ at the end of a line in the doc string
	line for dos-unsupported-char-glyph.

	* buffer.c (syms_of_buffer) [if 0]: Avoid a warning from GCC 3.0.

2001-07-05  Gerd Moellmann  <gerd@gnu.org>

	* sound.c: Include Emacs' header files with #include "...".

	* eval.c (specbind): Additionally record the buffer that was
	current when a buffer-local or frame-local variable was bound.

2001-07-04  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_produce_glyphs): Don't convert multibyte characters
	to unibyte characters in unibyte buffers.

2001-07-03  Gerd Moellmann  <gerd@gnu.org>

	* eval.c (specbind): If SYMBOL has a frame-local binding, record
	the frame on the binding stack.  Change format of entries for
	local bindings on the binding stack to '(SYMBOL . WHERE)'.
	(unbind_to): Handle unbinding a frame-local variable.

	* xdisp.c (compute_line_metrics): On ttys, subtract continuation
	glyphs and truncation glyphs at the end of a row from its pixel width.
	(dump_glyph_row): Print row's continuation_lines_width.
	(try_window_id): Take the shortcut if ZV is visible in the
	window, but there are actually no changes at ZV.

2001-07-02  Gerd Moellmann  <gerd@gnu.org>

	* xterm.h (x_free_dpy_colors): Add prototype.

	* xterm.c (cvt_pixel_dtor): Call x_free_dpy_colors with the
	right number of arguments.

	* Makefile.in (tags): Depend on $(lwlibdir)/TAGS.
	($(lwlibdir)TAGS): New target.
	(TAGS): Fix dependency list.

	* xterm.c (x_list_fonts): Make sure XFreeFont is called
	with input blocked.

2001-06-30  Gerd Moellmann  <gerd@gnu.org>

	* emacs.c (main): Remove extern declaration for sys_nerr, which
	isn't used and causes a compilation error with GCC 3.0 on
	FreeBSD 4.3.

2001-06-27  Gerd Moellmann  <gerd@gnu.org>

	* widget.c (EmacsFrameSetCharSize): Turn off atimers and block
	SIGIO around the code where Xt might wait for a ConfigureNotifyEvent.
	(toplevel): Include <signal.h> and syssignal.h.

	* sound.c (vox_configure, vox_close): Turn off atimers
	around ioctls.

2001-06-26  Gerd Moellmann  <gerd@gnu.org>

	* keyboard.c (read_char) <non_reread>: Record the previous idle
	start time before calling timer_stop_idle.
	(read_char) <reread_first>: After processing a help-echo event,
	restore the previous idle start time.

	* xdisp.c (handle_invisible_prop): Deal with overlay strings at
	the start of invisible text.
	(setup_for_ellipsis): New function.
	(next_overlay_string): After all overlay strings have been
	processed, display an ellipsis if necessary.
	(load_overlay_strings, get_overlay_strings): Add parameter CHARPOS.
	(push_it): Initialize display_ellipsis_p on the iterator's stack.

	* dispextern.h (struct iterator_stack_entry): Add member
	display_ellipsis_p.

2001-06-25  Gerd Moellmann  <gerd@gnu.org>

	* widget.c (EmacsFrameSetCharSize): Set XtNwaitForWm depending
	on the value of the wait-for-wm frame parameter.

	* xterm.h (struct x_output): Add member wait_for_wm.

	* xfns.c (Qwait_for_wm): New variable.
	(x_frame_parms): Add entry for `wait-for-wm".
	(x_set_wait_for_wm): New function.
	(Fx_create_frame): Call x_default_parameter for wait-for-wm.
	(syms_of_xfns): Initialize and staticpro Qwait_for_wm.

	* xdisp.c (try_window_id) <all changes below window end>: Don't
	take this shortcut if ZV is visible in the window.
	(try_window_id): When checking for window start being in changed
	text, don't check that the buffer's size has changed.

2001-06-23  Richard M. Stallman  <rms@gnu.org>

	* minibuf.c (Fcompleting_read): Doc fix.

2001-06-19  Gerd Moellmann  <gerd@gnu.org>

	* composite.c (Ffind_composition_internal): Accept ZV
	and a string's end position as POS.

2001-06-18  Gerd Moellmann  <gerd@gnu.org>

	* composite.c (Ffind_composition_internal): Check POS
	for validity.

2001-06-15  Eli Zaretskii  <eliz@is.elta.co.il>

	* editfns.c (Fmessage_box): If the frame is not under a window
	system, output the message in the echo area.

2001-06-14  Richard M. Stallman  <rms@gnu.org>

	* xdisp.c (try_window_id): When EOB is visible, don't treat
	insertion at EOB as if it were "off the bottom of the screen."

2001-06-11  Andrew Innes  <andrewi@gnu.org>

	* w32proc.c (create_child): Add new parameter is_gui_app.
	(w32_executable_type): Add new parameter is_gui_app.
	(sys_spawnve): Use it.
	(sys_kill): Fake ^C for SIGINT, and ^Break (if possible) for
	SIGQUIT.  This matches better how the signals are interpreted by
	MSVC compiled programs.
	(syms_of_ntproc): Update docstring.

2001-06-02  Stefan Monnier  <monnier@cs.yale.edu>

	* xterm.c (clear_mouse_face): Reset dpyinfo->mouse_face_overlay as
	well otherwise note_mouse_highlight might optimize away highlighting
	if we pass over that same overlay again.

2001-06-02  Eli Zaretskii  <eliz@is.elta.co.il>

	* lread.c (Fload): Document that the argument is run via
	substitute-in-file-name.

2001-05-31  Gerd Moellmann  <gerd@gnu.org>

	* Makefile.in (bootstrap-doc): New target.
	(bootstrap-emacs): Depend on it.

	* fileio.c (Fdo_auto_save): Don't try to create the directory of
	auto-save-list-file-name when shutting down Emacs, because
	creating the directory might signal an error, and leaves
	Emacs in a strange state.

Juanma Barranquero's avatar
Juanma Barranquero committed
1755
	* term.c (tty_cursor_hidden): New variable.
1756 1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810 1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827 1828 1829 1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842 1843 1844 1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902 1903 1904 1905 1906 1907 1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931 1932 1933 1934 1935 1936 1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 1966 1967 1968 1969 1970 1971 1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 2018 2019 2020 2021 2022 2023 2024 2025 2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050 2051 2052 2053 2054 2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081 2082 2083 2084 2085 2086 2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115 2116 2117 2118 2119 2120 2121 2122 2123 2124 2125 2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146 2147 2148 2149 2150 2151 2152 2153 2154 2155 2156 2157 2158 2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251
	(update_begin): Don't call tty_hide_cursor.  Clean up.
	(update_end, set_terminal_window, set_scroll_region): Clean up.
	(ring_bell, reset_terminal_modes): Clean up.
	(tty_hide_cursor, tty_show_cursor): Hide/show cursor depending
	on tty_cursor_hidden.
	(write_glyphs): Call tty_hide_cursor.

2001-05-30  Stefan Monnier  <monnier@cs.yale.edu>

	* buffer.c (copy_overlays): Make ENABLE_CHECKING happy.

2001-05-30  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (enum image_value_type): New enumerator
	IMAGE_STRING_OR_NIL_VALUE.
	(parse_image_spec): Handle it.
	(xbm_format, pbm_format): Use it for :foreground and :background.
	(xbm_load, pbm_load): Check for nil color names.

	* xterm.c (note_mouse_highlight): If an overlapping overlay
	exists, but we find that we highlight the same overlay as before,
	don't do the highlighting again.

2001-05-29  Gerd Moellmann  <gerd@gnu.org>

	* xmenu.c (single_submenu, xmenu_show) [!HAVE_MULTILINGUAL_MENU]:
	Protect unibyte strings created by replacing their multibyte
	equivalents in menu_items.

	* keymap.c (Fsingle_key_description): NUL-terminate the string
	buffer before calling build_string.

	* callproc.c (Fcall_process): Deal with decode_coding returning
	CODING_FINISH_INCONSISTENT_EOL.

2001-05-28  Gerd Moellmann  <gerd@gnu.org>

	* xmenu.c (xmenu_show) [!HAVE_MULTILINGUAL_MENU]: Don't overwrite
	an item's name with its key description in case the description
	is a multibyte string.

	* keymap.c (Fsingle_key_description): Create a multibyte string
	only if necessary.

	* macros.c (Fstart_kbd_macro): Doc fix.

	* xterm.c (cursor_in_mouse_face_p): New function.
	(x_draw_stretch_glyph_string): Use it to choose a different GC
	when drawing a cursor within highlighted text.

	* editfns.c (char_property_eq): Put in #if 0.

	* indent.c (string_display_width): Put in #if 0.

	* lread.c (Fload): Remove unused label.

	* termcap.c (speeds): Put in #if 0.

2001-05-18  Gerd Moellmann  <gerd@gnu.org>

	* eval.c (call_debugger): Don't bind inhibit-eval-during-redisplay.

	* xfaces.c (xlfd_point_size): Don't divide pixel size from
	transformation matrix by 10.

2001-05-16  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (x_set_foreground_color): Change frame's cursor_pixel
	only if it's equal to the former foreground pixel color.
	(x_set_foreground_color, x_set_background_color)
	(x_set_mouse_color, x_set_cursor_color): Cleaned up.

2001-05-16  Dave Love  <fx@gnu.org>

	* insdel.c (signal_before_change, signal_after_change): Consider a
	local change hook which changes the buffer.

	* process.c (read_process_output): Don't call signal_after_change
	and update_compositions after insert_from_string_before_markers.

2001-05-16  Gerd Moellmann  <gerd@gnu.org>

	* xfaces.c (split_font_name): Use the right field when
	checking for `[...]' syntax.

	* buffer.c (copy_overlays): New function.
	(clone_per_buffer_values): Use it.

	* buffer.h (OVERLAY_PLIST): New macro.

	* keymap.c (Fsingle_key_description): Replace a build_string with
	a make_multibyte_string.  From Kenichi Handa <handa@etl.go.jp>.

	* fontset.c (Ffontset_info): Check that face is non-null
	before accessing its fields.

2001-05-15  Gerd Moellmann  <gerd@gnu.org>

	* keyboard.c (read_key_sequence): Prevent generating a fake
	prefix key twice.

	* xfaces.c (split_font_name): Handle `[...]' for the right
	font name fields.

	* ccl.c (ccl_driver): Don't copy remaining bytes in case
	of CCL_STAT_INVALID_CMD.

2001-05-14  Stefan Monnier  <monnier@cs.yale.edu>

	* eval.c (Fdefvar): Only record (defvar <var>) in the load-history
	in <var> has no default value yet.

	* xfaces.c (try_alternative_families): First try the FAMILY.
	And if nothing is found in the end, try again with scalable fonts.
	(try_font_list): Let try_alternative_families do a bit more of
	the work.  Only use FAMILY if it is not nil.
	(syms_of_xfaces) <scalable-fonts-allowed>: Fix docstring.

2001-05-14  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (note_mouse_highlight): Avoid changing the mouse
	pointer shape when show_mouse_face has already done it.

	* xterm.c (x_draw_glyphs): Fix computation of rightmost x for
	full-width rows.

	* xfaces.c (split_font_name): Make sure to leave the loop
	with the right value of `i'.

	* xfaces.c (split_font_name): Handle matrix transformations
	in the pixel and point size fields of XLFD font names.
	(xlfd_point_size): Likewise.

2001-05-12  Eli Zaretskii  <eliz@is.elta.co.il>

	* w32fns.c (w32_to_x_font): Change prototype to fit the declaration.
	(x_to_w32_font): Add prototype.

	* regex.c (malloc, realloc, free) [emacs]: Undefine before
	redefining, to avoid compiler warnings.

	* w32proc.c: Include syssignal.h, to avoid compiler warnings.

	* w32bdf.c (search_file_line, set_bdf_font_info, seek_char)
	(w32_get_bdf_glyph): Cast between unsigned char and char when
	passing arguments to subroutines, to shut up compiler warnings.
	(w32_get_bdf_glyph): Don't mix signed and unsigned when calling
	GET_HEX_VAL.

	* xfaces.c: Include keyboard.h before frame.h, not after it.

	* widget.c: Include keyboard.h before frame.h.

	* w32term.h (struct image, struct face): Forward declaration, to
	avoid compiler warnings.

2001-05-11  Gerd Moellmann  <gerd@gnu.org>

	* keyboard.c (read_key_sequence): Don't modify events when
	generating fake prefix keys (mode-line, scroll-bar, ...) since
	this prevents proper processing of such events when pushed back
	into unread-command-events.

	* xterm.c (clear_mouse_face): Return 1 if text with mouse face was
	actually redrawn.  Make the function static.
	(note_mouse_highlight): Fix a case where the mouse cursor
	was changed back to the text cursor.

	* xterm.h (clear_mouse_face): Remove prototype.

	* xdisp.c (try_window_id): Fix the fix and set the right
	window_end_vpos.

	* xdisp.c (try_window_id): Fix computation of window end in the
	case that lines were deleted at the end of the window.  Add some
	more debug_method_adds.

	* xfaces.c (try_alternative_families): New function.
	(try_font_list): Use it.  If ATTRS specifies a family, check
	fonts from that family first.
	(choose_face_font): Remove code setting the family part of
	the pattern to nil.

2001-05-10  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (try_window_id): Fix case of all changes before
	the window start.

	* xdisp.c (try_window_id): Add some xasserts.

2001-05-09  Gerd Moellmann  <gerd@gnu.org>

	* lisp.h (GLYPH_CHAR_VALID_P): Use CHAR_VALID_P.

2001-05-09  Dave Love  <fx@gnu.org>

	* xdisp.c (GIVE_UP): Fix for K&R C.

2001-05-09  Gerd Moellmann  <gerd@gnu.org>

	* print.c (syms_of_print) <print-length, print-level>: Doc fix.

	* xterm.c (note_mouse_highlight): Don't change the mouse cursor
	back to the text cursor shape without need.

2001-05-07  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (x_set_foreground_color): Set frame's cursor_pixel.

	* dispextern.h (inverse_video): Declare extern.

	* keyboard.c (delete_kboard): Handle the case that selected_frame
	has been deleted in the course of x_connection_closed.

2001-05-03  Eli Zaretskii  <eliz@is.elta.co.il>

	* xterm.c (XTread_socket) <Expose> [!USE_TOOLKIT_SCROLL_BARS]:
	Fix the change from 2001-04-30.

2001-05-03  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (file_dialog_unmap_cb): New function.
	(Fx_file_dialog): Use it as XmNunmapCallback to capture the case
	where a dialog is closed via the window manager.

	* xdisp.c (try_window_id): Cases of changes all in front of
	the window start or all below the window end mostly rewritten.
	(redisplay_window): Move the tests if try_window_id is
	applicable to try_window_id.
	(GIVE_UP): New macro.

2001-05-02  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (expose_window): Return int.  If W is the window
	currently being updated, mark the frame garbaged.
	Fix computation of rows intersecting the exposed rectangle.
	(expose_window_tree): Stop when expose_window returns 0.

	* xterm.c (x_draw_stretch_glyph_string): Don't draw background
	again if it has already been drawn.

2001-05-01  Stefan Monnier  <monnier@cs.yale.edu>

	* syntax.c (update_syntax_table): Check that oldi has the same
	properties as old_prop before deciding not to invalidate.

2001-04-30  Gerd Moellmann  <gerd@gnu.org>

	* undo.c (Fprimitive_undo): In a writable buffer, enable undoing
	read-only text that is so because of text properties.

	* xterm.c (x_window_to_menu_bar) [USE_LUCID]: New function.
	(XTread_socket) <Expose> [USE_LUCID]: Handle events for
	windows that are components of a Lucid menu bar.

2001-04-27  Gerd Moellmann  <gerd@gnu.org>

	* term.c (turn_on_face): Fix reverse video handling on terminals
	that don't support colors.

2001-04-26  Gerd Moellmann  <gerd@gnu.org>

	* editfns.c (save_excursion_restore): Don't use XBUFFER on
	a non-buffer.

2001-04-25  Gerd Moellmann  <gerd@gnu.org>

	* term.c (toggle_highlight): New function.
	(turn_on_face): Change handling of reverse video.

	* process.c (wait_reading_process_input):
	Call record_asynch_buffer_change only if a timer really changed buffers.

	* buffer.c (mouse_face_overlay_overlaps): Fix the computation
	of the number of overlays to check.

	* keyboard.c (command_loop_1): Redo change of 2001-03-12.

	* xdisp.c (try_window_id): Fix a case where window_end_pos
	and window_end_bytepos were not adjusted.

2001-04-23  Gerd Moellmann  <gerd@gnu.org>

	* xfaces.c (compute_char_face): If buffer is unibyte, set CH to
	zero instead of -1.

2001-04-21  Eli Zaretskii  <eliz@is.elta.co.il>

	* process.c (wait_reading_process_input) [!subprocesses]:
	Don't reference waiting_for_user_input_p, it's not defined in the
	branch without async subprocesses support.

2001-04-19  Gerd Moellmann  <gerd@gnu.org>

	* keyboard.c (delete_kboard): Prevent a dangling reference
	from current_kboard to KB, which is freed.

	* process.c (wait_reading_process_input):
	Call record_asynch_buffer_change after running timers, to make
	read_key_sequence aware of buffer changes from under it.

2001-04-18  Gerd Moellmann  <gerd@gnu.org>

	* xfaces.c (Qscalable_fonts_allowed): New variable.
	(realizing_basic_faces_p): Removed.
	(x_face_list_fonts): Special handling for realizing_basic_faces_p
	removed.
	(realize_basic_faces): Specbind Qscalable_fonts_allowed to t.
	(syms_of_xfaces): Initialize Qscalable_fonts_allowed.  Change default
	for scalable-fonts-allowed to t.

	* fileio.c (Finsert_file_contents): If the file size returned from
	stat is zero, set END to READ_BUF_SIZE.  This makes sure we can
	read from files on a procfs whose contents are generated dynamically.

2001-04-18  Eli Zaretskii  <eliz@is.elta.co.il>

	* gmalloc.c (__malloc_size_t) [__GNUC__]: If STDC_HEADERS is not
	defined, include stddef.h and use __SIZE_TYPE__ instead of size_t.
	(__memalign_hook): Make the two prototypes consistent.

2001-04-17  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (redisplay_window): Make sure to clear the desired glyph
	matrix of mini-windows.

2001-04-12  Stefan Monnier  <monnier@cs.yale.edu>

	* intervals.c (find_interval): Don't rebalance during signal handling.

2001-04-11  Gerd Moellmann  <gerd@gnu.org>

	* fns.c: Include blockinput.h.

	* fns.c (Fplist_get): Don't QUIT if interrupt_input_blocked.

2001-04-10  Gerd Moellmann  <gerd@gnu.org>

	* fns.c (Fcompare_strings): Fix return values.

	* window.c (window_scroll): Change the meaning of N to mean
	N screen-fulls or N lines.
	(window_scroll_pixel_based, window_scroll_line_based)
	(scroll_command, Fscroll_other_window): Change accordingly.

	* window.c (window_scroll_pixel_based, Frecenter):
	Call window_box_height instead of using it.last_visible_y for the
	height of the window.

	* xdisp.c (redisplay_window) <recenter>: Call window_box_height
	instead of using it.last_visible_y for the height of the window.

	* w32proc.c (sys_spawnve): Quote more chars for Cygwin.
	From Dan Holmsand <dan@eyebee.com>.

	* w32.c (sys_open): Try to open file without _O_CREAT first, to be
	able to write to hidden and system files.  From Dan Holmsand
	<dan@eyebee.com>.

	* fileio.c (Fcopy_file) [WINDOWSNT]: Use CopyFile.  From Dan
	Holmsand <dan@eyebee.com>.

2001-04-09  Gerd Moellmann  <gerd@gnu.org>

	* fns.c (Fplist_get, Fplist_put): Add QUITs.

	* window.c (window_internal_height): Return 1 less if the
	window has a header line.

	* xdisp.c (try_window_id): When scrolling on a terminal, take
	the change of window_internal_height into account.

2001-04-09  Eli Zaretskii  <eliz@is.elta.co.il>

	* gmalloc.c (align): If the argument SIZE would overflow
	__malloc_ptrdiff_t, fail right away.

2001-04-06  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (compute_tip_xy): Add parameters WIDTH and HEIGHT.
	Make sure the tooltip is completely visible.
	(x_make_gc): Use FRAME_X_SCREEN_NUMBER.

	* xterm.h (FRAME_X_SCREEN_NUMBER): New macro.

	* xmenu.c (xmenu_show): Use FRAME_X_SCREEN_NUMBER.

2001-04-06  Dave Love  <fx@gnu.org>

	* composite.c (update_compositions) <check_mask & CHECK_HEAD>:
	Fix test of `from'.

2001-04-06  Gerd Moellmann  <gerd@gnu.org>

	* composite.h (COMPOSITION_VALID_P): Allow integers as cdrs of PROP.

	* xdisp.c (Qinhibit_eval_during_redisplay): Make it a Lisp_Object.

2001-04-05  Gerd Moellmann  <gerd@gnu.org>

	* sysdep.c (getwd) [!HAVE_GETWD]: Unblock input before returning.

	* editfns.c (Fcurrent_time_zone): Accept spaces in timezone names.

	* xfns.c (Vmotif_version_string) [USE_MOTIF]: New variable.
	(syms_of_xfns): DEFVAR_LISP it.  Initialize from XmVERSION_STRING.

	* xmenu.c (free_frame_menubar) [USE_MOTIF]: Preserve the
	shell widget's position only if it is non-null.

	* xterm.c (x_free_frame_resources) [USE_X_TOOLKIT]:
	Set f->output_data.x->widget to null after destroying it.

	* fns.c (Frequire): Doc fix.  Rename parameter FILE_NAME to
	FILENAME to bring it in synch with the documentation.

	* xfaces.c (realizing_basic_faces_p): Renamed from
	realize_default_face_p.
	(realize_basic_faces): Set/clear realizing_basic_faces_p.
	(realize_default_face): Don't set the flag.

2001-04-04  Gerd Moellmann  <gerd@gnu.org>

	* lisp.h (echoing, echo_message_buffer, cancel_echoing): Declare.

	* keyboard.c (echoing, echo_message_buffer): Make externally visible.

	* xdisp.c (with_echo_area_buffer): Avoid confusion from reusing
	the buffer that was used for echoing.

	* xfaces.c (best_matching_font): Remove unused parameter PATTERN.
	(first_font_matching): Removed unused function.
	(x_face_list_fonts): Remove unused parameter SCALABLE_P.
	(may_use_scalable_font_p): Remove parameter FONT; rename
	parameter NAME to FONT.
	(x_face_list_fonts): Fix missing bounds check.
	(realizing_default_face_p): New variable.
	(realize_default_face): Set and clear that flag.
	(x_face_list_fonts): When called during the realization of the
	default face, and no matching fonts are found when ignoring
	scalable fonts and fonts matching a regexp from
	face-ignored-fonts, try without ignoring fonts.

2001-04-03  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (postprocess_image): New function.
	(lookup_image): Call it for all image types except PostScript.
	(x_kill_gs_process): Call postprocess_image.

	* xterm.c (x_use_underline_position_properties): New variable.
	(x_draw_glyph_string): Use it.
	(syms_of_xterm): DEFVAR_BOOL it.

2001-04-02  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_alloc_nearest_color_1): New function.
	(x_alloc_nearest_color): Use it.
	(x_color_cells): Take a Display as argument, instead of a frame.
	(cvt_string_to_pixel_args, cvt_string_to_pixel_value): New variables.
	(cvt_string_to_pixel, cvt_pixel_dtor): New functions.
	(x_initialize): Register cvt_string_to_pixel as resource converter
	string -> Pixel and cvt_pixel_dtor as pixel resource destructor.

2001-03-30  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (get_overlay_strings): Set iterator's end_charpos.
	(set_iterator_to_next): If a string from a display property ends,
	consider the case that this might also be the end of an
	overlay string having the display property.

	* xdisp.c (handle_display_prop): Fix recognition of subproperty lists.

	* xdisp.c (reseat_to_string): Undo last change.

	* dispnew.c (adjust_glyph_matrix): Don't try to reuse the current
	matrix of a window when the header line changes, when
	new rows are allocated, or when the width changes.

2001-03-30  Eli Zaretskii  <eliz@is.elta.co.il>

	* print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Fix last change.

2001-03-29  Eli Zaretskii  <eliz@is.elta.co.il>

	* fileio.c (syms_of_fileio) <directory-sep-char>: Warn that it is
	deprecated.

2001-03-29  Gerd Moellmann  <gerd@gnu.org>

	* data.c (Fsubr_interactive_form): New function.
	(syms_of_data): Defsubr it.

	* alloc.c (live_string_p, live_cons_p, live_symbol_p)
	(live_float_p, live_misc_p): Return 1 only if the offset of the
	pointer in its block is >= 0.

2252
2001-03-28  Paul Eggert  <eggert@twinsun.com>
2253 2254

	* editfns.c (Ffloat_time): Fix off-by-factor-of-10 bug in the
Juanma Barranquero's avatar
Juanma Barranquero committed
2255
	microseconds calculation.  Avoid double-rounding problem.
2256 2257 2258 2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271 2272 2273 2274 2275 2276 2277 2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307 2308 2309 2310 2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333 2334 2335 2336 2337 2338 2339 2340 2341 2342 2343 2344 2345 2346 2347 2348 2349 2350
	In doc string, warn that the result is approximate.

2001-03-28  Gerd Moellmann  <gerd@gnu.org>

	* eval.c (call_debugger): Bind `inhibit-redisplay' to nil, and
	bind `inhibit-eval-during-redisplay' to t.

	* lisp.h (Qinhibit_eval_during_redisplay): Declare extern.

	* xdisp.c (inhibit_eval_during_redisplay)
	(Qinhibit_eval_during_redisplay): New variables.
	(safe_eval, safe_call): If inhibit_eval_during_redisplay is set,
	don't eval, return nil instead.
	(syms_of_xdisp): DEFVAR_BOOL inhibit-eval-during-redisplay.
	Initialize Qinhibit_eval_during_redisplay.

	* xdisp.c (reseat_to_string): If STRING is multibyte, set
	the iterator's multibyte_p flag.

	* xfaces.c (realize_basic_faces): Decrement menu_face_change_count
	instead of setting it to zero; it's incremented for each frame
	where the menu face is changed.

	* xterm.c (x_draw_relief_rect): Extend left shadow to the bottom;
	change bottom shadow accordingly.

	* xterm.c (expose_window_tree, expose_frame): Don't compute
	intersections here.
	(expose_window): Do it here instead.
	(x_draw_glyph_string): Fix a computation of the underline position.

	* bytecode.c (BYTE_CODE_QUIT): New macro.
	(Fbyte_code): Use BYTE_CODE_QUIT instead of QUIT.

2001-03-27  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (try_window_reusing_current_matrix) <scrolling up>:
	Give up if matrix starts in an ellipsis.
	(init_from_display_pos): Do nothing if POS doesn't specify
	a dpvec_index but the iterator has such a position.

	* xdisp.c (init_from_display_pos): Remove unwarranted assertion.

	* xmenu.c (free_frame_menubar) [USE_MOTIF]: If the shell widget's
	x/y position is (0, 0) after destroying the menu bar, restore
	its original position.

	* xdisp.c (in_ellipses_for_invisible_text_p): New function.
	(init_from_display_pos): Use it.
	(try_window_reusing_current_matrix): Don't use cursor_row_p.

2001-03-26  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (try_window_id): Undo last change.

2001-03-26  Eli Zaretskii  <eliz@is.elta.co.il>

	* print.c (Fprin1, Fprin1_to_string, Fprinc, Fprint): Doc fix.

	* buffer.c (syms_of_buffer): Doc fix.

2001-03-26  Gerd Moellmann  <gerd@gnu.org>

	* xfaces.c (x_update_menu_appearance): Use local variable
	popup_path for setting font resources.

2001-03-25  Eli Zaretskii  <eliz@is.elta.co.il>

	* frame.c (Fframe_list): Don't reference tip_frame if
	HAVE_WINDOW_SYSTEM is not defined.

	* emacs.c (main): Update the copyright year.  From Werner LEMBERG
	<wl@gnu.org>.

2001-03-25  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (init_from_display_pos): Test invisible property
	with TEXT_PROP_MEANS_INVISIBLE instead of NILP.

	* xdisp.c (redisplay_internal) <update one window>: Make sure
	last_arrow_position and last_arrow_string are set.

	* frame.c (Fframe_list): Don't return a tooltip frame.

2001-03-23  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (mark_window_display_accurate_1): New function,
	extracted from mark_window_display_accurate.
	Compute BUF_UNCHANGED_MODIFIED, BUF_OVERLAY_UNCHANGED_MODIFIED,
	BUF_BEG_UNCHANGED, BUF_END_UNCHANGED.
	(mark_window_display_accurate): Use it.
	(redisplay_internal): Use it for the selected window.
	(redisplay_internal): Avoid duplicate mark_window_display_accurate
	for the selected frame.

2351
	* xdisp.c: Use make_number, for readability.
2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365 2366 2367 2368 2369 2370 2371 2372 2373 2374 2375 2376 2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398 2399 2400 2401 2402 2403 2404 2405 2406 2407 2408 2409 2410 2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423 2424 2425 2426 2427 2428 2429 2430 2431 2432 2433 2434 2435 2436 2437 2438 2439 2440 2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459 2460 2461 2462 2463 2464 2465 2466 2467 2468 2469 2470 2471 2472 2473 2474 2475 2476 2477 2478 2479 2480 2481 2482 2483 2484 2485 2486 2487 2488 2489 2490 2491 2492 2493 2494 2495 2496 2497 2498 2499 2500 2501 2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512 2513 2514 2515 2516 2517 2518 2519 2520 2521 2522 2523 2524 2525 2526 2527 2528 2529 2530 2531 2532 2533 2534 2535 2536 2537 2538 2539 2540 2541 2542 2543 2544 2545 2546 2547 2548 2549 2550 2551 2552 2553 2554 2555 2556 2557 2558 2559 2560 2561 2562 2563 2564 2565 2566 2567 2568 2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603 2604 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636 2637 2638 2639 2640 2641 2642 2643 2644 2645 2646 2647 2648 2649 2650 2651 2652 2653 2654 2655 2656 2657 2658 2659 2660 2661 2662 2663 2664 2665 2666 2667 2668 2669 2670 2671 2672 2673 2674 2675 2676 2677 2678 2679 2680 2681 2682 2683 2684 2685 2686 2687 2688 2689 2690 2691 2692 2693 2694 2695 2696 2697 2698 2699 2700 2701 2702 2703 2704 2705 2706 2707 2708 2709 2710 2711 2712 2713 2714 2715 2716 2717 2718 2719 2720 2721 2722 2723 2724 2725 2726 2727 2728 2729 2730 2731 2732 2733 2734 2735 2736 2737 2738 2739 2740 2741 2742 2743 2744 2745 2746 2747 2748 2749 2750 2751 2752 2753 2754 2755 2756 2757 2758 2759 2760 2761 2762 2763 2764 2765 2766 2767 2768 2769 2770 2771 2772 2773 2774 2775 2776 2777 2778 2779 2780 2781 2782 2783 2784 2785 2786 2787 2788 2789 2790 2791 2792 2793 2794 2795 2796 2797 2798 2799 2800 2801 2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822 2823 2824 2825 2826 2827 2828 2829 2830 2831 2832 2833 2834 2835 2836 2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864 2865 2866 2867 2868 2869 2870 2871 2872 2873 2874 2875 2876 2877 2878 2879 2880 2881 2882 2883 2884 2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899 2900 2901 2902 2903 2904 2905 2906 2907 2908 2909 2910 2911 2912 2913 2914 2915 2916 2917 2918 2919 2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930 2931 2932 2933 2934 2935 2936 2937 2938 2939 2940 2941 2942 2943 2944 2945 2946 2947 2948 2949 2950 2951 2952 2953 2954 2955 2956 2957 2958 2959 2960 2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985 2986 2987
	(try_window_id): Disable rows below the window end.
	(try_window_reusing_current_matrix): Use cursor_row_p.
	(try_window_reusing_current_matrix) <scrolling up>: Fix disabling
	of rows.
	(init_from_display_pos): If POS specifies a position in a display
	vector, maybe get the iterator set up for that ellipsis.

	* xdisp.c (dump_glyph_row): Fix output for NGLYPHS == 2.

2001-03-23  Eli Zaretskii  <eliz@is.elta.co.il>

	* xmenu.c: Include widget.h only if USE_X_TOOLKIT is defined.

2001-03-23  Gerd Moellmann  <gerd@gnu.org>

	* xfaces.c (x_update_menu_appearance): Use a different path
	for Lucid popup menus.

2001-03-22  Stefan Monnier  <monnier@cs.yale.edu>

	* xterm.c (note_mouse_highlight): Dec the int, not the Lisp_Object.

	* xdisp.c (init_iterator): Check WINDOWP before using XWINDOW.
	(string_buffer_position): Use `make_number'.

2001-03-22  Gerd Moellmann  <gerd@gnu.org>

	* xfaces.c (x_update_menu_appearance): Renamed from
	x_set_menu_face_resources.  Use different resources for popups.

	* lisp.h (Vx_resource_name) [HAVE_X_WINDOWS]: Declare extern.
	(GC_CHECK_STRING_BYTES): Don't define.

	* xfaces.c (x_set_menu_resources_from_menu_face) [USE_X_TOOLKIT]:
	Removed, together with subroutines.
	(x_set_menu_face_resources) [USE_X_TOOLKIT]: New function.
	(realize_basic_faces) [USE_X_TOOLKIT]: Call x_set_menu_face_resources.

	* dispextern.h (x_set_menu_resources_from_menu_face):
	Remove prototype.

	* xmenu.c (update_frame_menubar, set_frame_menubar, xmenu_show):
	Remove calls to x_set_menu_resources_from_menu_face.

	* xfaces.c (xm_set_menu_resources_from_menu_face):
	Remove #ifndef LESSTIF_VERSION.

	* xmenu.c: Include widget.h.
	(single_submenu): Return int.  Some cleanup.
	(set_frame_menubar): Call x_set_menu_resources_from_menu_face.

2001-03-21  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_update_window_end): Handle overwritten mouse face
	also for tool bar windows.
	(show_mouse_face): Set the glyph row's mouse_face_p flag also when
	DRAW is DRAW_IMAGE_RAISED.

2001-03-20  Gerd Moellmann  <gerd@gnu.org>

	* print.c (syms_of_print): Doc fixes.

	* fns.c (Fmd5): Doc fix.

2001-03-19  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (XTset_vertical_scroll_bar) [!USE_TOOLKIT_SCROLL_BARS]:
	Clear area of the frame not occupied by the scroll bar.

	* xfns.c (x_create_tip_frame): Add parameter TEXT.  Set the
	tip frame's root window buffer to *tip* right after creating
	the frame.

	* xdisp.c (highlight_trailing_whitespace): Glyphs whose object
	is an integer don't have to be for space characters.

2001-03-16  Gerd Moellmann  <gerd@gnu.org>

	* indent.c (current_column, current_column_1, Fmove_to_column)
	(compute_motion): Handle characters from display vectors differently.

2001-03-15  Kenichi Handa  <handa@etl.go.jp>

	* xterm.c (x_draw_glyph_string): Draw relief (if any) before
	drawing glyph string.

2001-03-15  Gerd Moellmann  <gerd@gnu.org>

	* keyboard.c (timer_check): Preserve the value of deactivate-mark.
	(command_loop_1): Undo last change.

	* xterm.c (fast_find_position): Return the correct vpos.

	* data.c (store_symval_forwarding): Add parameter BUF.  If BUF is
	non-null, set a per-buffer value in BUF instead of the current buffer.
	(swap_in_global_binding, swap_in_symval_forwarding, Fset_default):
	Call store_symval_forwarding with BUF null.
	(set_internal): Call store_symval_forwarding with the BUF
	parameter passed to set_internal.  Formerly, the value was always
	set in the current buffer; the buffer recorded in specbind for
	this case wasn't used.
	(arith_driver): Reindent.

	* buffer.c (swap_out_buffer_local_variables):
	Call store_symval_forwarding with BUF null.

	* lisp.h (store_symval_forwarding): Change prototype.

	* eval.c (specbind): Call store_symval_forwarding with BUF null.

2001-03-14  Gerd Moellmann  <gerd@gnu.org>

	* frame.c (do_switch_frame): Remove unused parameter NO_EVENT, add
	FOR_DELETION.  Avoid resizing the mini-window of the selected
	frame if FOR_DELETION is set.
	(Fselect_frame, Fhandle_switch_frame, Fdelete_frame)
	(Fmake_frame_invisible): Change calls to do_switch_frame for new
	signature.

	* window.c (Fset_window_configuration): Change call to
	do_switch_frame to new format.

	* keyboard.c (quit_throw_to_read_char): Change call to
	do_switch_frame to new format.

	* lisp.h (do_switch_frame): Change prototype.

	* frame.c (Fframe_parameters): In the `buffer-list' frame
	parameter, store the buffer list of FRAME, not the list of the
	selected frame.

	* xterm.c (x_draw_glyph_string_box): Don't draw a full-width
	box just because the glyph row's full_width_p flag is set.

2001-03-14  Eli Zaretskii  <eliz@is.elta.co.il>

	* xdisp.c (highlight_trailing_whitespace): On character terminals,
	skip the padding blanks inserted in extend_face_to_end_of_line,
	before checking for trailing whitespace.

2001-03-13  Gerd Moellmann  <gerd@gnu.org>

	* xmenu.c (popup_activate_callback, popup_deactivate_callback):
	Remove special handling for LessTif/Motif.
	(toplevel): Don't include Xm/Xm.h.

	* xterm.c (XTread_socket) <LeaveNotify, EnterNotify>:
	Remove workaround code for LessTif; it doesn't work anymore.

	* xterm.c [USE_TOOLKIT_SCROLL_BARS && USE_MOTIF]: Don't include
	Xm/ScrollBarP.h.

	* xterm.c (x_set_toolkit_scroll_bar_thumb) [USE_MOTIF]:
	Don't access private scroll bar data; it's no longer necessary with
	contemporary LessTif.

	* xfaces.c (xm_set_menu_resources_from_menu_face):
	Change #if 0 to #ifndef LESSTIF_VERSION.

	* xmenu.c (xmenu_show) [LESSTIF_VERSION]: Take out the code
	removing button grabs.

2001-03-13  Kenichi Handa  <handa@etl.go.jp>

	* fontset.c (syms_of_fontset): Describe highlight-wrong-size-font
	and clip-large-size-font as obsolete.

	* lread.c (read_multibyte): Check the validity of multibyte
	sequence.  If invalid, return the first byte.

2001-03-12  Gerd Moellmann  <gerd@gnu.org>

	* keyboard.c (command_loop_1): Set Vdeactivate_mark to nil
	before running the command; timer functions or process
	filters may have set it.

2001-03-12  Eli Zaretskii  <eliz@is.elta.co.il>

	* keyboard.c (syms_of_keyboard) <overriding-terminal-local-map>:
	Doc fix.

2001-03-12  Gerd Moellmann  <gerd@gnu.org>

	* xrdb.c (x_load_resources) [USE_MOTIF]: Remove extraneous arg
	to sprintf.

2001-03-09  Gerd Moellmann  <gerd@gnu.org>

	* dispextern.h (string_buffer_position): Add prototype.

	* xdisp.c (string_buffer_position, display_prop_string_p)
	(single_display_prop_string_p): New functions.

	* xterm.c (note_mouse_highlight): If there's no help-echo on
	a string, look at the buffer text ``under'' it.

	* keyboard.c (make_lispy_event): Add string info to the event,
	analogous to what's done on mode lines.
	(read_key_sequence): For a click on a string, consider `local-map'
	and `keymap' of that string.

	* keyboard.c (make_lispy_event, make_lispy_movement):
	Adjust calls to buffer_posn_from_coords to new format.

	* dispextern.h (buffer_posn_from_coords): Adjust prototype.

	* dispnew.c (buffer_posn_from_coords): Add parameters OBJECT and
	POS; return void.

	* fileio.c (Fwrite_region) [DOS_NT]: Remove O_TRUNC from open
	flags argument to emacs_open; it seems to conflict with O_EXCL.

2001-03-09  Kenichi Handa  <handa@etl.go.jp>

	* composite.h (struct composition): Change types of members;
	glyph_len to unsigned, width to unsigned short.

2001-03-08  Andrew Innes  <andrewi@gnu.org>

	* w32menu.c (add_menu_item): Fix problems with using ownerdraw for
	menu titles.

2001-03-08  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (handle_display_prop): Use it->w->buffer as object,
	instead of nil.

	* xterm.c (note_mouse_highlight): Handle mouse-face and
	help-echo in strings.
	(x_y_to_hpos_vpos): Add parameter BUFFER_ONLY_P.
	(fast_find_string_pos): New function.

	* xdisp.c (handle_face_prop, face_before_or_after_it_pos)
	(display_string): Call face_at_string_position with new parameter.

	* xfaces.c (face_at_string_position): Add parameter MOUSE_P.
	Handle `mouse-face'.

	* dispextern.h (face_at_string_position): Change prototype.

	* dired.c (directory_files_internal): Handle EAGAIN more efficiently.

	* keyboard.c (make_lispy_event): Avoid generating drag events
	if the mouse hasn't actually moved to another buffer position.

2001-03-08  Dave Love  <fx@gnu.org>

	* eval.c (syms_of_eval) <debug-on-error>: Doc fix.

2001-03-08  Gerd Moellmann  <gerd@gnu.org>

	* process.c (Fset_process_window_size): Fix a typo.

2001-03-08  Kenichi Handa  <handa@etl.go.jp>

	* coding.c (detect_coding_sjis): Do more rigid check.
	(detect_coding_big5): Likewise.
	(decode_coding_sjis_big5): Likewise.
	(Fdetect_coding_region): Call detect_coding_system with tailing
	anchor byte `\0' for more rigid detection.
	(detect_coding_mask): Fix the incorrect handling of arg MULTIBYTEP.
	(Fdetect_coding_string): Likewise.

2001-03-07  Stefan Monnier  <monnier@cs.yale.edu>

	* bytecode.c (Fbyte_code) <Btemp_output_buffer_setup>: Check the arg is
	a string before extracting its data.

2001-03-07  Gerd Moellmann  <gerd@gnu.org>

	* window.c (Frecenter): Rewrite code handling negative values
	of ARG on graphical frames.

2001-03-07  Eli Zaretskii  <a34785@is.elta.co.il>

	* window.c (displayed_window_lines): If W->start is outside the
	accessible portion of the buffer, call start_display with BEGV or
	ZV instead of W->start.

2001-03-07  Gerd Moellmann  <gerd@gnu.org>

	* buffer.c (syms_of_buffer) <header-line-format>: Doc fix.

	* process.c (Fset_process_filter): Don't crash if the input
	file descriptor of PROCESS is closed.
	(Fset_process_window_size): Likewise.

2001-03-06  Kenichi Handa  <handa@etl.go.jp>

	* xterm.c (XTflash): Make the timeout of select shorter, and call
	select repeatedly until the desired time expires.

2001-03-06  Gerd Moellmann  <gerd@gnu.org>

	* w32fns.c (Fx_create_frame): Clear Vwindow_list.

	* xfns.c (Fx_create_frame): Clear Vwindow_list.

	* lisp.h (Vwindow_list): Declare extern.

2001-03-06  Eli Zaretskii  <eliz@is.elta.co.il>

	* dispnew.c (syms_of_display) <glyph-table>: Doc fix.

2001-03-06  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (note_mouse_highlight): Call mouse_face_overlay_overlaps
	to detect a case where we have to highlight a different region
	despite not having left the currently highlighted region.
	Set mouse_face_overlay in the x_display_info.
	(x_term_init): Initialize the x_display_info's mouse_face_overlay.

	* xterm.h (struct x_display_info): Add mouse_face_overlay.

	* buffer.c (mouse_face_overlay_overlaps): New function.

	* lisp.h (mouse_face_overlay_overlaps): Add prototype.
	(Qmouse_face): Declare extern.

	* xdisp.c (redisplay_internal): Set windows_or_buffers_changed
	if face_change_count is non-zero.

2001-03-06  Kenichi Handa  <handa@etl.go.jp>

	* ccl.c (ccl_driver) <CCL_ReadMultibyteChar2>: Fix for the case
	that the source is unibyte.

2001-03-05  Dave Love  <fx@gnu.org>

	* xterm.c (XTmouse_position): Fix typo.

2001-03-05  Gerd Moellmann  <gerd@gnu.org>

	* minibuf.c (read_minibuf): Clean up the binding stack if
	called noninteractively.

2001-03-05  Kenichi Handa  <handa@etl.go.jp>

	* coding.c (syms_of_coding): Docstring modified.

2001-03-05  Kenichi Handa  <handa@etl.go.jp>

	* charset.c (char_to_string): If a single byte char has modifier
	bits that can't be reflected to the character code, ignore them
	instead of signaling an error.

2001-03-04  Eli Zaretskii  <eliz@is.elta.co.il>

	* s/msdos.h: Update copyright notice.

	* dosfns.h: Update copyright notice.

	* dosfns.c: Update copyright notice.

	* msdos.c: Update copyright notice.

2001-03-02  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (glyph_rect): New function.
	(XTmouse_position): Use it to raise the threshold for mouse
	movement event generation.

2001-03-02  Eli Zaretskii  <eliz@is.elta.co.il>

	* msdos.c (Fmsdos_remember_default_colors): If default-frame-alist
	specifies (reverse . t), reverse the initial screen colors.
	(IT_set_frame_parameters): If the property is foreground-color,
	but we are reversing the colors, set bg_set, not fg_set.
	Likewise for setting background-color and reversing: set fg_set.
	Set unspecified-fg and unspecified-bg correctly when (reverse . t) is
	in effect.

	* xfaces.c (Finternal_set_lisp_face_attribute)
	[!HAVE_WINDOW_SYSTEM]: Record the new attribute in the frame's
	parameters alist.

2001-03-02  Gerd Moellmann  <gerd@gnu.org>

	* fileio.c (Fexpand_file_name): Collapse sequences of slashes
	to a single slash in the middle of file names.

	* editfns.c (Fcurrent_time_zone) [HAVE_TM_ZONE || HAVE_TZNAME]:
	Accept only alphanumeric time zone names.

	* xterm.c (XTset_vertical_scroll_bar): Don't clear a zero height
	or width area.
	(XTset_vertical_scroll_bar, x_scroll_bar_create): Don't configure
	a widget to zero height.

2001-03-01  Gerd Moellmann  <gerd@gnu.org>

	* window.c (Fwindow_end): Call move_it_past_eol only if
	ending up on a partially visible line.

2001-03-01  Dave Love  <fx@gnu.org>

	* ccl.c (Fccl_execute): Doc fix.

2001-03-01  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (Fx_create_frame): Adjust the frame's height for presence
	of the tool bar before calling x_figure_window_size.

	* xmenu.c (free_frame_menubar): Set the frame's menubar_widget to
	NULL after destroying it, otherwise XTread_socket can access a
	destroyed widget when input is unblocked.

	* xfns.c (x_set_foreground_color): Set the background of the cursor GC.

	* xfns.c (x_set_font): Handle case of x_new_fontset returning the
	same name as before, although there was a change in fontsets.

2001-02-28  Ken Raeburn  <raeburn@gnu.org>

	* lisp.h (Fframe_parameter): Declare.

	* window.c (set_window_buffer): Field vscroll is an int, not a
	Lisp_Object.

2001-02-28  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_set_window_size): Don't use `None' with widgets; use
	NULL instead.

	* xfns.c (Fx_hide_tip): Don't use `None' with widgets; use
	NULL instead.

	* alloc.c (toplevel): Include process.h.
	(enum mem_type): Add MEM_TYPE_PROCESS, MEM_TYPE_HASH_TABLE,
	MEM_TYPE_FRAME, MEM_TYPE_WINDOW enumerators.
	(allocate_vectorlike): Make it a static function.  Add parameter TYPE.
	(allocate_vector, allocate_hash_table, allocate_window)
	(allocate_frame, allocate_process, allocate_other_vector):
	New functions.
	(Fmake_vector): Call allocate_vector instead of allocate_vectorlike.
	(mark_maybe_pointer): New function.
	(mark_memory): Also mark Lisp data to which only pointers
	remain and not Lisp_Objects.
	(min_heap_address, max_heap_address): New variables.
	(mem_find): Return MEM_NIL if START is below min_heap_address or
	above max_heap_address.
	(mem_insert): Compute min_heap_address and max_heap_address.

	* process.c (make_process): Use allocate_process.

	* frame.c (make_frame): Use allocate_frame.

	* window.c (make_window, make_dummy_parent): Use allocate_window.
	(Fcurrent_window_configuration): Use allocate_other_vector.

	* lisp.h (allocate_vectorlike): Remove prototype.
	(allocate_vector, allocate_other_vector, allocate_frame)
	(allocate_window, allocate_process, allocate_hash_table):
	Add prototypes.

	* fns.c (Fdelete, larger_vector): Use allocate_vector.
	(make_hash_table, copy_hash_table): Use allocate_hash_table.

2001-02-27  Kenichi Handa  <handa@etl.go.jp>

	* coding.c (ccl_coding_driver): If ccl->eight_bit_control is zero,
	treat the produced bytes as a valid multibyte sequence.

	* ccl.c (CCL_WRITE_MULTIBYTE_CHAR): New macro.
	(ccl_driver) <CCL_WriteMultibyteChar2>:
	Use CCL_WRITE_MULTIBYTE_CHAR instead of CCL_WRITE_CHAR.
	<ccl_finish>: Set ccl->eight_bit_control properly.

	* ccl.h (struct ccl_program): New member eight_bit_control.

2001-02-26  Stefan Monnier  <monnier@cs.yale.edu>

	* keymap.c (Faccessible_keymaps): Pass `is_metized' to
	accessible_keymaps_char_table.
	(accessible_keymaps_char_table): Obey `is_metized'.
	(where_is_internal, Fwhere_is_internal): Don't confuse int and
	Lisp_Object.

2001-02-26  Gerd Moellmann  <gerd@gnu.org>

	* dispnew.c: Check HAVE_TERM_H before including term.h.

2001-02-24  Andrew Innes  <andrewi@gnu.org>

	* makefile.w32-in: Update copyright notice.

2001-02-24  Stefan Monnier  <monnier@cs.yale.edu>

	* keymap.c (where_is_internal): Accept non-ascii integer prefixes.

2001-02-24  Kenichi Handa  <handa@etl.go.jp>

	* Makefile.in (lisp): Add international/utf-8.elc.

	* fontset.c (Fnew_fontset): Fix handling of the case that an
	element of FONTLIST is a cons of family and registry.

2001-02-23  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (Fx_create_frame): Don't add FRAME_TOOL_BAR_LINES
	to height unconditionally.

	* w32term.c (x_set_glyph_string_background_width): Extend the
	background face to the end of the drawing area in the text area, only.
	(x_insert_glyphs): Call window_box_left to obtain the left
	x-coordinate of the area to shift.

	* w32menu.c (set_frame_menubar): Run activate-menu-bar-hook with
	safe_run_hooks.

2001-02-22  Andrew Innes  <andrewi@gnu.org>

	* makefile.nt ($(BLD)\dired.obj): Remove reference to VMS header files.
	($(BLD)\dispnew.obj):
	($(BLD)\editfns.obj):
	($(BLD)\fileio.obj):
	($(BLD)\filelock.obj):
	($(BLD)\keyboard.obj):
	($(BLD)\w32proc.obj):
	($(BLD)\process.obj):
	($(BLD)\sysdep.obj): Ditto.

	* makefile.w32-in ($(BLD)/dired.$(O)): Remove reference to VMS
	header files.
	($(BLD)/dispnew.$(O)):
	($(BLD)/editfns.$(O)):
	($(BLD)/fileio.$(O)):
	($(BLD)/filelock.$(O)):
	($(BLD)/keyboard.$(O)):
	($(BLD)/w32proc.$(O)):
	($(BLD)/process.$(O)):
	($(BLD)/sysdep.$(O)): Ditto.

2001-02-22  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (forward_to_next_line_start): When taking the shortcut
	at the start of the function, check that the \n in it->c is
	from the iterator's current position.

	* xdisp.c (handle_single_display_prop): Add parameter
	DISPLAY_REPLACED_BEFORE_P.  If it is non-zero ignore display
	properties which replace the display of text with something else.
	(handle_display_prop): Call handle_single_display_prop with
	additional argument saying if we already replaced text display
	with something else.  Use AREF.
	(with_echo_area_buffer_unwind_data, display_menu_bar)
	(decode_mode_spec_coding): Use AREF and ASIZE.

	* vms-pp.c, vmsdir.h, vmsmap.c, vmsproc.h, vms-pp.trans, vmsfns.c,
	* vmspaths.h, vmstime.c, vms-pwd.h, vmsgmalloc.c, vmsproc.c,
	* vmstime.h: Files removed.

	* unexencap.c, unexfx2800.c: Files removed.

	* dispnew.c (direct_output_for_insert): Give up if we are showing
	a message or just cleared the message because we might need to
	resize the echo area window or display an empty echo area.

2001-02-21  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (redisplay_internal): Do the
	mark_window_display_accurate after all windows have been
	redisplayed because this call resets flags in buffers which are
	needed for proper redisplay.

	* keyboard.c, minibuf.c, lread.c, fns.c, eval.c:
	Use display_hourglass_p, start_hourglass, cancel_hourglass instead of
	the old names.

	* w32term.h (struct x_output): Rename busy_cursor to hourglass_cursor,
	busy_window to hourglass_window, busy_p to hourglass_p.

	* msdos.h (struct x_output): Rename busy_window to
	hourglass_window, busy_p to hourglass_p.

	* xterm.h (struct x_output): Rename busy_cursor to hourglass_cursor,
	busy_window to hourglass_window, busy_p to hourglass_p.

	* xfns.c: Rename everything containing *busy_cursor* and similar
	to *hourglass*.
	(syms_of_w32fns): Rename x-busy-pointer-shape to
	x-hourglass-pointer-shape, display-busy-cursor to
	display-hourglass, busy-cursor-delay to hourglass-delay.

	* w32fns.c: Rename everything containing *busy_cursor* and similar
	to *hourglass*.
	(syms_of_w32fns): Rename x-busy-pointer-shape to
	x-hourglass-pointer-shape, display-busy-cursor to
	display-hourglass, busy-cursor-delay to hourglass-delay.

	* xterm.c (XTread_socket): Test x_output's hourglass_p instead
	of its busy_p flag.

	* dispextern.h (start_hourglass, cancel_hourglass)
	(display_hourglass_p): Renamed from *busy_cursor*.

2001-02-20  Gerd Moellmann  <gerd@gnu.org>

	* keyboard.c (read_char): When an event from unread-command-events
	is from the tool or menu bar, set *USE_MOUSE_MENU to 1.

	* window.c (Fwindow_end): Handle case that WINDOW's buffer is not
	equal to the current buffer.

	* xdisp.c (setup_echo_area_for_printing): Set truncate_lines to
	nil, otherwise we're left with truncate_lines t when a message
	is printed with message-truncate-lines bound to t.

2001-02-19  Gerd Moellmann  <gerd@gnu.org>

	* window.c (Fmove_to_window_line): Undo last change.
	(displayed_window_lines): Call line_bottom_y to determine
	the line's bottom position.

	* dispextern.h (line_bottom_y): Add prototype.

	* xdisp.c (line_bottom_y): New function extracted from pos_visible_p.
	(pos_visible_p): Use it.

	* keyboard.c (recursive_edit_1): Bind `inhibit-redisplay' and
	set redisplaying_p to 0 here instead of in Frecursive_edit.
	(Frecursive_edit): Don't bind `inhibit-redisplay' and don't
	set redisplaying_p.

	* xdisp.c (Qinhibit_menubar_update, inhibit_menubar_update):
	New variables.
	(syms_of_xdisp): Initialize new variables.
	(update_menu_bar): Do nothing if inhibit_menubar_update is set.
	Specbind `inhibit-menubar-update' when updating the menu bar.

	* xmenu.c (set_frame_menubar): Run activate-menu-bar-hook with
	safe_run_hooks.

	* xdisp.c (update_menu_bar): Run activate-menu-bar-hook with
	safe_run_hooks.

Juanma Barranquero's avatar
Juanma Barranquero committed
2988
	* emacs.c (malloc_initialize_hook): Handle case that `environ'
2989 2990 2991 2992 2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003 3004 3005 3006 3007 3008 3009 3010 3011 3012 3013 3014 3015 3016 3017 3018 3019 3020 3021 3022 3023 3024 3025 3026 3027 3028 3029 3030 3031 3032 3033 3034 3035 3036 3037 3038 3039 3040 3041 3042 3043 3044 3045 3046 3047 3048 3049 3050 3051 3052 3053 3054 3055 3056 3057 3058 3059 3060 3061 3062 3063 3064 3065 3066 3067 3068 3069 3070 3071 3072 3073 3074 3075 3076 3077 3078 3079 3080 3081 3082 3083 3084 3085 3086 3087 3088 3089 3090 3091 3092 3093 3094 3095 3096 3097 3098 3099 3100 3101 3102 3103 3104 3105 3106 3107 3108 3109 3110 3111
	is null.

	* ralloc.c (__morecore) [!SYSTEM_MALLOC]: Move declaration
	to the start of the file.

2001-02-16  Gerd Moellmann  <gerd@gnu.org>

	* window.c (set_window_buffer): Fix last change.

	* window.c (set_window_buffer): Set window's vscroll to 0.

	* window.c (coordinates_in_window): Increase width of area
	where the vertical line can be dragged.

	* xterm.c (x_set_glyph_string_background_width): Extend the
	background face to the end of the drawing area in the text
	area, only.

	* xdisp.c (handle_single_display_prop): Set iterator's position
	to where the `display' property starts, like for images.
	(dump_glyph): New function.
	(dump_glyph_row): Use it.  Dump info about marginal areas.

	* dispnew.c (direct_output_for_insert): Recognize more cases where
	glyphs can be written instead of being inserted.

	* xterm.c (x_insert_glyphs): Call window_box_left to obtain
	the left x-coordinate of the area to shift.

	* dired.c (directory_files_internal): Set result list to nil
	before retrying.

2001-02-15  Kenichi Handa  <handa@etl.go.jp>

	* ccl.c (ccl_driver) [CCL_ReadMultibyteChar2]: If SRC points an
	invalid multibyte sequence, treat *SRC as a character of
	eight-bit-graphic.

2001-02-15  Eli Zaretskii  <eliz@is.elta.co.il>

	* textprop.c (Fset_text_properties): Doc fix.

2001-02-15  Gerd Moellmann  <gerd@gnu.org>

	* dispnew.c (update_text_area): Undo change of 2001-01-12.

2001-02-14  Dave Love  <fx@gnu.org>

	* coding.c: Doc and message fixes.

2001-02-14  Andrew Innes  <andrewi@gnu.org>

	* w32fns.c (w32_wnd_proc) <WM_GETMINMAXINFO>: Allow resizing the
	Emacs frame above the screen size.

2001-02-14  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (reseat_1): Set iterator's end_charpos to ZV.

2001-02-13  Gerd Moellmann  <gerd@gnu.org>

	* insdel.c (del_range_1, del_range_byte, del_range_both): Handle
	case that TO ends up beyond ZV after running before-change-functions.

	* window.c (window_loop) <GET_BUFFER_WINDOW>: Prefer to return
	the selected window if it is showing the buffer in question.

	* dired.c (directory_files_internal): Initialize errno.
	(toplevel): Include errno.h.

2001-02-13  Kenichi Handa  <handa@etl.go.jp>

	* xfaces.c (best_matching_font): New parameter width_ratio.
	Multiply avgwidth by width_ratio.
	(choose_face_font): Call best_matching_font with width_ratio
	calculated from the column width of C.

2001-02-12  Andrew Innes  <andrewi@gnu.org>

	The following changes are to draw box lines inside characters area
	if line-width is negative.

	* w32term.c (x_produce_image_glyph): Pay attention to the case that
	face->box_line_width is negative.
	(x_produce_stretch_glyph): Likewise.
	(x_produce_glyphs): Likewise.
	(x_estimate_mode_line_height): Likewise.
	(x_draw_glyph_string_background): Likewise.
	(x_draw_glyph_string_foreground): Likewise.
	(x_draw_composite_glyph_string_foreground): Likewise.
	(x_draw_glyph_string_box): Likewise.
	(x_draw_image_foreground): Likewise.
	(x_draw_image_relief): Likewise.
	(x_draw_image_foreground_1): Likewise.
	(x_draw_image_glyph_string): Likewise.

2001-02-09  Kenichi Handa  <handa@etl.go.jp>

	The following changes are to draw box lines inside characters area
	if line-width is negative.

	* xterm.c (x_produce_image_glyph): Pay attention to the case that
	face->box_line_width is negative.
	(x_produce_stretch_glyph): Likewise.
	(x_produce_glyphs): Likewise.
	(x_estimate_mode_line_height): Likewise.
	(x_draw_glyph_string_background): Likewise.
	(x_draw_glyph_string_foreground): Likewise.
	(x_draw_composite_glyph_string_foreground): Likewise.
	(x_draw_glyph_string_box): Likewise.
	(x_draw_image_foreground): Likewise.
	(x_draw_image_relief): Likewise.
	(x_draw_image_foreground_1): Likewise.
	(x_draw_image_glyph_string): Likewise.

	* xfaces.c (Finternal_set_lisp_face_attribute): The value of :box
	and :line-width can be negative.
	(realize_x_face): The value of attrs[LFACE_BOX_INDEX] can be negative.

2001-02-09  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (w32_encode_char): Treat eight bit graphic and control
	characters the same as ASCII and latin-1.
Juanma Barranquero's avatar
Juanma Barranquero committed
3112
	(x_display_and_set_cursor): Check for the focus frame's selected
3113 3114 3115 3116 3117 3118 3119 3120 3121
	window instead of selected_window.
	(x_after_update_window_line): Don't clear if frame's internal
	border width is zero.
	(x_new_font): Don't change a tooltip's size.
	(w32_initialize): Set char_ins_del_ok to 1.

	* w32fns.c (Fx_show_tip): Fix calls to make_number.
	(x_set_font): If font hasn't changed, avoid recomputing
	faces and other things.
Juanma Barranquero's avatar
Juanma Barranquero committed
3122
	(x_set_tool_bar_lines): Do nothing if frame is minibuffer-only.
3123 3124 3125 3126 3127 3128 3129 3130 3131 3132 3133 3134 3135 3136 3137 3138 3139 3140 3141 3142 3143 3144 3145 3146 3147 3148 3149 3150 3151 3152 3153 3154 3155 3156 3157 3158 3159 3160 3161 3162 3163 3164 3165 3166 3167 3168 3169 3170 3171 3172 3173 3174 3175 3176 3177 3178 3179 3180 3181 3182 3183 3184 3185 3186 3187 3188 3189 3190 3191 3192 3193 3194 3195 3196 3197 3198 3199 3200 3201 3202 3203 3204 3205 3206 3207 3208 3209 3210 3211 3212 3213 3214 3215 3216 3217 3218 3219 3220 3221 3222 3223 3224 3225 3226 3227 3228 3229 3230 3231 3232 3233 3234 3235 3236 3237 3238 3239 3240 3241 3242 3243 3244 3245 3246 3247 3248 3249 3250 3251 3252 3253 3254 3255 3256 3257 3258 3259 3260 3261 3262 3263 3264 3265 3266 3267 3268 3269 3270 3271 3272 3273 3274 3275 3276 3277 3278 3279 3280 3281 3282 3283 3284 3285 3286 3287 3288 3289 3290 3291 3292 3293 3294 3295 3296 3297 3298 3299 3300 3301 3302 3303 3304 3305 3306 3307 3308 3309 3310 3311 3312 3313 3314 3315 3316 3317 3318 3319 3320 3321 3322 3323 3324 3325 3326 3327 3328 3329 3330 3331 3332 3333 3334 3335 3336 3337 3338 3339 3340 3341 3342 3343 3344 3345 3346 3347 3348 3349 3350 3351 3352 3353 3354 3355 3356 3357 3358 3359
	(Fx_create_frame): Add the tool bar height to the frame height.
	(x_create_tip_frame): Prevent changing the tooltip's
	background color by specifying a color for the default font
	in .Xdefaults.
	(Qcancel_timer): New variable.
	(syms_of_w32fns): Initialize and staticpro it.
	(Fx_hide_tip, Fx_show_tip): Use it.
	(Fx_show_tip): Make sure to set tip_timer to nil when canceling
	the timer.
	(toplevel): Lisp code for generating parts of syms_of_w32fns removed.

	* w32.c (init_environment): Duplicate local string before putenv.

2001-02-09  ShengHuo ZHU  <zsh@cs.rochester.edu>

	* charset.c (Fstring): A typo.

2001-02-09  Kenichi Handa  <handa@etl.go.jp>

	* charset.c (Fstring): If all arguments are less than 256, return
	a unibyte string.

	* editfns.c (Fchar_to_string): If CHARACTER is less than 256,
	return a unibyte string.

	* coding.c (code_convert_region): After detecting a coding, if
	nothing found, set coding->composing to COMPOSITION_NO.
	(decode_coding_string): Likewise.

2001-02-08  Stefan Monnier  <monnier@cs.yale.edu>

	* w32term.c (w32_set_scroll_bar_thumb): Use `double' for `range'
	to avoid overflow.

2001-02-07  Kenichi Handa  <handa@etl.go.jp>

	* charset.c (parse_str_to_multibyte): New function.

	* charset.h (parse_str_to_multibyte): Extern it.

	* print.c (print_string): If we are going to print a unibyte
	string into a multibyte buffer, convert the string to multibyte by
	str_to_multibyte.

2001-02-06  Andrew Innes  <andrewi@gnu.org>

	* w32xfns.c (select_palette): Do nothing if palette hasn't yet
	been created.  It seems we can get sent window messages such as
	WM_ERASEBKGND before we properly update a frame.

2001-02-06  Gerd Moellmann  <gerd@gnu.org>

	* dispnew.c (update_frame_line): Rename parameter FRAME to F.
	Avoid some unnecessary cursor positioning.

2001-02-05  Gerd Moellmann  <gerd@gnu.org>

	* xfaces.c (split_font_name): Compute numeric value of XLFD_AVGWIDTH.
	(LFACE_AVGWIDTH): New macro.
	(LFACEP): Use AREF.
	(check_lface_attrs): Check LFACE_AVGWIDTH.
	(lface_fully_specified_p): Don't check LFACE_AVGWIDTH.
	(set_lface_from_font_name): Set LFACE_AVGWIDTH.
	(merge_face_vectors): Check LFACE_AVGWIDTH.
	(Finternal_make_lisp_face): Use AREF.
	(xm_set_menu_resources_from_menu_face)
	(xl_set_menu_resources_from_menu_face): Check LFACE_AVGWIDTH.
	(Finternal_lisp_face_empty_p): Use AREF.
	(lface_same_font_attributes_p): Compare LFACE_AVGWIDTH.
	(better_font_p, exact_face_match_p): Add parameter AVGWIDTH.
	Compare average widths..
	(best_matching_font): Arrange for comparing average widths.

	* dispextern.h (enum lface_attribute_index):
	Add LFACE_AVGWIDTH_INDEX (invisible from Lisp).

2001-02-05  Dave Love  <fx@gnu.org>

	* puresize.h: Revert last change following loadup.el change.

2001-02-05  Andrew Innes  <andrewi@gnu.org>

	* makefile.w32-in ($(EMACS)): Use $(THISDIR) instead of . in
	invocation of temacs, to work with Windows 2000.
	(bootstrap-emacs): Ditto.

2001-02-05  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_display_and_set_cursor): Check for the focus
	frame's selected window instead of selected_window.

	* xdisp.c (try_scrolling): If point is in the line below the
	window, make sure to move the iterator at least a canonical
	char height down.

	* window.c (Fmove_to_window_line): Don't add 1 if window is vscrolled.

2001-02-05  Kenichi Handa  <handa@etl.go.jp>

	* ccl.c (CCL_WRITE_CHAR): Check if CH is valid or not.
	If invalid, execute CCL_INVALID_CMD.
	(ccl_driver): If the CCL program is terminated because of
	CCL_STAT_INVALID_CMD, copy the remaining source data to the
	destination instead of throwing them away.

2001-02-02  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (x_set_font): If font hasn't changed, avoid recomputing
	faces and other things.

	* xdisp.c (get_next_display_element): Fix case of empty
	display table entry.

2001-02-02  Eli Zaretskii  <eliz@is.elta.co.il>

	* editfns.c (Fconstrain_to_field): Doc fix.

	* xfaces.c (Fclear_face_cache): Rename the `thorougly' argument
	into `thoroughly', to make it consistent with the doc string.

	* window.c (Fenlarge_window, Fshrink_window): Doc fix.

2001-02-01  Gerd Moellmann  <gerd@gnu.org>

	* search.c (search_buffer): Call set_search_regs with a byte
	position, not a character position.

	* xfns.c (x_set_tool_bar_lines): Do nothing if frame is
	minibuffer-only,

2001-02-01  Eli Zaretskii  <eliz@is.elta.co.il>

	* frame.c (Fmodify_frame_parameters): Doc fix.

2001-01-31  Gerd Moellmann  <gerd@gnu.org>

	* frame.h (EMACS_FRAME_H_INCLUDED): Use an include blocker
	identifier which is not reserved by Standard C.

	* frame.h (FRAME_RIGHT_SCROLL_BAR_WIDTH): New define.

	* window.c (enum window_part): New enumeration.
	(Qleft_fringe, Qright_fringe): Replace Qleft_bitmap_area and
	Qright_bitmap_area.
	(coordinates_in_window): Return an enumerator from enum
	window_part.  Fix handling of right scroll bar.
	(Fcoordinates_in_window_p): Doc fix.  Return `left-fringe' and
	`right-fringe' instead of `left-bitmap-area' and
	`right-bitmap-area'.  Use enumerators from enum window_part
	instead of hard-coded integers.
	(check_window_containing, window_from_coordinates):
	Use enumerators from enum window_part instead of hard-coded integers.
	(syms_of_window): Replace Qleft_bitmap_area and
	Qright_bitmap_area.with Qleft_fringe and Qright_fringe.

2001-01-31  Eli Zaretskii  <eliz@is.elta.co.il>

	* editfns.c (Fformat_time_string): Doc fix.

2001-01-31  Stefan Monnier  <monnier@cs.yale.edu>

	* keymap.c (Fwhere_is_internal): Use the first valid binding
	if no ascii binding is found (when firstonly is t).

2001-01-31  Gerd Moellmann  <gerd@gnu.org>

	* window.c (Fscroll_right, Fscroll_left): Use interactive_p
	instead of Finteractive_p.

	* lisp.h (interactive_p): Add prototype.

	* eval.c (interactive_p): New function.
	(Finteractive_p): Use it.

	* alloc.c (Fmake_list): Add a QUIT in the loop; unroll the loop.

2001-01-31  Dave Love  <fx@gnu.org>

	* .gdbinit (hook-run): Define to run xreload.

	* textprop.c (Fset_text_properties): Fix newline in doc string.

2001-01-30  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (build_desired_tool_bar_string, syms_of_xdisp):
	Use DEFAULT_TOOL_BAR_BUTTON_MARGIN and DEFAULT_TOOL_BAR_BUTTON_RELIEF.

	* dispextern.h (Vtool_bar_button_margin:): Declare extern.
	(DEFAULT_TOOL_BAR_BUTTON_MARGIN, DEFAULT_TOOL_BAR_BUTTON_RELIEF)
	(DEFAULT_TOOL_BAR_IMAGE_HEIGHT): New defines.

	* xfns.c (Fx_create_frame): Add the tool bar height to the frame
	height.

2001-01-30  Dave Love  <fx@gnu.org>

	* bytecode.c (Fbyte_code) <Bgeq>: Add BEFORE_POTENTIAL_GC and
	AFTER_POTENTIAL_GC.

2001-01-29  Gerd Moellmann  <gerd@gnu.org>

	* bytecode.c (Fbyte_code) <Bcurrent_column>:
	Add BEFORE_POTENTIAL_GC and AFTER_POTENTIAL_GC.

2001-01-29  Eli Zaretskii  <eliz@is.elta.co.il>

	* textprop.c (Fset_text_properties): Doc fix.

2001-01-29  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (forward_to_next_line_start): Remove xassert.

2001-01-29  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (x_draw_row_bitmaps): Delay obtaining HDC to avoid
	returning without releasing it.

2001-01-29  Kenichi Handa  <handa@etl.go.jp>

	* w32fns.c (w32_font_match): Allocate three more bytes to regex
	for '^', '$', and '\0'.

2001-01-28  Andrew Choi  <akochoi@i-cable.com>

	* fontset.c (fontset_pattern_regexp): Allocate three more bytes to
	regex for '^', '$', and '\0'.

	* alloc.c (allocate_string) [macintosh]: Call check_string_bytes
	only if current_sblock has been initialized.

	* frame.c (Fdelete_frame) [macintosh]: Allow deletion of initial
	terminal frame even if it is the only visible frame.

2001-01-28  Kenichi Handa  <handa@etl.go.jp>

	* fontset.c (font_family_registry): Even if FONTNAME conform to
	XLFD, if it specifies other fields than family and registry,
Juanma Barranquero's avatar
Juanma Barranquero committed
3360
	return FONTNAME.  New argument FORCE if nonzero cancel that feature.
3361
	(fontset_font_pattern): Call font_family_registry with FORCE 1 for
Juanma Barranquero's avatar
Juanma Barranquero committed
3362
	a single byte character.  Don't set FAMILY part to nil here.
3363 3364 3365 3366 3367 3368 3369 3370 3371 3372 3373 3374 3375 3376 3377 3378 3379 3380 3381 3382 3383 3384 3385 3386 3387 3388 3389 3390 3391 3392 3393 3394 3395 3396 3397 3398 3399 3400 3401 3402 3403 3404 3405 3406 3407 3408 3409 3410 3411 3412 3413 3414 3415 3416 3417 3418 3419 3420 3421 3422 3423 3424 3425 3426 3427 3428 3429 3430 3431 3432 3433 3434 3435
	It is handled by the caller choose_face_font.
	(Fnew_fontset): Call font_family_registry with FORCE 0.
	(Fset_fontset_font): Likewise.

2001-01-27  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (display_line): Don't treat a newline as fitting
	on the line.

2001-01-26  Gerd Moellmann  <gerd@gnu.org>

	* window.c (size_window): Set the window's orig_top to nil when
	changing heights, so that a future shrink_mini_window won't
	restore a bogus height.

	* frame.c (do_switch_frame): If selected frame has a mini-window,
	resize that to exact size.

	* dispnew.c (adjust_glyph_matrix): Always clear desired matrices.

	* xdisp.c (display_line): Simplify check for glyphs fitting
	entirely in the line.

	* xfns.c (xic_style): New variable.
	(create_frame_xic): Move static variable to global scope for
	the case that `static' gets defined away.

2001-01-26  Kenichi Handa  <handa@etl.go.jp>

	* coding.c (decode_coding): Set a flag for inhibiting
	inconsistent eol.
	(code_convert_region): Always set saved_coding_symbol.
	(decode_coding_string): Likewise.  Update coding->symbol when we
	encounter a inconsistent eol by the same way as code_convert_region.

2001-01-25  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (x_set_tool_bar_lines): Use x_clear_area instead of
	XClearArea.

	* xterm.c (x_after_update_window_line): Don't clear if frame's
	internal border width is zero.
	(x_clear_area): New function.
	(x_after_update_window_line, x_clear_end_of_line)
	(x_scroll_bar_create, x_scroll_bar_set_handle)
	(XTset_vertical_scroll_bar, x_erase_phys_cursor): Use x_clear_area
	instead of XClearArea.

	* xterm.h (x_clear_area): Add prototype.

	* xfns.c (Fx_file_dialog): Remove a workaround for Lesstif
	which doesn't seem necessary anymore with Lesstif 0.92.

2001-01-25  Dave Love  <fx@gnu.org>

	* puresize.h (BASE_PURESIZE): Up to 720000.

	* keymap.c (Fwhere_is_internal): Declare gcpro3, gcpro4.

2001-01-25  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (echo_area_display): Don't call redisplay_internal
	when Emacs is shutting down.  We can't run hooks etc. that
	would be necessary to do a redisplay.

	* lread.c (read_integer): Use type EMACS_INT instead of int.

2001-01-25  Eli Zaretskii  <eliz@is.elta.co.il>

	* ccl.c (ccl_driver): Fix last change.

2001-01-25  Kenichi Handa  <handa@etl.go.jp>

Juanma Barranquero's avatar
Juanma Barranquero committed
3436
	* ccl.h (struct ccl_program): New member suppress_error.
3437 3438 3439 3440 3441 3442 3443 3444 3445 3446 3447 3448 3449 3450 3451 3452 3453 3454 3455 3456 3457 3458 3459 3460 3461 3462 3463 3464 3465 3466 3467 3468 3469 3470 3471 3472 3473 3474 3475 3476 3477 3478 3479 3480 3481

	* ccl.c (ccl_driver): If ccl->suppress_error is nonzero, don't
	insert error message to the output.
	(setup_ccl_program): Initialize ccl->suppress_error to 0.

	* coding.h (struct coding_system): New member suppress_error.

	* coding.c (ccl_coding_driver): Setup ccl->suppress_error.
	(Fset_terminal_coding_system_internal): Set the member
	suppress_error to 1.
	(Fset_safe_terminal_coding_system_internal): Likewise.

2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>

	* regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
	as if it was a `charset'.

2001-01-24  Gerd Moellmann  <gerd@gnu.org>

	* keymap.c (Fwhere_is_internal): Don't nreverse the cached
	value in where_is_cache; the next lookup in the cache returns
	something bogus if we do.

2001-01-24  Eli Zaretskii  <eliz@is.elta.co.il>

	* xdisp.c (syms_of_xdisp) <Stool_bar_lines_needed>: Don't defsubr
	if HAVE_WINDOW_SYSTEM isn't defined.

2001-01-24  Gerd Moellmann  <gerd@gnu.org>

	* fns.c (sweep_weak_table): Fix code taking items out of
	the hash collision chain.  Some cleanup.

	* xterm.c (x_new_font): Don't change a tooltip's size.

	* xfns.c (x_create_tip_frame): Prevent changing the tooltip's
	background color by specifying a color for the default font
	in .Xdefaults.

2001-01-24  Kenichi Handa  <handa@etl.go.jp>

	* ccl.c (CCL_READ_CHAR): Change the argument name from r to REG as
	a workaround for SunOS 4's cc.
	(CCL_CALL_FOR_MAP_INSTRUCTION): Use "if (1)..." not "do {...".
	(CCL_SUCCESS, CCL_SUSPEND, CCL_INVALID_CMD): Likewise.
Paul Eggert's avatar
Paul Eggert committed
3482
	(ccl_driver) <CCL_ReadMultibyteChar2>: Remove unnecessary "do"
3483 3484 3485 3486 3487 3488 3489 3490 3491 3492 3493 3494 3495 3496 3497 3498 3499 3500 3501 3502 3503 3504 3505 3506 3507 3508 3509 3510 3511 3512 3513 3514 3515 3516 3517 3518 3519 3520 3521 3522 3523 3524 3525 3526 3527 3528 3529 3530 3531 3532 3533 3534 3535 3536 3537 3538 3539 3540 3541 3542 3543 3544 3545 3546 3547 3548 3549 3550 3551 3552 3553 3554 3555 3556 3557 3558 3559 3560 3561 3562 3563 3564 3565 3566 3567 3568 3569 3570 3571 3572 3573 3574 3575 3576 3577 3578 3579 3580 3581 3582 3583 3584 3585 3586 3587 3588 3589 3590 3591 3592 3593 3594 3595 3596 3597 3598 3599 3600 3601 3602 3603 3604 3605 3606 3607 3608 3609 3610 3611 3612 3613 3614 3615 3616 3617 3618 3619 3620 3621 3622 3623 3624 3625 3626 3627 3628 3629 3630 3631 3632 3633 3634 3635 3636 3637 3638 3639 3640 3641 3642 3643 3644 3645 3646 3647 3648 3649 3650 3651 3652 3653 3654 3655 3656 3657 3658 3659 3660 3661 3662 3663 3664 3665 3666 3667 3668 3669 3670 3671 3672 3673 3674 3675 3676 3677 3678 3679 3680 3681 3682 3683 3684 3685 3686 3687 3688 3689 3690 3691 3692 3693 3694 3695 3696 3697 3698 3699 3700 3701 3702 3703 3704 3705 3706 3707 3708 3709 3710 3711 3712 3713 3714 3715 3716 3717 3718 3719 3720 3721 3722 3723 3724 3725 3726 3727 3728 3729 3730 3731 3732 3733 3734 3735 3736 3737 3738 3739 3740 3741 3742 3743 3744 3745 3746 3747 3748 3749 3750 3751 3752 3753 3754 3755 3756 3757 3758 3759 3760 3761 3762 3763 3764 3765 3766 3767 3768 3769 3770 3771 3772 3773 3774 3775 3776 3777 3778 3779 3780 3781 3782 3783 3784 3785 3786 3787 3788 3789 3790 3791 3792 3793 3794 3795 3796 3797 3798 3799 3800 3801 3802 3803 3804 3805 3806 3807 3808 3809 3810 3811 3812 3813 3814 3815 3816 3817 3818 3819 3820 3821 3822 3823 3824 3825 3826 3827 3828 3829 3830 3831 3832 3833 3834 3835 3836 3837 3838 3839 3840 3841 3842 3843 3844 3845 3846 3847 3848 3849 3850 3851 3852 3853 3854 3855 3856 3857 3858 3859 3860 3861 3862 3863 3864 3865 3866 3867 3868 3869 3870 3871 3872 3873 3874 3875 3876 3877 3878 3879 3880 3881 3882 3883 3884 3885 3886 3887 3888 3889 3890 3891 3892 3893 3894 3895 3896 3897 3898
	statement.

2001-01-23  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_set_window_size_1): New function extracted from
	x_set_window_size.
	(x_set_window_size): Use it.
	(x_set_window_size) [USE_X_TOOLKIT]: Handle case that window
	doesn't have a widget, like tooltips.

2001-01-23  Eli Zaretskii  <eliz@is.elta.co.il>

	* window.c (syms_of_window) <scroll-preserve-screen-position>: Doc fix.

2001-01-23  Kenichi Handa  <handa@etl.go.jp>

	* fns.c (Fset_char_table_default): Fix to make sub char-table
	correctly.

2001-01-22  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (build_desired_tool_bar_string): Make sure we have
	a desired tool bar string, even if there are no tool bar items.

	* xdisp.c (Ftool_bar_lines_needed): New function.
	(syms_of_xdisp): Defsubr it.

	* editfns.c (Fformat): Don't extend text properties from arguments
	to padding chars in the result.

2001-01-20  Eli Zaretskii  <eliz@is.elta.co.il>

	* s/msdos.h (GC_MARK_STACK): Define to GC_MAKE_GCPROS_NOOPS.

2001-01-20  Andrew Innes  <andrewi@gnu.org>

	* w32term.c (w32_ring_bell): Only support visible bell on w32 frames.
	(w32_initialize): Don't set term hooks that aren't actually needed
	in windowed mode.

	* xfaces.c (realize_default_face):
	(realize_face):
	(realize_tty_face): Remove references to FRAME_W32_CONSOLE_P.

	* xdisp.c (handle_single_display_prop): Remove references to
	FRAME_W32_CONSOLE_P.

	* dispnew.c (Fredraw_frame): Remove reference to FRAME_W32_CONSOLE_P.

	* frame.h (output_method): Remove output_w32_console method.
	(FRAME_W32_CONSOLE_P): Remove macro.

	* frame.c (Qw32_console): Remove variable.
	(Fframep): Remove references to it.
	(syms_of_frame): Ditto.
	(Fframe_parameters): Remove references to FRAME_W32_CONSOLE_P.

	* term.c (FRAME_TERMCAP_P) [WINDOWSNT]: Reinstate original
	redefinition.

2001-01-20  Kenichi Handa  <handa@etl.go.jp>

	* editfns.c (Fformat): Use lisp_string_width instead of strwidth.

2001-01-19  Andrew Innes  <andrewi@gnu.org>

	* w32.c (init_environment): Add a version-independent site-lisp
	directory to EMACSLOADPATH, after the version dependent one.

2001-01-19  Gerd Moellmann  <gerd@gnu.org>

	* editfns.c (Fbuffer_substring): Doc fix.

	* xdisp.c (message_dolog, message2, message2_nolog):
	Rename parameter LEN to NBYTES.

2001-01-19  Kenichi Handa  <handa@etl.go.jp>

	* charset.c (strwidth): Use c_string_width.
	(c_string_width): New function.
	(lisp_string_width): New arguments PRECISION, NCHARS, NBYTES.
	Caller changed.

	* charset.h (c_string_width, lisp_string_width): Extern them.

	* doprnt.c (doprnt1): Get byte length of Lisp string correctly.

	* indent.c (check_composition): Check validity of composition.

	* xdisp.c (store_frame_title): Pay attention to width of non-ASCII
	characters by calling c_string_width.
	(x_consider_frame_title): Get byte length of frame tile string
	correctly.
	(display_mode_element): Pay attention to width of non-ASCII
	characters by calling strwidth.

2001-01-18  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (Qcancel_timer): New variable.
	(syms_of_xfns): Initialize and staticpro it.
	(Fx_hide_tip, Fx_show_tip): Use it.
	(Fx_show_tip): Make sure to set tip_timer to nil when canceling
	the timer.
	(toplevel): Lisp code for generating parts of syms_of_xfns removed.

	* window.c (Fwindow_live_p): Use WINDOW_LIVE_P.

	* window.h (WINDOW_LIVE_P): New macro.

	* window.c (window_size_fixed): New variable.
	(syms_of_window): Add a DEFVAR_BOOL for window-size-fixed, for
	the doc string.

	* eval.c (specbind): If binding a per-buffer variable which
	doesn't have a buffer-local value in the current buffer, change
	the global value by changing the value of the symbol bound in all
	buffers not having their own value, to make it consistent with
	what happens with other buffer-local variables.

	* xterm.c (x_initialize): Set char_ins_del_ok to 1.

	* xdisp.c (forward_to_next_line_start): Stop at end of buffer
	when searching for a newline.

2001-01-18  Kenichi Handa  <handa@etl.go.jp>

	* xdisp.c (display_string): Fix previous change.

2001-01-18  Jason Rumney  <jasonr@gnu.org>

	* w32term.c (x_produce_stretch_glyph): Only use Qspace when
	GLYPH_DEBUG is defined.
	(x_produce_glyphs): Don't xassert `it->descent > 0'; this isn't
	true for images with `:ascent 100'.
	(x_set_mouse_face_gc): If the last used mouse face has gone in the
	meantime, use face MOUSE_FACE_ID.
	If first glyph isn't a character glyph, use the ASCII NUL
	character to determine the face.
	(expose_area): Do not treat left margin specially.
	(note_mode_line_highlight): If no local_map, check global keymap.
	(note_mouse_highlight): Initialize overlay.
	(clear_mouse_face): Don't return if tip_frame is non-nil.
	(show_scroll_bars): Remove unused function.
	(w32_read_socket) [WM_KILLFOCUS]: Set help_echo to Qnil.
	(x_draw_bar_cursor): Remove extra test for out of bounds cursor.
	Clip to row.
	(x_erase_phys_cursor): Don't apply XWINDOW to variable that may be nil.
	(x_free_frame_resources): Unload relief colors.

2001-01-17  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (forward_to_next_line_start): Avoid calling
	get_next_display_element when the newline is already found.
	This may change the iterator's position, when its current position is
	equal to the iterator's stop_charpos.

	* dispnew.c (direct_output_for_insert): If char_ins_del_ok is
	zero, use this method only at the end of a line.

	* xfaces.c (x_face_list_fonts): Don't BLOCK_INPUT around the
	call to x_list_fonts.  Call x_list_fonts with SIZE -1 only
	if SCALABLE_FONTS_P is set.

	* xfaces.c (x_face_list_fonts): Call x_list_fonts with SIZE -1,
	so that scalable fonts are included.

	* xterm.c (x_list_fonts): Allow scalable fonts if SIZE is < 0,
	In the cache, use a key containing the information if scalable
	fonts are included.
	(x_load_font): Adapt to change of keys in the font cache.

2001-01-17  Kim F. Storm  <storm@filanet.dk>

	* xfaces.c (x_face_list_fonts): Use x_list_fonts instead of
	XListFonts to take advantage of font caching.

	* xterm.c (x_list_fonts): Ensure caching font information when
	called for a null frame, which is the case frequently when Emacs
	starts.

2001-01-17  Gerd Moellmann  <gerd@gnu.org>

	* xfns.c (QCconversion): Replaces QCalgorithm.

	* w32fns.c (QCconversion): Replaces QCalgorithm.  Update copyright.

	* xdisp.c (build_desired_tool_bar_string): Use :conversion instead
	of :algorithm.

	* xdisp.c (redisplay_tool_bar): Change tool bar's height when
	not everything could be displayed.

	* line.h, x-list-font.c: Files removed because unused.

2001-01-17  Andrew Innes  <andrewi@gnu.org>

	* dired.c (directory_files_internal): Convert result from readdir
	to a unibyte string initially, to avoid possible misinterpretation
	of some bytes as the internal form of Emacs characters.

2001-01-17  Kenichi Handa  <handa@etl.go.jp>

	* fns.c (concat): Be sure to avoid putting the same `composition'
	property on the adjacent regions.

2001-01-16  Gerd Moellmann  <gerd@gnu.org>

	* window.c (Fset_window_hscroll): Don't set window's min_hscroll here.
	(Fscroll_right, Fscroll_left): Set it here instead, if called
	interactively.

	* buffer.c (Fset_buffer_modified_p): Set buffer's
	prevent_redisplay_optimizations_p flag.

	* dispnew.c, callproc.c, fns.c, keyboard.c, process.c, sunfns.c,
	* sysdep.c, vmsproc.c, xselect.c: Call redisplay_preserve_echo_area
	with additional arg.

	* dispextern.h, lisp.h (redisplay_preserve_echo_area):
	Change prototype.

	* xdisp.c (redisplay_preserve_echo_area): Add parameter
	FROM_WHERE, for debugging.

2001-01-16  Kenichi Handa  <handa@etl.go.jp>

	* ccl.c (Fregister_ccl_program): Handle the return value of
	resolve_symbol_ccl_program correctly.
	(CCL_Extension): Fix typo (originally CCL_Extention).  Caller changed.

2001-01-15  Gerd Moellmann  <gerd@gnu.org>

	* xterm.c (x_set_mouse_face_gc): If the last used mouse face
	has gone in the meantime, use face MOUSE_FACE_ID.

	* xterm.c (x_connection_closed) [USE_X_TOOLKIT]:
	If x_display_info_for_display returns null, don't try to close
	the display; we didn't open it.

	* dispnew.c (save_or_restore_current_matrices): Function removed.
	(save_current_matrix, restore_current_matrix): New functions.
	(adjust_frame_glyphs_for_frame_redisplay): Use them to save and
	restore the frame's current matrix.  Due to the glyph pointer
	setup done in adjust_glyph_matrix, there is no easy way to make
	saving the current matrix in the desired matrix generally correct,
	so don't try it.

2001-01-15  Kenichi Handa  <handa@etl.go.jp>

	* xdisp.c (insert_left_trunc_glyphs): Overwrite padding glyphs by
	truncation glyphs.
	(display_line): Optimize for wide characters.
	(display_string): Don't try to display a multi-column character
	partially.  On ttys, produce more than one truncation glyph for
	multi-column characters that don't fit on the line.

2001-01-13  Kenichi Handa  <handa@etl.go.jp>

	* md5.c (WORDS_BIG_ENDIAN) [__BYTE_ORDER == __BIG_ENDIAN]:
	Define it instead of WORDS_BIGENDIAN.  Caller changed.

2001-01-13  Jason Rumney  <jasonr@gnu.org>

	* w32fns.c (Fimage_size, image_ascent, lookup_image)
	(IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR, parse_image_spec)
	(xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
	(tiff_format, gif_format, gs_format): Adapt to change of image margins.

	* w32term.c (x_produce_image_glyph, x_draw_image_foreground)
	(x_draw_image_relief, x_draw_image_foreground_1)
	(x_draw_image_glyph_string): Adapt to change of image margins.

	* w32.c (init_environment, sys_shutdown, sys_pipe): Remove unused
	variables.

	* w32bdf.c (search_file_line, get_cached_font_char)
	(cache_char_offset, create_offscreen_bitmap): Remove unused variables.

	* w32inevt.c (w32_console_toggle_lock_key): Add parentheses.

	* w32fns.c (x_to_w32_color, x_set_icon_name, xlfd_strip_height)
	(w32_list_synthesized_fonts, lookup_image, Fx_file_dialog)
	(Fw32_send_sys_command): Remove unused variables.
	(w32_msg_pump): Add parentheses.

	* w32term.c (w32_fill_rect, w32_read_socket, x_bitmap_icon)
	(x_new_fontset, x_calc_absolute_position, x_iconify_frame):
	Add parentheses.

2001-01-12  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (Vtool_bar_button_margin): Replaces tool_bar_button_margin.
	(build_desired_tool_bar_string): Handle Vtool_bar_button_margin
	being a pair of margins.
	(syms_of_xdisp): Change DEFVAR_INT of tool-bar-button-margins
	to DEFVAR_LISP.  Extend doc.

	* xfns.c (Fimage_size, image_ascent): Adapt to the change of image
	margins.
	(lookup_image): If `:margin MARGIN' is specified, and MARGIN is a
	pair of integers `(X . Y)', use X for the horizontal and Y for the
	vertical margin.
	(IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR): New enumerator.
	(parse_image_spec): Check it.
	(xbm_format, xpm_format, pbm_format, png_format, jpeg_format)
	(tiff_format, gif_format, gs_format):
	Use IMAGE_POSITIVE_INTEGER_VALUE_OR_PAIR for :margin.

	* xterm.c (x_produce_image_glyph, x_draw_image_foreground)
	(x_draw_image_relief, x_draw_image_foreground_1)
	(x_draw_image_glyph_string): Adapt to the change of image margins.

	* dispextern.h (struct image): Replace member `margin' with
	`hmargin' and `vmargin'.

	* xdisp.c (Fdump_tool_bar_row) [GLYPH_DEBUG]: Add parameters ROW
	and GLYPHS.

	* dispnew.c (update_text_area): Put code which decrements the
	stop position when the row's face extends to the end of the
	line in #if 0.

	* xfns.c (x_set_mouse_color): Fix color allocation.

	* keyboard.c: Call get_local_map with new argument list.

	* intervals.c (get_local_map): Change TYPE to Lisp_Object.

	* intervals.h (enum map_property): Removed.
	(get_local_map): Change prototype.

	* keymap.c: Call get_local_map with new argument list.
	(Fwhere_is_internal): Rename parameter XKEYMAP to KEYMAP.

2001-01-11  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (build_desired_tool_bar_string): Correct the computation
	of the size needed for the tool bar string.  For the last image,
	use a `display' property that reaches to the end of the string.

	* xselect.c (selection_request_dpyinfo): New variable.
	(x_handle_selection_request): Set it.
	(x_selection_request_lisp_error): Don't call
	x_decline_selection_request if selection request's display has
	been closed.

	* xfaces.c (x_free_colors, x_free_dpy_colors) [DEBUG_X_COLORS]:
	Do the unregister_colors before calling XFreeColors.

2001-01-10  Dave Love  <fx@gnu.org>

	* Makefile.in (${etc}DOC): Depend on ${shortlisp} and
	${SOME_MACHINE_LISP}, not ${lisp}.

2001-01-10  Gerd Moellmann  <gerd@gnu.org>

	* xdisp.c (display_line): On ttys, produce more than one truncation
	glyph for multi-column characters that don't fit on the line.

	* xselect.c (x_reply_selection_request): Add a comment.

	* xfns.c (Fx_backspace_delete_keys_p): Use XkbGetMap and
	XkbGetNames instead of XkbGetKeyboard.

2001-01-10  Dave Love  <fx@gnu.org>

	* sysdep.c (random): Revert the declaration.

2001-01-09  Gerd Moellmann  <gerd@gnu.org>

	* lisp.h (STRING_BYTES) [GC_CHECK_STRING_BYTES]:
	Call function string_bytes.
	(GC_CHECK_STRING_BYTES): Moved here from alloc.c.

	* alloc.c (CHECK_STRING_BYTES) [GC_CHECK_STRING_BYTES]: New macro.
	(check_sblock, string_bytes) [GC_CHECK_STRING_BYTES]: New functions.
	(check_string_bytes) [GC_CHECK_STRING_BYTES]: Add parameter ALL_P.
	(allocate_string) [GC_CHECK_STRING_BYTES]: Always check strings in
	the current sblock.
	(mark_object) [GC_CHECK_STRING_BYTES]: Use CHECK_STRING_BYTES.
	(gc_sweep) [GC_CHECK_STRING_BYTES]: Call check_string_bytes
	after sweeping strings, and at the end.
	(GC_CHECK_STRING_BYTES): Moved to lisp.h.

	* alloc.c (Fgarbage_collect): Use a record_unwind_protect to
	ensure that pop_message is called.

	* keyboard.c (Fexecute_extended_command): Use a
	record_unwind_protect to ensure that pop_message is called.

	* lisp.h (push_message_unwind): Add prototype.

	* xdisp.c (push_message_unwind): New function.

	* fileio.c (do_auto_save_unwind): Do the pop_message here
	instead of in Fdo_auto_save.
	(Fdo_auto_save): Don't call pop_message.

2001-01-08  Ken Raeburn  <raeburn@gnu.org>

	* xfns.c (xpm_load) [!ALLOC_XPM_COLORS]: Declare local variable I
	in inner block.

2001-01-08  Gerd Moellmann  <gerd@gnu.org>

	* window.c (window_scroll_pixel_based): Adjust glyph matrices
	when increasing window's vscroll.

	* macros.c (Qkbd_macro_termination_hook): New variable.
	(syms_of_macros): Initialize and staticpro it.
	(pop_kbd_macro): Run kbd-macro-termination-hook.

	* xterm.c (XTread_socket) <LeaveNotify>: Set help_echo to nil.

2001-01-07  Dave Love  <fx@gnu.org>

Juanma Barranquero's avatar
Juanma Barranquero committed
3899
	* keyboard.c (Fread_key_sequence_vector): Avoid newline in
3900 3901 3902 3903 3904 3905 3906 3907 3908 3909